32 Commits

Author SHA1 Message Date
Ariful Alam
9280f317ee Bump version 2022-01-02 14:19:54 +06:00
Ariful Alam
893f52ee96 Update README.md 2022-01-02 14:19:48 +06:00
Ariful Alam
529b4047f3 Update dependencies 2022-01-02 14:18:22 +06:00
MD. Ariful Alam
5d2fafa0b0 Update LICENSE 2022-01-01 22:50:15 +06:00
MD. Ariful Alam
2d4376645d Update footer comment 2021-12-16 12:18:21 +06:00
Ariful Alam
545212d7f5 Update README.md 2021-12-16 00:21:42 +06:00
Ariful Alam
a0557a1691 Update config.js 2021-12-15 23:26:54 +06:00
Ariful Alam
d19f490d26 Change limit of blog posts 2021-12-10 19:01:33 +06:00
MD. Ariful Alam
f4cfcbbe5e Exclude laravel-ecommerce from projects 2021-12-07 00:16:01 +06:00
Ariful Alam
a1f983ef16 Update README.md 2021-12-07 00:11:17 +06:00
MD. Ariful Alam
d8880234e0 Update deployment guide 2021-11-22 23:01:11 +06:00
MD. Ariful Alam
654a5449bb Update config 2021-11-22 22:57:08 +06:00
MD. Ariful Alam
daa1212e66 Make googleAnalytics config optional 2021-11-22 22:53:39 +06:00
Ariful Alam
30399395c1 Update config.js 2021-10-27 23:34:31 +06:00
Ariful Alam
fd6d5a09dd Update config.js 2021-10-27 23:04:11 +06:00
MD. Ariful Alam
23f07cc8ef Rename key of localStorage's property 2021-10-21 02:06:33 +06:00
MD. Ariful Alam
2ded9a0625 Change scrollbar style 2021-10-20 15:45:33 +06:00
MD. Ariful Alam
f5c197e2c5 Rename index.scss to index.css 2021-10-20 15:11:24 +06:00
Ariful Alam
49db2972c2 Update tailwind.config.js 2021-10-17 01:09:40 +06:00
Ariful Alam
5da67dfcc0 Update README.md 2021-10-16 18:58:17 +06:00
Ariful Alam
2fd66cc027 Update README.md 2021-10-15 01:20:03 +06:00
MD. Ariful Alam
fadc5f3f7e Bump version 2021-10-14 23:17:16 +06:00
MD. Ariful Alam
edd365ef01 Merge branch 'main' of https://github.com/arifszn/ezprofile into main 2021-10-14 23:10:50 +06:00
MD. Ariful Alam
16aadfa664 Change status code for too many requests 2021-10-14 23:08:35 +06:00
MD. Ariful Alam
1cadcc1f59 Update README.md 2021-10-14 23:07:27 +06:00
MD. Ariful Alam
03c566615a Update dependencies 2021-10-14 22:58:29 +06:00
MD. Ariful Alam
7a4d8aefdf Update config.js 2021-10-09 11:44:20 +06:00
MD. Ariful Alam
d9de322944 Update config.js 2021-10-02 00:11:42 +06:00
MD. Ariful Alam
bc5bec50f4 Update README.md 2021-09-25 13:58:49 +06:00
MD. Ariful Alam
e6006e387a Refactor hotjar setup 2021-09-23 22:34:44 +06:00
MD. Ariful Alam
e4005d288d Merge pull request #9 from anton-gustafsson/add-hotjar
Add hotjar support
2021-09-23 22:21:54 +06:00
Anton Jacobsson
0424045f55 feat(all): add hotjar 2021-09-22 22:10:14 +02:00
14 changed files with 3485 additions and 4117 deletions

View File

@@ -186,7 +186,7 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright 2021 MD. Ariful Alam
Copyright 2022 Ariful Alam
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -198,4 +198,4 @@
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
limitations under the License.

View File

@@ -24,6 +24,7 @@ It's all possible using [GitHub API](https://developer.github.com/v3/) (for auto
✓ [21 Themes](#themes)\
✓ [Google Analytics](#google-analytics)\
✓ [Hotjar](#hotjar)\
✓ [Meta Tags](#meta-tags)\
✓ [Avatar and Bio](#avatar-and-bio)\
✓ [Social Links](#social-links)\
@@ -43,8 +44,9 @@ These instructions will get you a copy of the project and deploy your website on
- **[Fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo)** the repo so you have your own project to customize by clicking the fork icon on the top right side. A "fork" is a copy of a repository.
- Rename your forked repository to <code>username.github.io</code> in github, where <code>username</code> is your GitHub username (or organization name).
- Go to your repo's **Actions** page and enable workflows.\
![Workflows](https://arifszn.github.io/assets/img/hosted/ezprofile/workflows.png)
- Go to your repo's **Actions** page and enable workflows.
![Workflows](https://arifszn.github.io/assets/img/hosted/ezprofile/workflows.png)
- Open <code>package.json</code>, and change <code>homepage</code>'s value to <code>https://username.github.io</code>.
@@ -60,14 +62,14 @@ These instructions will get you a copy of the project and deploy your website on
- The CI/CD pipeline will publish your page at the gh-pages branch automatically.
- Go to your repo's **Settings** -> **Pages** -> **Source** and change the branch to gh-pages and click **save**.
- Your personal portfolio will be live at <code>username.github.io</code>.
- Any time you commit a change to the **main** branch the website will automatically update.
- Any time you commit a change to the **main** branch, the website will be automatically updated.
You can skip the above steps and do a manual deployment by running <code>npm run deploy</code>. For more info, visit [here](https://create-react-app.dev/docs/deployment/#github-pages).
As this is a create react app, you can also host your website to Netlify, Vercel, Heroku, or other popular services. Please refer to this [doc](https://create-react-app.dev/docs/deployment) for a detailed deployment guide to other services.
If you see only <code>README</code> at <code>username.github.io</code>, be sure to change your GitHub Page's source to <code>gh-pages</code> branch. See [how to](https://docs.github.com/en/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site).
If you see only <code>README</code> at <code>username.github.io</code>, be sure to change your GitHub Page's source to <code>gh-pages</code> branch. See [how to](https://docs.github.com/en/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site). Also, if you face any issue rendering the website, double-check the `homepage` value in the package.json.
@@ -146,6 +148,10 @@ module.exports = {
// GA3 tracking id/GA4 tag id
id: '' // UA-XXXXXXXXX-X | G-XXXXXXXXXX
},
hotjar: {
id: '',
snippetVersion : 6
},
themeConfig: {
default: 'light',
@@ -238,6 +244,20 @@ Besides tracking visitors, ezFolio will track click events on projects and blog
<br/>
![Event](https://www.arifszn.com/assets/img/hosted/ezprofile/event.png)
### Hotjar
ezProfile supports hotjar. If you do not want to use Hotjar, keep the <code>id</code> empty.
```js
// config.js
module.exports = {
// ...
hotjar: {
id: '',
snippetVersion : 6
},
}
```
### Meta Tags
@@ -389,7 +409,7 @@ The posts are fetched by [Article-api](https://github.com/arifszn/article-api).
## 📢 Please Read
I intend to keep my works open source. Please do not discourage me by claiming this work by copying it as your own or removing/changing the footer notice. However You are open to use this project by forking it and change any code necessary(except footer notice). Go through the [License](https://github.com/arifszn/ezprofile/blob/main/LICENSE) before thinking of stealing this project. For every stolen copy found, an issue will be created on the concerned repo and a [DMCA Takedown](https://www.dmca.com/FAQ/What-is-a-DMCA-Takedown) notice will be sent. Do not fall into this [list](https://github.com/arifszn/ezprofile/issues/2).
I intend to keep my works open source. Please do not discourage me by claiming this work by copying it as your own. However, You are open to use this project by forking it and change any code necessary by giving attribute to the original author. Please see this [issue](https://github.com/arifszn/ezprofile/issues/11) for more info.
## 💖 Support
@@ -403,4 +423,4 @@ Any contributors who want to make this project better can make contributions, wh
## 📄 License
ezProfile is licensed under the [Apache-2.0 License](https://github.com/arifszn/ezprofile/blob/main/LICENSE).
**ezProfile** is licensed under the [Apache-2.0 License](https://github.com/arifszn/ezprofile/blob/main/LICENSE).

7486
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{
"name": "ezprofile",
"version": "1.0.1",
"version": "1.1.1",
"description": "Kickstart your personal portfolio with Github Api and blog",
"homepage": "https://arifszn.github.io/ezprofile",
"private": true,
@@ -16,7 +16,7 @@
"@testing-library/react": "^11.1.0",
"@testing-library/user-event": "^12.1.10",
"article-api": "^1.0.5",
"axios": "^0.21.1",
"axios": "^0.23.0",
"daisyui": "^1.12.1",
"gh-pages": "^3.2.3",
"moment": "^2.29.1",
@@ -24,6 +24,7 @@
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-helmet-async": "^1.1.0",
"react-hotjar": "^3.0.1",
"react-icons": "^4.2.0",
"react-scripts": "4.0.3",
"sass": "^1.38.0",

View File

@@ -90,7 +90,7 @@ function App() {
});
if (error.response.status === 403) {
setError(403);
setError(429);
} else if (error.response.status === 404) {
setError(404);
} else {
@@ -111,7 +111,7 @@ function App() {
<ErrorPage
status={`${error}`}
title={(error === 404) ? 'The Github Username is Incorrect' : (
error === 403 ? 'Too Many Request.' : `Ops!!`
error === 429 ? 'Too Many Requests.' : `Ops!!`
)}
subTitle={
(error === 404) ? (
@@ -119,7 +119,7 @@ function App() {
Please provide correct github username in <code>src\config.js</code>
</p>
) : (
error === 403 ? (
error === 429 ? (
<p>
Oh no, you hit the{' '}
<a
@@ -161,7 +161,7 @@ function App() {
</div>
</div>
</div>
{/* DO NOT REMOVE/MODIFY THE FOOTER */}
{/* DO NOT REMOVE/MODIFY THE FOOTER. FOR MORE INFO https://github.com/arifszn/ezprofile#-please-read */}
<footer className="p-4 footer bg-base-200 text-base-content footer-center">
<div>
<p className="font-mono text-sm">Made with <a className="text-primary" href="https://github.com/arifszn/ezprofile" target="_blank" rel="noreferrer">ezProfile</a> and </p>

View File

@@ -95,7 +95,7 @@ const Blog = () => {
key={index}
onClick={() => {
try {
if (config.googleAnalytics.id) {
if (config.googleAnalytics?.id) {
ga.event({
action: "Click Blog Post",
params: {

View File

@@ -14,12 +14,12 @@ const MetaTags = (props) => {
props.profile && (
<Helmet>
{
config.googleAnalytics.id && (
config.googleAnalytics?.id && (
<script async src={`https://www.googletagmanager.com/gtag/js?id=${config.googleAnalytics.id}`}></script>
)
}
{
config.googleAnalytics.id && (
config.googleAnalytics?.id && (
<script>
{
`

View File

@@ -57,7 +57,7 @@ const Project = (props) => {
key={index}
onClick={() => {
try {
if (config.googleAnalytics.id) {
if (config.googleAnalytics?.id) {
ga.event({
action: "Click project",
params: {

View File

@@ -12,7 +12,7 @@ const ThemeChanger = () => {
const changeTheme = (e, selectedTheme) => {
e.preventDefault();
document.querySelector('html').setAttribute('data-theme', selectedTheme);
localStorage.setItem('ezprofileTheme', selectedTheme);
localStorage.setItem('ezprofile-theme', selectedTheme);
setTheme(selectedTheme);
}

View File

@@ -6,7 +6,7 @@ module.exports = {
limit: 8, // How many projects to display.
exclude: {
forks: false, // Forked projects will not be displayed if set to true.
projects: [] // These projects will not be displayed. example: ['my-project1', 'my-project2']
projects: ['laravel-ecommerce'] // These projects will not be displayed. example: ['my-project1', 'my-project2']
}
},
social: {
@@ -16,21 +16,20 @@ module.exports = {
dribbble: '',
behance: '',
medium: '',
devto: '',
devto: 'arifszn',
website: 'https://arifszn.github.io',
phone: '',
email: 'contact@arifszn.com'
email: 'arifulalamszn@gmail.com'
},
skills: [
'PHP',
'Laravel',
'JavaScript',
'React.js',
'Vue.js',
'Node.js',
'Jquery',
'MySQL',
'Git',
'Docker',
'CSS',
'Antd',
'Tailwind',
@@ -39,12 +38,12 @@ module.exports = {
experiences: [
{
company: 'Monstarlab Bangladesh',
position: 'Software Engineer',
position: 'Backend Engineer II',
from: 'September 2021',
to: 'Present'
},
{
company: 'Orangetoolz - My Offer 360 Degree',
company: 'Orangetoolz',
position: 'Jr. Full Stack Engineer',
from: 'July 2019',
to: 'August 2021'
@@ -80,11 +79,15 @@ module.exports = {
// Display blog posts from your medium or dev.to account. (Optional)
source: 'dev.to', // medium | dev.to
username: 'arifszn',
limit: 2 // How many posts to display. Max is 10.
limit: 3 // How many posts to display. Max is 10.
},
googleAnalytics: {
// GA3 tracking id/GA4 tag id UA-XXXXXXXXX-X | G-XXXXXXXXXX
id: 'G-WLLB5E14M6' // Please remove this and use your own tag id
id: 'G-WLLB5E14M6' // Please remove this and use your own tag id or keep it empty
},
hotjar: {
id: '2617601', // Please remove this and use your own id or keep it empty
snippetVersion : 6
},
themeConfig: {
default: 'light',
@@ -122,4 +125,4 @@ module.exports = {
'dracula'
]
}
}
}

View File

@@ -1,13 +1,14 @@
import config from "../config";
import colors from './colors.json';
import { hotjar } from 'react-hotjar';
export const getInitialTheme = () => {
if (config.themeConfig.disableSwitch) {
return config.themeConfig.default;
}
if (localStorage.hasOwnProperty('ezprofileTheme')) {
let theme = localStorage.getItem('ezprofileTheme');
if (localStorage.hasOwnProperty('ezprofile-theme')) {
let theme = localStorage.getItem('ezprofile-theme');
return theme;
}
@@ -67,4 +68,12 @@ export const isThemeDarkish = (theme) => {
} else {
return false;
}
}
export const setupHotjar = () => {
if (config.hotjar?.id) {
let snippetVersion = config.hotjar?.snippetVersion ? config.hotjar?.snippetVersion : 6;
hotjar.initialize(config.hotjar.id, snippetVersion);
}
}

View File

@@ -1,4 +1,10 @@
@use "sass:meta";
@tailwind base;
@tailwind components;
@tailwind utilities;
* {
scrollbar-width: thin;
}
::-webkit-scrollbar-track {
box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
@@ -13,7 +19,7 @@
background-color: #f1f1f1;
}
}
::-webkit-scrollbar-thumb {
background-color: #888;
border-radius: 10px;
@@ -26,7 +32,6 @@ body {
sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
--z-primary: red;
}
code {
@@ -34,10 +39,6 @@ code {
monospace;
}
@tailwind base;
@tailwind components;
@tailwind utilities;
.text-base-content-important {
color: hsla(var(--bc) / var(--tw-text-opacity)) !important;
}

View File

@@ -1,11 +1,12 @@
import React from 'react';
import ReactDOM from 'react-dom';
import './index.scss';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';
import { HelmetProvider } from 'react-helmet-async';
import { ThemeProvider } from './contexts/ThemeContext';
import { LoadingProvider } from './contexts/LoadingContext';
import { setupHotjar } from './helpers/utils';
ReactDOM.render(
<React.StrictMode>
@@ -21,3 +22,4 @@ ReactDOM.render(
);
reportWebVitals();
setupHotjar();

View File

@@ -11,6 +11,6 @@ module.exports = {
require('daisyui')
],
daisyui: {
logs: false
logs: false
},
}