Compare commits

...

132 Commits

Author SHA1 Message Date
Rahul Jain 8809fb7c43 Merge pull request #241 from Mohitmadhav/Issue-#228
[update] gatsby-plugin-sharp version
2020-10-08 22:36:32 +05:30
Rahul Jain fa1dcf2fd9 Merge pull request #250 from kunaljain0212/cockroachicon
[fix]: broken cockroachdb icon link
2020-10-08 22:24:13 +05:30
Kunal Jain ca55d9e02c fixed broken cockroachdb icon link 2020-10-07 23:59:24 +05:30
Rahul Jain 0ca556a9de Merge pull request #246 from thauska/master
[update]: footer with new design
2020-10-07 20:20:40 +05:30
Thayana Mamoré 27b01ccf71 [feat]: modify footer as requested 2020-10-06 23:36:53 -03:00
Thayana Mamoré 980f970caa Merge branch 'master' of https://github.com/rahuldkjain/github-profile-readme-generator 2020-10-06 22:53:18 -03:00
Rahul Jain cb124b7b19 Merge pull request #226 from Maddoxx88/patch-6
[add]: Twitter Username Validation
2020-10-06 23:35:48 +05:30
Rahul Jain 008f2f818b Merge pull request #244 from rahuldkjain/pr-template
[add]: pr-template
2020-10-06 23:27:32 +05:30
zolostays a1dfb87eaa [fix]: typo in pr-template 2020-10-06 23:26:50 +05:30
zolostays 559949d5f3 [add]: pr-template 2020-10-06 23:24:35 +05:30
Rahul Jain 19b6a99893 Merge pull request #203 from rahuldkjain/all-contributors/add-KKVANONYMOUS
docs: add KKVANONYMOUS as a contributor
2020-10-06 23:05:09 +05:30
Rahul Jain 7c3c64ec8d Merge branch 'master' into all-contributors/add-KKVANONYMOUS 2020-10-06 23:04:13 +05:30
Rahul Jain 25b19432ff Merge pull request #177 from rahuldkjain/all-contributors/add-jaideepghosh
docs: add jaideepghosh as a contributor
2020-10-06 23:01:56 +05:30
Rahul Jain e6fff7627a Merge branch 'master' into all-contributors/add-jaideepghosh 2020-10-06 23:01:37 +05:30
Rahul Jain 85530aad63 Merge pull request #168 from rahuldkjain/all-contributors/add-YashKandalkar
docs: add YashKandalkar as a contributor
2020-10-06 22:59:21 +05:30
Rahul Jain cd3df511e5 Merge branch 'master' into all-contributors/add-YashKandalkar 2020-10-06 22:59:03 +05:30
Rahul Jain 1def3dc501 Merge pull request #161 from rahuldkjain/all-contributors/add-abhijit-hota
docs: add abhijit-hota as a contributor
2020-10-06 22:57:33 +05:30
Rahul Jain 12d94283c3 Merge branch 'master' into all-contributors/add-abhijit-hota 2020-10-06 22:56:54 +05:30
Rahul Jain 756b0942a1 Merge pull request #154 from rahuldkjain/all-contributors/add-Maddoxx88
docs: add Maddoxx88 as a contributor
2020-10-06 22:55:12 +05:30
Rahul Jain 6db2bd9278 Merge branch 'master' into all-contributors/add-Maddoxx88 2020-10-06 22:55:05 +05:30
zolostays 2b99a7e3ed [add]: g-savitha in README 2020-10-06 22:48:26 +05:30
Rahul Jain 5448102770 Merge pull request #134 from rahuldkjain/all-contributors/add-Hardik0307
docs: add Hardik0307 as a contributor
2020-10-06 22:37:18 +05:30
Rahul Jain cbb1dddb8e Merge branch 'master' into all-contributors/add-Hardik0307 2020-10-06 22:37:07 +05:30
Mohit_007 fe0bffbd93 commit 2020-10-06 19:17:37 +05:30
Rahul Jain cc962a940a Merge pull request #229 from aaditkamat/add-vuepress
[add]: VuePress as a static site generator
2020-10-04 19:27:02 +05:30
Aadit Kamat fb20ed73ac Add vuepress under skillWebsites 2020-10-04 21:20:40 +08:00
allcontributors[bot] 0bf13cdbb1 docs: update .all-contributorsrc [skip ci] 2020-10-04 12:41:50 +00:00
allcontributors[bot] 10742994b0 docs: update README.md [skip ci] 2020-10-04 12:41:49 +00:00
Sunit Shirke c8102c7f97 Corrected twitter markdown link 2020-10-04 18:05:49 +05:30
Sunit Shirke aeca176f40 Corrected href link 2020-10-04 17:52:31 +05:30
Sunit Shirke 2689fe40cd Corrected href link in markdown 2020-10-04 17:44:43 +05:30
Sunit Shirke 4e5c2b974b Corrected twitter props link in markdown 2020-10-04 17:29:04 +05:30
Sunit Shirke 7e6120dedf Corrected twitter props link in preview 2020-10-04 17:27:19 +05:30
Sunit Shirke a446bbe408 Corrected href link in markdown 2020-10-04 17:25:07 +05:30
Sunit Shirke 7be9b08cd8 Corrected href link in preview 2020-10-04 17:24:05 +05:30
Sunit Shirke cac51acc92 Removed bracket error 2020-10-04 17:15:47 +05:30
Rahul Jain 4a2bd779c4 Merge pull request #204 from Aarush-Goyal/master
[add]: design addons
2020-10-04 17:12:26 +05:30
Rahul Jain 91b1d2f6ea Merge pull request #160 from abhijit-hota/add-unit-tests
[test]: Add unit tests #47
2020-10-04 16:58:10 +05:30
Aadit Kamat 264161c054 Replace with SVG 2020-10-04 15:30:04 +08:00
zolostays 8812ea048f [add]: package.json 2020-10-04 12:49:05 +05:30
Aadit Kamat 656e055cd0 Add VuePress as a static site generator 2020-10-04 15:15:22 +08:00
Rahul Jain 3793bcdad9 Merge pull request #214 from nidhi-bhanushali/master
[add]: Resume field in the work section
2020-10-04 12:37:58 +05:30
Sunit Shirke 4a1e6736ae Updated username validation for Twitter Badge 2020-10-04 12:36:42 +05:30
Sunit Shirke 5b7b83804a Updated on-click links for Twitter Badge in markdown 2020-10-04 12:30:41 +05:30
Nidhi Bhanushali 808d613dc1 Deleted package-lock.json 2020-10-04 12:29:04 +05:30
Sunit Shirke 7e1e742f46 Updated on-click link on Twitter Badge 2020-10-04 12:26:45 +05:30
Rahul Jain 580047ba7a Merge pull request #179 from Darkangeel-hd/add-perl-language
[add]: Perl to Programming Languages
2020-10-04 12:25:52 +05:30
Rahul Jain dd682423db Merge pull request #180 from Darkangeel-hd/add-openrest-backend
[add]: OpenResty to Backend Development
2020-10-04 12:25:07 +05:30
Nidhi Bhanushali ba609c3229 Made changes to package.json 2020-10-04 12:18:19 +05:30
Nidhi Bhanushali 2b35031629 Made changes to package.json 2020-10-04 12:16:10 +05:30
Sunit Shirke cd4451c607 Validation for twitter username updated. 2020-10-04 12:12:58 +05:30
Rahul Jain f38e0dbf0e Merge pull request #197 from vivek32ta/add-static-site-generators
[add]: 11ty, Scully, Sculpin, Sapper under static site generators
2020-10-04 12:01:59 +05:30
Rahul Jain 68b331b56b Merge branch 'master' into add-static-site-generators 2020-10-04 11:56:21 +05:30
Sunit Shirke f4e65fa555 Regex for Twitter Username Validation 2020-10-04 11:52:27 +05:30
Rahul Jain 14e3a7e57d Merge pull request #181 from Darkangeel-hd/add-cockroach-database
[add]: CockroachDB to Database
2020-10-04 11:52:01 +05:30
Rahul Jain 556a08365c Merge pull request #218 from lucid-dreem/master
[design]: add header design
2020-10-04 11:45:15 +05:30
Rahul Jain 9a2416bc5d Merge pull request #202 from sarbikbetal/srbk/dev
[design]: About page design idea.
2020-10-04 11:37:18 +05:30
Rahul Jain b81a30ebd0 Merge pull request #173 from parikshitghosh3/xd
[add]: Abobe XD in Skills
2020-10-04 11:16:36 +05:30
Rahul Jain 26a8c08b92 Merge pull request #147 from YashKandalkar/warnings-resolved
[fix]: warnings
2020-10-04 11:12:29 +05:30
zolostays 7d80d29a8b [fix]: syntax-error 2020-10-04 10:47:53 +05:30
Rahul Jain a4377c1dd6 Merge pull request #162 from Maddoxx88/patch-5
[add]: checkbox for twitterBadge as add-on.
2020-10-04 10:37:53 +05:30
zolostays 77df86a9a6 [fix]: syntax error 2020-10-04 10:21:17 +05:30
Rahul Jain eb7a06f1c0 Merge branch 'master' into patch-5 2020-10-04 10:15:35 +05:30
Rahul Jain 5725fdb018 Merge pull request #157 from Maddoxx88/patch-4
[add]: twitterBadge in const data
2020-10-04 10:05:32 +05:30
Rahul Jain 908cfa095e Merge pull request #209 from YashKandalkar/profile-badge-customization
[add]: Profile badge customization
2020-10-04 09:51:23 +05:30
lucid-dreem 36ce7a68ac add header design
Adding a potential design idea for the header. It rearranges the old elements and makes some slight additions to give a more professional feel.
2020-10-03 12:17:31 +05:30
Nidhi Bhanushali 5305ae1f6e Made changes in markdown.js 2020-10-03 11:15:52 +05:30
Nidhi Bhanushali 7d6dd860aa Made changes in markdownPreview.js 2020-10-03 11:12:22 +05:30
Nidhi Bhanushali 011720885e Added Resume field in the work section 2020-10-03 10:08:21 +05:30
YashKandalkar 5c51edd4eb Resolved merge conflicts 2020-10-03 00:59:18 +05:30
YashKandalkar 080e5f7822 Added check for preview 2020-10-03 00:45:10 +05:30
Angel e2ed889d5b Merge branch 'master' into add-cockroach-database 2020-10-02 20:35:34 +02:00
Aarush Goyal bbb8ce6bd3 added design addons 2020-10-02 23:51:37 +05:30
allcontributors[bot] 413d279a19 docs: update .all-contributorsrc [skip ci] 2020-10-02 16:34:35 +00:00
allcontributors[bot] 729354b053 docs: update README.md [skip ci] 2020-10-02 16:34:34 +00:00
Sarbik Betal ef55e85dba Added about page redesign. 2020-10-02 20:43:41 +05:30
zolostays 1d814d385d [restore]: images 2020-10-02 20:33:49 +05:30
YashKandalkar e48d9eeac6 Added profile badge customization 2020-10-02 20:28:41 +05:30
Rahul Jain 6f1530dc1b Merge pull request #1 from rahuldkjain/imgbot
[ImgBot] Optimize images
2020-10-02 20:26:33 +05:30
ImgBotApp bd0a35bedc [ImgBot] Optimize images
*Total -- 3,072.02kb -> 2,809.95kb (8.53%)

/src/designs/GPRG Style Guide.png -- 619.53kb -> 419.01kb (32.37%)
/src/images/mdg.png -- 11.20kb -> 8.99kb (19.72%)
/src/images/github-profile-readme-generator.gif -- 2,436.75kb -> 2,377.42kb (2.43%)
/src/images/icons/mysqlworkbench.svg -- 4.54kb -> 4.53kb (0.26%)

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>
2020-10-02 14:54:42 +00:00
zolostays 804edf96d3 [add]: design-styleguide 2020-10-02 20:21:55 +05:30
zolostays 31094f8d4e [add]: mysql-workbench icon 2020-10-02 20:20:04 +05:30
zolostays 2f80d2cc8d [add]: design 2020-10-02 20:19:20 +05:30
zolostays 8012eea403 [add]: design folder 2020-10-02 20:17:46 +05:30
Vivek T A a21589381f changed images to svg 2020-10-02 19:47:48 +05:30
Savitha Gollamudi 321ce36eb7 Merge pull request #178 from jaideepghosh/master
feat: Added github trophy.
2020-10-02 18:36:11 +05:30
Savitha Gollamudi 91810816ba Merge pull request #194 from KKVANONYMOUS/master
Created a new category of Game Engines and added Unity to it
2020-10-02 18:27:05 +05:30
Savitha Gollamudi 0d83419d03 Merge pull request #195 from swapneelr09/all-contributors/add-swapneelr09
Added Graphql Skill
2020-10-02 18:13:17 +05:30
Sunit Shirke bff504b498 Updated Twitter Badge Component 2020-10-02 18:07:48 +05:30
Sunit Shirke 97b555e63c Updated Twitter Badge Markdown Preview 2020-10-02 18:01:52 +05:30
Sunit Shirke 3fa08161ce Merge branch 'master' into patch-5 2020-10-02 17:54:18 +05:30
Savitha Gollamudi 314abc7be5 integrate welcome bot 2020-10-02 17:30:38 +05:30
Thayana Correa Mamore a6756d0058 Merge pull request #1 from rahuldkjain/master
updating fork repo
2020-10-02 08:37:43 -03:00
jaideepghosh 2338a7db00 feat(trophy):Added credit link. 2020-10-02 16:37:49 +05:30
Vivek T A 1773c32033 add 11ty, scully, sculpin, sapper 2020-10-02 16:22:29 +05:30
Swapneel Roy d96593fe46 Added Graphql Skill 2020-10-02 15:15:07 +05:30
kkvanonymous 0c23182f4e add-unity 2020-10-02 15:04:13 +05:30
Savitha Gollamudi d91f5d3a45 Merge pull request #155 from shajanjp/fix-title-alignment
fix: #158 aligns titles to the left
2020-10-02 14:04:09 +05:30
Savitha Gollamudi 090001b956 Merge pull request #182 from MuhBayu/master
Added DevOps Skills
2020-10-02 13:07:59 +05:30
MuhBayu e9bc837492 Added DevOps Skills 2020-10-02 10:19:13 +07:00
Darkangeel-hd 3b4f2add83 Added CockroachDB to Database 2020-10-02 01:24:15 +02:00
Darkangeel-hd 5ef270a9f4 Added OpenResty Backend
OpenResty is a full-fledged web platform that integrates our enhanced version of the Nginx core, our enhanced version of LuaJIT.
2020-10-02 01:11:05 +02:00
Darkangeel-hd 7a9a4dcf47 Added Perl to Programming Languages 2020-10-02 00:59:42 +02:00
jaideepghosh 21483d66e0 feat(app):Added github trophy feat. 2020-10-02 02:12:03 +05:30
allcontributors[bot] ca8cea3141 docs: update .all-contributorsrc [skip ci] 2020-10-01 20:07:54 +00:00
allcontributors[bot] a456023b55 docs: update README.md [skip ci] 2020-10-01 20:07:53 +00:00
Parikshit Ghosh fe88af9544 Added XD respect to Issue #149 2020-10-01 17:35:50 +00:00
Savitha Gollamudi e3ed30baa6 Merge pull request #170 from quintenbuis/patch-1
Fix: #169 Remove youtube from README
2020-10-01 22:02:58 +05:30
Quinten Buis e54222ddbf #169 Remove youtube from README 2020-10-01 16:35:20 +02:00
allcontributors[bot] 6f6025fff5 docs: update .all-contributorsrc [skip ci] 2020-10-01 13:58:39 +00:00
allcontributors[bot] 18143686a8 docs: update README.md [skip ci] 2020-10-01 13:58:38 +00:00
Rahul Jain b36e7001b5 Merge pull request #148 from thauska/master
[add]: Quasar framework skill
2020-10-01 19:07:54 +05:30
Rahul Jain 8dd547e88d Merge pull request #144 from YashKandalkar/addon-enhancement
[fix]: text wrapping below checkbox on mobile
2020-10-01 19:07:23 +05:30
Sunit Shirke 1737d02957 Added a checkbox for twitterBadge as add-on 2020-10-01 16:36:07 +05:30
allcontributors[bot] 3e130915cc docs: update .all-contributorsrc [skip ci] 2020-10-01 10:24:25 +00:00
allcontributors[bot] 4789090cff docs: update README.md [skip ci] 2020-10-01 10:24:24 +00:00
abhijitXD 1f5aa89161 Add basic unit test for the Title component 2020-10-01 15:36:24 +05:30
abhijitXD 3f05970642 Add dependencies and configs for unit tests 2020-10-01 15:36:01 +05:30
Rahul Jain a87f7cc2a5 [del]: yarn.lock 2020-10-01 15:15:08 +05:30
Sunit Shirke 33d18f4c8f Update index with twitterBadge in data
Added basic validation during before readme generation
2020-10-01 14:20:50 +05:30
Rahul Jain b1c813540f Merge pull request #156 from kala2/dicord-fix-server-id
[fix]: change discord server-id
2020-10-01 14:00:41 +05:30
kala2 5c7b3ed923 fix: change discord server id 2020-10-01 11:27:28 +03:00
shajanjp 45c6a3a97c fix: aligns titles to the left 2020-10-01 13:53:47 +05:30
allcontributors[bot] 9c79fe1a64 docs: update .all-contributorsrc [skip ci] 2020-10-01 07:51:17 +00:00
allcontributors[bot] e8ebabee8c docs: update README.md [skip ci] 2020-10-01 07:51:16 +00:00
YashKandalkar 5cb817a03e Bug fixes 2020-10-01 13:18:59 +05:30
YashKandalkar 6d0377a6a9 Resolved eslint warnings 2020-10-01 12:34:20 +05:30
Thayana Mamoré 86593cecbd [add]: Added Quasar framework skill 2020-09-30 23:16:40 -03:00
YashKandalkar 0a73c08dcf Moved AddonsItem component to addons.js file 2020-09-27 18:41:45 +05:30
YashKandalkar 63f68f3ce7 Added a new component AddonItem, improved text wrapping of an addon on
smaller screens
2020-09-27 01:16:48 +05:30
allcontributors[bot] 13ae1d20ed docs: update .all-contributorsrc [skip ci] 2020-09-25 14:26:11 +00:00
allcontributors[bot] 532867563d docs: update README.md [skip ci] 2020-09-25 14:26:10 +00:00
31 changed files with 25198 additions and 514 deletions
+64
View File
@@ -14,6 +14,15 @@
"code" "code"
] ]
}, },
{
"login": "Hardik0307",
"name": "Hardik Bagada",
"avatar_url": "https://avatars3.githubusercontent.com/u/41434099?v=4",
"profile": "https://github.com/Hardik0307",
"contributions": [
"code"
]
},
{ {
"login": "antonkomarev", "login": "antonkomarev",
"name": "Anton Komarev", "name": "Anton Komarev",
@@ -22,6 +31,61 @@
"contributions": [ "contributions": [
"plugin" "plugin"
] ]
},
{
"login": "KKVANONYMOUS",
"name": "Kunal Kumar Verma",
"avatar_url": "https://avatars3.githubusercontent.com/u/58628586?v=4",
"profile": "https://kkvanonymous.github.io/",
"contributions": [
"code"
]
},
{
"login": "jaideepghosh",
"name": "Jaideep Ghosh",
"avatar_url": "https://avatars2.githubusercontent.com/u/3909648?v=4",
"profile": "http://jaideepghosh.blogspot.com",
"contributions": [
"code"
]
}
{
"login": "YashKandalkar",
"name": "yash",
"avatar_url": "https://avatars0.githubusercontent.com/u/35102959?v=4",
"profile": "http://yashkandalkar.github.io",
"contributions": [
"code"
]
},
{
"login": "abhijit-hota",
"name": "Abhijit Hota",
"avatar_url": "https://avatars0.githubusercontent.com/u/8116174?v=4",
"profile": "https://github.com/abhijit-hota",
"contributions": [
"code",
"test"
]
},
{
"login": "Maddoxx88",
"name": "Sunit Shirke",
"avatar_url": "https://avatars1.githubusercontent.com/u/34238672?v=4",
"profile": "https://maddoxx88.github.io/",
"contributions": [
"code"
]
}
{
"login": "g-savitha",
"name": "Savitha Gollamudi",
"avatar_url": "https://avatars0.githubusercontent.com/u/31612459?v=4",
"profile": "https://www.gsavitha.in",
"contributions": [
"code"
]
} }
], ],
"contributorsPerLine": 7, "contributorsPerLine": 7,
+43
View File
@@ -0,0 +1,43 @@
<!--
For Work In Progress Pull Requests, please use the Draft PR feature,
see https://github.blog/2019-02-14-introducing-draft-pull-requests/ for further details.
For a timely review/response, please avoid force-pushing additional
commits if your PR already received reviews or comments.
Before submitting a Pull Request, please ensure you've done the following:
- 📖 Read the Contributing Guide: https://github.com/rahuldkjain/github-profile-readme-generator/blob/master/CONTRIBUTING.md#create-a-pull-request.
- 📖 Read the Code of Conduct: https://github.com/rahuldkjain/github-profile-readme-generator/blob/master/CODE_OF_CONDUCT.md.
- 👷‍♀️ Create small PRs. In most cases this will be possible.
- ✅ Provide issue number with link.
- 📝 Use descriptive commit messages.
- 📗 Update any related documentation and include any relevant screenshots.
-->
## What type of PR is this? (check all applicable)
- [ ] Refactor
- [ ] Feature
- [ ] Bug Fix
- [ ] Enhancement
- [ ] Documentation Update
## Description
## Related Tickets & Documents
## QA Instructions, Screenshots, Recordings
_Please replace this line with instructions on how to test your changes, as well
as any relevant images for UI changes._
<!-- ## Added tests?
- [ ] yes
- [ ] no, because they aren't needed
- [ ] no, because I need help -->
## Added to documentation?
- [ ] readme
+17
View File
@@ -0,0 +1,17 @@
# Configuration for new-issue-welcome - https://github.com/behaviorbot/new-issue-welcome
# Comment to be posted to on first time issues
newIssueWelcomeComment: >
Thanks for opening your first issue here! Your contribution means alot. 🙌 Join Discord Server (https://discord.gg/HHMs7Eg) for discussing issues, pull-requests, new features, etc.
# Configuration for new-pr-welcome - https://github.com/behaviorbot/new-pr-welcome
# Comment to be posted to on PRs from first time contributors in your repository
newPRWelcomeComment: >
Thanks for opening this pull request! Make sure you have assigned an issue to this respective PR 😇
# Configuration for first-pr-merge - https://github.com/behaviorbot/first-pr-merge
# Comment to be posted to on pull requests merged by a first time user
firstPRMergeComment: >
Congrats on merging your first pull request🎉! Thanks alot for your contribution. 🙏
+1 -1
View File
@@ -3,7 +3,7 @@
When contributing to this repository, please first discuss the change you wish to make via issue, When contributing to this repository, please first discuss the change you wish to make via issue,
email, or any other method with the owners of this repository before making a change. email, or any other method with the owners of this repository before making a change.
<a href="https://discord.gg/U7YU3J" target="blank"> <a href="https://discord.gg/HHMs7Eg" target="blank">
<img src="https://img.shields.io/discord/735303195105951764?color=%23677BC4&label=Join%20Community&style=flat-square" alt="join discord community of github profile readme generator"/> <img src="https://img.shields.io/discord/735303195105951764?color=%23677BC4&label=Join%20Community&style=flat-square" alt="join discord community of github profile readme generator"/>
</a> </a>
+9 -4
View File
@@ -23,7 +23,7 @@
<a href="https://github.com/rahuldkjain/github-profile-readme-generator/pulls" target="blank"> <a href="https://github.com/rahuldkjain/github-profile-readme-generator/pulls" target="blank">
<img src="https://img.shields.io/github/issues-pr/rahuldkjain/github-profile-readme-generator?style=flat-square" alt="github-profile-readme-generator pull-requests"/> <img src="https://img.shields.io/github/issues-pr/rahuldkjain/github-profile-readme-generator?style=flat-square" alt="github-profile-readme-generator pull-requests"/>
</a> </a>
<a href="https://discord.gg/U7YU3J" target="blank"> <a href="https://discord.gg/HHMs7Eg" target="blank">
<img src="https://img.shields.io/discord/735303195105951764?label=Join%20Community&logo=discord&style=flat-square" alt="join discord community of github profile readme generator"/> <img src="https://img.shields.io/discord/735303195105951764?label=Join%20Community&logo=discord&style=flat-square" alt="join discord community of github profile readme generator"/>
</a> </a>
</p> </p>
@@ -84,8 +84,6 @@ Just fill in the details such as `Name`, `Tagline`, `Dev Platforms Username`, `C
- **Wakatime Stats** [contribute](https://github.com/rahuldkjain/github-profile-readme-generator/issues/115) - **Wakatime Stats** [contribute](https://github.com/rahuldkjain/github-profile-readme-generator/issues/115)
- **YouTube Stats** [contribute](https://github.com/rahuldkjain/github-profile-readme-generator/issues/119)
Click on `Generate README` to get your README in `markdown`. Click on `Generate README` to get your README in `markdown`.
You can preview the README too. You can preview the README too.
@@ -159,7 +157,7 @@ Please read [`CONTRIBUTING`](CONTRIBUTING.md) for details on our [`CODE OF CONDU
## Contributors ✨ ## Contributors ✨
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --> <!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
[![All Contributors](https://img.shields.io/badge/all_contributors-2-orange.svg?style=flat-square)](#contributors-) [![All Contributors](https://img.shields.io/badge/all_contributors-9-orange.svg?style=flat-square)](#contributors-)
<!-- ALL-CONTRIBUTORS-BADGE:END --> <!-- ALL-CONTRIBUTORS-BADGE:END -->
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
@@ -169,7 +167,14 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
<table> <table>
<tr> <tr>
<td align="center"><a href="https://github.com/sarbikbetal"><img src="https://avatars2.githubusercontent.com/u/41508422?v=4" width="100px;" alt=""/><br /><sub><b>Sarbik Betal</b></sub></a><br /><a href="https://github.com/rahuldkjain/github-profile-readme-generator/commits?author=sarbikbetal" title="Code">💻</a></td> <td align="center"><a href="https://github.com/sarbikbetal"><img src="https://avatars2.githubusercontent.com/u/41508422?v=4" width="100px;" alt=""/><br /><sub><b>Sarbik Betal</b></sub></a><br /><a href="https://github.com/rahuldkjain/github-profile-readme-generator/commits?author=sarbikbetal" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/Hardik0307"><img src="https://avatars3.githubusercontent.com/u/41434099?v=4" width="100px;" alt=""/><br /><sub><b>Hardik Bagada</b></sub></a><br /><a href="https://github.com/rahuldkjain/github-profile-readme-generator/commits?author=Hardik0307" title="Code">💻</a></td>
<td align="center"><a href="https://komarev.com"><img src="https://avatars0.githubusercontent.com/u/1849174?v=4" width="100px;" alt=""/><br /><sub><b>Anton Komarev</b></sub></a><br /><a href="#plugin-antonkomarev" title="Plugin/utility libraries">🔌</a></td> <td align="center"><a href="https://komarev.com"><img src="https://avatars0.githubusercontent.com/u/1849174?v=4" width="100px;" alt=""/><br /><sub><b>Anton Komarev</b></sub></a><br /><a href="#plugin-antonkomarev" title="Plugin/utility libraries">🔌</a></td>
<td align="center"><a href="https://kkvanonymous.github.io/"><img src="https://avatars3.githubusercontent.com/u/58628586?v=4" width="100px;" alt=""/><br /><sub><b>Kunal Kumar Verma</b></sub></a><br /><a href="https://github.com/rahuldkjain/github-profile-readme-generator/commits?author=KKVANONYMOUS" title="Code">💻</a></td>
<td align="center"><a href="http://jaideepghosh.blogspot.com"><img src="https://avatars2.githubusercontent.com/u/3909648?v=4" width="100px;" alt=""/><br /><sub><b>Jaideep Ghosh</b></sub></a><br /><a href="https://github.com/rahuldkjain/github-profile-readme-generator/commits?author=jaideepghosh" title="Code">💻</a></td>
<td align="center"><a href="http://yashkandalkar.github.io"><img src="https://avatars0.githubusercontent.com/u/35102959?v=4" width="100px;" alt=""/><br /><sub><b>yash</b></sub></a><br /><a href="https://github.com/rahuldkjain/github-profile-readme-generator/commits?author=YashKandalkar" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/abhijit-hota"><img src="https://avatars0.githubusercontent.com/u/8116174?v=4" width="100px;" alt=""/><br /><sub><b>Abhijit Hota</b></sub></a><br /><a href="https://github.com/rahuldkjain/github-profile-readme-generator/commits?author=abhijit-hota" title="Code">💻</a> <a href="https://github.com/rahuldkjain/github-profile-readme-generator/commits?author=abhijit-hota" title="Tests">⚠️</a></td>
<td align="center"><a href="https://maddoxx88.github.io/"><img src="https://avatars1.githubusercontent.com/u/34238672?v=4" width="100px;" alt=""/><br /><sub><b>Sunit Shirke</b></sub></a><br /><a href="https://github.com/rahuldkjain/github-profile-readme-generator/commits?author=Maddoxx88" title="Code">💻</a></td>
<td align="center"><a href="https://www.gsavitha.in"><img src="https://avatars0.githubusercontent.com/u/31612459?v=4" width="100px;" alt=""/><br /><sub><b>Savitha Gollamudi</b></sub></a><br /><a href="https://github.com/rahuldkjain/github-profile-readme-generator/commits?author=g-savitha" title="Code">💻</a></td>
</tr> </tr>
</table> </table>
+1
View File
@@ -0,0 +1 @@
module.exports = "test-file-stub"
+27
View File
@@ -0,0 +1,27 @@
const React = require("react")
const gatsby = jest.requireActual("gatsby")
module.exports = {
...gatsby,
graphql: jest.fn(),
Link: jest.fn().mockImplementation(
// these props are invalid for an `a` tag
({
activeClassName,
activeStyle,
getProps,
innerRef,
partiallyActive,
ref,
replace,
to,
...rest
}) =>
React.createElement("a", {
...rest,
href: to,
})
),
StaticQuery: jest.fn(),
useStaticQuery: jest.fn(),
}
+5
View File
@@ -0,0 +1,5 @@
const babelOptions = {
presets: ["babel-preset-gatsby"],
}
module.exports = require("babel-jest").createTransformer(babelOptions)
+15
View File
@@ -0,0 +1,15 @@
module.exports = {
transform: {
"^.+\\.jsx?$": `<rootDir>/jest-preprocess.js`,
},
moduleNameMapper: {
".+\\.(css|styl|less|sass|scss)$": `identity-obj-proxy`,
".+\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": `<rootDir>/__mocks__/file-mock.js`,
},
testPathIgnorePatterns: [`node_modules`, `\\.cache`, `<rootDir>.*/public`],
transformIgnorePatterns: [`node_modules/(?!(gatsby)/)`],
globals: {
__PATH_PREFIX__: ``,
},
setupFiles: [`<rootDir>/loadershim.js`],
}
+3
View File
@@ -0,0 +1,3 @@
global.___loader = {
enqueue: jest.fn(),
}
+7603 -376
View File
File diff suppressed because it is too large Load Diff
+7 -2
View File
@@ -12,7 +12,7 @@
"gatsby-plugin-manifest": "^2.4.14", "gatsby-plugin-manifest": "^2.4.14",
"gatsby-plugin-offline": "^3.2.13", "gatsby-plugin-offline": "^3.2.13",
"gatsby-plugin-react-helmet": "^3.3.6", "gatsby-plugin-react-helmet": "^3.3.6",
"gatsby-plugin-sharp": "^2.6.14", "gatsby-plugin-sharp": "2.6.14",
"gatsby-remark-prismjs": "^3.5.10", "gatsby-remark-prismjs": "^3.5.10",
"gatsby-source-filesystem": "^2.3.23", "gatsby-source-filesystem": "^2.3.23",
"gatsby-transformer-remark": "^2.8.27", "gatsby-transformer-remark": "^2.8.27",
@@ -25,12 +25,17 @@
"react-helmet": "^6.1.0" "react-helmet": "^6.1.0"
}, },
"devDependencies": { "devDependencies": {
"babel-jest": "26.3.0",
"babel-preset-gatsby": "0.5.11",
"gatsby-plugin-postcss": "^2.3.11", "gatsby-plugin-postcss": "^2.3.11",
"gatsby-plugin-purgecss": "^5.0.0", "gatsby-plugin-purgecss": "^5.0.0",
"gatsby-plugin-twitter": "^2.3.10", "gatsby-plugin-twitter": "^2.3.10",
"gatsby-remark-embedder": "^3.0.0", "gatsby-remark-embedder": "^3.0.0",
"gh-pages": "^3.1.0", "gh-pages": "^3.1.0",
"identity-obj-proxy": "3.0.0",
"jest": "26.4.2",
"prettier": "2.0.5", "prettier": "2.0.5",
"react-test-renderer": "16.13.1",
"tailwindcss": "^1.7.6" "tailwindcss": "^1.7.6"
}, },
"keywords": [ "keywords": [
@@ -44,7 +49,7 @@
"start": "npm run develop", "start": "npm run develop",
"serve": "gatsby serve", "serve": "gatsby serve",
"clean": "gatsby clean", "clean": "gatsby clean",
"test": "echo \"Write tests! -> https://gatsby.dev/unit-testing\" && exit 1", "test": "jest",
"deploy": "gatsby build --prefix-paths && gh-pages -d public -b master" "deploy": "gatsby build --prefix-paths && gh-pages -d public -b master"
}, },
"repository": { "repository": {
@@ -0,0 +1,30 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`Title renders correctly 1`] = `
<div
className="flex justify-center items-start flex-col w-full px-2 sm:px-6 mb-10"
>
<div
className="text-xl sm:text-2xl font-bold font-title mt-2 mb-2"
>
Title
</div>
<div
className="flex justify-start items-center w-full text-regular text-xs sm:text-lg"
>
<input
className="outline-none w-24 sm:w-40 mr-10 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700 prefix"
id="title-prefix"
onChange={[Function]}
value="Hi 👋, I'm"
/>
<input
className="outline-none placeholder-gray-700 w-1/2 sm:w-1/3 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="title-name"
onChange={[Function]}
placeholder="name"
value=""
/>
</div>
</div>
`;
+13
View File
@@ -0,0 +1,13 @@
import React from "react"
import renderer from "react-test-renderer"
import Title from "../title"
describe("Title", () => {
it("renders correctly", () => {
const tree = renderer
.create(<Title prefix={{ title: "Hi 👋, I'm" }} data={{ title: "" }} />)
.toJSON()
expect(tree).toMatchSnapshot()
})
})
+184 -68
View File
@@ -1,9 +1,110 @@
import React from "react" import React, { useState, useEffect } from "react"
import { withPrefix } from "gatsby" import { withPrefix } from "gatsby"
import { latestBlogs } from "../utils/workflows" import { latestBlogs } from "../utils/workflows"
import links from "../constants/page-links" import links from "../constants/page-links"
import { isMediumUsernameValid } from "../utils/validation" import { isMediumUsernameValid, isGitHubUsernameValid } from "../utils/validation"
import { ToolsIcon, XCircleIcon } from "@primer/octicons-react";
const AddonsItem = ({inputId, inputChecked, onInputChange, Icon, onIconClick, ...props}) => {
return (
<div className="py-2 flex justify-start items-center text-sm sm:text-lg">
<label htmlFor={inputId} className="cursor-pointer flex items-center">
<input
type="checkbox"
id={inputId}
checked={inputChecked}
onChange={onInputChange}
/>
<span className="pl-4">{props.children}</span>
</label>
{
Icon?
<button onClick={onIconClick} className="flex ml-3 focus:bg-gray-400" style={{outline: "none"}}>
<Icon className="transform scale-100 md:scale-125" />
</button>
:''
}
</div>
)
}
const CustomizeBadge = ({githubName, badgeOptions, onBadgeUpdate}) => {
return (
<div className={`border-2 border-solid border-gray-900 bg-gray-100 p-2 ml-8`} style={{maxWidth: '21rem'}}>
<header className="text-base sm:text-lg">Customize Badge</header>
<hr className="border-gray-500"/>
<div className="text-sm sm:text-lg flex flex-col mt-2 ml-0 md:ml-4">
<label htmlFor="badge-style">Style:&nbsp;
<select
id="badge-style"
onChange={(e) => onBadgeUpdate('badgeStyle', e.target.value)}
value = {badgeOptions.badgeStyle}
>
<option value="flat">Flat</option>
<option value="flat-square">Flat Square</option>
<option value="plastic">Plastic</option>
</select>
</label>
<label htmlFor="badge-color">Color:&nbsp;
<input
type="color"
id="badge-color"
defaultValue={`#${badgeOptions.badgeColor}`}
className="w-6"
onChange={(e) => onBadgeUpdate('badgeColor', e.target.value.replace('#', ''))}
/>
</label>
<label htmlFor="badge-label-text">Label Text:&nbsp;
<input
type="text"
id="badge-label-text"
placeholder="Profile views"
className="w-2/4 bg-gray-300 pl-2"
onChange={(e) => onBadgeUpdate('badgeLabel', e.target.value.trim())}
defaultValue={badgeOptions.badgeLabel}
/>
</label>
<span className="mt-2 flex items-center">
Preview:&nbsp;
{
isGitHubUsernameValid(githubName)?
<img
src={`https://komarev.com/ghpvc/`
+ `?username=${githubName}`
+ `&label=${encodeURI(badgeOptions.badgeLabel)}`
+ `&color=${badgeOptions.badgeColor}`
+ `&style=${badgeOptions.badgeStyle}`
}
/>
: <span className="text-xxs md:text-sm text-red-600">Invalid GitHub username</span>
}
</span>
</div>
</div>
)
}
const Addons = props => { const Addons = props => {
const [customizeBadgeOpen, setCustomizeOpen] = useState(false);
const [debounce, setDebounce] = useState(undefined);
const [badgeOptions, setBadgeOptions] = useState({
badgeStyle: props.data.badgeStyle,
badgeColor: props.data.badgeColor,
badgeLabel: props.data.badgeLabel
});
useEffect(() => {
setBadgeOptions({
badgeStyle: props.data.badgeStyle,
badgeColor: props.data.badgeColor,
badgeLabel: props.data.badgeLabel
})
}, [props.data.badgeStyle, props.data.badgeColor, props.data.badgeLabel])
const blogPostPorkflow = () => { const blogPostPorkflow = () => {
let payload = { let payload = {
dev: { dev: {
@@ -31,78 +132,92 @@ const Addons = props => {
tempElement.click() tempElement.click()
document.body.removeChild(tempElement) document.body.removeChild(tempElement)
} }
const onCustomizeClick = () => {
setCustomizeOpen(!customizeBadgeOpen);
}
const onBadgeUpdate = (option, value) => {
const callback = () => {
let newVal = (option==='badgeLabel' && value==='')?'Profile views':value;
setBadgeOptions({...badgeOptions, [option]: newVal});
props.handleDataChange(option, {target: {value: newVal}})
}
clearTimeout(debounce);
setDebounce(setTimeout(callback, 300));
}
return ( return (
<div className="flex justify-center items-start flex-col w-full px-2 sm:px-6 mb-10"> <div className="flex justify-center items-start flex-col w-full px-2 sm:px-6 mb-10">
<div className="text-xl sm:text-2xl font-bold font-title mt-2 mb-2"> <div className="text-xl sm:text-2xl font-bold font-title mt-2 mb-2">
Add-ons Add-ons
</div> </div>
<div className="py-2 flex justify-start items-center text-sm sm:text-lg"> <AddonsItem
<label htmlFor="visitors-count" className="cursor-pointer"> inputId="visitors-count"
<input inputChecked={props.data.visitorsBadge}
type="checkbox" onInputChange={() => props.handleCheckChange("visitorsBadge")}
id="visitors-count" Icon={ customizeBadgeOpen ? XCircleIcon : ToolsIcon }
checked={props.data.visitorsBadge} onIconClick={onCustomizeClick}
onChange={event => props.handleCheckChange("visitorsBadge")} >
display visitors count badge
</AddonsItem>
{
customizeBadgeOpen?
<CustomizeBadge
githubName={props.social.github}
badgeOptions={badgeOptions}
onBadgeUpdate={onBadgeUpdate}
/> />
&nbsp; display visitors count badge : ''
</label> }
</div> <AddonsItem
<div className="py-2 flex justify-start items-center text-sm sm:text-lg"> inputId="github-profile-trophy"
<label htmlFor="github-stats" className="cursor-pointer"> inputChecked={props.data.githubProfileTrophy}
<input onInputChange={() => props.handleCheckChange("githubProfileTrophy")}
id="github-stats" >
type="checkbox" display github trophy
checked={props.data.githubStats} </AddonsItem>
onChange={event => props.handleCheckChange("githubStats")} <AddonsItem
/> inputId="github-stats"
&nbsp; display github profile stats card inputChecked={props.data.githubStats}
</label> onInputChange={() => props.handleCheckChange("githubStats")}
</div> >
<div className="py-2 flex justify-start items-center text-sm sm:text-lg"> display github profile stats card
<label htmlFor="top-languages" className="cursor-pointer"> </AddonsItem>
<input <AddonsItem
id="top-languages" inputId="top-languages"
type="checkbox" inputChecked={props.data.topLanguages}
checked={props.data.topLanguages} onInputChange={() => props.handleCheckChange("topLanguages")}
onChange={event => props.handleCheckChange("topLanguages")} >
/> display top skills
&nbsp; display top skills </AddonsItem>
</label> <AddonsItem
</div> inputId="twitter-badge"
<div className="py-2 flex justify-start items-center text-sm sm:text-lg"> inputChecked={props.data.twitterBadge}
<label htmlFor="dev-dynamic-blogs" className="cursor-pointer"> onInputChange={() => props.handleCheckChange("twitterBadge")}
<input >
id="dev-dynamic-blogs" display twitter badge
type="checkbox" </AddonsItem>
checked={props.data.devDynamicBlogs} <AddonsItem
onChange={event => props.handleCheckChange("devDynamicBlogs")} inputId="dev-dynamic-blogs"
/> inputChecked={props.data.devDynamicBlogs}
&nbsp; display latest dev.to blogs dynamically (GitHub Action) onInputChange={() => props.handleCheckChange("devDynamicBlogs")}
</label> >
</div> display latest dev.to blogs dynamically (GitHub Action)
<div className="py-2 flex justify-start items-center text-sm sm:text-lg"> </AddonsItem>
<label htmlFor="medium-dynamic-blogs" className="cursor-pointer"> <AddonsItem
<input inputId="medium-dynamic-blogs"
id="medium-dynamic-blogs" inputChecked={props.data.mediumDynamicBlogs}
type="checkbox" onInputChange={() => props.handleCheckChange("mediumDynamicBlogs")}
checked={props.data.mediumDynamicBlogs} >
onChange={event => props.handleCheckChange("mediumDynamicBlogs")} display latest medium blogs dynamically (GitHub Action)
/> </AddonsItem>
&nbsp; display latest medium blogs dynamically (GitHub Action) <AddonsItem
</label> inputId="rss-dynamic-blogs"
</div> inputChecked={props.data.rssDynamicBlogs}
<div className="py-2 flex justify-start items-center text-sm sm:text-lg"> onInputChange={() => props.handleCheckChange("rssDynamicBlogs")}
<label htmlFor="rss-dynamic-blogs" className="cursor-pointer"> >
<input display latest blogs from your personal blog dynamically (GitHub Action)
id="rss-dynamic-blogs" </AddonsItem>
type="checkbox"
checked={props.data.rssDynamicBlogs}
onChange={event => props.handleCheckChange("rssDynamicBlogs")}
/>
&nbsp; display latest blogs from your personal blog dynamically
(GitHub Action)
</label>
</div>
{(props.data.devDynamicBlogs && props.social.dev) || {(props.data.devDynamicBlogs && props.social.dev) ||
(props.data.rssDynamicBlogs && props.social.rssurl) || (props.data.rssDynamicBlogs && props.social.rssurl) ||
@@ -114,6 +229,7 @@ const Addons = props => {
download download
<span <span
onClick={blogPostPorkflow} onClick={blogPostPorkflow}
onKeyDown={(e) => e.keyCode === 13 && blogPostPorkflow()}
role="button" role="button"
tabIndex="0" tabIndex="0"
style={{ cursor: "pointer", color: "#002ead" }} style={{ cursor: "pointer", color: "#002ead" }}
+7 -2
View File
@@ -2,7 +2,9 @@ import React from "react"
const Donate = () => { const Donate = () => {
return ( return (
<> <>
<div className="text-center text-4xl my-2">Support 🙏</div> <div className="text-center text-4xl my-2">Support&nbsp;
<span role="img" aria-label="praying hand emoji">🙏</span>
</div>
<div className="flex flex-col sm:flex-row items-start justify-between"> <div className="flex flex-col sm:flex-row items-start justify-between">
<div className="w-full sm:w-2/3"> <div className="w-full sm:w-2/3">
<div className="text-2xl mb-2"> <div className="text-2xl mb-2">
@@ -28,12 +30,13 @@ const Donate = () => {
</div> </div>
</div> </div>
<div className="w-full sm:w-1/3 flex flex-col justify-center items-center"> <div className="w-full sm:w-1/3 flex flex-col justify-center items-center">
Tip💰 <span>Tip<span role="img" aria-label="Dollar medal">💰</span></span>
{/* Ko-Fi */} {/* Ko-Fi */}
<a <a
href="https://ko-fi.com/A0A81XXSX" href="https://ko-fi.com/A0A81XXSX"
className="flex items-center justify-evenly bg-red-500 text-white py-2 px-4 my-2" className="flex items-center justify-evenly bg-red-500 text-white py-2 px-4 my-2"
target="_blank" target="_blank"
rel="noreferrer"
> >
<img <img
className="w-6 h-6 mr-2" className="w-6 h-6 mr-2"
@@ -47,6 +50,7 @@ const Donate = () => {
href="https://www.paypal.me/rahuldkjain/10" href="https://www.paypal.me/rahuldkjain/10"
className="flex items-center justify-evenly bg-blue-500 text-white py-2 px-4 my-2" className="flex items-center justify-evenly bg-blue-500 text-white py-2 px-4 my-2"
target="_blank" target="_blank"
rel="noreferrer"
> >
<img <img
className="w-6 h-6 mr-2" className="w-6 h-6 mr-2"
@@ -60,6 +64,7 @@ const Donate = () => {
href="https://www.buymeacoffee.com/rahuldkjain" href="https://www.buymeacoffee.com/rahuldkjain"
className="flex items-center justify-evenly bg-orange-500 text-white py-2 px-4 my-2" className="flex items-center justify-evenly bg-orange-500 text-white py-2 px-4 my-2"
target="_blank" target="_blank"
rel="noreferrer"
> >
<img <img
className="w-6 h-6 mr-2" className="w-6 h-6 mr-2"
+70 -12
View File
@@ -1,27 +1,85 @@
import React from "react" import React from "react"
import links from "../constants/page-links" import links from "../constants/page-links"
import logo from "../images/mdg.png"
import discord from "../images/Discord-Logo.png"
import { Link } from "gatsby" import { Link } from "gatsby"
const Footer = () => { const Footer = () => {
return ( return (
<div className="bg-gray-100 p-4 flex flex-col justify-center items-center shadow-inner mt-2"> <div className="bg-gray-100 p-4 flex flex-col justify-center items-center shadow-inner mt-2">
<div className="w-full flex justify-evenly items-center py-2 text-orange-500"> <div className="w-full flex justify-evenly py-2">
<div> <div className="mr-6">
<Link to={links.about} activeStyle={{ color: "#002ead" }}> <h1 className="text-base font-bold font-title sm:text-2xl flex-col items-end">
About <img
</Link> src={logo}
className="h-24"
alt="github profile markdown generator logo"
/>
GitHub Profile README Generator
</h1>
</div> </div>
<div> <div>
<Link to={links.addons} activeStyle={{ color: "#002ead" }}> <div className="mb-2 font-bold font-medium font-title">
Addons <strong>Pages</strong>
</Link> </div>
<div>
<Link to={links.addons} activeStyle={{ color: "#002ead" }}>
Addons
</Link>
</div>
<div>
<Link to={links.support} activeStyle={{ color: "#002ead" }}>
Support
</Link>
</div>
<div>
<Link to={links.about} activeStyle={{ color: "#002ead" }}>
About
</Link>
</div>
</div> </div>
<div> <div>
<Link to={links.support} activeStyle={{ color: "#002ead" }}> <div className="mb-2 font-bold font-medium font-title">
Support <strong>More</strong>
</Link> </div>
<div>
<a
href="https://github.com/rahuldkjain/github-profile-readme-generator"
aria-label="Github rahuldkjain/github-profile-readme-generator"
target="blank"
>
Github
</a>
</div>
<div>
<a
href="https://github.com/rahuldkjain/github-profile-readme-generator/releases"
aria-label="Releases on Github rahuldkjain/github-profile-readme-generator"
target="blank"
>
Releases
</a>
</div>
</div>
<div>
<div className="mb-2 font-bold font-medium font-title">
<strong>Community</strong>
</div>
<div>
<a
href="https://discord.gg/HHMs7Eg"
aria-label="Discord of the community"
target="blank"
>
<img
src={discord}
className="h-12"
alt="Discord of the community"
/>
</a>
</div>
</div> </div>
</div> </div>
<div className="py-2"> <div className="py-2 mt-2">
Developed in India{" "} Developed in India{" "}
<span role="img" aria-label="india"> <span role="img" aria-label="india">
{" "} {" "}
+60 -2
View File
@@ -80,7 +80,11 @@ const Markdown = props => {
return "" return ""
} }
const VisitorsBadge = props => { const VisitorsBadge = props => {
let link = "https://komarev.com/ghpvc/?username=" + props.github let link = "https://komarev.com/ghpvc/?username="
+ props.github
+ `&label=${props.badgeOptions.badgeLabel}`
+ `&color=${props.badgeOptions.badgeColor}`
+ `&style=${props.badgeOptions.badgeStyle}`
if (props.show) { if (props.show) {
return ( return (
<> <>
@@ -92,6 +96,33 @@ const Markdown = props => {
} }
return "" return ""
} }
const TwitterBadge = props => {
let link = "https://img.shields.io/twitter/follow/" + props.twitter + "?logo=twitter&style=for-the-badge"
if (props.show) {
return (
<>
{`<p align="left"> <a href="${props.base}/${props.twitter}" target="blank"><img src="${link}" alt="${props.twitter}" /></a> </p>`}
<br />
<br />
</>
)
}
return ""
}
const GithubProfileTrophy = props => {
let link =
"https://github-profile-trophy.vercel.app/?username=" + props.github
if (props.show) {
return (
<>
{`<p align="left"> <a href="https://github.com/ryo-ma/github-profile-trophy"><img src="${link}" alt="${props.github}" /></a> </p>`}
<br />
<br />
</>
)
}
return ""
}
const GitHubStats = props => { const GitHubStats = props => {
let link = let link =
"https://github-readme-stats.vercel.app/api?username=" + "https://github-readme-stats.vercel.app/api?username=" +
@@ -209,6 +240,22 @@ const Markdown = props => {
<VisitorsBadge <VisitorsBadge
show={props.data.visitorsBadge} show={props.data.visitorsBadge}
github={props.social.github} github={props.social.github}
badgeOptions={{
badgeLabel: encodeURI(props.data.badgeLabel),
badgeColor: props.data.badgeColor,
badgeStyle: props.data.badgeStyle
}}
/>
</>
<>
<GithubProfileTrophy
show={props.data.githubProfileTrophy}
github={props.social.github}
/>
<TwitterBadge
base="https://twitter.com"
show={props.data.twitterBadge}
twitter={props.social.twitter}
/> />
</> </>
<> <>
@@ -256,6 +303,9 @@ const Markdown = props => {
project={props.data.contact} project={props.data.contact}
/> />
</> </>
<>
<DisplayWork prefix={props.prefix.resume} link={props.link.resume} />
</>
<> <>
<DisplayWork <DisplayWork
prefix={props.prefix.funFact} prefix={props.prefix.funFact}
@@ -424,7 +474,15 @@ const Markdown = props => {
username={props.social.rssurl} username={props.social.rssurl}
/> />
</> </>
{isSocial(props.social) ? <>{`</p>`}<br/><br/></> : ""} {isSocial(props.social) ? (
<>
{`</p>`}
<br />
<br />
</>
) : (
""
)}
<> <>
<DisplaySkills skills={props.skills} /> <DisplaySkills skills={props.skills} />
</> </>
+49 -2
View File
@@ -89,6 +89,7 @@ const MarkdownPreview = props => {
<DisplayWork prefix={prefix.ama} project={data.ama} /> <DisplayWork prefix={prefix.ama} project={data.ama} />
<DisplayWork prefix={prefix.portfolio} link={link.portfolio} /> <DisplayWork prefix={prefix.portfolio} link={link.portfolio} />
<DisplayWork prefix={prefix.blog} link={link.blog} /> <DisplayWork prefix={prefix.blog} link={link.blog} />
<DisplayWork prefix={prefix.resume} link={link.resume} />
<DisplayWork prefix={prefix.contact} project={data.contact} /> <DisplayWork prefix={prefix.contact} project={data.contact} />
<DisplayWork prefix={prefix.funFact} project={data.funFact} /> <DisplayWork prefix={prefix.funFact} project={data.funFact} />
</> </>
@@ -222,7 +223,11 @@ const MarkdownPreview = props => {
) )
} }
const VisitorsBadgePreview = props => { const VisitorsBadgePreview = props => {
let link = "https://komarev.com/ghpvc/?username=" + props.github let link = "https://komarev.com/ghpvc/?username="
+ props.github
+ `&label=${props.badgeOptions.badgeLabel}`
+ `&color=${props.badgeOptions.badgeColor}`
+ `&style=${props.badgeOptions.badgeStyle}`
if (props.show) { if (props.show) {
return ( return (
<div className="text-left my-2"> <div className="text-left my-2">
@@ -233,6 +238,35 @@ const MarkdownPreview = props => {
} }
return null return null
} }
const TwitterBadgePreview = props => {
let link = "https://img.shields.io/twitter/follow/" + props.twitter + "?logo=twitter&style=for-the-badge"
if (props.show) {
return (
<div className="text-left my-2">
{" "}
<a href="https://twitter.com/${props.twitter}" target="blank">
<img className="h-4 sm:h-6" src={link} alt={props.twitter} />
</a>{" "}
</div>
)
}
return null
}
const GithubProfileTrophyPreview = props => {
let link =
"https://github-profile-trophy.vercel.app/?username=" + props.github
if (props.show) {
return (
<div className="text-left my-2">
{" "}
<a href="https://github.com/ryo-ma/github-profile-trophy">
<img src={link} alt={props.github} />
</a>{" "}
</div>
)
}
return null
}
const GitHubStatsPreview = props => { const GitHubStatsPreview = props => {
let link = let link =
"https://github-readme-stats.vercel.app/api?username=" + "https://github-readme-stats.vercel.app/api?username=" +
@@ -266,7 +300,7 @@ const MarkdownPreview = props => {
skills.forEach(skill => { skills.forEach(skill => {
if (props.skills[skill]) { if (props.skills[skill]) {
listSkills.push( listSkills.push(
<a href={skillWebsites[skill]} target="_blank"> <a href={skillWebsites[skill]} target="_blank" rel="noreferrer">
<img <img
className="mb-4 mr-4 h-6 w-6 sm:h-10 sm:w-10" className="mb-4 mr-4 h-6 w-6 sm:h-10 sm:w-10"
key={skill} key={skill}
@@ -293,6 +327,19 @@ const MarkdownPreview = props => {
<VisitorsBadgePreview <VisitorsBadgePreview
show={props.data.visitorsBadge} show={props.data.visitorsBadge}
github={props.social.github} github={props.social.github}
badgeOptions={{
badgeLabel: encodeURI(props.data.badgeLabel),
badgeColor: props.data.badgeColor,
badgeStyle: props.data.badgeStyle
}}
/>
<GithubProfileTrophyPreview
show={props.data.githubProfileTrophy}
github={props.social.github}
/>
<TwitterBadgePreview
show={props.data.twitterBadge}
twitter={props.social.twitter}
/> />
<WorkPreview work={props} /> <WorkPreview work={props} />
<SocialPreview social={props.social} /> <SocialPreview social={props.social} />
+1 -1
View File
@@ -34,7 +34,7 @@ const Skills = props => {
{Object.keys(categorizedSkills).map(key => ( {Object.keys(categorizedSkills).map(key => (
<div key={key}> <div key={key}>
<h4 className="text-sm sm:text-xl text-gray-900 text-center"> <h4 className="text-sm sm:text-xl text-gray-900 text-left">
{categorizedSkills[key].title} {categorizedSkills[key].title}
</h4> </h4>
<div className="flex justify-start items-center flex-wrap w-full mb-6 pl-4 sm:pl-10"> <div className="flex justify-start items-center flex-wrap w-full mb-6 pl-4 sm:pl-10">
+16
View File
@@ -151,6 +151,22 @@ const Work = props => {
onChange={event => props.handleLinkChange("blog", event)} onChange={event => props.handleLinkChange("blog", event)}
/> />
</div> </div>
<div className="text-xs sm:text-lg flex flex-col sm:flex-row mb-10 justify-center sm:justify-start items-center sm:items-start w-full px-4 sm:px-0">
<input
id="resume-prefix"
className="outline-none mr-8 w-full sm:w-1/3 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
value={props.prefix.resume}
onChange={event => props.handlePrefixChange("resume", event)}
/>
<input
id="resume"
placeholder="resume link"
className="outline-none placeholder-gray-700 mr-8 sm:mr-0 text-blue-700 w-full sm:w-1/3 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
value={props.link.resume}
onChange={event => props.handleLinkChange("resume", event)}
/>
</div>
<div className="text-xs sm:text-lg flex flex-col sm:flex-row mb-10 justify-center sm:justify-start items-center sm:items-start w-full px-4 sm:px-0"> <div className="text-xs sm:text-lg flex flex-col sm:flex-row mb-10 justify-center sm:justify-start items-center sm:items-start w-full px-4 sm:px-0">
<input <input
id="funFact-prefix" id="funFact-prefix"
+73 -2
View File
@@ -11,6 +11,7 @@ const categorizedSkills = {
"javascript", "javascript",
"typescript", "typescript",
"php", "php",
"perl",
"ruby", "ruby",
"scala", "scala",
"python", "python",
@@ -56,11 +57,13 @@ const categorizedSkills = {
"nodejs", "nodejs",
"spring", "spring",
"express", "express",
"graphql",
"kafka", "kafka",
"solr", "solr",
"rabbitMQ", "rabbitMQ",
"hadoop", "hadoop",
"nginx", "nginx",
"openresty",
], ],
}, },
@@ -96,12 +99,14 @@ const categorizedSkills = {
"hive", "hive",
"realm", "realm",
"mariadb", "mariadb",
"cockroachdb",
"elasticsearch",
], ],
}, },
data_visualization: { data_visualization: {
title: "Data Visualization", title: "Data Visualization",
skills: ["d3js", "chartjs", "canvasjs"], skills: ["d3js", "chartjs", "canvasjs", "kibana", "grafana"],
}, },
devops: { devops: {
@@ -115,6 +120,7 @@ const categorizedSkills = {
"bash", "bash",
"azure", "azure",
"vagrant", "vagrant",
"circleci"
], ],
}, },
@@ -134,6 +140,7 @@ const categorizedSkills = {
"codeigniter", "codeigniter",
"rails", "rails",
"flask", "flask",
"quasar"
], ],
}, },
@@ -155,6 +162,7 @@ const categorizedSkills = {
skills: [ skills: [
"illustrator", "illustrator",
"photoshop", "photoshop",
"xd",
"figma", "figma",
"blender", "blender",
"sketch", "sketch",
@@ -165,7 +173,24 @@ const categorizedSkills = {
static_site_generator: { static_site_generator: {
title: "Static Site Generators", title: "Static Site Generators",
skills: ["gatsby", "gridsome", "hugo", "jekyll", "nextjs", "nuxtjs"], skills: [
"gatsby",
"gridsome",
"hugo",
"jekyll",
"nextjs",
"nuxtjs",
"11ty",
"scully",
"sculpin",
"sapper",
"vuepress"
],
},
game_engines:{
title: "Game Engines",
skills: ["unity"],
}, },
other: { other: {
@@ -214,6 +239,7 @@ const icons = {
express: express:
"https://devicons.github.io/devicon/devicon.git/icons/express/express-original-wordmark.svg", "https://devicons.github.io/devicon/devicon.git/icons/express/express-original-wordmark.svg",
go: "https://devicons.github.io/devicon/devicon.git/icons/go/go-original.svg", go: "https://devicons.github.io/devicon/devicon.git/icons/go/go-original.svg",
graphql: "https://www.vectorlogo.zone/logos/graphql/graphql-icon.svg",
gulp: gulp:
"https://devicons.github.io/devicon/devicon.git/icons/gulp/gulp-plain.svg", "https://devicons.github.io/devicon/devicon.git/icons/gulp/gulp-plain.svg",
html5: html5:
@@ -236,12 +262,18 @@ const icons = {
"https://devicons.github.io/devicon/devicon.git/icons/nginx/nginx-original.svg", "https://devicons.github.io/devicon/devicon.git/icons/nginx/nginx-original.svg",
nodejs: nodejs:
"https://devicons.github.io/devicon/devicon.git/icons/nodejs/nodejs-original-wordmark.svg", "https://devicons.github.io/devicon/devicon.git/icons/nodejs/nodejs-original-wordmark.svg",
openresty:
"https://symbols-electrical.getvecta.com/stencil_25/66_openresty.403a21ca72.svg",
oracle: oracle:
"https://devicons.github.io/devicon/devicon.git/icons/oracle/oracle-original.svg", "https://devicons.github.io/devicon/devicon.git/icons/oracle/oracle-original.svg",
photoshop: photoshop:
"https://devicons.github.io/devicon/devicon.git/icons/photoshop/photoshop-plain.svg", "https://devicons.github.io/devicon/devicon.git/icons/photoshop/photoshop-plain.svg",
xd:
"https://cdn.worldvectorlogo.com/logos/adobe-xd.svg",
php: php:
"https://devicons.github.io/devicon/devicon.git/icons/php/php-original.svg", "https://devicons.github.io/devicon/devicon.git/icons/php/php-original.svg",
perl:
"https://api.iconify.design/logos-perl.svg",
postgresql: postgresql:
"https://devicons.github.io/devicon/devicon.git/icons/postgresql/postgresql-original-wordmark.svg", "https://devicons.github.io/devicon/devicon.git/icons/postgresql/postgresql-original-wordmark.svg",
python: python:
@@ -329,6 +361,7 @@ const icons = {
nextjs: "https://cdn.worldvectorlogo.com/logos/nextjs-3.svg", nextjs: "https://cdn.worldvectorlogo.com/logos/nextjs-3.svg",
reactnative: "https://reactnative.dev/img/header_logo.svg", reactnative: "https://reactnative.dev/img/header_logo.svg",
mariadb: "https://www.vectorlogo.zone/logos/mariadb/mariadb-icon.svg", mariadb: "https://www.vectorlogo.zone/logos/mariadb/mariadb-icon.svg",
cockroachdb: "https://cdn.worldvectorlogo.com/logos/cockroachdb.svg",
objectivec: objectivec:
"https://www.vectorlogo.zone/logos/apple_objectivec/apple_objectivec-icon.svg", "https://www.vectorlogo.zone/logos/apple_objectivec/apple_objectivec-icon.svg",
clojure: clojure:
@@ -356,6 +389,28 @@ const icons = {
"https://devicons.github.io/devicon/devicon.git/icons/ember/ember-original-wordmark.svg", "https://devicons.github.io/devicon/devicon.git/icons/ember/ember-original-wordmark.svg",
scikit_learn: scikit_learn:
"https://upload.wikimedia.org/wikipedia/commons/0/05/Scikit_learn_logo_small.svg", "https://upload.wikimedia.org/wikipedia/commons/0/05/Scikit_learn_logo_small.svg",
quasar:
"https://cdn.quasar.dev/logo/svg/quasar-logo.svg",
kibana:
"https://www.vectorlogo.zone/logos/elasticco_kibana/elasticco_kibana-icon.svg",
grafana:
"https://www.vectorlogo.zone/logos/grafana/grafana-icon.svg",
elasticsearch:
"https://www.vectorlogo.zone/logos/elastic/elastic-icon.svg",
circleci:
"https://www.vectorlogo.zone/logos/circleci/circleci-icon.svg",
scully:
"https://raw.githubusercontent.com/scullyio/scully/main/assets/logos/SVG/scullyio-icon.svg",
"11ty":
"https://gist.githubusercontent.com/vivek32ta/c7f7bf583c1fb1c58d89301ea40f37fd/raw/f4c85cce5790758286b8f155ef9a177710b995df/11ty.svg",
sculpin:
"https://gist.githubusercontent.com/vivek32ta/c7f7bf583c1fb1c58d89301ea40f37fd/raw/1782aef8672484698c0dd407f900c4a329ed5bc4/sculpin.svg",
sapper:
"https://raw.githubusercontent.com/bestofjs/bestofjs-webui/master/public/logos/sapper.svg",
vuepress:
"https://raw.githubusercontent.com/AliasIO/wappalyzer/master/src/drivers/webextension/images/icons/VuePress.svg",
unity:
"https://www.vectorlogo.zone/logos/unity3d/unity3d-icon.svg"
} }
const skillWebsites = { const skillWebsites = {
@@ -380,6 +435,7 @@ const skillWebsites = {
electron: "https://www.electronjs.org", electron: "https://www.electronjs.org",
express: "https://expressjs.com", express: "https://expressjs.com",
go: "https://golang.org", go: "https://golang.org",
graphql: "https://graphql.org",
gulp: "https://gulpjs.com", gulp: "https://gulpjs.com",
html5: "https://www.w3.org/html/", html5: "https://www.w3.org/html/",
hugo: "https://gohugo.io/", hugo: "https://gohugo.io/",
@@ -392,9 +448,12 @@ const skillWebsites = {
mysql: "https://www.mysql.com/", mysql: "https://www.mysql.com/",
nginx: "https://www.nginx.com", nginx: "https://www.nginx.com",
nodejs: "https://nodejs.org", nodejs: "https://nodejs.org",
openresty: "https://openresty.org/",
oracle: "https://www.oracle.com/", oracle: "https://www.oracle.com/",
photoshop: "https://www.photoshop.com/en", photoshop: "https://www.photoshop.com/en",
xd: "https://www.adobe.com/products/xd.html",
php: "https://www.php.net", php: "https://www.php.net",
perl: "https://www.perl.org/",
postgresql: "https://www.postgresql.org", postgresql: "https://www.postgresql.org",
python: "https://www.python.org", python: "https://www.python.org",
rails: "https://rubyonrails.org", rails: "https://rubyonrails.org",
@@ -454,6 +513,7 @@ const skillWebsites = {
nextjs: "https://nextjs.org/", nextjs: "https://nextjs.org/",
reactnative: "https://reactnative.dev/", reactnative: "https://reactnative.dev/",
mariadb: "https://mariadb.org/", mariadb: "https://mariadb.org/",
cockroachdb: "https://www.cockroachlabs.com/product/cockroachdb/",
objectivec: "", objectivec: "",
clojure: "", clojure: "",
haskell: "", haskell: "",
@@ -472,6 +532,17 @@ const skillWebsites = {
wx_widgets: "", wx_widgets: "",
ember: "", ember: "",
scikit_learn: "", scikit_learn: "",
quasar: "https://quasar.dev/",
kibana: "https://www.elastic.co/kibana",
grafana: "https://grafana.com",
elasticsearch: "https://www.elastic.co",
circleci: "https://circleci.com",
scully: "https://scully.io/",
sculpin: "https://sculpin.io/",
"11ty": "https://www.11ty.dev/",
sapper: "https://sapper.svelte.dev/",
vuepress: "https://vuepress.vuejs.org/",
unity: "https://unity.com/"
} }
const initialSkillState = {} const initialSkillState = {}
Binary file not shown.

After

Width:  |  Height:  |  Size: 395 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 419 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 968 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" version="1"><rect width="28" height="28" x="-30" y="-30" fill="#26557c" rx="1.4" ry="1.4" transform="matrix(0,-1,-1,0,0,0)"/><path d="m8.0254 8.0001c-0.7825-0.0166-1.1494 0.5244-0.9883 1.457 0.052 0.3006 0.3152 0.7299 0.8828 1.4419 0.63122 0.7909 0.88514 1.2227 1.1602 1.9707 0.4336 1.1793 0.63403 1.5748 0.98633 1.9434 0.27366 0.2863 0.27369 0.28712 0.08984 0.87109-0.28507 0.90556-0.34407 2.7207-0.11523 3.5742 0.34248 1.2774 0.76402 1.8574 1.3516 1.8574 0.41968 0 0.76364-0.35092 0.88672-0.9043 0.04268-0.19186 0.12249-0.46607 0.17773-0.60938 0.09535-0.24728 0.12093-0.22818 0.49414 0.38086 0.21628 0.35296 0.62866 0.87861 0.91602 1.168 0.6638 0.66845 1.5749 1.4217 1.6406 1.3574 0.02775-0.02713-0.238-0.42177-0.58984-0.87891s-1.0151-1.5189-1.4746-2.3594c-0.53593-0.98029-0.8997-1.5286-1.0137-1.5293-0.37045-0.0025-0.71588 0.58004-0.91602 1.5469-0.23056 1.1138-0.63675 0.92708-0.9668-0.44531-0.19019-0.79085-0.09106-1.856 0.26367-2.8535 0.16137-0.45376 0.29297-0.87373 0.29297-0.93164s-0.25731-0.54348-0.57227-1.0801c-0.315-0.537-0.6851-1.297-0.822-1.69-0.3326-0.954-0.4905-1.232-1.1582-2.043-0.6879-0.8346-0.753-1.2203-0.2051-1.2166 0.42554 0.00281 1.1123 0.28944 1.8027 0.75391 0.4371 0.29404 0.58523 0.33398 1.2871 0.33398 0.88142 0 1.0709 0.0722 2.293 0.87695 1.2445 0.81958 2.1722 1.5813 2.8145 2.3125 0.5704 0.64937 0.88201 1.2138 2.5605 4.6562 0.64433 1.3214 1.2158 1.9593 2.0039 2.2324 1.2173 0.42185 1.6317 0.61314 2.168 0.99805l0.56641 0.40625-0.38086 0.07422c-0.2103 0.04033-0.66847 0.10616-1.0176 0.14648-0.72741 0.084-1.2031 0.38573-1.2031 0.76367 0 0.42592 1.4513 1.6453 2.9062 2.4414 0.69903 0.38247 1.3716 0.75927 1.4941 0.83789 0.32598 0.20922 0.41424 0.18389 0.33008-0.0918-0.17624-0.57738-0.77279-1.1398-2.4297-2.2949-0.97197-0.6776-0.98199-0.65244 0.31641-0.78125 0.925-0.091 1.392-0.249 1.392-0.472 0-0.102-0.47-0.644-1.045-1.203-0.9-0.876-1.204-1.094-2.195-1.577-1.35-0.656-1.842-1.177-2.153-2.283-0.464-1.649-1.712-3.587-3.371-5.23-1.712-1.696-3.347-2.6344-4.845-2.7814-0.609-0.0598-0.924-0.1522-1.239-0.3653-0.5332-0.3611-1.7717-0.7684-2.3766-0.7812zm2.9629 3.002c-0.12266-0.0079-0.22945 0.0085-0.30273 0.05859-0.27341 0.18699-0.24099 0.41504 0.08008 0.55664 0.15092 0.06656 0.36501 0.30147 0.47656 0.52148 0.3751 0.73978 0.94985 0.2445 0.69336-0.59766-0.08085-0.26546-0.5793-0.51547-0.94727-0.53906z" opacity=".2"/><path fill="#fff" d="m8.0254 7c-0.7825-0.0166-1.1494 0.5244-0.9883 1.457 0.052 0.3006 0.3152 0.7302 0.8828 1.4414 0.6312 0.7906 0.8852 1.2226 1.1602 1.9706 0.4336 1.179 0.634 1.575 0.9859 1.943 0.274 0.287 0.274 0.288 0.09 0.872-0.2848 0.905-0.3438 2.72-0.115 3.574 0.342 1.277 0.764 1.857 1.352 1.857 0.419 0 0.763-0.351 0.886-0.904 0.043-0.192 0.123-0.466 0.178-0.609 0.095-0.248 0.121-0.229 0.494 0.38 0.216 0.353 0.629 0.879 0.916 1.168 0.664 0.669 1.575 1.422 1.641 1.358 0.028-0.027-0.238-0.422-0.59-0.879s-1.015-1.519-1.475-2.359c-0.536-0.981-0.899-1.529-1.013-1.53-0.371-0.002-0.716 0.58-0.916 1.547-0.231 1.114-0.637 0.927-0.967-0.445-0.19-0.791-0.091-1.856 0.264-2.854 0.161-0.453 0.293-0.873 0.293-0.931s-0.258-0.544-0.573-1.08c-0.315-0.537-0.6851-1.297-0.822-1.69-0.3326-0.954-0.4905-1.232-1.1582-2.0429-0.6879-0.8348-0.753-1.2204-0.2051-1.2168 0.4255 0.0029 1.1123 0.2895 1.8023 0.7539 0.438 0.2941 0.586 0.334 1.288 0.334 0.881 0 1.07 0.0722 2.293 0.877 1.244 0.8198 2.172 1.5818 2.814 2.3128 0.57 0.649 0.882 1.214 2.561 4.656 0.644 1.321 1.215 1.959 2.003 2.232 1.218 0.422 1.632 0.613 2.168 0.998l0.567 0.407-0.381 0.074c-0.21 0.04-0.669 0.106-1.018 0.146-0.727 0.084-1.203 0.386-1.203 0.764 0 0.426 1.451 1.645 2.906 2.441 0.7 0.383 1.372 0.76 1.495 0.838 0.326 0.21 0.414 0.184 0.33-0.091-0.177-0.578-0.773-1.14-2.43-2.295-0.972-0.678-0.982-0.653 0.316-0.782 0.926-0.092 1.393-0.25 1.393-0.472 0-0.102-0.47-0.644-1.045-1.203-0.9-0.877-1.204-1.094-2.195-1.577-1.35-0.656-1.842-1.177-2.153-2.283-0.464-1.65-1.712-3.587-3.371-5.23-1.712-1.6965-3.347-2.6345-4.845-2.7815-0.609-0.0598-0.924-0.1522-1.239-0.3653-0.5332-0.3611-1.7717-0.7684-2.3766-0.7812zm2.9626 3.002c-0.122-0.0079-0.229 0.008-0.302 0.059-0.274 0.187-0.241 0.415 0.08 0.556 0.151 0.067 0.365 0.302 0.476 0.522 0.375 0.739 0.95 0.244 0.694-0.598-0.081-0.265-0.58-0.515-0.948-0.539z"/><path fill="#fff" d="m3.4004 2c-0.7756 0-1.4004 0.6248-1.4004 1.4004v1c0-0.7756 0.6248-1.4004 1.4004-1.4004h25.2c0.775 0 1.4 0.6248 1.4 1.4004v-1c0-0.7756-0.625-1.4004-1.4-1.4004h-25.2z" opacity=".1"/><path d="m2 28.6v1c0 0.775 0.6248 1.4 1.4004 1.4h25.2c0.775 0 1.4-0.625 1.4-1.4v-1c0 0.775-0.625 1.4-1.4 1.4h-25.2c-0.7752 0-1.4-0.625-1.4-1.4z" opacity=".2"/></svg>

After

Width:  |  Height:  |  Size: 4.5 KiB

+63 -40
View File
@@ -27,6 +27,7 @@ import SEO from "../components/seo"
import { import {
isGitHubUsernameValid, isGitHubUsernameValid,
isMediumUsernameValid, isMediumUsernameValid,
isTwitterUsernameValid
} from "../utils/validation" } from "../utils/validation"
import Layout from "../components/layout" import Layout from "../components/layout"
@@ -38,9 +39,11 @@ const DEFAULT_PREFIX = {
helpWith: "🤝 Im looking for help with", helpWith: "🤝 Im looking for help with",
ama: "💬 Ask me about", ama: "💬 Ask me about",
contact: "📫 How to reach me", contact: "📫 How to reach me",
resume: "📄 Know about my experiences",
funFact: "⚡ Fun fact", funFact: "⚡ Fun fact",
portfolio: "👨‍💻 All of my projects are available at", portfolio: "👨‍💻 All of my projects are available at",
blog: "📝 I regulary write articles on", blog: "📝 I regulary write articles on",
} }
const DEFAULT_DATA = { const DEFAULT_DATA = {
@@ -53,7 +56,12 @@ const DEFAULT_DATA = {
ama: "", ama: "",
contact: "", contact: "",
funFact: "", funFact: "",
twitterBadge: false,
visitorsBadge: false, visitorsBadge: false,
badgeStyle: "flat",
badgeColor: "0e75b6",
badgeLabel: "Profile views",
githubProfileTrophy: false,
githubStats: false, githubStats: false,
topLanguages: false, topLanguages: false,
devDynamicBlogs: false, devDynamicBlogs: false,
@@ -67,6 +75,7 @@ const DEFAULT_LINK = {
helpWith: "", helpWith: "",
portfolio: "", portfolio: "",
blog: "", blog: "",
resume: "",
} }
const DEFAULT_SOCIAL = { const DEFAULT_SOCIAL = {
@@ -221,10 +230,19 @@ const IndexPage = () => {
trimDataValues(social, setSocial) trimDataValues(social, setSocial)
trimDataValues(link, setLink) trimDataValues(link, setLink)
resetCopyMarkdownButton() resetCopyMarkdownButton()
if (data.visitorsBadge || data.githubStats || data.topLanguages) { if (
data.visitorsBadge ||
data.githubProfileTrophy ||
data.githubStats ||
data.topLanguages
) {
if (social.github && isGitHubUsernameValid(social.github)) { if (social.github && isGitHubUsernameValid(social.github)) {
generate() generate()
} }
} else if (data.twitterBadge) {
if (social.twitter && isTwitterUsernameValid(social.twitter)) {
generate()
}
} else if (social.github) { } else if (social.github) {
if (isGitHubUsernameValid(social.github)) { if (isGitHubUsernameValid(social.github)) {
generate() generate()
@@ -359,10 +377,10 @@ const IndexPage = () => {
return return
} }
setPrefix(cache.prefix || DEFAULT_PREFIX) setPrefix(cache.prefix ? {...DEFAULT_PREFIX, ...cache.prefix} : DEFAULT_PREFIX)
setData(cache.data || DEFAULT_DATA) setData(cache.data ? {...DEFAULT_DATA, ...cache.data} : DEFAULT_DATA)
setLink(cache.link || DEFAULT_LINK) setLink(cache.link ? {...DEFAULT_LINK, ...cache.link} : DEFAULT_LINK)
setSocial(cache.social || DEFAULT_SOCIAL) setSocial(cache.social ? {...DEFAULT_SOCIAL, ...cache.social} : DEFAULT_SOCIAL)
const cacheSkills = mergeDefaultWithNewDataSkills( const cacheSkills = mergeDefaultWithNewDataSkills(
DEFAULT_SKILLS, DEFAULT_SKILLS,
@@ -464,9 +482,13 @@ const IndexPage = () => {
data={data} data={data}
social={social} social={social}
handleCheckChange={handleCheckChange} handleCheckChange={handleCheckChange}
handleDataChange={handleDataChange}
/> />
<div className="section"> <div className="section">
{(data.visitorsBadge || data.githubStats || data.topLanguages) && {(data.visitorsBadge ||
data.githubProfileTrophy ||
data.githubStats ||
data.topLanguages) &&
!social.github ? ( !social.github ? (
<div className="warning"> <div className="warning">
* Please add github username to use these add-ons * Please add github username to use these add-ons
@@ -511,6 +533,20 @@ const IndexPage = () => {
) : ( ) : (
"" ""
)} )}
{data.twitterBadge && !social.twitter ? (
<div className="warning">
* Please add twitter username to use these add-ons
</div>
) : (
""
)}
{social.twitter && !isTwitterUsernameValid(social.twitter) ? (
<div className="warning">
* Twitter username is invalid, please add a valid username
</div>
) : (
""
)}
</div> </div>
<div className="flex items-center justify-center w-full"> <div className="flex items-center justify-center w-full">
<div <div
@@ -518,6 +554,7 @@ const IndexPage = () => {
tabIndex="0" tabIndex="0"
role="button" role="button"
onClick={handleGenerate} onClick={handleGenerate}
onKeyDown={(e) => e.keyCode === 13 && handleGenerate()}
> >
Generate README Generate README
</div> </div>
@@ -529,21 +566,17 @@ const IndexPage = () => {
{generateMarkdown || generatePreview ? ( {generateMarkdown || generatePreview ? (
<div className="markdown-section p-4 sm:py-4 sm:px-10"> <div className="markdown-section p-4 sm:py-4 sm:px-10">
<div className="w-full flex justify-between items-center"> <div className="w-full flex justify-between items-center">
<div <button
className="cursor-pointer text-base w-1/6 border-2 border-solid border-gray-900 bg-gray-100 flex items-center justify-center p-1" className="text-base w-1/6 border-2 border-solid border-gray-900 bg-gray-100 flex items-center justify-center p-1"
tabIndex="0"
role="button"
onClick={handleBackToEdit} onClick={handleBackToEdit}
> >
<ArrowLeftIcon size={16} /> <ArrowLeftIcon size={24} />
<span className="hidden sm:block"> back to edit</span> <span className="hidden sm:block"> back to edit</span>
</div> </button>
<div <button
className="cursor-pointer text-base w-1/6 border-2 border-solid border-gray-900 bg-gray-100 flex items-center justify-center p-1" className="text-base w-1/6 border-2 border-solid border-gray-900 bg-gray-100 flex items-center justify-center p-1"
tabIndex="0"
id="copy-button" id="copy-button"
role="button"
onClick={handleCopyToClipboard} onClick={handleCopyToClipboard}
> >
{copyObj.isCopied === true ? ( {copyObj.isCopied === true ? (
@@ -554,38 +587,32 @@ const IndexPage = () => {
<span className="hidden sm:block" id="copy-markdown"> <span className="hidden sm:block" id="copy-markdown">
{copyObj.copiedText} {copyObj.copiedText}
</span> </span>
</div> </button>
<div <button
className="cursor-pointer text-base w-1/6 border-2 border-solid border-gray-900 bg-gray-100 flex items-center justify-center p-1" className="text-base w-1/6 border-2 border-solid border-gray-900 bg-gray-100 flex items-center justify-center p-1"
tabIndex="0"
id="download-md-button" id="download-md-button"
role="button"
onClick={handleDownloadMarkdown} onClick={handleDownloadMarkdown}
> >
<DownloadIcon size={24} /> <DownloadIcon size={24} />
<span className="hidden sm:block" id="download-markdown"> <span className="hidden sm:block" id="download-markdown">
download markdown download markdown
</span> </span>
</div> </button>
<div <button
className="cursor-pointer text-base w-1/6 border-2 border-solid border-gray-900 bg-gray-100 flex items-center justify-center p-1" className="text-base w-1/6 border-2 border-solid border-gray-900 bg-gray-100 flex items-center justify-center p-1"
tabIndex="0"
id="download-json-button" id="download-json-button"
role="button"
onClick={handleDownloadJson} onClick={handleDownloadJson}
> >
<FileCodeIcon size={24} /> <FileCodeIcon size={24} />
<span className="hidden sm:block" id="download-json"> <span className="hidden sm:block" id="download-json">
download backup download backup
</span> </span>
</div> </button>
<div <button
className="cursor-pointer text-base w-1/6 border-2 border-solid border-gray-900 bg-gray-100 flex items-center justify-center p-1" className="text-base w-1/6 border-2 border-solid border-gray-900 bg-gray-100 flex items-center justify-center p-1"
tabIndex="0"
role="button"
onClick={handleGeneratePreview} onClick={handleGeneratePreview}
> >
{previewMarkdown.isPreview ? ( {previewMarkdown.isPreview ? (
@@ -596,7 +623,7 @@ const IndexPage = () => {
<span className="hidden sm:block ml-1" id="preview-markdown"> <span className="hidden sm:block ml-1" id="preview-markdown">
{previewMarkdown.buttonText} {previewMarkdown.buttonText}
</span> </span>
</div> </button>
</div> </div>
<div className="w-full flex justify-center items-center"> <div className="w-full flex justify-center items-center">
@@ -648,14 +675,12 @@ const IndexPage = () => {
new feature new feature
</span> </span>
</div> </div>
<div <button
className="text-xxs sm:text-sm border-2 w-auto px-2 border-solid border-gray-900 bg-gray-100 flex items-center justify-center" className="text-xxs sm:text-sm border-2 w-auto px-2 border-solid border-gray-900 bg-gray-100 flex items-center justify-center"
role="button"
tabIndex="0"
onClick={handleResetForm} onClick={handleResetForm}
> >
Reset form Reset form
</div> </button>
</div> </div>
<div className="w-full flex justify-start items-center my-4"> <div className="w-full flex justify-start items-center my-4">
<input <input
@@ -665,14 +690,12 @@ const IndexPage = () => {
value={restore} value={restore}
onChange={e => setRestore(e.target.value)} onChange={e => setRestore(e.target.value)}
/> />
<div <button
className="text-xxs sm:text-sm border-2 w-32 border-solid border-gray-900 bg-gray-100 flex items-center justify-center py-1" className="text-xxs sm:text-sm border-2 w-32 border-solid border-gray-900 bg-gray-100 flex items-center justify-center py-1"
role="button"
tabIndex="0"
onClick={handleRestore} onClick={handleRestore}
> >
Restore Restore
</div> </button>
</div> </div>
<div className="flex flex-col items-start justify-center"> <div className="flex flex-col items-start justify-center">
<div className="text-green-700 font-medium">Tips</div> <div className="text-green-700 font-medium">Tips</div>
+6 -1
View File
@@ -9,4 +9,9 @@ const isMediumUsernameValid = username => {
return true return true
} }
export { isGitHubUsernameValid, isMediumUsernameValid } const isTwitterUsernameValid = username => {
var pattern = /^[a-zA-Z0-9_]{1,15}$/
return pattern.test(username)
}
export { isGitHubUsernameValid, isMediumUsernameValid, isTwitterUsernameValid }
+16829
View File
File diff suppressed because it is too large Load Diff