From 6f64574f5caa3e1fac9bde01a1a21f310323c917 Mon Sep 17 00:00:00 2001 From: Ariful Alam Date: Wed, 30 Mar 2022 21:18:57 +0600 Subject: [PATCH 1/4] Use `blog-js` for fetching blog posts --- README.md | 4 +- package-lock.json | 82 +++++++++++++++++------------------ package.json | 2 +- src/components/blog/index.jsx | 6 +-- 4 files changed, 47 insertions(+), 47 deletions(-) diff --git a/README.md b/README.md index 2c24298..c942809 100644 --- a/README.md +++ b/README.md @@ -142,7 +142,7 @@ const config = { dribbble: '', behance: '', medium: '', - devto: '', + dev: '', website: '', phone: '', email: '', @@ -463,7 +463,7 @@ module.exports = { ![Blog](https://arifszn.github.io/assets/img/hosted/gitprofile/blog.png) -The posts are fetched by [Article-api](https://github.com/arifszn/article-api). +The posts are fetched by [Blog-js](https://github.com/arifszn/blog-js). ## 💖 Support diff --git a/package-lock.json b/package-lock.json index b1ed2a7..ecd3f0e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,8 +13,8 @@ "react-dom": "^17.0.2" }, "devDependencies": { + "@arifszn/blog-js": "^2.0.0", "@vitejs/plugin-react": "^1.0.7", - "article-api": "^1.0.8", "autoprefixer": "^10.4.4", "axios": "^0.26.1", "daisyui": "^2.11.0", @@ -45,6 +45,25 @@ "node": ">=6.0.0" } }, + "node_modules/@arifszn/blog-js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@arifszn/blog-js/-/blog-js-2.0.0.tgz", + "integrity": "sha512-UMeWt/aaxeF4GLpj16olA+V7300SbFn28hQJ1XcQd9XKanMOayTx5dZ6iUEnO5l+7460+1qG33eVIJsP7CZeaw==", + "dev": true, + "dependencies": { + "axios": "^0.21.1", + "string-strip-html": "^8.3.0" + } + }, + "node_modules/@arifszn/blog-js/node_modules/axios": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "dev": true, + "dependencies": { + "follow-redirects": "^1.14.0" + } + }, "node_modules/@babel/code-frame": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", @@ -755,25 +774,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/article-api": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/article-api/-/article-api-1.0.8.tgz", - "integrity": "sha512-3F6dhLeSbFMGD+8kFDrbddgJUx8zply5rlKMijuEsHdiuSIATaiHAhFwwgPyXcrjJcQxqmI25anFqPGno5NjDg==", - "dev": true, - "dependencies": { - "axios": "^0.21.1", - "string-strip-html": "^8.3.0" - } - }, - "node_modules/article-api/node_modules/axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", - "dev": true, - "dependencies": { - "follow-redirects": "^1.14.0" - } - }, "node_modules/autoprefixer": { "version": "10.4.4", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.4.tgz", @@ -4047,6 +4047,27 @@ "@jridgewell/trace-mapping": "^0.3.0" } }, + "@arifszn/blog-js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@arifszn/blog-js/-/blog-js-2.0.0.tgz", + "integrity": "sha512-UMeWt/aaxeF4GLpj16olA+V7300SbFn28hQJ1XcQd9XKanMOayTx5dZ6iUEnO5l+7460+1qG33eVIJsP7CZeaw==", + "dev": true, + "requires": { + "axios": "^0.21.1", + "string-strip-html": "^8.3.0" + }, + "dependencies": { + "axios": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "dev": true, + "requires": { + "follow-redirects": "^1.14.0" + } + } + } + }, "@babel/code-frame": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", @@ -4577,27 +4598,6 @@ "es-abstract": "^1.19.0" } }, - "article-api": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/article-api/-/article-api-1.0.8.tgz", - "integrity": "sha512-3F6dhLeSbFMGD+8kFDrbddgJUx8zply5rlKMijuEsHdiuSIATaiHAhFwwgPyXcrjJcQxqmI25anFqPGno5NjDg==", - "dev": true, - "requires": { - "axios": "^0.21.1", - "string-strip-html": "^8.3.0" - }, - "dependencies": { - "axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", - "dev": true, - "requires": { - "follow-redirects": "^1.14.0" - } - } - } - }, "autoprefixer": { "version": "10.4.4", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.4.tgz", diff --git a/package.json b/package.json index f370dcf..727efc5 100644 --- a/package.json +++ b/package.json @@ -42,8 +42,8 @@ "react-dom": "^17.0.2" }, "devDependencies": { + "@arifszn/blog-js": "^2.0.0", "@vitejs/plugin-react": "^1.0.7", - "article-api": "^1.0.8", "autoprefixer": "^10.4.4", "axios": "^0.26.1", "daisyui": "^2.11.0", diff --git a/src/components/blog/index.jsx b/src/components/blog/index.jsx index d71001d..d55d8b7 100644 --- a/src/components/blog/index.jsx +++ b/src/components/blog/index.jsx @@ -1,9 +1,9 @@ -import { getDevtoArticle, getMediumArticle } from 'article-api'; 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 { getDevPost, getMediumPost } from '@arifszn/blog-js'; const displaySection = (blog) => { if ( @@ -25,13 +25,13 @@ const Blog = ({ loading, blog, googleAnalytics }) => { useEffect(() => { if (displaySection(blog)) { if (blog.source === 'medium') { - getMediumArticle({ + getMediumPost({ user: blog.username, }).then((res) => { setArticles(res); }); } else if (blog.source === 'dev.to') { - getDevtoArticle({ + getDevPost({ user: blog.username, }).then((res) => { setArticles(res); From 66d680e2ec35aa1980e318c9b41f5ad4f1306d54 Mon Sep 17 00:00:00 2001 From: Ariful Alam Date: Wed, 30 Mar 2022 21:30:42 +0600 Subject: [PATCH 2/4] Rename dev.to --- README.md | 12 ++++++------ gitprofile.config.js | 6 +++--- src/components/GitProfile.jsx | 2 +- src/components/blog/index.jsx | 2 +- src/components/details/index.jsx | 6 +++--- src/helpers/utils.jsx | 6 +++--- types/index.d.ts | 6 +++--- 7 files changed, 20 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index c942809..18bcb7e 100644 --- a/README.md +++ b/README.md @@ -176,9 +176,9 @@ const config = { to: '2014', }, ], - // Display blog posts from your medium or dev.to account. (Optional) + // Display blog posts from your medium or dev account. (Optional) blog: { - source: 'dev.to', // medium | dev.to + source: 'dev', // medium | dev username: 'arifszn', limit: 5, // How many posts to display. Max is 10. }, @@ -336,7 +336,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.to, personal website, phone and email. +You can link your social media services you're using, including LinkedIn, Twitter, Facebook, Dribbble, Behance, Medium, dev, personal website, phone and email. ```js // gitprofile.config.js @@ -349,7 +349,7 @@ module.exports = { dribbble: '', behance: '', medium: '', - devto: '', + dev: '', website: 'https://arifszn.github.io', phone: '', email: '', @@ -447,14 +447,14 @@ module.exports = { ### Blog Posts -If you have [medium](https://medium.com) or [dev.to](https://dev.to) account, you can show your recent blog posts in here just by providing your medium/dev.to username. You can limit how many posts to display (Max is `10`). +If you have [medium](https://medium.com) or [dev](https://dev.to) account, you can show your recent blog posts in here just by providing your medium/dev username. You can limit how many posts to display (Max is `10`). ```js // gitprofile.config.js module.exports = { // ... blog: { - source: 'dev.to', + source: 'dev', username: 'arifszn', limit: 5, }, diff --git a/gitprofile.config.js b/gitprofile.config.js index ac6f801..7faad96 100644 --- a/gitprofile.config.js +++ b/gitprofile.config.js @@ -17,7 +17,7 @@ const config = { dribbble: '', behance: '', medium: '', - devto: 'arifszn', + dev: 'arifszn', website: 'https://arifszn.github.io', phone: '', email: 'arifulalamszn@gmail.com', @@ -76,9 +76,9 @@ const config = { to: '2012', }, ], - // Display blog posts from your medium or dev.to account. (Optional) + // Display blog posts from your medium or dev account. (Optional) blog: { - source: 'dev.to', // medium | dev.to + source: 'dev', // medium | dev username: 'arifszn', limit: 3, // How many posts to display. Max is 10. }, diff --git a/src/components/GitProfile.jsx b/src/components/GitProfile.jsx index 9c45cfc..b997664 100644 --- a/src/components/GitProfile.jsx +++ b/src/components/GitProfile.jsx @@ -238,7 +238,7 @@ GitProfile.propTypes = { dribbble: PropTypes.string, behance: PropTypes.string, medium: PropTypes.string, - devto: PropTypes.string, + dev: PropTypes.string, website: PropTypes.string, phone: PropTypes.string, email: PropTypes.string, diff --git a/src/components/blog/index.jsx b/src/components/blog/index.jsx index d55d8b7..a6ace04 100644 --- a/src/components/blog/index.jsx +++ b/src/components/blog/index.jsx @@ -30,7 +30,7 @@ const Blog = ({ loading, blog, googleAnalytics }) => { }).then((res) => { setArticles(res); }); - } else if (blog.source === 'dev.to') { + } else if (blog.source === 'dev') { getDevPost({ user: blog.username, }).then((res) => { diff --git a/src/components/details/index.jsx b/src/components/details/index.jsx index 6850ae8..22b4339 100644 --- a/src/components/details/index.jsx +++ b/src/components/details/index.jsx @@ -136,12 +136,12 @@ const Details = ({ profile, loading, social, github }) => { link={`https://medium.com/@${social.medium}`} /> )} - {typeof social.devto !== 'undefined' && social.devto && ( + {typeof social.dev !== 'undefined' && social.dev && ( } title="Dev:" - value={social.devto} - link={`https://dev.to/${social.devto}`} + value={social.dev} + link={`https://dev.to/${social.dev}`} /> )} {typeof social.website !== 'undefined' && social.website && ( diff --git a/src/helpers/utils.jsx b/src/helpers/utils.jsx index 79dc21a..dae22ed 100644 --- a/src/helpers/utils.jsx +++ b/src/helpers/utils.jsx @@ -206,10 +206,10 @@ export const sanitizeConfig = (config) => { typeof config.social.medium !== 'undefined' ? config.social.medium : '', - devto: + dev: typeof config.social !== 'undefined' && - typeof config.social.devto !== 'undefined' - ? config.social.devto + typeof config.social.dev !== 'undefined' + ? config.social.dev : '', website: typeof config.social !== 'undefined' && diff --git a/types/index.d.ts b/types/index.d.ts index d53024f..d1acbcc 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -70,9 +70,9 @@ export interface Social { medium?: string; /** - * dev.to + * dev */ - devto?: string; + dev?: string; /** * Website @@ -92,7 +92,7 @@ export interface Social { export interface Blog { /** - * medium | dev.to + * medium | dev */ source?: string; From 5731e64819da4ff325a8b86177088ff348907115 Mon Sep 17 00:00:00 2001 From: Ariful Alam Date: Wed, 30 Mar 2022 21:37:16 +0600 Subject: [PATCH 3/4] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 18bcb7e..054e964 100644 --- a/README.md +++ b/README.md @@ -44,6 +44,8 @@ What if you could create your portfolio in 5 minutes just by providing your GitH To view a live example, **[click here](https://arifszn.github.io/gitprofile)**. +Or try it **[online](https://stackblitz.com/edit/gitprofile)**. + ![Preview](https://arifszn.github.io/assets/img/hosted/gitprofile/preview.png) ## 🛠 Installation & Set Up From 36f9487eca4471a873af9899135a65381daa12e6 Mon Sep 17 00:00:00 2001 From: Ariful Alam Date: Wed, 30 Mar 2022 21:37:53 +0600 Subject: [PATCH 4/4] =?UTF-8?q?Bump=20version=20to=202.0.2=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index ecd3f0e..fa896d6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@arifszn/gitprofile", - "version": "2.0.1", + "version": "2.0.2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@arifszn/gitprofile", - "version": "2.0.1", + "version": "2.0.2", "license": "Apache-2.0", "dependencies": { "react": "^17.0.2", diff --git a/package.json b/package.json index 727efc5..7a71be3 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@arifszn/gitprofile", "description": "Create an automatic portfolio based on GitHub profile", - "version": "2.0.1", + "version": "2.0.2", "license": "Apache-2.0", "author": "arifszn", "repository": {