124 Commits
v2 ... v2.0.9

Author SHA1 Message Date
Ariful Alam
88bed3b701 Merge pull request #148 from arifszn/dependabot/npm_and_yarn/eslint-8.23.0
Bump eslint from 8.21.0 to 8.23.0
2022-09-09 01:01:08 +06:00
Ariful Alam
d2d8d6fe43 Bump version to 2.0.9 🚀 2022-09-09 01:00:24 +06:00
Ariful Alam
2e0603d52b Merge pull request #164 from arifszn/133-local-setup
Add guide for setting up locally
2022-09-09 00:04:40 +06:00
Ariful Alam
e725ef9b5c Add guide for setting up locally 2022-09-09 00:03:37 +06:00
Ariful Alam
5dc71954a4 Merge pull request #163 from arifszn/142-avatar-ring
Control avatar ring visibility
2022-09-08 22:04:04 +06:00
Ariful Alam
f25f5bf2d5 Control avatar ring visibility 2022-09-08 21:46:09 +06:00
Ariful Alam
c375ec521f Merge pull request #162 from arifszn/161-MIT-license
Add MIT License
2022-09-08 21:19:36 +06:00
Ariful Alam
67c881eb05 Add MIT License 2022-09-08 21:17:28 +06:00
Ariful Alam
21eaa93a72 Merge pull request #149 from arifszn/dependabot/npm_and_yarn/react-hotjar-5.1.0
Bump react-hotjar from 5.0.0 to 5.1.0
2022-09-08 13:43:48 +06:00
Ariful Alam
69d636e3bb Merge pull request #157 from arifszn/dependabot/npm_and_yarn/daisyui-2.25.0
Bump daisyui from 2.24.2 to 2.25.0
2022-09-08 13:34:31 +06:00
dependabot[bot]
81ec352c4a Bump eslint from 8.21.0 to 8.23.0
Bumps [eslint](https://github.com/eslint/eslint) from 8.21.0 to 8.23.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.21.0...v8.23.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-08 06:55:15 +00:00
Ariful Alam
8752d18408 Merge pull request #159 from arifszn/dependabot/npm_and_yarn/vite-3.1.0
Bump vite from 3.0.9 to 3.1.0
2022-09-08 12:54:27 +06:00
dependabot[bot]
2e6c69cdbc Bump daisyui from 2.24.2 to 2.25.0
Bumps [daisyui](https://github.com/saadeghi/daisyui) from 2.24.2 to 2.25.0.
- [Release notes](https://github.com/saadeghi/daisyui/releases)
- [Changelog](https://github.com/saadeghi/daisyui/blob/master/CHANGELOG.md)
- [Commits](https://github.com/saadeghi/daisyui/compare/v2.24.2...v2.25.0)

---
updated-dependencies:
- dependency-name: daisyui
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-06 09:18:03 +00:00
dependabot[bot]
3d170a9a31 Bump vite from 3.0.9 to 3.1.0
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 3.0.9 to 3.1.0.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/create-vite@3.1.0/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-06 09:17:56 +00:00
Ariful Alam
feba26f3aa Merge pull request #158 from arifszn/dependabot/npm_and_yarn/eslint-plugin-react-7.31.7
Bump eslint-plugin-react from 7.30.1 to 7.31.7
2022-09-06 15:17:18 +06:00
dependabot[bot]
a14318f776 Bump eslint-plugin-react from 7.30.1 to 7.31.7
Bumps [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) from 7.30.1 to 7.31.7.
- [Release notes](https://github.com/jsx-eslint/eslint-plugin-react/releases)
- [Changelog](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jsx-eslint/eslint-plugin-react/compare/v7.30.1...v7.31.7)

---
updated-dependencies:
- dependency-name: eslint-plugin-react
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-06 09:15:34 +00:00
Ariful Alam
247445b63c Merge pull request #156 from arifszn/dependabot/npm_and_yarn/daisyui-2.24.2
Bump daisyui from 2.24.0 to 2.24.2
2022-09-06 15:14:47 +06:00
dependabot[bot]
5628f76449 Bump daisyui from 2.24.0 to 2.24.2
Bumps [daisyui](https://github.com/saadeghi/daisyui) from 2.24.0 to 2.24.2.
- [Release notes](https://github.com/saadeghi/daisyui/releases)
- [Changelog](https://github.com/saadeghi/daisyui/blob/master/CHANGELOG.md)
- [Commits](https://github.com/saadeghi/daisyui/compare/v2.24.0...v2.24.2)

---
updated-dependencies:
- dependency-name: daisyui
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-05 16:52:30 +00:00
Ariful Alam
742df933a7 Merge pull request #154 from arifszn/dependabot/npm_and_yarn/arifszn/blog-js-2.0.2
Bump @arifszn/blog-js from 2.0.1 to 2.0.2
2022-09-05 21:58:37 +06:00
dependabot[bot]
771f1fe0d4 Bump @arifszn/blog-js from 2.0.1 to 2.0.2
Bumps [@arifszn/blog-js](https://github.com/arifszn/blog.js) from 2.0.1 to 2.0.2.
- [Release notes](https://github.com/arifszn/blog.js/releases)
- [Commits](https://github.com/arifszn/blog.js/commits/v2.0.2)

---
updated-dependencies:
- dependency-name: "@arifszn/blog-js"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-05 14:51:07 +00:00
Ariful Alam
5b448adc76 Merge pull request #145 from arifszn/dependabot/npm_and_yarn/vite-3.0.9
Bump vite from 3.0.7 to 3.0.9
2022-09-05 18:29:20 +06:00
dependabot[bot]
ea424fe9e4 Bump react-hotjar from 5.0.0 to 5.1.0
Bumps [react-hotjar](https://github.com/abdalla/react-hotjar) from 5.0.0 to 5.1.0.
- [Release notes](https://github.com/abdalla/react-hotjar/releases)
- [Commits](https://github.com/abdalla/react-hotjar/compare/v5.0.0...v5.1.0)

---
updated-dependencies:
- dependency-name: react-hotjar
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-29 08:48:41 +00:00
Ariful Alam
50ed6b90ba Merge pull request #146 from arifszn/dependabot/npm_and_yarn/date-fns-2.29.2
Bump date-fns from 2.29.1 to 2.29.2
2022-08-29 00:18:13 +06:00
Ariful Alam
b96298e702 Cache dependencies 2022-08-27 19:45:39 +06:00
dependabot[bot]
c23cbc6c8e Bump date-fns from 2.29.1 to 2.29.2
Bumps [date-fns](https://github.com/date-fns/date-fns) from 2.29.1 to 2.29.2.
- [Release notes](https://github.com/date-fns/date-fns/releases)
- [Changelog](https://github.com/date-fns/date-fns/blob/v2.29.2/CHANGELOG.md)
- [Commits](https://github.com/date-fns/date-fns/compare/v2.29.1...v2.29.2)

---
updated-dependencies:
- dependency-name: date-fns
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-22 08:28:35 +00:00
dependabot[bot]
1ec9274f4d Bump vite from 3.0.7 to 3.0.9
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 3.0.7 to 3.0.9.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v3.0.9/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-22 08:28:24 +00:00
Ariful Alam
f97d1544d5 Merge pull request #144 from arifszn/143-tailwind-config
Rename tailwind.config file
2022-08-21 17:04:37 +06:00
Ariful Alam
970044b7f1 Rename tailwind.config file 2022-08-21 17:01:42 +06:00
Ariful Alam
a65bbf2937 Merge pull request #141 from arifszn/139-custom-gitHub-actions-workflow
Deploy with custom GitHub Actions workflow
2022-08-20 16:11:37 +06:00
Ariful Alam
ebdc7d533d Update deployment guide 2022-08-20 16:10:24 +06:00
Ariful Alam
5fe64aecb3 Deploy with custom GitHub Actions workflow 2022-08-20 15:53:55 +06:00
Ariful Alam
ec3cdf4f68 Merge pull request #136 from arifszn/dependabot/npm_and_yarn/vite-3.0.7
Bump vite from 3.0.4 to 3.0.7
2022-08-16 11:38:20 +06:00
Ariful Alam
80ff09b295 Merge pull request #138 from arifszn/dependabot/npm_and_yarn/daisyui-2.24.0
Bump daisyui from 2.22.0 to 2.24.0
2022-08-15 14:42:20 +06:00
dependabot[bot]
ca57b1bfa2 Bump daisyui from 2.22.0 to 2.24.0
Bumps [daisyui](https://github.com/saadeghi/daisyui) from 2.22.0 to 2.24.0.
- [Release notes](https://github.com/saadeghi/daisyui/releases)
- [Changelog](https://github.com/saadeghi/daisyui/blob/master/CHANGELOG.md)
- [Commits](https://github.com/saadeghi/daisyui/commits)

---
updated-dependencies:
- dependency-name: daisyui
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-15 08:23:19 +00:00
dependabot[bot]
4abc13ad71 Bump vite from 3.0.4 to 3.0.7
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 3.0.4 to 3.0.7.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v3.0.7/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-15 08:23:00 +00:00
Ariful Alam
96cc63e911 Merge pull request #130 from arifszn/dependabot/npm_and_yarn/postcss-8.4.16
Bump postcss from 8.4.14 to 8.4.16
2022-08-08 20:14:26 +06:00
dependabot[bot]
145985fb54 Bump postcss from 8.4.14 to 8.4.16
Bumps [postcss](https://github.com/postcss/postcss) from 8.4.14 to 8.4.16.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.4.14...8.4.16)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-08 08:30:31 +00:00
Ariful Alam
023422d318 Merge pull request #129 from arifszn/dependabot/npm_and_yarn/tailwindcss-3.1.8
Bump tailwindcss from 3.1.7 to 3.1.8
2022-08-06 22:26:15 +06:00
Ariful Alam
73da16ed19 Merge pull request #128 from arifszn/dependabot/npm_and_yarn/daisyui-2.22.0
Bump daisyui from 2.20.0 to 2.22.0
2022-08-06 22:16:20 +06:00
dependabot[bot]
09a0eebb16 Bump tailwindcss from 3.1.7 to 3.1.8
Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss) from 3.1.7 to 3.1.8.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/compare/v3.1.7...v3.1.8)

---
updated-dependencies:
- dependency-name: tailwindcss
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-06 16:08:38 +00:00
dependabot[bot]
2c1219bcda Bump daisyui from 2.20.0 to 2.22.0
Bumps [daisyui](https://github.com/saadeghi/daisyui) from 2.20.0 to 2.22.0.
- [Release notes](https://github.com/saadeghi/daisyui/releases)
- [Changelog](https://github.com/saadeghi/daisyui/blob/master/CHANGELOG.md)
- [Commits](https://github.com/saadeghi/daisyui/commits)

---
updated-dependencies:
- dependency-name: daisyui
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-06 16:08:16 +00:00
Ariful Alam
57b6a90fab Update guide 2022-08-06 10:34:15 +06:00
Ariful Alam
fb3852b3c7 Merge pull request #125 from arifszn/124-company-mention-with-space-is-not-working-as-link
Trim company name in details section
2022-08-03 18:39:38 +06:00
Ariful Alam
49509840aa Trim company name in details section 2022-08-03 18:37:43 +06:00
Ariful Alam
3385e4f260 Merge pull request #121 from arifszn/dependabot/npm_and_yarn/autoprefixer-10.4.8
Bump autoprefixer from 10.4.7 to 10.4.8
2022-08-02 09:24:25 +06:00
Ariful Alam
e967b89ca1 Merge pull request #119 from arifszn/dependabot/npm_and_yarn/eslint-8.21.0
Bump eslint from 8.20.0 to 8.21.0
2022-08-02 09:23:58 +06:00
Ariful Alam
b2106dd441 Merge pull request #122 from arifszn/dependabot/npm_and_yarn/tailwindcss-3.1.7
Bump tailwindcss from 3.1.6 to 3.1.7
2022-08-01 23:11:30 +06:00
Ariful Alam
9bf3d3b245 Merge pull request #120 from arifszn/dependabot/npm_and_yarn/vite-3.0.4
Bump vite from 3.0.2 to 3.0.4
2022-08-01 22:52:48 +06:00
dependabot[bot]
e1a1d1a0bf Bump tailwindcss from 3.1.6 to 3.1.7
Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss) from 3.1.6 to 3.1.7.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/compare/v3.1.6...v3.1.7)

---
updated-dependencies:
- dependency-name: tailwindcss
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-01 08:23:09 +00:00
dependabot[bot]
73f38a3f0e Bump autoprefixer from 10.4.7 to 10.4.8
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 10.4.7 to 10.4.8.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/10.4.7...10.4.8)

---
updated-dependencies:
- dependency-name: autoprefixer
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-01 08:23:01 +00:00
dependabot[bot]
f36ab50a30 Bump vite from 3.0.2 to 3.0.4
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 3.0.2 to 3.0.4.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v3.0.4/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-01 08:22:49 +00:00
dependabot[bot]
cd557c0e52 Bump eslint from 8.20.0 to 8.21.0
Bumps [eslint](https://github.com/eslint/eslint) from 8.20.0 to 8.21.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.20.0...v8.21.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-01 08:22:36 +00:00
Ariful Alam
1713b6d82b Update README.md 2022-07-25 21:50:04 +06:00
Ariful Alam
92a49a6302 Merge pull request #118 from arifszn/117-package-title-is-hidden-if-system-has-dark-mode-enabled-in-next
Better dark mode support
2022-07-25 21:45:50 +06:00
Ariful Alam
7f9d0d9514 Better dark mode support 2022-07-25 21:41:02 +06:00
Ariful Alam
692c8ba8c7 Publish v2.0.8 🚀 2022-07-25 19:37:23 +06:00
Ariful Alam
ac7356a222 Merge pull request #109 from arifszn/dependabot/npm_and_yarn/date-fns-2.29.1
Bump date-fns from 2.28.0 to 2.29.1
2022-07-25 19:20:19 +06:00
Ariful Alam
fe5fec779e Merge pull request #111 from arifszn/dependabot/npm_and_yarn/daisyui-2.20.0
Bump daisyui from 2.19.0 to 2.20.0
2022-07-25 19:19:59 +06:00
dependabot[bot]
eb4d65b44a Bump daisyui from 2.19.0 to 2.20.0
Bumps [daisyui](https://github.com/saadeghi/daisyui) from 2.19.0 to 2.20.0.
- [Release notes](https://github.com/saadeghi/daisyui/releases)
- [Changelog](https://github.com/saadeghi/daisyui/blob/master/CHANGELOG.md)
- [Commits](https://github.com/saadeghi/daisyui/commits)

---
updated-dependencies:
- dependency-name: daisyui
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-25 13:15:09 +00:00
Ariful Alam
b6c7a2ede0 Merge pull request #110 from arifszn/dependabot/npm_and_yarn/vite-3.0.2
Bump vite from 3.0.1 to 3.0.2
2022-07-25 19:14:27 +06:00
Ariful Alam
91d4e799a4 Merge pull request #108 from arifszn/dependabot/npm_and_yarn/vitejs/plugin-react-2.0.0
Bump @vitejs/plugin-react from 1.3.2 to 2.0.0
2022-07-25 19:14:12 +06:00
Ariful Alam
e724ca8aca Merge pull request #116 from arifszn/115-add-skeleton-loader-in-footer
Add skeleton loader in footer
2022-07-25 19:13:46 +06:00
Ariful Alam
d87f8986ee Add skeleton loader in footer 2022-07-25 19:11:08 +06:00
Ariful Alam
0f9ceb0d98 Add medium to social link 2022-07-25 18:58:19 +06:00
Ariful Alam
b2429b359d Merge pull request #114 from arifszn/113-incorrect-linkedin-link
Fix incorrect social link in `sanitizeConfig`
2022-07-25 18:55:26 +06:00
Ariful Alam
cacd093f6f Fix incorrect social link in sanitizeConfig 2022-07-25 18:53:26 +06:00
dependabot[bot]
afc303a889 Bump vite from 3.0.1 to 3.0.2
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 3.0.1 to 3.0.2.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v3.0.2/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-25 08:23:49 +00:00
dependabot[bot]
4be3b67118 Bump date-fns from 2.28.0 to 2.29.1
Bumps [date-fns](https://github.com/date-fns/date-fns) from 2.28.0 to 2.29.1.
- [Release notes](https://github.com/date-fns/date-fns/releases)
- [Changelog](https://github.com/date-fns/date-fns/blob/master/CHANGELOG.md)
- [Commits](https://github.com/date-fns/date-fns/compare/v2.28.0...v2.29.1)

---
updated-dependencies:
- dependency-name: date-fns
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-25 08:23:36 +00:00
dependabot[bot]
143a16c410 Bump @vitejs/plugin-react from 1.3.2 to 2.0.0
Bumps [@vitejs/plugin-react](https://github.com/vitejs/vite/tree/HEAD/packages/plugin-react) from 1.3.2 to 2.0.0.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/plugin-react/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v2.0.0/packages/plugin-react)

---
updated-dependencies:
- dependency-name: "@vitejs/plugin-react"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-25 08:23:27 +00:00
Ariful Alam
dc8f1d68a9 Update badges 2022-07-18 20:59:35 +06:00
Ariful Alam
68d04646b3 Merge pull request #105 from arifszn/dependabot/npm_and_yarn/eslint-8.20.0
Bump eslint from 8.19.0 to 8.20.0
2022-07-18 19:39:03 +06:00
Ariful Alam
03e267fe99 Merge pull request #104 from arifszn/dependabot/npm_and_yarn/tailwindcss-3.1.6
Bump tailwindcss from 3.1.4 to 3.1.6
2022-07-18 19:38:12 +06:00
dependabot[bot]
1cc331be52 Bump tailwindcss from 3.1.4 to 3.1.6
Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss) from 3.1.4 to 3.1.6.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/compare/v3.1.4...v3.1.6)

---
updated-dependencies:
- dependency-name: tailwindcss
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-18 13:35:52 +00:00
Ariful Alam
fee3cebf54 Merge pull request #106 from arifszn/97-upgrade-vite-to-v3
Upgrade vite to `v3`
2022-07-18 19:35:06 +06:00
Ariful Alam
903af97cfe Upgrade vite to v3 2022-07-18 19:33:25 +06:00
Ariful Alam
b7c8b21999 Merge pull request #100 from arifszn/refactor
Cleanup codebase
2022-07-18 19:28:53 +06:00
dependabot[bot]
6fce517b0b Bump eslint from 8.19.0 to 8.20.0
Bumps [eslint](https://github.com/eslint/eslint) from 8.19.0 to 8.20.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.19.0...v8.20.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-18 08:25:28 +00:00
Ariful Alam
dbdabc7b4a Cleanup codebase 2022-07-18 13:12:10 +06:00
Ariful Alam
66bd370f34 Refactor utils.jsx 2022-07-18 12:40:51 +06:00
Ariful Alam
caff2ce258 Rename isDarkishTheme helper 2022-07-18 12:13:23 +06:00
Ariful Alam
a4ad42f40d Merge pull request #99 from hasinhayder/main
Code Cleanup & Making code more readable
2022-07-18 12:00:18 +06:00
Hasin Hayder
4edef5df4b Code Cleanup & Making code more readable 2022-07-18 01:19:07 +06:00
Ariful Alam
9cab9f209b Update README.md 2022-07-17 01:40:27 +06:00
Ariful Alam
f4a1fff90f Merge branch 'main' of https://github.com/arifszn/gitprofile into main 2022-07-12 18:55:51 +06:00
Ariful Alam
ac00471cdc Remove unused favicon 2022-07-12 18:55:46 +06:00
Ariful Alam
d97c758629 Merge pull request #90 from arifszn/dependabot/npm_and_yarn/daisyui-2.19.0
Bump daisyui from 2.18.0 to 2.19.0
2022-07-11 20:26:37 +06:00
Ariful Alam
098e5cdd1e Merge pull request #92 from arifszn/dependabot/npm_and_yarn/vite-2.9.14
Bump vite from 2.9.9 to 2.9.14
2022-07-11 20:24:39 +06:00
Ariful Alam
8d4d8b219e Merge pull request #93 from arifszn/dependabot/npm_and_yarn/eslint-plugin-prettier-4.2.1
Bump eslint-plugin-prettier from 4.0.0 to 4.2.1
2022-07-11 20:16:57 +06:00
Ariful Alam
0805080cce Merge pull request #94 from arifszn/dependabot/npm_and_yarn/prettier-2.7.1
Bump prettier from 2.6.2 to 2.7.1
2022-07-11 19:59:51 +06:00
dependabot[bot]
2c60ff1ec9 Bump vite from 2.9.9 to 2.9.14
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 2.9.9 to 2.9.14.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v2.9.14/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v2.9.14/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-11 13:58:29 +00:00
dependabot[bot]
f115c763a2 Bump daisyui from 2.18.0 to 2.19.0
Bumps [daisyui](https://github.com/saadeghi/daisyui) from 2.18.0 to 2.19.0.
- [Release notes](https://github.com/saadeghi/daisyui/releases)
- [Changelog](https://github.com/saadeghi/daisyui/blob/master/CHANGELOG.md)
- [Commits](https://github.com/saadeghi/daisyui/commits)

---
updated-dependencies:
- dependency-name: daisyui
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-11 13:58:17 +00:00
Ariful Alam
e5aa0d516e Merge pull request #91 from arifszn/dependabot/npm_and_yarn/axios-0.27.2
Bump axios from 0.26.1 to 0.27.2
2022-07-11 19:57:28 +06:00
dependabot[bot]
1ae972acd3 Bump prettier from 2.6.2 to 2.7.1
Bumps [prettier](https://github.com/prettier/prettier) from 2.6.2 to 2.7.1.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/2.6.2...2.7.1)

---
updated-dependencies:
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-11 08:26:20 +00:00
dependabot[bot]
ded02858a8 Bump eslint-plugin-prettier from 4.0.0 to 4.2.1
Bumps [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) from 4.0.0 to 4.2.1.
- [Release notes](https://github.com/prettier/eslint-plugin-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-plugin-prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-plugin-prettier/compare/v4.0.0...v4.2.1)

---
updated-dependencies:
- dependency-name: eslint-plugin-prettier
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-11 08:26:13 +00:00
dependabot[bot]
fb7b64c4e8 Bump axios from 0.26.1 to 0.27.2
Bumps [axios](https://github.com/axios/axios) from 0.26.1 to 0.27.2.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v0.27.2/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.26.1...v0.27.2)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-11 08:25:51 +00:00
Ariful Alam
8901157e01 Merge pull request #89 from golles/company-mention
When company is a mention, link it
2022-07-09 20:51:40 +06:00
golles
6944b2ca4d When company is a mention, link it 2022-07-09 11:27:28 +02:00
Ariful Alam
a8a56d67e4 Update README.md 2022-07-09 11:16:37 +06:00
Ariful Alam
04e14af71a Merge pull request #88 from golles/add_instagram
Add social: Instagram
2022-07-09 10:55:46 +06:00
golles
a4b296172e Onther place where I missed the new isntagram config 2022-07-08 19:46:39 +02:00
golles
e16f50b349 Use better fitting icon
Add new social to readme
2022-07-08 17:41:25 +02:00
golles
0c2b93ff85 Add social: Instagram 2022-07-07 22:42:10 +02:00
Ariful Alam
fb55338ea9 Add badges 2022-07-07 11:06:33 +06:00
Ariful Alam
c279dc9ac5 Merge pull request #87 from arifszn/dependabot/npm_and_yarn/react-icons-4.4.0
Bump react-icons from 4.3.1 to 4.4.0
2022-07-06 17:17:26 +06:00
Ariful Alam
6ef1a5fe9b Merge pull request #86 from arifszn/dependabot/npm_and_yarn/eslint-plugin-react-7.30.1
Bump eslint-plugin-react from 7.30.0 to 7.30.1
2022-07-06 17:17:12 +06:00
Ariful Alam
eccb38a29c Merge pull request #85 from arifszn/dependabot/npm_and_yarn/eslint-8.19.0
Bump eslint from 8.15.0 to 8.19.0
2022-07-06 17:16:59 +06:00
Ariful Alam
107ffae90d Merge pull request #84 from arifszn/dependabot/npm_and_yarn/tailwindcss-3.1.4
Bump tailwindcss from 3.0.24 to 3.1.4
2022-07-06 17:16:47 +06:00
Ariful Alam
56b5906e01 Merge pull request #83 from arifszn/dependabot/npm_and_yarn/daisyui-2.18.0
Bump daisyui from 2.15.0 to 2.18.0
2022-07-06 17:16:28 +06:00
dependabot[bot]
ed6396c2c2 Bump react-icons from 4.3.1 to 4.4.0
Bumps [react-icons](https://github.com/react-icons/react-icons) from 4.3.1 to 4.4.0.
- [Release notes](https://github.com/react-icons/react-icons/releases)
- [Commits](https://github.com/react-icons/react-icons/compare/v4.3.1...v4.4.0)

---
updated-dependencies:
- dependency-name: react-icons
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-06 11:13:43 +00:00
dependabot[bot]
f41fc775a9 Bump eslint-plugin-react from 7.30.0 to 7.30.1
Bumps [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) from 7.30.0 to 7.30.1.
- [Release notes](https://github.com/jsx-eslint/eslint-plugin-react/releases)
- [Changelog](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jsx-eslint/eslint-plugin-react/compare/v7.30.0...v7.30.1)

---
updated-dependencies:
- dependency-name: eslint-plugin-react
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-06 11:13:36 +00:00
dependabot[bot]
5e3fa7075a Bump eslint from 8.15.0 to 8.19.0
Bumps [eslint](https://github.com/eslint/eslint) from 8.15.0 to 8.19.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.15.0...v8.19.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-06 11:13:25 +00:00
dependabot[bot]
21634afb62 Bump tailwindcss from 3.0.24 to 3.1.4
Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss) from 3.0.24 to 3.1.4.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/compare/v3.0.24...v3.1.4)

---
updated-dependencies:
- dependency-name: tailwindcss
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-06 11:13:14 +00:00
dependabot[bot]
5fcb803436 Bump daisyui from 2.15.0 to 2.18.0
Bumps [daisyui](https://github.com/saadeghi/daisyui) from 2.15.0 to 2.18.0.
- [Release notes](https://github.com/saadeghi/daisyui/releases)
- [Changelog](https://github.com/saadeghi/daisyui/blob/master/CHANGELOG.md)
- [Commits](https://github.com/saadeghi/daisyui/commits)

---
updated-dependencies:
- dependency-name: daisyui
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-06 11:13:05 +00:00
Ariful Alam
305044a8fc Merge pull request #82 from arifszn/81-create-dependabot-to-update-package-versions-automatically
Create dependabot.yml
2022-07-06 17:12:34 +06:00
Ariful Alam
dc80a9db9e Create dependabot.yml 2022-07-06 17:10:59 +06:00
Ariful Alam
e8d0d8eb28 Update README.md 2022-05-29 10:47:08 +06:00
Ariful Alam
efbd5f96fe Update gitprofile.config.js 2022-05-27 00:01:42 +06:00
Ariful Alam
630d9711ec Update README.md 2022-05-20 20:56:57 +06:00
Ariful Alam
647195f224 Publish version 2.0.7 🚀 2022-05-19 19:55:41 +06:00
Ariful Alam
be09c170b9 Update dependencies 2022-05-19 19:55:21 +06:00
Ariful Alam
6020ecf818 Add missing h-screen class 2022-05-19 19:54:10 +06:00
Ariful Alam
7cd1bd87fd Merge pull request #77 from arifszn/replace-moment
feat: replace moment with date-fns
2022-05-19 19:41:48 +06:00
Ariful Alam
0d6eef906f Publish version 2.0.6 🚀 2022-05-19 19:39:09 +06:00
Ariful Alam
6b3d089b4b Replace moment with date-fns 2022-05-19 19:38:55 +06:00
25 changed files with 1932 additions and 1497 deletions

6
.github/dependabot.yml vendored Normal file
View File

@@ -0,0 +1,6 @@
version: 2
updates:
- package-ecosystem: 'npm'
directory: '/'
schedule:
interval: 'weekly'

View File

@@ -1,14 +1,22 @@
name: Deploy to gh-pages Branch
name: Deploy to GitHub Pages
on:
push:
branches: [main]
workflow_dispatch:
permissions:
contents: write
contents: read
pages: write
id-token: write
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
deploy:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
@@ -18,9 +26,13 @@ jobs:
uses: actions/setup-node@v3
with:
node-version: 16.x
cache: 'npm'
- name: Cache dependencies
uses: actions/cache@v2
- name: Setup Pages
uses: actions/configure-pages@v1
- name: Restore cache
uses: actions/cache@v3
with:
path: |
**/node_modules
@@ -29,13 +41,21 @@ jobs:
- name: Install dependencies
run: npm ci
- name: Build
- name: Build with vite
run: npm run build
env:
CI: ''
- name: Deploy
uses: JamesIves/github-pages-deploy-action@v4
- name: Upload artifact
uses: actions/upload-pages-artifact@v1
with:
branch: gh-pages
folder: dist
path: ./dist
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v1

View File

@@ -15,8 +15,9 @@ jobs:
uses: actions/setup-node@v3
with:
node-version: 16.x
cache: 'npm'
- name: Cache dependencies
- name: Restore cache
uses: actions/cache@v2
with:
path: |

View File

@@ -9,6 +9,6 @@ CONTRIBUTING.md
gitprofile.config.js
index.html
library.config.js
tailwind.config.js
tailwind.config.mjs
vite.config.js
stats.html

214
LICENSE
View File

@@ -1,201 +1,21 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
MIT License
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
Copyright (c) 2022 Ariful Alam
1. Definitions.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
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.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
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.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

130
README.md
View File

@@ -1,29 +1,61 @@
<h1 align="center">GitProfile</h1>
<p align="center">Easy to use automatic portfolio builder for every GitHub user!</p>
<br/>
<p align="center">
<img src="https://user-images.githubusercontent.com/45073703/177566625-9b84e793-4559-4475-ba54-8d3d5f4123d4.png" width="35%">
<h4 align="center">Easy to use automatic portfolio builder for every GitHub user!</h4>
<p align="center">
<a href="https://codeclimate.com/github/arifszn/gitprofile/maintainability">
<img src="https://api.codeclimate.com/v1/badges/c60f42d7d0b61bd33e98/maintainability" />
</a>
<a href="https://github.com/arifszn/gitprofile/actions/workflows/test-deploy.yml">
<img src="https://github.com/arifszn/gitprofile/actions/workflows/test-deploy.yml/badge.svg" />
</a>
<a href="https://github.com/arifszn/gitprofile/issues">
<img src="https://img.shields.io/github/issues/arifszn/gitprofile"/>
</a>
<a href="https://github.com/arifszn/gitprofile/stargazers">
<img src="https://img.shields.io/github/stars/arifszn/gitprofile"/>
</a>
<a href="https://github.com/arifszn/gitprofile/network/members">
<img src="https://img.shields.io/github/forks/arifszn/gitprofile"/>
</a>
<a href="https://github.com/arifszn/gitprofile/blob/main/package-lock.json">
<img src="https://img.shields.io/snyk/vulnerabilities/github/arifszn/gitprofile"/>
</a>
<a href="https://github.com/arifszn/gitprofile/blob/main/CONTRIBUTING.md">
<img src="https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat"/>
</a>
<a href="https://github.com/arifszn/gitprofile/blob/main/LICENSE">
<img src="https://img.shields.io/github/license/arifszn/gitprofile"/>
</a>
<a href="https://www.buymeacoffee.com/arifszn">
<img src="https://img.shields.io/badge/sponsor-buy%20me%20a%20coffee-yellow?logo=buymeacoffee"/>
</a>
<a href="https://twitter.com/intent/tweet?text=Check%20out%20the%20portfolio%20builder.%20Create%20an%20automatic%20portfolio%20based%20on%20GitHub%20profile.&url=https://github.com/arifszn/gitprofile&hashtags=javascript,opensource,js,webdev,developers">
<img src="https://img.shields.io/twitter/url?style=social&url=https%3A%2F%2Fgithub.com%2Farifszn%2Fgitprofile"/>
</a>
</p>
<p align="center">
<a href="https://arifszn.github.io/gitprofile">
<img src="https://arifszn.github.io/assets/img/hosted/gitprofile/preview.gif" width="60%" alt="Preview"/>
</a>
<br/>
<a href="#arifszn"><img src="https://arifszn.github.io/assets/img/drop-shadow.png" width="60%" alt="Shadow"/></a>
<a href="https://arifszn.github.io/gitprofile">View Demo</a>
·
<a href="https://github.com/arifszn/gitprofile/issues">Report Bug</a>
·
<a href="https://github.com/arifszn/gitprofile/discussions">Request Feature</a>
</p>
</p>
What if you could create your portfolio in 5 minutes just by providing your GitHub username and even host it without any cost? Do you want to display your skills, job history, education, or blog posts on your portfolio? Introducing **GitProfile**.
<p align="center">
<a href="https://arifszn.github.io/gitprofile">
<img src="https://arifszn.github.io/assets/img/hosted/gitprofile/preview.gif" alt="Preview" width="60%"/>
</a>
<br/>
<a href="#arifszn"><img src="https://arifszn.github.io/assets/img/drop-shadow.png" width="50%" alt="Shadow"/></a>
</p>
**GitProfile** is an easy to use portfolio builder where you can create a portfolio page automatically by just providing your GitHub username. It is built using React.js on top of Vite.js. But it's not necessary to have knowledge on these to get you started. You can make your own copy with zero coding experience.
**GitProfile** is an easy to use portfolio builder where you can create a portfolio page automatically by just providing your GitHub username. It is built using React.js on top of Vite. But it's not necessary to have knowledge on these to get you started. You can make your own copy with zero coding experience.
**Features:**
@@ -46,26 +78,29 @@ Or try it **[online](https://stackblitz.com/edit/gitprofile)**.
## 🛠 Installation & Setup
There are two ways to use **GitProfile**. Use either one.
There are three ways to use **GitProfile**. Use any.
<details>
<summary>Forking this repo (Click to expand)</summary>
- Forking this repo
- Setting up locally
- Installing as package
<br/>
### Forking this repo
These instructions will get you a copy of the project and deploy your portfolio online!
- **Fork repo:** Click [here](https://github.com/arifszn/gitprofile/fork) to fork the repo so you have your own project to customize. A "fork" is a copy of a repository.
- **Rename repo:** Rename your forked repository to `username.github.io` in GitHub, where `username` is your GitHub username (or organization name).
- **Enable workflows:** Go to your repo's **Actions** page and enable workflows.
- **Rename repo:**
- If you want to host your portfolio at `https://<USERNAME>.github.io`, rename your forked repository to `username.github.io` in GitHub, where `username` is your GitHub username (or organization name).
- If you want to host your portfolio at `https://<USERNAME>.github.io/<REPO>` (e.g. `https://<USERNAME>.github.io/portfolio`), rename your forked repository to `<REPO>` (e.g. `portfolio`) in GitHub.
- **Enable workflows:** Go to your repo's **Actions** tab and enable workflows.
![Workflows](https://arifszn.github.io/assets/img/hosted/gitprofile/workflows.png)
- **Base Value:** Open `vite.config.js`, and change `base`'s value.
- If you are deploying to `https://<USERNAME>.github.io/`, set `base` to `'/'`.
- If you are deploying to `https://<USERNAME>.github.io`, set `base` to `'/'`.
- If you are deploying to `https://<USERNAME>.github.io/<REPO>/`, for example your repository is at `https://github.com/<USERNAME>/<REPO>`, then set `base` to `'/<REPO>/'`.
- If you are deploying to `https://<USERNAME>.github.io/<REPO>` (e.g. `https://<USERNAME>.github.io/portfolio`), then set `base` to `'/<REPO>/'` (e.g. `'/portfolio/'`).
```js
// vite.config.js
@@ -75,25 +110,40 @@ These instructions will get you a copy of the project and deploy your portfolio
}
```
- **First Commit:** Now commit to your **main** branch with your changes. The CI/CD pipeline will publish your page at the `gh-pages` branch automatically.
- **Change deploy branch:** Go to your repo's **Settings** ➜ **Pages** ➜ **Source** and change the branch to `gh-pages` and click **save**.
- **Commit the changes:** Now commit to your **main** branch with your changes. Wait a few minutes so that the CI/CD pipeline can publish your website to GitHub Pages. You can check the progress in the [Actions](https://github.com/arifszn/gitprofile/actions) tab.
Your personal portfolio will be live at `username.github.io`. Any time you commit a change to the **main** branch, the website will be automatically updated.
Your portfolio website will be live shortly. Any time you commit a change to the **main** branch, the website will be automatically updated. If you face any issue viewing the website, double-check the `base` value in the `vite.config.js` file.
If you see only `README` at `username.github.io`, be sure to change your GitHub Page's source to `gh-pages` 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 `base` value in the `vite.config.js`.
If you wish to add a custom domain, no CNAME file is required. Just add it to your repo's **Settings** ➜ **Pages** ➜ **Custom domain**.
As this is a vite project, you can also host your website to Netlify, Vercel, Heroku, or other popular services. Please refer to this [doc](https://vitejs.dev/guide/static-deploy.html) for a detailed deployment guide to other services.
As this is a Vite project, you can also host your website to Netlify, Vercel, Heroku, or other popular services. Please refer to this [doc](https://vitejs.dev/guide/static-deploy.html) for a detailed deployment guide to other services.
</details>
### Setting up locally
Or
- Clone the project and change directory.
<details>
<summary>Installing as package (Click to expand)</summary>
```shell
git clone https://github.com/arifszn/gitprofile.git
cd gitprofile
```
<br/>
- Install dependencies.
First Install **GitProfile** via <a href="https://www.npmjs.com/package/@arifszn/gitprofile">NPM</a>.
```shell
npm install
```
- Run dev server.
```shell
npm run dev
```
- Finally, visit [`http://localhost:5173/gitprofile/`](http://localhost:5173/gitprofile/) from your browser.
### Installing as package
You can also use **GitProfile** by installing as an NPM package. First Install **GitProfile** via <a href="https://www.npmjs.com/package/@arifszn/gitprofile">NPM</a>.
```sh
npm install @arifszn/gitprofile
@@ -128,8 +178,6 @@ export default App;
List of all config [here](#-customization).
</details>
**If you face any problems or have any questions, open an issue [here](https://github.com/arifszn/gitprofile/issues).**
## 🎨 Customization
@@ -153,6 +201,7 @@ const config = {
linkedin: '',
twitter: '',
facebook: '',
instagram: '',
dribbble: '',
behance: '',
medium: '',
@@ -193,7 +242,7 @@ const config = {
// Display blog posts from your medium or dev account. (Optional)
blog: {
source: 'dev', // medium | dev
username: 'arifszn',
username: 'arifszn', // to hide blog section, keep it empty
limit: 5, // How many posts to display. Max is 10.
},
googleAnalytics: {
@@ -215,6 +264,9 @@ const config = {
// using user system preferences, instead of the hardcoded defaultTheme
respectPrefersColorScheme: true,
// Hide the ring in Profile picture
hideAvatarRing: false,
// Available themes. To remove any theme, exclude from here.
themes: [
'light',
@@ -350,7 +402,7 @@ Your avatar and bio will be fetched from GitHub automatically.
### Social Links
You can link your social media services you're using, including LinkedIn, Twitter, Facebook, Dribbble, Behance, Medium, dev, personal website, phone and email.
You can link your social media services you're using, including LinkedIn, Twitter, Facebook, Instagram, Dribbble, Behance, Medium, dev, personal website, phone and email.
```js
// gitprofile.config.js
@@ -358,13 +410,14 @@ module.exports = {
// ...
social: {
linkedin: 'ariful-alam',
twitter: 'arif_swozon',
twitter: 'arif_szn',
facebook: '',
instagram: '',
dribbble: '',
behance: '',
medium: '',
dev: '',
website: 'https://arifszn.github.io',
website: '',
phone: '',
email: '',
},
@@ -477,12 +530,13 @@ module.exports = {
![Blog](https://arifszn.github.io/assets/img/hosted/gitprofile/blog.png)
The posts are fetched by [Blog-js](https://github.com/arifszn/blog-js).
The posts are fetched by [blog.js](https://github.com/arifszn/blog.js).
## 💖 Support
<a href="https://www.buymeacoffee.com/arifszn" target="_blank">
<img src="https://raw.githubusercontent.com/arifszn/arifszn/main/assets/bmc-button.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" >
<p>You can show your support by starring this project.</p>
<a href="https://github.com/arifszn/gitprofile/stargazers">
<img src="https://img.shields.io/github/stars/arifszn/gitprofile?style=social" alt="Github Star">
</a>
## 💡 Contribute
@@ -491,4 +545,4 @@ To contribute, see the [Contributing guide](https://github.com/arifszn/gitprofil
## 📄 License
**GitProfile** is licensed under the [Apache-2.0 License](https://github.com/arifszn/gitprofile/blob/main/LICENSE).
[MIT](https://github.com/arifszn/gitprofile/blob/main/LICENSE)

View File

@@ -7,16 +7,17 @@ const config = {
limit: 10, // How many projects to display.
exclude: {
forks: false, // Forked projects will not be displayed if set to true.
projects: ['laravel-ecommerce'], // These projects will not be displayed. example: ['my-project1', 'my-project2']
projects: [], // These projects will not be displayed. example: ['my-project1', 'my-project2']
},
},
social: {
linkedin: 'ariful-alam',
twitter: 'arif_szn',
facebook: '',
instagram: '',
dribbble: '',
behance: '',
medium: '',
medium: 'arifszn',
dev: 'arifszn',
website: 'https://arifszn.github.io',
phone: '',
@@ -28,9 +29,11 @@ const config = {
'JavaScript',
'React.js',
'Node.js',
'Nest.js',
'MySQL',
'Git',
'Docker',
'PHPUnit',
'CSS',
'Antd',
'Tailwind',
@@ -73,7 +76,7 @@ const config = {
// Display blog posts from your medium or dev account. (Optional)
blog: {
source: 'dev', // medium | dev
username: 'arifszn',
username: 'arifszn', // to hide blog section, keep it empty
limit: 3, // How many posts to display. Max is 10.
},
googleAnalytics: {
@@ -95,6 +98,9 @@ const config = {
// using user system preferences, instead of the hardcoded defaultTheme
respectPrefersColorScheme: false,
// Hide the ring in Profile picture
hideAvatarRing: false,
// Available themes. To remove any theme, exclude from here.
themes: [
'light',

View File

@@ -2,7 +2,7 @@ import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
import tailwind from 'tailwindcss';
import autoprefixer from 'autoprefixer';
import tailwindConfig from './tailwind.config.js';
import tailwindConfig from './tailwind.config.mjs';
import path from 'path';
// https://vitejs.dev/config/

2520
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,8 +1,8 @@
{
"name": "@arifszn/gitprofile",
"description": "Create an automatic portfolio based on GitHub profile",
"version": "2.0.5",
"license": "Apache-2.0",
"version": "2.0.9",
"license": "MIT",
"author": "arifszn",
"repository": {
"type": "git",
@@ -38,20 +38,20 @@
"prettier:fix": "prettier --write './**/*.{js,jsx,ts,tsx,css,md,json}'"
},
"dependencies": {
"react": "^18.0.0",
"react-dom": "^18.0.0"
"react": "^18.2.0",
"react-dom": "^18.2.0"
},
"devDependencies": {
"@arifszn/blog-js": "^2.0.0",
"@vitejs/plugin-react": "^1.0.7",
"@vitejs/plugin-react": "^2.0.0",
"autoprefixer": "^10.4.4",
"axios": "^0.26.1",
"axios": "^0.27.2",
"daisyui": "^2.11.0",
"date-fns": "^2.28.0",
"eslint": "^8.11.0",
"eslint-config-prettier": "^8.5.0",
"eslint-plugin-prettier": "^4.0.0",
"eslint-plugin-react": "^7.29.4",
"moment": "^2.29.1",
"postcss": "^8.4.12",
"prettier": "^2.6.0",
"prop-types": "^15.8.1",
@@ -59,7 +59,7 @@
"react-hotjar": "^5.0.0",
"react-icons": "^4.3.1",
"tailwindcss": "^3.0.23",
"vite": "^2.8.0"
"vite": "^3.0.1"
},
"keywords": [
"git-profile",
@@ -85,6 +85,10 @@
"git",
"react-portfolio",
"github",
"github-page",
"github-pages",
"github-portfolio",
"vite-portfolio",
"github-api"
]
}

View File

@@ -1,6 +1,5 @@
import axios from 'axios';
import { Fragment, useCallback, useEffect, useState } from 'react';
import moment from 'moment';
import HeadTagEditor from './head-tag-editor';
import ErrorPage from './error-page';
import ThemeChanger from './theme-changer';
@@ -19,10 +18,12 @@ import {
setupHotjar,
tooManyRequestError,
sanitizeConfig,
skeleton,
} from '../helpers/utils';
import { HelmetProvider } from 'react-helmet-async';
import PropTypes from 'prop-types';
import '../assets/index.css';
import { formatDistance } from 'date-fns';
const GitProfile = ({ config }) => {
const [error, setError] = useState(
@@ -103,9 +104,13 @@ const GitProfile = ({ config }) => {
const handleError = (error) => {
console.error('Error:', error);
try {
let reset = moment(
new Date(error.response.headers['x-ratelimit-reset'] * 1000)
).fromNow();
let reset = formatDistance(
new Date(error.response.headers['x-ratelimit-reset'] * 1000),
new Date(),
{
addSuffix: true,
}
);
if (error.response.status === 403) {
setError(tooManyRequestError(reset));
@@ -151,7 +156,11 @@ const GitProfile = ({ config }) => {
themeConfig={sanitizedConfig.themeConfig}
/>
)}
<AvatarCard profile={profile} loading={loading} />
<AvatarCard
profile={profile}
loading={loading}
avatarRing={!sanitizedConfig.themeConfig.hideAvatarRing}
/>
<Details
profile={profile}
loading={loading}
@@ -189,12 +198,6 @@ const GitProfile = ({ config }) => {
</div>
</div>
</div>
{/* The below attribution notice shall be
included in all copies or substantial portions of the Software. */}
{/* DO NOT REMOVE/MODIFY THE BELOW FOOTER. */}
{/* SEE 4(C) SECTION OF THE LICENSE FOR MORE DETAILS. */}
{/* https://github.com/arifszn/gitprofile/blob/main/LICENSE */}
<footer className="p-4 footer bg-base-200 text-base-content footer-center">
<div className="card compact bg-base-100 shadow">
<a
@@ -204,10 +207,15 @@ const GitProfile = ({ config }) => {
rel="noreferrer"
>
<div>
{loading ? (
skeleton({ width: 'w-52', height: 'h-6' })
) : (
<p className="font-mono text-sm">
Made with{' '}
<span className="text-primary">GitProfile</span> and
<span className="text-primary">GitProfile</span> and
</p>
)}
</div>
</a>
</div>
@@ -235,6 +243,7 @@ GitProfile.propTypes = {
linkedin: PropTypes.string,
twitter: PropTypes.string,
facebook: PropTypes.string,
instagram: PropTypes.string,
dribbble: PropTypes.string,
behance: PropTypes.string,
medium: PropTypes.string,
@@ -276,6 +285,7 @@ GitProfile.propTypes = {
defaultTheme: PropTypes.string,
disableSwitch: PropTypes.bool,
respectPrefersColorScheme: PropTypes.bool,
hideAvatarRing: PropTypes.bool,
themes: PropTypes.array,
customTheme: PropTypes.shape({
primary: PropTypes.string,

View File

@@ -2,7 +2,7 @@ import PropTypes from 'prop-types';
import { fallbackImage, skeleton } from '../../helpers/utils';
import LazyImage from '../lazy-image';
const AvatarCard = ({ profile, loading }) => {
const AvatarCard = ({ profile, loading, avatarRing }) => {
return (
<div className="card shadow-lg compact bg-base-100">
<div className="grid place-items-center py-8">
@@ -18,7 +18,13 @@ const AvatarCard = ({ profile, loading }) => {
</div>
) : (
<div className="avatar opacity-90">
<div className="mb-8 rounded-full w-32 h-32 ring ring-primary ring-offset-base-100 ring-offset-2">
<div
className={`mb-8 rounded-full w-32 h-32 ${
avatarRing
? 'ring ring-primary ring-offset-base-100 ring-offset-2'
: ''
}`}
>
{
<LazyImage
src={profile.avatar ? profile.avatar : fallbackImage}
@@ -38,7 +44,9 @@ const AvatarCard = ({ profile, loading }) => {
{loading || !profile ? (
skeleton({ width: 'w-48', height: 'h-8' })
) : (
<span className="opacity-70">{profile.name}</span>
<span className="text-base-content opacity-70">
{profile.name}
</span>
)}
</h5>
<div className="mt-3 text-base-content text-opacity-60 font-mono">
@@ -55,6 +63,7 @@ const AvatarCard = ({ profile, loading }) => {
AvatarCard.propTypes = {
profile: PropTypes.object,
loading: PropTypes.bool.isRequired,
avatarRing: PropTypes.bool.isRequired,
};
export default AvatarCard;

View File

@@ -1,19 +1,13 @@
import moment from 'moment';
import { Fragment, useEffect, useState } from 'react';
import { ga, skeleton } from '../../helpers/utils';
import LazyImage from '../lazy-image';
import PropTypes from 'prop-types';
import { AiOutlineContainer } from 'react-icons/ai';
import { getDevPost, getMediumPost } from '@arifszn/blog-js';
import { formatDistance } from 'date-fns';
const displaySection = (blog) => {
if (
typeof blog !== 'undefined' &&
typeof blog.source !== 'undefined' &&
typeof blog.username !== 'undefined' &&
blog.source &&
blog.username
) {
if (blog?.source && blog?.username) {
return true;
} else {
return false;
@@ -121,8 +115,7 @@ const Blog = ({ loading, blog, googleAnalytics }) => {
console.error(error);
}
typeof window !== 'undefined' &&
window.open(article.link, '_blank');
window?.open(article.link, '_blank');
}}
>
<div className="p-8 h-full w-full">
@@ -146,8 +139,10 @@ const Blog = ({ loading, blog, googleAnalytics }) => {
<h2 className="font-semibold text-base-content opacity-60">
{article.title}
</h2>
<p className="opacity-50 text-xs">
{moment(article.publishedAt).fromNow()}
<p className="text-base-content opacity-50 text-xs">
{formatDistance(article.publishedAt, new Date(), {
addSuffix: true,
})}
</p>
<p className="mt-3 text-base-content text-opacity-60 text-sm">
{article.description}
@@ -155,7 +150,7 @@ const Blog = ({ loading, blog, googleAnalytics }) => {
<div className="mt-4 flex items-center flex-wrap justify-center md:justify-start">
{article.categories.map((category, index2) => (
<div
className="py-2 px-4 text-xs leading-3 rounded-full bg-base-300 mr-1 mb-1 opacity-50"
className="py-2 px-4 text-xs leading-3 rounded-full bg-base-300 mr-1 mb-1 opacity-50 text-base-content"
key={index2}
>
#{category}
@@ -172,7 +167,9 @@ const Blog = ({ loading, blog, googleAnalytics }) => {
) : (
<div className="text-center mb-6">
<AiOutlineContainer className="mx-auto h-12 w-12 opacity-30" />
<p className="mt-1 text-sm opacity-50">No recent post</p>
<p className="mt-1 text-sm opacity-50 text-base-content">
No recent post
</p>
</div>
);
};
@@ -196,7 +193,9 @@ const Blog = ({ loading, blog, googleAnalytics }) => {
{loading ? (
skeleton({ width: 'w-28', height: 'h-8' })
) : (
<span className="opacity-70">Recent Posts</span>
<span className="text-base-content opacity-70">
Recent Posts
</span>
)}
</h5>
</div>

View File

@@ -1,5 +1,9 @@
import { MdLocationOn, MdMail } from 'react-icons/md';
import { AiFillGithub, AiFillMediumSquare } from 'react-icons/ai';
import {
AiFillGithub,
AiFillInstagram,
AiFillMediumSquare,
} from 'react-icons/ai';
import { SiTwitter } from 'react-icons/si';
import { GrLinkedinOption } from 'react-icons/gr';
import { CgDribbble } from 'react-icons/cg';
@@ -42,6 +46,14 @@ const ListItem = ({ icon, title, value, link, skeleton = false }) => {
);
};
const isCompanyMention = (company) => {
return company.startsWith('@') && !company.includes(' ');
};
const companyLink = (company) => {
return `https://github.com/${company.substring(1)}`;
};
const Details = ({ profile, loading, social, github }) => {
const renderSkeleton = () => {
let array = [];
@@ -80,6 +92,11 @@ const Details = ({ profile, loading, social, github }) => {
icon={<FaBuilding className="mr-2" />}
title="Company:"
value={profile.company}
link={
isCompanyMention(profile.company.trim())
? companyLink(profile.company.trim())
: null
}
/>
)}
<ListItem
@@ -88,7 +105,7 @@ const Details = ({ profile, loading, social, github }) => {
value={github.username}
link={`https://github.com/${github.username}`}
/>
{typeof social.twitter !== 'undefined' && social.twitter && (
{social?.twitter && (
<ListItem
icon={<SiTwitter className="mr-2" />}
title="Twitter:"
@@ -96,7 +113,7 @@ const Details = ({ profile, loading, social, github }) => {
link={`https://twitter.com/${social.twitter}`}
/>
)}
{typeof social.linkedin !== 'undefined' && social.linkedin && (
{social?.linkedin && (
<ListItem
icon={<GrLinkedinOption className="mr-2" />}
title="LinkedIn:"
@@ -104,7 +121,7 @@ const Details = ({ profile, loading, social, github }) => {
link={`https://www.linkedin.com/in/${social.linkedin}`}
/>
)}
{typeof social.dribbble !== 'undefined' && social.dribbble && (
{social?.dribbble && (
<ListItem
icon={<CgDribbble className="mr-2" />}
title="Dribbble:"
@@ -112,7 +129,7 @@ const Details = ({ profile, loading, social, github }) => {
link={`https://dribbble.com/${social.dribbble}`}
/>
)}
{typeof social.behance !== 'undefined' && social.behance && (
{social?.behance && (
<ListItem
icon={<FaBehanceSquare className="mr-2" />}
title="Behance:"
@@ -120,7 +137,7 @@ const Details = ({ profile, loading, social, github }) => {
link={`https://www.behance.net/${social.behance}`}
/>
)}
{typeof social.facebook !== 'undefined' && social.facebook && (
{social?.facebook && (
<ListItem
icon={<FaFacebook className="mr-2" />}
title="Facebook:"
@@ -128,7 +145,15 @@ const Details = ({ profile, loading, social, github }) => {
link={`https://www.facebook.com/${social.facebook}`}
/>
)}
{typeof social.medium !== 'undefined' && social.medium && (
{social?.instagram && (
<ListItem
icon={<AiFillInstagram className="mr-2" />}
title="Instagram:"
value={social.instagram}
link={`https://www.instagram.com/${social.instagram}`}
/>
)}
{social?.medium && (
<ListItem
icon={<AiFillMediumSquare className="mr-2" />}
title="Medium:"
@@ -136,7 +161,7 @@ const Details = ({ profile, loading, social, github }) => {
link={`https://medium.com/@${social.medium}`}
/>
)}
{typeof social.dev !== 'undefined' && social.dev && (
{social?.dev && (
<ListItem
icon={<FaDev className="mr-2" />}
title="Dev:"
@@ -144,7 +169,7 @@ const Details = ({ profile, loading, social, github }) => {
link={`https://dev.to/${social.dev}`}
/>
)}
{typeof social.website !== 'undefined' && social.website && (
{social?.website && (
<ListItem
icon={<FaGlobe className="mr-2" />}
title="Website:"
@@ -152,7 +177,7 @@ const Details = ({ profile, loading, social, github }) => {
link={social.website}
/>
)}
{typeof social.phone !== 'undefined' && social.phone && (
{social?.phone && (
<ListItem
icon={<RiPhoneFill className="mr-2" />}
title="Phone:"
@@ -160,7 +185,7 @@ const Details = ({ profile, loading, social, github }) => {
link={`tel:${social.phone}`}
/>
)}
{typeof social.email !== 'undefined' && social.email && (
{social?.email && (
<ListItem
icon={<MdMail className="mr-2" />}
title="Email:"

View File

@@ -40,7 +40,7 @@ const Education = ({ loading, education }) => {
return (
<>
{typeof education !== 'undefined' && education.length !== 0 && (
{education?.length !== 0 && (
<div className="card shadow-lg compact bg-base-100">
<div className="card-body">
<div className="mx-3">
@@ -48,7 +48,9 @@ const Education = ({ loading, education }) => {
{loading ? (
skeleton({ width: 'w-32', height: 'h-8' })
) : (
<span className="opacity-70">Education</span>
<span className="text-base-content opacity-70">
Education
</span>
)}
</h5>
</div>

View File

@@ -40,7 +40,7 @@ const Experience = ({ experiences, loading }) => {
return (
<>
{typeof experiences !== 'undefined' && experiences.length !== 0 && (
{experiences?.length !== 0 && (
<div className="card shadow-lg compact bg-base-100">
<div className="card-body">
<div className="mx-3">
@@ -48,7 +48,9 @@ const Experience = ({ experiences, loading }) => {
{loading ? (
skeleton({ width: 'w-32', height: 'h-8' })
) : (
<span className="opacity-70">Experience</span>
<span className="text-base-content opacity-70">
Experience
</span>
)}
</h5>
</div>

View File

@@ -1,7 +1,7 @@
import { Fragment } from 'react';
import { Helmet } from 'react-helmet-async';
import PropTypes from 'prop-types';
import { isThemeDarkish } from '../../helpers/utils';
import { isDarkishTheme } from '../../helpers/utils';
const HeadTagEditor = ({ profile, theme, googleAnalytics, social }) => {
return (
@@ -25,7 +25,7 @@ const HeadTagEditor = ({ profile, theme, googleAnalytics, social }) => {
<title>Portfolio of {profile.name}</title>
<meta
name="theme-color"
content={isThemeDarkish(theme) ? '#000000' : '#ffffff'}
content={isDarkishTheme(theme) ? '#000000' : '#ffffff'}
/>
<meta name="description" content={profile.bio} />
@@ -34,12 +34,7 @@ const HeadTagEditor = ({ profile, theme, googleAnalytics, social }) => {
<meta itemProp="description" content={profile.bio} />
<meta itemProp="image" content={profile.avatar} />
<meta
property="og:url"
content={
typeof social.website !== 'undefined' ? social.website : ''
}
/>
<meta property="og:url" content={social?.website || ''} />
<meta property="og:type" content="website" />
<meta property="og:title" content={`Portfolio of ${profile.name}`} />
<meta property="og:description" content={profile.bio} />

View File

@@ -72,7 +72,7 @@ const Project = ({ repo, loading, github, googleAnalytics }) => {
console.error(error);
}
typeof window !== 'undefined' && window.open(item.html_url, '_blank');
window?.open(item.html_url, '_blank');
}}
>
<div className="flex justify-between flex-col p-8 h-full w-full">
@@ -82,7 +82,7 @@ const Project = ({ repo, loading, github, googleAnalytics }) => {
xmlns="http://www.w3.org/2000/svg"
fill="none"
viewBox="0 0 24 24"
className="inline-block w-5 h-5 mr-2 stroke-current"
className="text-base-content inline-block w-5 h-5 mr-2 stroke-current"
>
<path
strokeLinecap="round"
@@ -92,7 +92,9 @@ const Project = ({ repo, loading, github, googleAnalytics }) => {
></path>
</svg>
<span>
<h5 className="card-title text-lg">{item.name}</h5>
<h5 className="card-title text-lg text-base-content">
{item.name}
</h5>
</span>
</div>
<p className="mb-5 mt-1 text-base-content text-opacity-60 text-sm">
@@ -137,7 +139,9 @@ const Project = ({ repo, loading, github, googleAnalytics }) => {
{loading ? (
skeleton({ width: 'w-28', height: 'h-8' })
) : (
<span className="opacity-70">My Projects</span>
<span className="text-base-content opacity-70">
My Projects
</span>
)}
</h5>
{loading ? (
@@ -147,7 +151,7 @@ const Project = ({ repo, loading, github, googleAnalytics }) => {
href={`https://github.com/${github.username}?tab=repositories`}
target="_blank"
rel="noreferrer"
className="opacity-50"
className="text-base-content opacity-50"
>
See All
</a>

View File

@@ -17,7 +17,7 @@ const Skill = ({ loading, skills }) => {
return (
<>
{typeof skills !== 'undefined' && skills.length !== 0 && (
{skills?.length !== 0 && (
<div className="card shadow-lg compact bg-base-100">
<div className="card-body">
<div className="mx-3">
@@ -25,7 +25,9 @@ const Skill = ({ loading, skills }) => {
{loading ? (
skeleton({ width: 'w-32', height: 'h-8' })
) : (
<span className="opacity-70">Tech Stack</span>
<span className="text-base-content opacity-70">
Tech Stack
</span>
)}
</h5>
</div>

View File

@@ -21,7 +21,7 @@ const ThemeChanger = ({ theme, setTheme, loading, themeConfig }) => {
{loading ? (
skeleton({ width: 'w-20', height: 'h-8', className: 'mb-1' })
) : (
<span className="opacity-70">Theme</span>
<span className="text-base-content opacity-70">Theme</span>
)}
</h5>
<span className="text-base-content text-opacity-40 capitalize text-sm">
@@ -43,7 +43,7 @@ const ThemeChanger = ({ theme, setTheme, loading, themeConfig }) => {
<div title="Change Theme" className="dropdown dropdown-end">
<div
tabIndex={0}
className="btn btn-ghost m-1 normal-case opacity-50"
className="btn btn-ghost m-1 normal-case opacity-50 text-base-content"
>
<AiOutlineControl className="inline-block w-5 h-5 stroke-current md:mr-2" />
<span className="hidden md:inline">Change Theme</span>

View File

@@ -1,15 +0,0 @@
<svg width="410" height="404" viewBox="0 0 410 404" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M399.641 59.5246L215.643 388.545C211.844 395.338 202.084 395.378 198.228 388.618L10.5817 59.5563C6.38087 52.1896 12.6802 43.2665 21.0281 44.7586L205.223 77.6824C206.398 77.8924 207.601 77.8904 208.776 77.6763L389.119 44.8058C397.439 43.2894 403.768 52.1434 399.641 59.5246Z" fill="url(#paint0_linear)"/>
<path d="M292.965 1.5744L156.801 28.2552C154.563 28.6937 152.906 30.5903 152.771 32.8664L144.395 174.33C144.198 177.662 147.258 180.248 150.51 179.498L188.42 170.749C191.967 169.931 195.172 173.055 194.443 176.622L183.18 231.775C182.422 235.487 185.907 238.661 189.532 237.56L212.947 230.446C216.577 229.344 220.065 232.527 219.297 236.242L201.398 322.875C200.278 328.294 207.486 331.249 210.492 326.603L212.5 323.5L323.454 102.072C325.312 98.3645 322.108 94.137 318.036 94.9228L279.014 102.454C275.347 103.161 272.227 99.746 273.262 96.1583L298.731 7.86689C299.767 4.27314 296.636 0.855181 292.965 1.5744Z" fill="url(#paint1_linear)"/>
<defs>
<linearGradient id="paint0_linear" x1="6.00017" y1="32.9999" x2="235" y2="344" gradientUnits="userSpaceOnUse">
<stop stop-color="#41D1FF"/>
<stop offset="1" stop-color="#BD34FE"/>
</linearGradient>
<linearGradient id="paint1_linear" x1="194.651" y1="8.81818" x2="236.076" y2="292.989" gradientUnits="userSpaceOnUse">
<stop stop-color="#FFEA83"/>
<stop offset="0.0833333" stop-color="#FFDD35"/>
<stop offset="1" stop-color="#FFA800"/>
</linearGradient>
</defs>
</svg>

Before

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -69,44 +69,29 @@ export const ga = {
// log specific events happening
event: ({ action, params }) => {
try {
typeof window !== 'undefined' && window.gtag('event', action, params);
window?.gtag('event', action, params);
} catch (error) {
console.error(error);
}
},
};
export const isThemeDarkish = (theme) => {
if (
theme === 'dark' ||
theme === 'halloween' ||
theme === 'forest' ||
theme === 'black' ||
theme === 'luxury' ||
theme === 'dracula'
) {
return true;
} else {
return false;
}
export const isDarkishTheme = (theme) => {
return ['dark', 'halloween', 'forest', 'black', 'luxury', 'dracula'].includes(
theme
);
};
export const setupHotjar = (hotjarConfig) => {
if (hotjarConfig?.id) {
let snippetVersion = hotjarConfig?.snippetVersion
? hotjarConfig?.snippetVersion
: 6;
let snippetVersion = hotjarConfig?.snippetVersion || 6;
hotjar.initialize(hotjarConfig.id, snippetVersion);
}
};
export const sanitizeConfig = (config) => {
const customTheme =
typeof config.themeConfig !== 'undefined' &&
typeof config.themeConfig.customTheme !== 'undefined'
? config.themeConfig.customTheme
: {
const customTheme = config?.themeConfig?.customTheme || {
primary: '#fc055b',
secondary: '#219aaf',
accent: '#e8d03a',
@@ -116,11 +101,7 @@ export const sanitizeConfig = (config) => {
'--rounded-btn': '3rem',
};
const themes =
typeof config.themeConfig !== 'undefined' &&
typeof config.themeConfig.themes !== 'undefined'
? config.themeConfig.themes
: [
const themes = config?.themeConfig?.themes || [
'light',
'dark',
'cupcake',
@@ -155,134 +136,48 @@ export const sanitizeConfig = (config) => {
return {
github: {
username: config.github.username,
sortBy:
typeof config.github.sortBy !== 'undefined'
? config.github.sortBy
: 'stars',
limit:
typeof config.github.limit !== 'undefined' ? config.github.limit : 8,
username: config?.github?.username || '',
sortBy: config?.github?.sortBy || 'stars',
limit: config?.github?.limit || 8,
exclude: {
forks:
typeof config.github.exclude !== 'undefined' &&
typeof config.github.exclude.forks !== 'undefined'
? config.github.exclude.forks
: false,
projects:
typeof config.github.exclude !== 'undefined' &&
typeof config.github.exclude.projects !== 'undefined'
? config.github.exclude.projects
: [],
forks: config?.github?.exclude?.forks || false,
projects: config?.github?.exclude?.projects || [],
},
},
social: {
linkedin:
typeof config.social !== 'undefined' &&
typeof config.social.linkedin !== 'undefined'
? config.social.linkedin
: '',
twitter:
typeof config.social !== 'undefined' &&
typeof config.social.twitter !== 'undefined'
? config.social.twitter
: '',
facebook:
typeof config.social !== 'undefined' &&
typeof config.social.facebook !== 'undefined'
? config.social.facebook
: '',
dribbble:
typeof config.social !== 'undefined' &&
typeof config.social.dribbble !== 'undefined'
? config.social.dribbble
: '',
behance:
typeof config.social !== 'undefined' &&
typeof config.social.behance !== 'undefined'
? config.social.behance
: '',
medium:
typeof config.social !== 'undefined' &&
typeof config.social.medium !== 'undefined'
? config.social.medium
: '',
dev:
typeof config.social !== 'undefined' &&
typeof config.social.dev !== 'undefined'
? config.social.dev
: '',
website:
typeof config.social !== 'undefined' &&
typeof config.social.website !== 'undefined'
? config.social.website
: '',
phone:
typeof config.social !== 'undefined' &&
typeof config.social.phone !== 'undefined'
? config.social.phone
: '',
email:
typeof config.social !== 'undefined' &&
typeof config.social.email !== 'undefined'
? config.social.email
: '',
linkedin: config?.social?.linkedin,
twitter: config?.social?.twitter,
facebook: config?.social?.facebook,
instagram: config?.social?.instagram,
dribbble: config?.social?.dribbble,
behance: config?.social?.behance,
medium: config?.social?.medium,
dev: config?.social?.dev,
website: config?.social?.website,
phone: config?.social?.phone,
email: config?.social?.email,
},
skills: typeof config.skills !== 'undefined' ? config.skills : [],
experiences:
typeof config.experiences !== 'undefined' ? config.experiences : [],
education: typeof config.education !== 'undefined' ? config.education : [],
skills: config?.skills || [],
experiences: config?.experiences || [],
education: config?.education || [],
blog: {
source:
typeof config.blog !== 'undefined' &&
typeof config.blog.source !== 'undefined'
? config.blog.source
: '',
username:
typeof config.blog !== 'undefined' &&
typeof config.blog.username !== 'undefined'
? config.blog.username
: '',
limit:
typeof config.blog !== 'undefined' &&
typeof config.blog.limit !== 'undefined'
? config.blog.limit
: 5,
source: config?.blog?.source,
username: config?.blog?.username,
limit: config?.blog?.limit || 5,
},
googleAnalytics: {
id:
typeof config.googleAnalytics !== 'undefined' &&
typeof config.googleAnalytics.id !== 'undefined'
? config.googleAnalytics.id
: '',
id: config?.googleAnalytics?.id,
},
hotjar: {
id:
typeof config.hotjar !== 'undefined' &&
typeof config.hotjar.id !== 'undefined'
? config.hotjar.id
: '',
snippetVersion:
typeof config.hotjar !== 'undefined' &&
typeof config.hotjar.snippetVersion !== 'undefined'
? config.hotjar.snippetVersion
: 6,
id: config?.hotjar?.id,
snippetVersion: config?.hotjar?.snippetVersion || 6,
},
themeConfig: {
defaultTheme:
typeof config.themeConfig !== 'undefined' &&
typeof config.themeConfig.defaultTheme !== 'undefined'
? config.themeConfig.defaultTheme
: themes[0],
disableSwitch:
typeof config.themeConfig !== 'undefined' &&
typeof config.themeConfig.disableSwitch !== 'undefined'
? config.themeConfig.disableSwitch
: false,
defaultTheme: config?.themeConfig?.defaultTheme || themes[0],
disableSwitch: config?.themeConfig?.disableSwitch || false,
respectPrefersColorScheme:
typeof config.themeConfig !== 'undefined' &&
typeof config.themeConfig.respectPrefersColorScheme !== 'undefined'
? config.themeConfig.respectPrefersColorScheme
: false,
config?.themeConfig?.respectPrefersColorScheme || false,
hideAvatarRing: config?.themeConfig?.hideAvatarRing || false,
themes: themes,
customTheme: customTheme,
},

10
types/index.d.ts vendored
View File

@@ -54,6 +54,11 @@ export interface Social {
*/
facebook?: string;
/**
* Instagram
*/
instagram?: string;
/**
* Dribbble
*/
@@ -181,6 +186,11 @@ export interface ThemeConfig {
*/
respectPrefersColorScheme?: boolean;
/**
* Hide the ring in Profile picture
*/
hideAvatarRing?: boolean;
/**
* Available themes
*/

View File

@@ -2,7 +2,7 @@ import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
import tailwind from 'tailwindcss';
import autoprefixer from 'autoprefixer';
import tailwindConfig from './tailwind.config.js';
import tailwindConfig from './tailwind.config.mjs';
// https://vitejs.dev/config/
export default defineConfig({