[add]: tailwind css
This commit is contained in:
@@ -82,16 +82,22 @@ npm start
|
|||||||
- [Scott C Wilson](https://github.com/scottcwilson) donated the first ever grant to this tool. A big thanks to him.
|
- [Scott C Wilson](https://github.com/scottcwilson) donated the first ever grant to this tool. A big thanks to him.
|
||||||
- [Max Schmitt](https://github.com/mxschmitt) loved the tool and showed the support with his donation. Thanks a lot.
|
- [Max Schmitt](https://github.com/mxschmitt) loved the tool and showed the support with his donation. Thanks a lot.
|
||||||
|
|
||||||
|
## Support 🙏
|
||||||
<p align="center">
|
<p align="left">
|
||||||
<a href="https://www.paypal.me/rahuldkjain"><img src="https://ionicabizau.github.io/badges/paypal.svg" alt="sponsor github profile readme generator"/>
|
<a href="https://www.paypal.me/rahuldkjain"><img src="https://ionicabizau.github.io/badges/paypal.svg" alt="sponsor github profile readme generator"/>
|
||||||
|
</a>
|
||||||
|
<a href="https://twitter.com/intent/tweet?text=Wow:&url=https%3A%2F%2Frahuldkjain.github.io%2Fgithub-profile-readme-generator">
|
||||||
|
<img src="https://img.shields.io/twitter/url?style=social&url=https%3A%2F%2Frahuldkjain.github.io%2Fgithub-profile-readme-generator" alt="tweet github profile readme generator"/>
|
||||||
|
</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p align="center">
|
<p align="left">
|
||||||
<a href="https://ko-fi.com/A0A81XXSX"><img src="https://www.ko-fi.com/img/githubbutton_sm.svg" alt="sponsor github profile readme generator"/>
|
<a href='https://ko-fi.com/A0A81XXSX' target='_blank'><img height='23' width="100" src='https://cdn.ko-fi.com/cdn/kofi3.png?v=2' alt='Buy Coffee for rahuldkjain' />
|
||||||
</a>
|
</a>
|
||||||
|
<a href="https://www.buymeacoffee.com/rahuldkjain" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/default-orange.png" alt="Buy Me A Coffee" height="23" width="100" style="border-radius:2px" />
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
<hr>
|
||||||
<p align="center">
|
<p align="center">
|
||||||
Developed with ❤️ in India 🇮🇳
|
Developed with ❤️ in India 🇮🇳
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
+2
-1
@@ -1 +1,2 @@
|
|||||||
require("prismjs/themes/prism-okaidia.css")
|
import "./src/styles/tailwind.css";
|
||||||
|
require("prismjs/themes/prism-okaidia.css");
|
||||||
+18
-3
@@ -52,8 +52,23 @@ module.exports = {
|
|||||||
// other options
|
// other options
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
resolve: `gatsby-plugin-postcss`,
|
||||||
|
options: {
|
||||||
|
postCssPlugins: [require("tailwindcss")],
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
resolve: `gatsby-plugin-purgecss`,
|
||||||
|
options: {
|
||||||
|
printRejected: false,
|
||||||
|
develop: false,
|
||||||
|
tailwind: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
`gatsby-plugin-twitter`
|
||||||
],
|
],
|
||||||
// this (optional) plugin enables Progressive Web App + Offline functionality
|
// this (optional) plugin enables Progressive Web App + Offline functionality
|
||||||
// To learn more, visit: https://gatsby.dev/offline
|
// To learn more, visit: https://gatsby.dev/offline
|
||||||
// `gatsby-plugin-offline`,
|
// `gatsby-plugin-offline`,
|
||||||
}
|
}
|
||||||
|
|||||||
Generated
+379
@@ -1059,6 +1059,16 @@
|
|||||||
"to-fast-properties": "^2.0.0"
|
"to-fast-properties": "^2.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"@fullhuman/postcss-purgecss": {
|
||||||
|
"version": "2.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@fullhuman/postcss-purgecss/-/postcss-purgecss-2.3.0.tgz",
|
||||||
|
"integrity": "sha512-qnKm5dIOyPGJ70kPZ5jiz0I9foVOic0j+cOzNDoo8KoCf6HjicIZ99UfO2OmE7vCYSKAAepEwJtNzpiiZAh9xw==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"postcss": "7.0.32",
|
||||||
|
"purgecss": "^2.3.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"@graphql-tools/schema": {
|
"@graphql-tools/schema": {
|
||||||
"version": "6.0.11",
|
"version": "6.0.11",
|
||||||
"resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-6.0.11.tgz",
|
"resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-6.0.11.tgz",
|
||||||
@@ -2435,6 +2445,23 @@
|
|||||||
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz",
|
||||||
"integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ=="
|
"integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ=="
|
||||||
},
|
},
|
||||||
|
"acorn-node": {
|
||||||
|
"version": "1.8.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz",
|
||||||
|
"integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"acorn": "^7.0.0",
|
||||||
|
"acorn-walk": "^7.0.0",
|
||||||
|
"xtend": "^4.0.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"acorn-walk": {
|
||||||
|
"version": "7.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
|
||||||
|
"integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"address": {
|
"address": {
|
||||||
"version": "1.1.2",
|
"version": "1.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz",
|
||||||
@@ -2822,6 +2849,12 @@
|
|||||||
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
||||||
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
|
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
|
||||||
},
|
},
|
||||||
|
"at-least-node": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"atob": {
|
"atob": {
|
||||||
"version": "2.1.2",
|
"version": "2.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
|
||||||
@@ -5107,6 +5140,12 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"css-unit-converter": {
|
||||||
|
"version": "1.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.2.tgz",
|
||||||
|
"integrity": "sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"css-what": {
|
"css-what": {
|
||||||
"version": "2.1.3",
|
"version": "2.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz",
|
||||||
@@ -5578,6 +5617,12 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"defined": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
|
||||||
|
"integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"del": {
|
"del": {
|
||||||
"version": "5.1.0",
|
"version": "5.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/del/-/del-5.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/del/-/del-5.1.0.tgz",
|
||||||
@@ -5684,6 +5729,17 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"detective": {
|
||||||
|
"version": "5.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz",
|
||||||
|
"integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"acorn-node": "^1.6.1",
|
||||||
|
"defined": "^1.0.0",
|
||||||
|
"minimist": "^1.1.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"devcert": {
|
"devcert": {
|
||||||
"version": "1.1.1",
|
"version": "1.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/devcert/-/devcert-1.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/devcert/-/devcert-1.1.1.tgz",
|
||||||
@@ -7344,6 +7400,12 @@
|
|||||||
"pend": "~1.2.0"
|
"pend": "~1.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"fetch-retry": {
|
||||||
|
"version": "4.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/fetch-retry/-/fetch-retry-4.0.1.tgz",
|
||||||
|
"integrity": "sha512-EhIeVBkq9T2z1ANDr2kmLujoHOTdLvR9t/nzLSdX4PMIFinLyyZFYX9T6Fb3LrbiHQEhujq1O7ElsqjuqYIsEA==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"figgy-pudding": {
|
"figgy-pudding": {
|
||||||
"version": "3.5.2",
|
"version": "3.5.2",
|
||||||
"resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz",
|
"resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz",
|
||||||
@@ -8060,6 +8122,68 @@
|
|||||||
"micromatch": "^3.1.10"
|
"micromatch": "^3.1.10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"gatsby-plugin-postcss": {
|
||||||
|
"version": "2.3.11",
|
||||||
|
"resolved": "https://registry.npmjs.org/gatsby-plugin-postcss/-/gatsby-plugin-postcss-2.3.11.tgz",
|
||||||
|
"integrity": "sha512-IHZ2s0iLspL3spYKpFz4SUqQHPPImvPhvVAFEBkGNRA65ffmgOLqucsaXzINjFcpdy5o3+dS+GJuMePaSGYIbg==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"@babel/runtime": "^7.10.3",
|
||||||
|
"postcss-loader": "^3.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"gatsby-plugin-purgecss": {
|
||||||
|
"version": "5.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/gatsby-plugin-purgecss/-/gatsby-plugin-purgecss-5.0.0.tgz",
|
||||||
|
"integrity": "sha512-vzBQSBfZuzmm6+P5qedw+LCgtQm0HRzdDUjytdCwgYCBRuxUjxSkHAFBpemSXqkklfWxs6jcLjRuElVqSDLT1w==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"fs-extra": "^9.0.0",
|
||||||
|
"loader-utils": "^2.0.0",
|
||||||
|
"purgecss": "^2.1.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"fs-extra": {
|
||||||
|
"version": "9.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz",
|
||||||
|
"integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"at-least-node": "^1.0.0",
|
||||||
|
"graceful-fs": "^4.2.0",
|
||||||
|
"jsonfile": "^6.0.1",
|
||||||
|
"universalify": "^1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"jsonfile": {
|
||||||
|
"version": "6.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz",
|
||||||
|
"integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"graceful-fs": "^4.1.6",
|
||||||
|
"universalify": "^1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"loader-utils": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
|
||||||
|
"integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"big.js": "^5.2.2",
|
||||||
|
"emojis-list": "^3.0.0",
|
||||||
|
"json5": "^2.1.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"universalify": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==",
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"gatsby-plugin-react-helmet": {
|
"gatsby-plugin-react-helmet": {
|
||||||
"version": "3.3.6",
|
"version": "3.3.6",
|
||||||
"resolved": "https://registry.npmjs.org/gatsby-plugin-react-helmet/-/gatsby-plugin-react-helmet-3.3.6.tgz",
|
"resolved": "https://registry.npmjs.org/gatsby-plugin-react-helmet/-/gatsby-plugin-react-helmet-3.3.6.tgz",
|
||||||
@@ -8104,6 +8228,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"gatsby-plugin-twitter": {
|
||||||
|
"version": "2.3.10",
|
||||||
|
"resolved": "https://registry.npmjs.org/gatsby-plugin-twitter/-/gatsby-plugin-twitter-2.3.10.tgz",
|
||||||
|
"integrity": "sha512-WQzjGpeKCdxujzAWE2yFOKaI494J/Qb6vhDdLvtevOAZVXSaMdTSfwSSUr17jsu8TV5s47fasKox+h/0uRlJUw==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"@babel/runtime": "^7.10.3"
|
||||||
|
}
|
||||||
|
},
|
||||||
"gatsby-plugin-typescript": {
|
"gatsby-plugin-typescript": {
|
||||||
"version": "2.4.8",
|
"version": "2.4.8",
|
||||||
"resolved": "https://registry.npmjs.org/gatsby-plugin-typescript/-/gatsby-plugin-typescript-2.4.8.tgz",
|
"resolved": "https://registry.npmjs.org/gatsby-plugin-typescript/-/gatsby-plugin-typescript-2.4.8.tgz",
|
||||||
@@ -8353,6 +8486,52 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"gatsby-remark-embedder": {
|
||||||
|
"version": "3.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/gatsby-remark-embedder/-/gatsby-remark-embedder-3.0.0.tgz",
|
||||||
|
"integrity": "sha512-Do0NA09+ehs8mycfGTx0VbA6Ti4ALIILCMLax/zbspXVFaRfgbOoB/CgIEW9Raai98oMpiJtpAr0T6UR76AImA==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"@babel/runtime": "^7.10.5",
|
||||||
|
"fetch-retry": "^4.0.1",
|
||||||
|
"node-fetch": "^2.6.0",
|
||||||
|
"unist-util-visit": "^2.0.3"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@babel/runtime": {
|
||||||
|
"version": "7.11.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.11.2.tgz",
|
||||||
|
"integrity": "sha512-TeWkU52so0mPtDcaCTxNBI/IHiz0pZgr8VEFqXFtZWpYD08ZB6FaSwVAS8MKRQAP3bYKiVjwysOJgMFY28o6Tw==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"regenerator-runtime": "^0.13.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node-fetch": {
|
||||||
|
"version": "2.6.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz",
|
||||||
|
"integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"unist-util-is": {
|
||||||
|
"version": "4.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.0.2.tgz",
|
||||||
|
"integrity": "sha512-Ofx8uf6haexJwI1gxWMGg6I/dLnF2yE+KibhD3/diOqY2TinLcqHXCV6OI5gFVn3xQqDH+u0M625pfKwIwgBKQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"unist-util-visit": {
|
||||||
|
"version": "2.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz",
|
||||||
|
"integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"@types/unist": "^2.0.0",
|
||||||
|
"unist-util-is": "^4.0.0",
|
||||||
|
"unist-util-visit-parents": "^3.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"gatsby-remark-prismjs": {
|
"gatsby-remark-prismjs": {
|
||||||
"version": "3.5.10",
|
"version": "3.5.10",
|
||||||
"resolved": "https://registry.npmjs.org/gatsby-remark-prismjs/-/gatsby-remark-prismjs-3.5.10.tgz",
|
"resolved": "https://registry.npmjs.org/gatsby-remark-prismjs/-/gatsby-remark-prismjs-3.5.10.tgz",
|
||||||
@@ -12824,6 +13003,12 @@
|
|||||||
"resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz",
|
||||||
"integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg=="
|
"integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg=="
|
||||||
},
|
},
|
||||||
|
"normalize.css": {
|
||||||
|
"version": "8.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/normalize.css/-/normalize.css-8.0.1.tgz",
|
||||||
|
"integrity": "sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"npm-conf": {
|
"npm-conf": {
|
||||||
"version": "1.1.3",
|
"version": "1.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz",
|
||||||
@@ -13782,6 +13967,53 @@
|
|||||||
"postcss": "^7.0.26"
|
"postcss": "^7.0.26"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"postcss-functions": {
|
||||||
|
"version": "3.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/postcss-functions/-/postcss-functions-3.0.0.tgz",
|
||||||
|
"integrity": "sha1-DpTQFERwCkgd4g3k1V+yZAVkJQ4=",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"glob": "^7.1.2",
|
||||||
|
"object-assign": "^4.1.1",
|
||||||
|
"postcss": "^6.0.9",
|
||||||
|
"postcss-value-parser": "^3.3.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"postcss": {
|
||||||
|
"version": "6.0.23",
|
||||||
|
"resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
|
||||||
|
"integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"chalk": "^2.4.1",
|
||||||
|
"source-map": "^0.6.1",
|
||||||
|
"supports-color": "^5.4.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"postcss-value-parser": {
|
||||||
|
"version": "3.3.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
|
||||||
|
"integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"source-map": {
|
||||||
|
"version": "0.6.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||||
|
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"postcss-js": {
|
||||||
|
"version": "2.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-2.0.3.tgz",
|
||||||
|
"integrity": "sha512-zS59pAk3deu6dVHyrGqmC3oDXBdNdajk4k1RyxeVXCrcEDBUBHoIhE4QTsmhxgzXxsaqFDAkUZfmMa5f/N/79w==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"camelcase-css": "^2.0.1",
|
||||||
|
"postcss": "^7.0.18"
|
||||||
|
}
|
||||||
|
},
|
||||||
"postcss-load-config": {
|
"postcss-load-config": {
|
||||||
"version": "2.1.0",
|
"version": "2.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.0.tgz",
|
||||||
@@ -14073,6 +14305,16 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"postcss-nested": {
|
||||||
|
"version": "4.2.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-4.2.3.tgz",
|
||||||
|
"integrity": "sha512-rOv0W1HquRCamWy2kFl3QazJMMe1ku6rCFoAAH+9AcxdbpDeBr6k968MLWuLjvjMcGEip01ak09hKOEgpK9hvw==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"postcss": "^7.0.32",
|
||||||
|
"postcss-selector-parser": "^6.0.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
"postcss-normalize-charset": {
|
"postcss-normalize-charset": {
|
||||||
"version": "4.0.1",
|
"version": "4.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz",
|
||||||
@@ -14437,6 +14679,12 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"pretty-hrtime": {
|
||||||
|
"version": "1.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
|
||||||
|
"integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"prismjs": {
|
"prismjs": {
|
||||||
"version": "1.20.0",
|
"version": "1.20.0",
|
||||||
"resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.20.0.tgz",
|
"resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.20.0.tgz",
|
||||||
@@ -14609,6 +14857,26 @@
|
|||||||
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
|
||||||
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
|
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
|
||||||
},
|
},
|
||||||
|
"purgecss": {
|
||||||
|
"version": "2.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/purgecss/-/purgecss-2.3.0.tgz",
|
||||||
|
"integrity": "sha512-BE5CROfVGsx2XIhxGuZAT7rTH9lLeQx/6M0P7DTXQH4IUc3BBzs9JUzt4yzGf3JrH9enkeq6YJBe9CTtkm1WmQ==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"commander": "^5.0.0",
|
||||||
|
"glob": "^7.0.0",
|
||||||
|
"postcss": "7.0.32",
|
||||||
|
"postcss-selector-parser": "^6.0.2"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"commander": {
|
||||||
|
"version": "5.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz",
|
||||||
|
"integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==",
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"q": {
|
"q": {
|
||||||
"version": "1.5.1",
|
"version": "1.5.1",
|
||||||
"resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
|
"resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
|
||||||
@@ -15203,6 +15471,24 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"reduce-css-calc": {
|
||||||
|
"version": "2.1.7",
|
||||||
|
"resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-2.1.7.tgz",
|
||||||
|
"integrity": "sha512-fDnlZ+AybAS3C7Q9xDq5y8A2z+lT63zLbynew/lur/IR24OQF5x98tfNwf79mzEdfywZ0a2wpM860FhFfMxZlA==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"css-unit-converter": "^1.1.1",
|
||||||
|
"postcss-value-parser": "^3.3.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"postcss-value-parser": {
|
||||||
|
"version": "3.3.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
|
||||||
|
"integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"redux": {
|
"redux": {
|
||||||
"version": "4.0.5",
|
"version": "4.0.5",
|
||||||
"resolved": "https://registry.npmjs.org/redux/-/redux-4.0.5.tgz",
|
"resolved": "https://registry.npmjs.org/redux/-/redux-4.0.5.tgz",
|
||||||
@@ -17470,6 +17756,99 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"tailwindcss": {
|
||||||
|
"version": "1.7.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-1.7.6.tgz",
|
||||||
|
"integrity": "sha512-focAhU3ciM1/UYBHQVKKzede4zC3y9+IHzU2N/ZF6mbZbhY8S96lOxrO2Y6LMU08+Dbh2xBLmO1bsioLk3Egig==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"@fullhuman/postcss-purgecss": "^2.1.2",
|
||||||
|
"autoprefixer": "^9.4.5",
|
||||||
|
"browserslist": "^4.12.0",
|
||||||
|
"bytes": "^3.0.0",
|
||||||
|
"chalk": "^3.0.0 || ^4.0.0",
|
||||||
|
"color": "^3.1.2",
|
||||||
|
"detective": "^5.2.0",
|
||||||
|
"fs-extra": "^8.0.0",
|
||||||
|
"lodash": "^4.17.20",
|
||||||
|
"node-emoji": "^1.8.1",
|
||||||
|
"normalize.css": "^8.0.1",
|
||||||
|
"object-hash": "^2.0.3",
|
||||||
|
"postcss": "^7.0.11",
|
||||||
|
"postcss-functions": "^3.0.0",
|
||||||
|
"postcss-js": "^2.0.0",
|
||||||
|
"postcss-nested": "^4.1.1",
|
||||||
|
"postcss-selector-parser": "^6.0.0",
|
||||||
|
"postcss-value-parser": "^4.1.0",
|
||||||
|
"pretty-hrtime": "^1.0.3",
|
||||||
|
"reduce-css-calc": "^2.1.6",
|
||||||
|
"resolve": "^1.14.2"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"ansi-styles": {
|
||||||
|
"version": "4.2.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
|
||||||
|
"integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"@types/color-name": "^1.1.1",
|
||||||
|
"color-convert": "^2.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chalk": {
|
||||||
|
"version": "4.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
|
||||||
|
"integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"ansi-styles": "^4.1.0",
|
||||||
|
"supports-color": "^7.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"color-convert": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"color-name": "~1.1.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"color-name": {
|
||||||
|
"version": "1.1.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
|
||||||
|
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"has-flag": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"lodash": {
|
||||||
|
"version": "4.17.20",
|
||||||
|
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
|
||||||
|
"integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"object-hash": {
|
||||||
|
"version": "2.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.0.3.tgz",
|
||||||
|
"integrity": "sha512-JPKn0GMu+Fa3zt3Bmr66JhokJU5BaNBIh4ZeTlaCBzrBsOeXzwcKKAK1tbLiPKgvwmPXsDvvLHoWh5Bm7ofIYg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"supports-color": {
|
||||||
|
"version": "7.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
||||||
|
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"has-flag": "^4.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"tapable": {
|
"tapable": {
|
||||||
"version": "1.1.3",
|
"version": "1.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
|
||||||
|
|||||||
+6
-1
@@ -25,8 +25,13 @@
|
|||||||
"react-helmet": "^6.1.0"
|
"react-helmet": "^6.1.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"gatsby-plugin-postcss": "^2.3.11",
|
||||||
|
"gatsby-plugin-purgecss": "^5.0.0",
|
||||||
|
"gatsby-plugin-twitter": "^2.3.10",
|
||||||
|
"gatsby-remark-embedder": "^3.0.0",
|
||||||
"gh-pages": "^3.1.0",
|
"gh-pages": "^3.1.0",
|
||||||
"prettier": "2.0.5"
|
"prettier": "2.0.5",
|
||||||
|
"tailwindcss": "^1.7.6"
|
||||||
},
|
},
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"gatsby"
|
"gatsby"
|
||||||
|
|||||||
+12
-12
@@ -25,34 +25,34 @@ const Addons = (props) => {
|
|||||||
document.body.removeChild(tempElement);
|
document.body.removeChild(tempElement);
|
||||||
}
|
}
|
||||||
return (
|
return (
|
||||||
<div className="section">
|
<div className="flex justify-center items-start flex-col w-full px-2 sm:px-6 mb-10">
|
||||||
<div className="section-title">Add-ons</div>
|
<div className="text-xl sm:text-2xl font-bold font-title mt-2 mb-2">Add-ons</div>
|
||||||
<div className="checkbox">
|
<div className="py-2 flex justify-start items-center text-sm sm:text-lg">
|
||||||
<label htmlFor="visitors-count" className="checkboxLabel">
|
<label htmlFor="visitors-count" className="cursor-pointer">
|
||||||
<input type="checkbox" id="visitors-count" checked={props.data.visitorsBadge}
|
<input type="checkbox" id="visitors-count" checked={props.data.visitorsBadge}
|
||||||
onChange={event => props.handleCheckChange('visitorsBadge')} /> display visitors count badge
|
onChange={event => props.handleCheckChange('visitorsBadge')} /> display visitors count badge
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div className="checkbox">
|
<div className="py-2 flex justify-start items-center text-sm sm:text-lg">
|
||||||
<label htmlFor="github-stats" className="checkboxLabel">
|
<label htmlFor="github-stats" className="cursor-pointer">
|
||||||
<input id="github-stats" type="checkbox" checked={props.data.githubStats}
|
<input id="github-stats" type="checkbox" checked={props.data.githubStats}
|
||||||
onChange={event => props.handleCheckChange('githubStats')} /> display github profile stats card
|
onChange={event => props.handleCheckChange('githubStats')} /> display github profile stats card
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div className="checkbox">
|
<div className="py-2 flex justify-start items-center text-sm sm:text-lg">
|
||||||
<label htmlFor="top-languages" className="checkboxLabel">
|
<label htmlFor="top-languages" className="cursor-pointer">
|
||||||
<input id="top-languages" type="checkbox" checked={props.data.topLanguages}
|
<input id="top-languages" type="checkbox" checked={props.data.topLanguages}
|
||||||
onChange={event => props.handleCheckChange('topLanguages')} /> display top skills
|
onChange={event => props.handleCheckChange('topLanguages')} /> display top skills
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div className="checkbox">
|
<div className="py-2 flex justify-start items-center text-sm sm:text-lg">
|
||||||
<label htmlFor="dev-dynamic-blogs" className="checkboxLabel">
|
<label htmlFor="dev-dynamic-blogs" className="cursor-pointer">
|
||||||
<input id="dev-dynamic-blogs" type="checkbox" checked={props.data.devDynamicBlogs}
|
<input id="dev-dynamic-blogs" type="checkbox" checked={props.data.devDynamicBlogs}
|
||||||
onChange={event => props.handleCheckChange('devDynamicBlogs')} /> display latest dev.to blogs dynamically (GitHub Action)
|
onChange={event => props.handleCheckChange('devDynamicBlogs')} /> display latest dev.to blogs dynamically (GitHub Action)
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div className="checkbox">
|
<div className="py-2 flex justify-start items-center text-sm sm:text-lg">
|
||||||
<label htmlFor="medium-dynamic-blogs" className="checkboxLabel">
|
<label htmlFor="medium-dynamic-blogs" className="cursor-pointer">
|
||||||
<input id="medium-dynamic-blogs" type="checkbox" checked={props.data.mediumDynamicBlogs}
|
<input id="medium-dynamic-blogs" type="checkbox" checked={props.data.mediumDynamicBlogs}
|
||||||
onChange={event => props.handleCheckChange('mediumDynamicBlogs')} /> display latest medium blogs dynamically (GitHub Action)
|
onChange={event => props.handleCheckChange('mediumDynamicBlogs')} /> display latest medium blogs dynamically (GitHub Action)
|
||||||
</label>
|
</label>
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ import links from '../constants/page-links'
|
|||||||
import { Link } from 'gatsby'
|
import { Link } from 'gatsby'
|
||||||
const Footer = () => {
|
const Footer = () => {
|
||||||
return (
|
return (
|
||||||
<div className="footer">
|
<div className="bg-gray-100 p-4 flex flex-col justify-center items-center shadow-inner mt-2">
|
||||||
<div className="footer-pages">
|
<div className="w-full flex justify-evenly items-center py-2 text-orange-500">
|
||||||
<div>
|
<div>
|
||||||
<Link to={links.about} activeStyle={{ color: "#002ead" }}>
|
<Link to={links.about} activeStyle={{ color: "#002ead" }}>
|
||||||
About
|
About
|
||||||
@@ -21,7 +21,7 @@ const Footer = () => {
|
|||||||
</Link>
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="footer-proud">
|
<div className="py-2">
|
||||||
Developed in India <span role="img" aria-label="india"> 🇮🇳</span>
|
Developed in India <span role="img" aria-label="india"> 🇮🇳</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+16
-17
@@ -4,9 +4,9 @@ import logo from "../images/mdg.png"
|
|||||||
import links from "../constants/page-links"
|
import links from "../constants/page-links"
|
||||||
import gsap from "gsap"
|
import gsap from "gsap"
|
||||||
import axios from "axios"
|
import axios from "axios"
|
||||||
import {Link} from "gatsby"
|
import { Link } from "gatsby"
|
||||||
|
|
||||||
const Header = (props) => {
|
const Header = props => {
|
||||||
const fetchData = async () => {
|
const fetchData = async () => {
|
||||||
var response = await axios.get(
|
var response = await axios.get(
|
||||||
"https://api.github.com/repos/rahuldkjain/github-profile-readme-generator"
|
"https://api.github.com/repos/rahuldkjain/github-profile-readme-generator"
|
||||||
@@ -29,10 +29,10 @@ const Header = (props) => {
|
|||||||
fetchData()
|
fetchData()
|
||||||
setInterval(fetchData, 60000)
|
setInterval(fetchData, 60000)
|
||||||
|
|
||||||
gsap.set(".star-icon, .fork-icon", {
|
gsap.set(".star, .fork", {
|
||||||
transformOrigin: "center",
|
transformOrigin: "center",
|
||||||
})
|
})
|
||||||
gsap.to(".star-icon, .fork-icon", {
|
gsap.to(".star, .fork", {
|
||||||
rotateZ: "360",
|
rotateZ: "360",
|
||||||
duration: 2,
|
duration: 2,
|
||||||
ease: "elastic.inOut",
|
ease: "elastic.inOut",
|
||||||
@@ -42,28 +42,27 @@ const Header = (props) => {
|
|||||||
}, [])
|
}, [])
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="header">
|
<div className="shadow flex items-center justify-center flex-col mb-2 py-2">
|
||||||
<Link to={links.home}>
|
<Link to={links.home}>
|
||||||
<h1 className="heading">
|
<h1 className="text-base font-bold font-title sm:text-2xl font-medium text-blue-800 flex justify-center items-center flex-col">
|
||||||
<img
|
<img
|
||||||
src={logo}
|
src={logo}
|
||||||
className="logo"
|
className="w-12 h-12"
|
||||||
alt="github profile markdown generator logo"
|
alt="github profile markdown generator logo"
|
||||||
/>
|
/>
|
||||||
<div>
|
<div>{props.heading}</div>
|
||||||
{props.heading}
|
|
||||||
</div>
|
|
||||||
</h1>
|
</h1>
|
||||||
</Link>
|
</Link>
|
||||||
<div className="github">
|
<div className="flex justify-center items-center">
|
||||||
<a
|
<a
|
||||||
href="https://github.com/rahuldkjain/github-profile-readme-generator"
|
href="https://github.com/rahuldkjain/github-profile-readme-generator"
|
||||||
aria-label="Star rahuldkjain/github-profile-readme-generator on GitHub"
|
aria-label="Star rahuldkjain/github-profile-readme-generator on GitHub"
|
||||||
target="blank"
|
target="blank"
|
||||||
|
className="mr-2"
|
||||||
>
|
>
|
||||||
<div className="github-button">
|
<div className="text-xxs sm:text-sm border-2 border-solid border-gray-900 bg-gray-100 flex items-center justify-center py-1 px-2">
|
||||||
<StarIcon size={16} className="star-icon" /> Star this repo{" "}
|
<StarIcon size={16} id="star-icon" className="px-1 w-6 star" />Star this repo
|
||||||
<span className="github-count">{stats.starsCount}</span>
|
<span className="github-count px-1 sm:px-2">{stats.starsCount}</span>
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
<a
|
<a
|
||||||
@@ -71,9 +70,9 @@ const Header = (props) => {
|
|||||||
aria-label="Fork rahuldkjain/github-profile-readme-generator on GitHub"
|
aria-label="Fork rahuldkjain/github-profile-readme-generator on GitHub"
|
||||||
target="blank"
|
target="blank"
|
||||||
>
|
>
|
||||||
<div className="github-button">
|
<div className="text-xxs sm:text-sm border-2 border-solid border-gray-900 bg-gray-100 flex items-center justify-center py-1 px-2">
|
||||||
<RepoForkedIcon size={16} className="fork-icon" /> Fork on GitHub{" "}
|
<RepoForkedIcon size={16} id="fork-icon" className="px-1 w-6 fork" />Fork on GitHub
|
||||||
<span className="github-count">{stats.forksCount}</span>
|
<span className="github-count px-1 sm:px-2">{stats.forksCount}</span>
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -0,0 +1,21 @@
|
|||||||
|
import React from "react";
|
||||||
|
import Header from "./header";
|
||||||
|
import Footer from "./footer";
|
||||||
|
|
||||||
|
|
||||||
|
const Layout = ({children}) => {
|
||||||
|
return (
|
||||||
|
<div className="flex flex-col min-h-screen">
|
||||||
|
<header>
|
||||||
|
<Header heading="GitHub Profile README Generator" />
|
||||||
|
</header>
|
||||||
|
<main className="flex-grow">
|
||||||
|
{children}
|
||||||
|
</main>
|
||||||
|
<footer>
|
||||||
|
<Footer />
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
};
|
||||||
|
export default Layout;
|
||||||
@@ -70,7 +70,7 @@ const Markdown = (props) => {
|
|||||||
listChosenSkills.push(`<img src="${icons[skill]}" alt="${skill}" width="40" height="40"/>`);
|
listChosenSkills.push(`<img src="${icons[skill]}" alt="${skill}" width="40" height="40"/>`);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
return listChosenSkills.length > 0 ? `<p align="left">${listChosenSkills.join(' ')}</p>` : '';
|
return listChosenSkills.length > 0 ? (<>{`<p align="left">${listChosenSkills.join(' ')}</p>`}<br/><br/></>) : '';
|
||||||
}
|
}
|
||||||
const DisplayDynamicBlogs = (props) => {
|
const DisplayDynamicBlogs = (props) => {
|
||||||
if (props.show) {
|
if (props.show) {
|
||||||
@@ -93,7 +93,7 @@ const Markdown = (props) => {
|
|||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
return (
|
return (
|
||||||
<div id="markdown-content">
|
<div id="markdown-content" className="break-words">
|
||||||
<><Title prefix={props.prefix.title} title={props.data.title} /></>
|
<><Title prefix={props.prefix.title} title={props.data.title} /></>
|
||||||
<><SubTitle subtitle={props.data.subtitle} /></>
|
<><SubTitle subtitle={props.data.subtitle} /></>
|
||||||
<><VisitorsBadge show={props.data.visitorsBadge} github={props.social.github} /></>
|
<><VisitorsBadge show={props.data.visitorsBadge} github={props.social.github} /></>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ const MarkdownPreview = (props) => {
|
|||||||
const TitlePreview = (props) => {
|
const TitlePreview = (props) => {
|
||||||
if (props.prefix && props.title) {
|
if (props.prefix && props.title) {
|
||||||
return (
|
return (
|
||||||
<h1 className="title">{props.prefix + ' ' + props.title}</h1>
|
<h1 className="text-center text-xl font-bold">{props.prefix + ' ' + props.title}</h1>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
@@ -13,7 +13,7 @@ const MarkdownPreview = (props) => {
|
|||||||
const SubTitlePreview = (props) => {
|
const SubTitlePreview = (props) => {
|
||||||
if (props.subtitle) {
|
if (props.subtitle) {
|
||||||
return (
|
return (
|
||||||
<h3 className="subtitle">{props.subtitle}</h3>
|
<h3 className="text-center font-medium">{props.subtitle}</h3>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
@@ -22,18 +22,18 @@ const MarkdownPreview = (props) => {
|
|||||||
if (props.prefix && props.project) {
|
if (props.prefix && props.project) {
|
||||||
if (props.link) {
|
if (props.link) {
|
||||||
return (
|
return (
|
||||||
<div>
|
<div className="my-2">
|
||||||
{props.prefix + ' '}<a href={props.link} className="link" target="blank">{props.project}</a>
|
{props.prefix + ' '}<a href={props.link} className="no-underline text-blue-700" target="blank">{props.project}</a>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
return (<div>{props.prefix + ' '}<b>{props.project}</b></div>);
|
return (<div className="my-2">{props.prefix + ' '}<b>{props.project}</b></div>);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (props.prefix && props.link) {
|
if (props.prefix && props.link) {
|
||||||
return (
|
return (
|
||||||
<div>
|
<div className="my-2">
|
||||||
{props.prefix + ' '}<a href={props.link} className="link" target="blank">{props.link}</a>
|
{props.prefix + ' '}<a href={props.link} className="no-underline text-blue-700" target="blank">{props.link}</a>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -60,13 +60,13 @@ const MarkdownPreview = (props) => {
|
|||||||
}
|
}
|
||||||
const DisplaySocial = (props) => {
|
const DisplaySocial = (props) => {
|
||||||
if (props.username) {
|
if (props.username) {
|
||||||
return (<a className="link social-icon" href={props.base + '/' + props.username} target="blank"><img className="icon" src={props.icon} alt="props.username" /></a>)
|
return (<a className="no-underline text-blue-700 m-2" href={props.base + '/' + props.username} target="blank"><img className="w-6 h-6" src={props.icon} alt="props.username" /></a>)
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
const SocialPreview = (props) => {
|
const SocialPreview = (props) => {
|
||||||
return (
|
return (
|
||||||
<div className="social">
|
<div className="flex justify-center items-end">
|
||||||
<DisplaySocial base="https://codepen.io" icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/codepen.svg" username={props.social.codepen} />
|
<DisplaySocial base="https://codepen.io" icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/codepen.svg" username={props.social.codepen} />
|
||||||
<DisplaySocial base="https://dev.to" icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/dev-dot-to.svg" username={props.social.dev} />
|
<DisplaySocial base="https://dev.to" icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/dev-dot-to.svg" username={props.social.dev} />
|
||||||
<DisplaySocial base="https://twitter.com" icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/twitter.svg" username={props.social.twitter} />
|
<DisplaySocial base="https://twitter.com" icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/twitter.svg" username={props.social.twitter} />
|
||||||
@@ -94,32 +94,32 @@ 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
|
||||||
if (props.show) {
|
if (props.show) {
|
||||||
return (<div className="badge"> <img className="badgeImage" src={link} alt={props.github} /> </div>)
|
return (<div className="text-left my-2"> <img className="h-4 sm:h-6" src={link} alt={props.github} /> </div>)
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
const GitHubStatsPreview = (props) => {
|
const GitHubStatsPreview = (props) => {
|
||||||
let link = "https://github-readme-stats.vercel.app/api?username=" + props.github + "&show_icons=true"
|
let link = "https://github-readme-stats.vercel.app/api?username=" + props.github + "&show_icons=true"
|
||||||
if (props.show) {
|
if (props.show) {
|
||||||
return (<div className="github-stats-card"><img src={link} alt={props.github} /></div>)
|
return (<div className="text-center mx-4 mb-4"><img src={link} alt={props.github} /></div>)
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
const TopLanguagesPreview = (props) => {
|
const TopLanguagesPreview = (props) => {
|
||||||
let link = "https://github-readme-stats.vercel.app/api/top-langs/?username=" + props.github + "&layout=compact&hide=html"
|
let link = "https://github-readme-stats.vercel.app/api/top-langs/?username=" + props.github + "&layout=compact&hide=html"
|
||||||
if (props.show) {
|
if (props.show) {
|
||||||
return (<div className="top-languages-card"><img src={link} alt={props.github} /></div>)
|
return (<div className="text-center mx-4 mb-4"><img src={link} alt={props.github} /></div>)
|
||||||
}
|
}
|
||||||
return <div className="top-languages-card"> </div>;
|
return <div className="text-center mx-4 mb-4"> </div>;
|
||||||
}
|
}
|
||||||
const SkillsPreview = (props) => {
|
const SkillsPreview = (props) => {
|
||||||
var listSkills = []
|
var listSkills = []
|
||||||
skills.forEach((skill) => {
|
skills.forEach((skill) => {
|
||||||
if (props.skills[skill]) {
|
if (props.skills[skill]) {
|
||||||
listSkills.push(<img className="skill-preview-icon" key={skill} src={icons[skill]} alt={skill} />)
|
listSkills.push(<img className="my-4 mx-4 h-6 w-6 sm:h-10 sm:w-10" key={skill} src={icons[skill]} alt={skill} />)
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
return listSkills.length > 0 ? <div className='skills-preview'>{listSkills}</div> : ''
|
return listSkills.length > 0 ? <div className='flex flex-wrap justify-start items-center'>{listSkills}</div> : ''
|
||||||
}
|
}
|
||||||
return (
|
return (
|
||||||
<div id="markdown-preview">
|
<div id="markdown-preview">
|
||||||
@@ -128,7 +128,7 @@ const MarkdownPreview = (props) => {
|
|||||||
<VisitorsBadgePreview show={props.data.visitorsBadge} github={props.social.github} />
|
<VisitorsBadgePreview show={props.data.visitorsBadge} github={props.social.github} />
|
||||||
<WorkPreview work={props} />
|
<WorkPreview work={props} />
|
||||||
<SkillsPreview skills={props.skills} />
|
<SkillsPreview skills={props.skills} />
|
||||||
<div className="github-cards">
|
<div className="block sm:flex sm:justify-center sm:items-start">
|
||||||
<TopLanguagesPreview show={props.data.topLanguages} github={props.social.github} />
|
<TopLanguagesPreview show={props.data.topLanguages} github={props.social.github} />
|
||||||
<GitHubStatsPreview show={props.data.githubStats} github={props.social.github} />
|
<GitHubStatsPreview show={props.data.githubStats} github={props.social.github} />
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,18 +1,18 @@
|
|||||||
import React, { Fragment } from "react"
|
import React from "react"
|
||||||
import { icons, categorizedSkills } from "../constants/skills"
|
import { icons, categorizedSkills } from "../constants/skills"
|
||||||
|
|
||||||
const Skills = props => {
|
const Skills = props => {
|
||||||
const createSkill = skill => {
|
const createSkill = skill => {
|
||||||
return (
|
return (
|
||||||
<div className="skillCheckbox" key={skill}>
|
<div className="w-1/3 sm:w-1/4 my-6" key={skill}>
|
||||||
<label htmlFor={skill} className="skillCheckboxLabel">
|
<label htmlFor={skill} className="skillCheckboxLabel cursor-pointer flex items-center justify-start">
|
||||||
<input
|
<input
|
||||||
id={skill}
|
id={skill}
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
checked={props.skills[skill]}
|
checked={props.skills[skill]}
|
||||||
onChange={event => props.handleSkillsChange(skill)}
|
onChange={(event) => props.handleSkillsChange(skill)}
|
||||||
/>
|
/>
|
||||||
<img className="skill-icon" src={icons[skill]} alt={skill} />
|
<img className="ml-4 w-8 h-8 sm:w-10 sm:h-10" src={icons[skill]} alt={skill} />
|
||||||
<span className="tooltiptext">{skill}</span>
|
<span className="tooltiptext">{skill}</span>
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
@@ -20,15 +20,15 @@ const Skills = props => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div>
|
<div className="px-2 sm:px-6 mb-10">
|
||||||
<div className="section-title">Skills</div>
|
<div className="text-xl sm:text-2xl font-bold font-title mt-2 mb-2">Skills</div>
|
||||||
|
|
||||||
{Object.keys(categorizedSkills).map(key => (
|
{Object.keys(categorizedSkills).map(key => (
|
||||||
<div key={key}>
|
<div key={key}>
|
||||||
<h4 className="skills-category-title">
|
<h4 className="text-sm sm:text-xl text-gray-900 text-center">
|
||||||
{categorizedSkills[key].title}
|
{categorizedSkills[key].title}
|
||||||
</h4>
|
</h4>
|
||||||
<div className="skills">
|
<div className="flex justify-start items-center flex-wrap w-full mb-6 pl-4 sm:pl-10">
|
||||||
{categorizedSkills[key].skills.map(skill => createSkill(skill))}
|
{categorizedSkills[key].skills.map(skill => createSkill(skill))}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+89
-85
@@ -2,91 +2,95 @@ import React from 'react';
|
|||||||
|
|
||||||
const Social = (props) => {
|
const Social = (props) => {
|
||||||
return (
|
return (
|
||||||
<div className="section">
|
<div className="px-2 sm:px-6 mb-4">
|
||||||
<div className="section-title">Social</div>
|
<div className="text-xl sm:text-2xl font-bold font-title mt-2 mb-2">Social</div>
|
||||||
<div className="container">
|
<div className="flex flex-wrap justify-center items-center">
|
||||||
<img src="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/github.svg"
|
<div className="w-1/2 flex justify-center items-center text-xxs sm:text-lg py-4 pr-2 sm:pr-0">
|
||||||
className="icon" alt="github" />
|
<img src="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/github.svg"
|
||||||
<input id="github" placeholder="github username" className="inputField lg"
|
className="w-6 h-6 sm:w-8 sm:h-8 mr-1 sm:mr-4" alt="github" />
|
||||||
value={props.social.github} onChange={event => props.handleSocialChange('github', event)} />
|
<input id="github" placeholder="github username"
|
||||||
</div>
|
className="placeholder-gray-700 w-32 sm:w-1/2 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-1 sm:px-2 focus:border-blue-700"
|
||||||
<div className="container">
|
value={props.social.github} onChange={event => props.handleSocialChange('github', event)} />
|
||||||
<img src="https://cdn.jsdelivr.net/npm/simple-icons@v3/icons/twitter.svg"
|
</div>
|
||||||
className="icon" alt="twitter" />
|
<div className="w-1/2 flex justify-center items-center text-xxs sm:text-lg py-4 pr-2 sm:pr-0">
|
||||||
<input id="twitter" placeholder="twitter username" className="inputField lg"
|
<img src="https://cdn.jsdelivr.net/npm/simple-icons@v3/icons/twitter.svg"
|
||||||
value={props.social.twitter} onChange={event => props.handleSocialChange('twitter', event)} />
|
className="w-6 h-6 sm:w-8 sm:h-8 mr-1 sm:mr-4" alt="twitter" />
|
||||||
</div>
|
<input id="twitter" placeholder="twitter username"
|
||||||
<div className="container">
|
className="placeholder-gray-700 w-32 sm:w-1/2 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
|
||||||
<img src="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/dev-dot-to.svg"
|
value={props.social.twitter} onChange={event => props.handleSocialChange('twitter', event)} />
|
||||||
className="icon" alt="dev.to" />
|
</div>
|
||||||
<input id="dev" placeholder="dev.to username" className="inputField lg"
|
<div className="w-1/2 flex justify-center items-center text-xxs sm:text-lg py-4 pr-2 sm:pr-0">
|
||||||
value={props.social.dev} onChange={event => props.handleSocialChange('dev', event)} />
|
<img src="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/dev-dot-to.svg"
|
||||||
</div>
|
className="w-6 h-6 sm:w-8 sm:h-8 mr-1 sm:mr-4" alt="dev.to" />
|
||||||
<div className="container">
|
<input id="dev" placeholder="dev.to username" className="placeholder-gray-700 w-32 sm:w-1/2 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
|
||||||
<img src="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/codepen.svg"
|
value={props.social.dev} onChange={event => props.handleSocialChange('dev', event)} />
|
||||||
className="icon" alt="codepen" />
|
</div>
|
||||||
<input id="codepen" placeholder="codepen username" className="inputField lg"
|
<div className="w-1/2 flex justify-center items-center text-xxs sm:text-lg py-4 pr-2 sm:pr-0">
|
||||||
value={props.social.codepen} onChange={event => props.handleSocialChange('codepen', event)} />
|
<img src="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/codepen.svg"
|
||||||
</div>
|
className="w-6 h-6 sm:w-8 sm:h-8 mr-1 sm:mr-4" alt="codepen" />
|
||||||
<div className="container">
|
<input id="codepen" placeholder="codepen username" className="placeholder-gray-700 w-32 sm:w-1/2 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
|
||||||
<img src="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/codesandbox.svg"
|
value={props.social.codepen} onChange={event => props.handleSocialChange('codepen', event)} />
|
||||||
className="icon" alt="codesandbox" />
|
</div>
|
||||||
<input id="codesandbox" placeholder="codesandbox username" className="inputField lg"
|
<div className="w-1/2 flex justify-center items-center text-xxs sm:text-lg py-4 pr-2 sm:pr-0">
|
||||||
value={props.social.codesandbox} onChange={event => props.handleSocialChange('codesandbox', event)} />
|
<img src="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/codesandbox.svg"
|
||||||
</div>
|
className="w-6 h-6 sm:w-8 sm:h-8 mr-1 sm:mr-4" alt="codesandbox" />
|
||||||
<div className="container">
|
<input id="codesandbox" placeholder="codesandbox username" className="placeholder-gray-700 w-32 sm:w-1/2 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
|
||||||
<img src="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/stackoverflow.svg"
|
value={props.social.codesandbox} onChange={event => props.handleSocialChange('codesandbox', event)} />
|
||||||
className="icon" alt="stackoverflow" />
|
</div>
|
||||||
<input id="stackoverflow" placeholder="stackoverflow user ID" className="inputField lg"
|
<div className="w-1/2 flex justify-center items-center text-xxs sm:text-lg py-4 pr-2 sm:pr-0">
|
||||||
value={props.social.stackoverflow} onChange={event => props.handleSocialChange('stackoverflow', event)} />
|
<img src="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/stackoverflow.svg"
|
||||||
</div>
|
className="w-6 h-6 sm:w-8 sm:h-8 mr-1 sm:mr-4" alt="stackoverflow" />
|
||||||
<div className="container">
|
<input id="stackoverflow" placeholder="stackoverflow user ID" className="placeholder-gray-700 w-32 sm:w-1/2 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
|
||||||
<img src="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/linkedin.svg"
|
value={props.social.stackoverflow} onChange={event => props.handleSocialChange('stackoverflow', event)} />
|
||||||
className="icon" alt="linkedin" />
|
</div>
|
||||||
<input id="linkedin" placeholder="linkedin username" className="inputField lg"
|
<div className="w-1/2 flex justify-center items-center text-xxs sm:text-lg py-4 pr-2 sm:pr-0">
|
||||||
value={props.social.linkedin} onChange={event => props.handleSocialChange('linkedin', event)} />
|
<img src="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/linkedin.svg"
|
||||||
</div>
|
className="w-6 h-6 sm:w-8 sm:h-8 mr-1 sm:mr-4" alt="linkedin" />
|
||||||
<div className="container">
|
<input id="linkedin" placeholder="linkedin username" className="placeholder-gray-700 w-32 sm:w-1/2 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
|
||||||
<img src="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/kaggle.svg"
|
value={props.social.linkedin} onChange={event => props.handleSocialChange('linkedin', event)} />
|
||||||
className="icon" alt="kaggle" />
|
</div>
|
||||||
<input id="kaggle" placeholder="kaggle username" className="inputField lg"
|
<div className="w-1/2 flex justify-center items-center text-xxs sm:text-lg py-4 pr-2 sm:pr-0">
|
||||||
value={props.social.kaggle} onChange={event => props.handleSocialChange('kaggle', event)} />
|
<img src="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/kaggle.svg"
|
||||||
</div>
|
className="w-6 h-6 sm:w-8 sm:h-8 mr-1 sm:mr-4" alt="kaggle" />
|
||||||
<div className="container">
|
<input id="kaggle" placeholder="kaggle username" className="placeholder-gray-700 w-32 sm:w-1/2 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
|
||||||
<img src="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/facebook.svg"
|
value={props.social.kaggle} onChange={event => props.handleSocialChange('kaggle', event)} />
|
||||||
className="icon" alt="facebook" />
|
</div>
|
||||||
<input id="fb" placeholder="facebook username" className="inputField lg"
|
<div className="w-1/2 flex justify-center items-center text-xxs sm:text-lg py-4 pr-2 sm:pr-0">
|
||||||
value={props.social.fb} onChange={event => props.handleSocialChange('fb', event)} />
|
<img src="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/facebook.svg"
|
||||||
</div>
|
className="w-6 h-6 sm:w-8 sm:h-8 mr-1 sm:mr-4" alt="facebook" />
|
||||||
<div className="container">
|
<input id="fb" placeholder="facebook username" className="placeholder-gray-700 w-32 sm:w-1/2 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
|
||||||
<img src="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/instagram.svg"
|
value={props.social.fb} onChange={event => props.handleSocialChange('fb', event)} />
|
||||||
className="icon" alt="instagram" />
|
</div>
|
||||||
<input id="instagram" placeholder="instagram username" className="inputField lg"
|
<div className="w-1/2 flex justify-center items-center text-xxs sm:text-lg py-4 pr-2 sm:pr-0">
|
||||||
value={props.social.instagram} onChange={event => props.handleSocialChange('instagram', event)} />
|
<img src="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/instagram.svg"
|
||||||
</div>
|
className="w-6 h-6 sm:w-8 sm:h-8 mr-1 sm:mr-4" alt="instagram" />
|
||||||
<div className="container">
|
<input id="instagram" placeholder="instagram username" className="placeholder-gray-700 w-32 sm:w-1/2 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
|
||||||
<img src="https://cdn.jsdelivr.net/npm/simple-icons@3.1.0/icons/dribbble.svg"
|
value={props.social.instagram} onChange={event => props.handleSocialChange('instagram', event)} />
|
||||||
className="icon" alt="dribbble" />
|
</div>
|
||||||
<input id="dribbble" placeholder="dribbble username" className="inputField lg"
|
<div className="w-1/2 flex justify-center items-center text-xxs sm:text-lg py-4 pr-2 sm:pr-0">
|
||||||
value={props.social.dribbble} onChange={event => props.handleSocialChange('dribbble', event)} />
|
<img src="https://cdn.jsdelivr.net/npm/simple-icons@3.1.0/icons/dribbble.svg"
|
||||||
</div>
|
className="w-6 h-6 sm:w-8 sm:h-8 mr-1 sm:mr-4" alt="dribbble" />
|
||||||
<div className="container">
|
<input id="dribbble" placeholder="dribbble username" className="placeholder-gray-700 w-32 sm:w-1/2 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
|
||||||
<img src="https://cdn.jsdelivr.net/npm/simple-icons@3.1.0/icons/behance.svg"
|
value={props.social.dribbble} onChange={event => props.handleSocialChange('dribbble', event)} />
|
||||||
className="icon" alt="behance" />
|
</div>
|
||||||
<input id="behance" placeholder="behance username" className="inputField lg"
|
<div className="w-1/2 flex justify-center items-center text-xxs sm:text-lg py-4 pr-2 sm:pr-0">
|
||||||
value={props.social.behance} onChange={event => props.handleSocialChange('behance', event)} />
|
<img src="https://cdn.jsdelivr.net/npm/simple-icons@3.1.0/icons/behance.svg"
|
||||||
</div>
|
className="w-6 h-6 sm:w-8 sm:h-8 mr-1 sm:mr-4" alt="behance" />
|
||||||
<div className="container">
|
<input id="behance" placeholder="behance username" className="placeholder-gray-700 w-32 sm:w-1/2 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
|
||||||
<img src="https://cdn.jsdelivr.net/npm/simple-icons@3.1.0/icons/medium.svg"
|
value={props.social.behance} onChange={event => props.handleSocialChange('behance', event)} />
|
||||||
className="icon" alt="medium" />
|
</div>
|
||||||
<input id="medium" placeholder="medium username (with @)" className="inputField lg"
|
<div className="w-1/2 flex justify-center items-center text-xxs sm:text-lg py-4 pr-2 sm:pr-0">
|
||||||
value={props.social.medium} onChange={event => props.handleSocialChange('medium', event)} />
|
<img src="https://cdn.jsdelivr.net/npm/simple-icons@3.1.0/icons/medium.svg"
|
||||||
</div>
|
className="w-6 h-6 sm:w-8 sm:h-8 mr-1 sm:mr-4" alt="medium" />
|
||||||
<div className="container">
|
<input id="medium" placeholder="medium username (with @)" className="placeholder-gray-700 w-32 sm:w-1/2 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
|
||||||
<img src="https://cdn.jsdelivr.net/npm/simple-icons@3.1.0/icons/youtube.svg"
|
value={props.social.medium} onChange={event => props.handleSocialChange('medium', event)} />
|
||||||
className="icon" alt="youtube" />
|
</div>
|
||||||
<input id="youtube" placeholder="youtube channel name" className="inputField lg"
|
<div className="w-1/2 flex justify-center items-center text-xxs sm:text-lg py-4 pr-2 sm:pr-0">
|
||||||
value={props.social.youtube} onChange={event => props.handleSocialChange('youtube', event)} />
|
<img src="https://cdn.jsdelivr.net/npm/simple-icons@3.1.0/icons/youtube.svg"
|
||||||
|
className="w-6 h-6 sm:w-8 sm:h-8 mr-1 sm:mr-4" alt="youtube" />
|
||||||
|
<input id="youtube" placeholder="youtube channel name" className="placeholder-gray-700 w-32 sm:w-1/2 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
|
||||||
|
value={props.social.youtube} onChange={event => props.handleSocialChange('youtube', event)} />
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="container">
|
<div className="container">
|
||||||
|
|||||||
@@ -2,9 +2,9 @@ import React from 'react';
|
|||||||
|
|
||||||
const Subtitle = (props) => {
|
const Subtitle = (props) => {
|
||||||
return (
|
return (
|
||||||
<div className="section">
|
<div className="flex justify-center items-start flex-col w-full px-2 sm:px-6 mb-10">
|
||||||
<div className="section-title">Subtitle</div>
|
<div className="text-xl sm:text-2xl font-bold font-title mt-2 mb-2">Subtitle</div>
|
||||||
<input id="subtitle" className="inputField lg prefix" value={props.data.subtitle}
|
<input id="subtitle" className="w-full text-xs sm:text-lg sm:w-1/2 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700" value={props.data.subtitle}
|
||||||
onChange={event => props.handleDataChange('subtitle', event)} />
|
onChange={event => props.handleDataChange('subtitle', event)} />
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|||||||
+10
-6
@@ -2,12 +2,16 @@ import React from 'react';
|
|||||||
|
|
||||||
const Title = (props) => {
|
const Title = (props) => {
|
||||||
return (
|
return (
|
||||||
<div className="section">
|
<div className="flex justify-center items-start flex-col w-full px-2 sm:px-6 mb-10">
|
||||||
<div className="section-title">Title</div>
|
<div className="text-xl sm:text-2xl font-bold font-title mt-2 mb-2">Title</div>
|
||||||
<input id="title-prefix" className="inputField sm prefix" value={props.prefix.title}
|
<div className="flex justify-start items-center w-full text-regular text-xs sm:text-lg">
|
||||||
onChange={event => props.handlePrefixChange('title', event)} />
|
<input id="title-prefix"
|
||||||
<input id="title-name" placeholder="name" className="inputField md" value={props.data.title}
|
className="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"
|
||||||
onChange={event => props.handleDataChange('title', event)} />
|
value={props.prefix.title} onChange={event => props.handlePrefixChange('title', event)} />
|
||||||
|
<input id="title-name" placeholder="name" className="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"
|
||||||
|
value={props.data.title}
|
||||||
|
onChange={event => props.handleDataChange('title', event)} />
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
+169
-70
@@ -1,74 +1,173 @@
|
|||||||
import React from 'react';
|
import React from "react"
|
||||||
|
|
||||||
const Work = (props) => {
|
const Work = props => {
|
||||||
return (
|
return (
|
||||||
<div className="section">
|
<div className="flex justify-center items-start flex-col w-full px-2 sm:px-6 mb-10">
|
||||||
<div className="section-title">Work</div>
|
<div className="text-xl sm:text-2xl font-bold font-title mt-2 mb-2">
|
||||||
<div className="row">
|
Work
|
||||||
<input id="currentWork-prefix" className="inputField md prefix" value={props.prefix.currentWork}
|
</div>
|
||||||
onChange={event => props.handlePrefixChange('currentWork', event)} />
|
<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="currentWork" placeholder="project name" className="inputField sm" value={props.data.currentWork}
|
<input
|
||||||
onChange={event => props.handleDataChange('currentWork', event)} />
|
id="currentWork-prefix"
|
||||||
<input id="currentWork-link" placeholder="project link" className="inputField md link"
|
placeholder="Hi, I'm "
|
||||||
value={props.link.currentWork} onChange={event => props.handleLinkChange('currentWork', event)} />
|
className="placeholder-gray-700 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"
|
||||||
</div>
|
value={props.prefix.currentWork}
|
||||||
<div className="row">
|
onChange={event => props.handlePrefixChange("currentWork", event)}
|
||||||
<input id="collaborateOn-prefix" className="inputField md prefix" value={props.prefix.collaborateOn}
|
/>
|
||||||
onChange={event => props.handlePrefixChange('collaborateOn', event)} />
|
<input
|
||||||
<input id="collaborateOn" placeholder="project name" className="inputField sm"
|
id="currentWork"
|
||||||
value={props.data.collaborateOn} onChange={event => props.handleDataChange('collaborateOn', event)} />
|
placeholder="project name"
|
||||||
<input id="collaborateOn-link" placeholder="project link" className="inputField md link"
|
className="placeholder-gray-700 mr-8 w-full sm:w-1/4 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.collaborateOn} onChange={event => props.handleLinkChange('collaborateOn', event)} />
|
value={props.data.currentWork}
|
||||||
</div>
|
onChange={event => props.handleDataChange("currentWork", event)}
|
||||||
<div className="row">
|
/>
|
||||||
<input id="helpWith-prefix" className="inputField md prefix" value={props.prefix.helpWith}
|
<input
|
||||||
onChange={event => props.handlePrefixChange('helpWith', event)} />
|
id="currentWork-link"
|
||||||
<input id="helpWith" placeholder="project name" className="inputField sm"
|
placeholder="project link"
|
||||||
value={props.data.helpWith} onChange={event => props.handleDataChange('helpWith', event)} />
|
className="placeholder-gray-700 mr-8 sm:mr-0 text-blue-700 w-full sm:w-1/4 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
|
||||||
<input id="helpWith-link" placeholder="project link" className="inputField md link"
|
value={props.link.currentWork}
|
||||||
value={props.link.helpWith} onChange={event => props.handleLinkChange('helpWith', event)} />
|
onChange={event => props.handleLinkChange("currentWork", event)}
|
||||||
</div>
|
/>
|
||||||
|
</div>
|
||||||
<div className="row">
|
<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="currentLearn-prefix" className="inputField md prefix" value={props.prefix.currentLearn}
|
<input
|
||||||
onChange={event => props.handlePrefixChange('currentLearn', event)} />
|
id="collaborateOn-prefix"
|
||||||
<input id="currentLearn" placeholder="Frameworks, courses etc." className="inputField md"
|
className="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.data.currentLearn} onChange={event => props.handleDataChange('currentLearn', event)} />
|
value={props.prefix.collaborateOn}
|
||||||
</div>
|
onChange={event => props.handlePrefixChange("collaborateOn", event)}
|
||||||
<div className="row">
|
/>
|
||||||
<input id="ama-prefix" className="inputField md prefix" value={props.prefix.ama}
|
<input
|
||||||
onChange={event => props.handlePrefixChange('ama', event)} />
|
id="collaborateOn"
|
||||||
<input id="ama" placeholder="react, vue and gsap" className="inputField md"
|
placeholder="project name"
|
||||||
value={props.data.ama} onChange={event => props.handleDataChange('ama', event)} />
|
className="placeholder-gray-700 mr-8 w-full sm:w-1/4 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
|
||||||
</div>
|
value={props.data.collaborateOn}
|
||||||
|
onChange={event => props.handleDataChange("collaborateOn", event)}
|
||||||
<div className="row">
|
/>
|
||||||
<input id="contact-prefix" className="inputField md prefix" value={props.prefix.contact}
|
<input
|
||||||
onChange={event => props.handlePrefixChange('contact', event)} />
|
id="collaborateOn-link"
|
||||||
<input id="contact" placeholder="example@gmail.com" className="inputField md"
|
placeholder="project link"
|
||||||
value={props.data.contact} onChange={event => props.handleDataChange('contact', event)} />
|
className="placeholder-gray-700 mr-8 sm:mr-0 text-blue-700 w-full sm:w-1/4 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
|
||||||
</div>
|
value={props.link.collaborateOn}
|
||||||
|
onChange={event => props.handleLinkChange("collaborateOn", 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">
|
||||||
|
<input
|
||||||
|
id="helpWith-prefix"
|
||||||
|
className="placeholder-gray-700 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.helpWith}
|
||||||
|
onChange={event => props.handlePrefixChange("helpWith", event)}
|
||||||
|
/>
|
||||||
|
<input
|
||||||
|
id="helpWith"
|
||||||
|
placeholder="project name"
|
||||||
|
className="placeholder-gray-700 mr-8 w-full sm:w-1/4 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
|
||||||
|
value={props.data.helpWith}
|
||||||
|
onChange={event => props.handleDataChange("helpWith", event)}
|
||||||
|
/>
|
||||||
|
<input
|
||||||
|
id="helpWith-link"
|
||||||
|
placeholder="project link"
|
||||||
|
className="placeholder-gray-700 mr-8 sm:mr-0 text-blue-700 w-full sm:w-1/4 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.helpWith}
|
||||||
|
onChange={event => props.handleLinkChange("helpWith", event)}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div className="row">
|
<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="portfolio-prefix" className="inputField md prefix" value={props.prefix.portfolio}
|
<input
|
||||||
onChange={event => props.handlePrefixChange('portfolio', event)} />
|
id="currentLearn-prefix"
|
||||||
<input id="portfolio" placeholder="portfolio link" className="inputField md"
|
className="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.link.portfolio} onChange={event => props.handleLinkChange('portfolio', event)} />
|
value={props.prefix.currentLearn}
|
||||||
</div>
|
onChange={event => props.handlePrefixChange("currentLearn", event)}
|
||||||
<div className="row">
|
/>
|
||||||
<input id="blog-prefix" className="inputField md prefix" value={props.prefix.blog}
|
<input
|
||||||
onChange={event => props.handlePrefixChange('blog', event)} />
|
id="currentLearn"
|
||||||
<input id="blog" placeholder="blog link" className="inputField md"
|
placeholder="Frameworks, courses etc."
|
||||||
value={props.link.blog} onChange={event => props.handleLinkChange('blog', event)} />
|
className="placeholder-gray-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"
|
||||||
</div>
|
value={props.data.currentLearn}
|
||||||
<div className="row">
|
onChange={event => props.handleDataChange("currentLearn", event)}
|
||||||
<input id="funFact-prefix" className="inputField md prefix" value={props.prefix.funFact}
|
/>
|
||||||
onChange={event => props.handlePrefixChange('funFact', event)} />
|
</div>
|
||||||
<input id="funFact" placeholder="Chai over Coffee" className="inputField md"
|
<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">
|
||||||
value={props.data.funFact} onChange={event => props.handleDataChange('funFact', event)} />
|
<input
|
||||||
</div>
|
id="ama-prefix"
|
||||||
</div>
|
className="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.ama}
|
||||||
|
onChange={event => props.handlePrefixChange("ama", event)}
|
||||||
|
/>
|
||||||
|
<input
|
||||||
|
id="ama"
|
||||||
|
placeholder="react, vue and gsap"
|
||||||
|
className="placeholder-gray-700 mr-8 sm:mr-0 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.data.ama}
|
||||||
|
onChange={event => props.handleDataChange("ama", 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">
|
||||||
|
<input
|
||||||
|
id="contact-prefix"
|
||||||
|
className="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.contact}
|
||||||
|
onChange={event => props.handlePrefixChange("contact", event)}
|
||||||
|
/>
|
||||||
|
<input
|
||||||
|
id="contact"
|
||||||
|
placeholder="example@gmail.com"
|
||||||
|
className="placeholder-gray-700 mr-8 sm:mr-0 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.data.contact}
|
||||||
|
onChange={event => props.handleDataChange("contact", 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">
|
||||||
|
<input
|
||||||
|
id="portfolio-prefix"
|
||||||
|
className="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.portfolio}
|
||||||
|
onChange={event => props.handlePrefixChange("portfolio", event)}
|
||||||
|
/>
|
||||||
|
<input
|
||||||
|
id="portfolio"
|
||||||
|
placeholder="portfolio link"
|
||||||
|
className="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.portfolio}
|
||||||
|
onChange={event => props.handleLinkChange("portfolio", 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">
|
||||||
|
<input
|
||||||
|
id="blog-prefix"
|
||||||
|
className="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.blog}
|
||||||
|
onChange={event => props.handlePrefixChange("blog", event)}
|
||||||
|
/>
|
||||||
|
<input
|
||||||
|
id="blog"
|
||||||
|
placeholder="blog link"
|
||||||
|
className="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.blog}
|
||||||
|
onChange={event => props.handleLinkChange("blog", 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">
|
||||||
|
<input
|
||||||
|
id="funFact-prefix"
|
||||||
|
className="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.funFact}
|
||||||
|
onChange={event => props.handlePrefixChange("funFact", event)}
|
||||||
|
/>
|
||||||
|
<input
|
||||||
|
id="funFact"
|
||||||
|
placeholder="Chai over Coffee"
|
||||||
|
className="placeholder-gray-700 mr-8 sm:mr-0 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.data.funFact}
|
||||||
|
onChange={event => props.handleDataChange("funFact", event)}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
export default Work;
|
export default Work
|
||||||
|
|||||||
+37
@@ -0,0 +1,37 @@
|
|||||||
|
import React from "react"
|
||||||
|
import PropTypes from "prop-types"
|
||||||
|
|
||||||
|
export default function HTML(props) {
|
||||||
|
return (
|
||||||
|
<html {...props.htmlAttributes}>
|
||||||
|
<head>
|
||||||
|
<meta charSet="utf-8" />
|
||||||
|
<meta httpEquiv="x-ua-compatible" content="ie=edge" />
|
||||||
|
<meta
|
||||||
|
name="viewport"
|
||||||
|
content="width=device-width, initial-scale=1, shrink-to-fit=no"
|
||||||
|
/>
|
||||||
|
{props.headComponents}
|
||||||
|
<script data-name="BMC-Widget" src="https://cdnjs.buymeacoffee.com/1.0.0/widget.prod.min.js" data-id="rahuldkjain" data-description="Support me on Buy me a coffee!" data-message="Thank you for visiting. You can now buy me a coffee!" data-color="#FF813F" data-position="" data-x_margin="18" data-y_margin="18"></script>
|
||||||
|
</head>
|
||||||
|
<body {...props.bodyAttributes}>
|
||||||
|
{props.preBodyComponents}
|
||||||
|
<div
|
||||||
|
key={`body`}
|
||||||
|
id="___gatsby"
|
||||||
|
dangerouslySetInnerHTML={{ __html: props.body }}
|
||||||
|
/>
|
||||||
|
{props.postBodyComponents}
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
HTML.propTypes = {
|
||||||
|
htmlAttributes: PropTypes.object,
|
||||||
|
headComponents: PropTypes.array,
|
||||||
|
bodyAttributes: PropTypes.object,
|
||||||
|
preBodyComponents: PropTypes.array,
|
||||||
|
body: PropTypes.string,
|
||||||
|
postBodyComponents: PropTypes.array,
|
||||||
|
}
|
||||||
@@ -16,14 +16,21 @@ The profile should be neat and minimal to give a clear overview of the work. Non
|
|||||||
To solve this, GitHub Profile README Generator came into existence.
|
To solve this, GitHub Profile README Generator came into existence.
|
||||||
|
|
||||||
So many developers contributed to the project and made it more awesome to use. You can contribute too to make it grow even further.
|
So many developers contributed to the project and made it more awesome to use. You can contribute too to make it grow even further.
|
||||||
|
<p align="left">
|
||||||
<a href="https://github.com/rahuldkjain/github-profile-readme-generator/issues" target="blank">
|
<a href="https://github.com/rahuldkjain/github-profile-readme-generator/issues" target="blank">
|
||||||
<img src="https://img.shields.io/github/issues/rahuldkjain/github-profile-readme-generator?style=flat-square" alt="github-profile-readme-generator issues"/>
|
<img src="https://img.shields.io/github/issues/rahuldkjain/github-profile-readme-generator?style=flat-square" alt="github-profile-readme-generator issues"/>
|
||||||
</a>
|
</a>
|
||||||
|
<br>
|
||||||
<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>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
### Contributors 🙏
|
||||||
|
List of the developers who contributed to the project. A big shout out for them.
|
||||||
|
<a href="https://github.com/rahuldkjain/github-profile-readme-generator/graphs/contributors">
|
||||||
|
<img src="https://contributors-img.web.app/image?repo=rahuldkjain/github-profile-readme-generator" />
|
||||||
|
</a>
|
||||||
<hr/>
|
<hr/>
|
||||||
|
|
||||||
## How do I create a profile README?
|
## How do I create a profile README?
|
||||||
|
|||||||
@@ -10,14 +10,57 @@ title: "💵 Support OSS"
|
|||||||
|
|
||||||
You can come forward to support the developers by making small donations. You will never know what this support mean to them. If you find the tool really helpful, then it will be very grateful to support the tool 🙇.
|
You can come forward to support the developers by making small donations. You will never know what this support mean to them. If you find the tool really helpful, then it will be very grateful to support the tool 🙇.
|
||||||
|
|
||||||
<p align="center">
|
<p align="left">
|
||||||
<a href="https://www.paypal.me/rahuldkjain"><img src="https://ionicabizau.github.io/badges/paypal.svg" alt="sponsor github profile readme generator"/>
|
<a href="https://www.paypal.me/rahuldkjain"><img src="https://ionicabizau.github.io/badges/paypal.svg" alt="sponsor github profile readme generator"/>
|
||||||
</p>
|
</a>
|
||||||
<p align="center">
|
|
||||||
<a href="https://ko-fi.com/A0A81XXSX"><img src="https://www.ko-fi.com/img/githubbutton_sm.svg" alt="sponsor github profile readme generator"/>
|
<a href='https://ko-fi.com/A0A81XXSX' target='_blank'><img height='23' width="100" src='https://cdn.ko-fi.com/cdn/kofi3.png?v=2' alt='Buy Coffee for rahuldkjain' />
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<a href="https://www.buymeacoffee.com/rahuldkjain" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/default-orange.png" alt="Buy Me A Coffee" height="23" width="100" style="border-radius:2px" />
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
## Social Support 🤝
|
||||||
|
<a href="https://twitter.com/intent/tweet?text=Wow:&url=https%3A%2F%2Frahuldkjain.github.io%2Fgithub-profile-readme-generator">
|
||||||
|
<img src="https://img.shields.io/twitter/url?style=social&url=https%3A%2F%2Frahuldkjain.github.io%2Fgithub-profile-readme-generator" alt="tweet github profile readme generator"/>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
Let the world know how you feel using this tool. Share with others on twitter.
|
||||||
|
|
||||||
|
<blockquote class="twitter-tweet" data-dnt="true"><p lang="en" dir="ltr">"How to Use Github's README Feature to Track Your Stats in One Click" by <a href="https://twitter.com/Rahuldkjain?ref_src=twsrc%5Etfw">@rahuldkjain</a> <a href="https://t.co/3dxv0G2sBJ">https://t.co/3dxv0G2sBJ</a> <a href="https://twitter.com/hashtag/repositoriesongithub?src=hash&ref_src=twsrc%5Etfw">#repositoriesongithub</a> <a href="https://twitter.com/hashtag/react?src=hash&ref_src=twsrc%5Etfw">#react</a></p>— Hacker Noon (@hackernoon) <a href="https://twitter.com/hackernoon/status/1301615959107678215?ref_src=twsrc%5Etfw">September 3, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
|
||||||
|
|
||||||
|
<blockquote class="twitter-tweet" data-dnt="true"><p lang="en" dir="ltr">This is a great tool to generate customized GitHub profile README: <a href="https://t.co/dTpnz0iTP2">https://t.co/dTpnz0iTP2</a> <a href="https://t.co/WcEkK2DKz0">pic.twitter.com/WcEkK2DKz0</a></p>— Alisher Abdulkhaev (@alisher_ai) <a href="https://twitter.com/alisher_ai/status/1298858350885576704?ref_src=twsrc%5Etfw">August 27, 2020</a></blockquote>
|
||||||
|
|
||||||
|
<blockquote class="twitter-tweet data-dnt="true""><p lang="ro" dir="ltr">github profile readme generator: <a href="https://t.co/fQDUBdE0jz">https://t.co/fQDUBdE0jz</a></p>— merve (@mervenoyann) <a href="https://twitter.com/mervenoyann/status/1301436574475976706?ref_src=twsrc%5Etfw">September 3, 2020</a></blockquote>
|
||||||
|
|
||||||
|
<blockquote class="twitter-tweet" data-dnt="true"><p lang="en" dir="ltr">This is super cool 😎 A Github Profile README Generator.<br><br>👉 Link: <a href="https://t.co/KHC4M9vSzw">https://t.co/KHC4M9vSzw</a> <a href="https://t.co/JmrQ3P6Wkp">pic.twitter.com/JmrQ3P6Wkp</a></p>— Dat Tran (@datitran) <a href="https://twitter.com/datitran/status/1298947006371713024?ref_src=twsrc%5Etfw">August 27, 2020</a></blockquote>
|
||||||
|
|
||||||
|
|
||||||
|
<blockquote class="twitter-tweet data-dnt="true""><p lang="en" dir="ltr">Nice GitHub Profile generator, for the relatively new account README:<a href="https://t.co/YG3O0Pqy3M">https://t.co/YG3O0Pqy3M</a><a href="https://twitter.com/hashtag/github?src=hash&ref_src=twsrc%5Etfw">#github</a></p>— Steve "ardalis" Smith (@ardalis) <a href="https://twitter.com/ardalis/status/1300953474868314118?ref_src=twsrc%5Etfw">September 2, 2020</a></blockquote>
|
||||||
|
|
||||||
|
<blockquote class="twitter-tweet data-dnt="true""><p lang="ro" dir="ltr">Github Profile Readme Generator <a href="https://t.co/p20HK5gGHF">https://t.co/p20HK5gGHF</a> <a href="https://t.co/nFyhrO3XjN">pic.twitter.com/nFyhrO3XjN</a></p>— Speckyboy (@speckyboy) <a href="https://twitter.com/speckyboy/status/1301233718405869568?ref_src=twsrc%5Etfw">September 2, 2020</a></blockquote>
|
||||||
|
|
||||||
|
<blockquote class="twitter-tweet" data-dnt="true"><p lang="en" dir="ltr">I finally updated my github readme <a href="https://t.co/8rcyuW1UTM">https://t.co/8rcyuW1UTM</a> <br>thanks to this generator : <a href="https://t.co/c0GHc4n1S6">https://t.co/c0GHc4n1S6</a> plus some changes.<br><br>Thank you <a href="https://twitter.com/Rahuldkjain?ref_src=twsrc%5Etfw">@Rahuldkjain</a> for this great generator, saved me a lot of time.</p>— Abir El Halimi (@abiir07) <a href="https://twitter.com/abiir07/status/1299013498178076673?ref_src=twsrc%5Etfw">August 27, 2020</a></blockquote>
|
||||||
|
|
||||||
|
<blockquote class="twitter-tweet" data-dnt="true"><p lang="en" dir="ltr">This morning I set up my <a href="https://twitter.com/hashtag/github?src=hash&ref_src=twsrc%5Etfw">#github</a> profile readme, really amazing what great tools the users have already created to make this easier.<br><br>Big shout out to <a href="https://twitter.com/Rahuldkjain?ref_src=twsrc%5Etfw">@rahuldkjain</a>!<a href="https://t.co/bL0XwfJ78B">https://t.co/bL0XwfJ78B</a> <a href="https://t.co/xBLVFOJegt">pic.twitter.com/xBLVFOJegt</a></p>— Max Schmitt (@maxibanki) <a href="https://twitter.com/maxibanki/status/1296408691273498624?ref_src=twsrc%5Etfw">August 20, 2020</a></blockquote>
|
||||||
|
|
||||||
|
<blockquote class="twitter-tweet" data-dnt="true"><p lang="en" dir="ltr">Special thanks to everyone's repos that are featured in my latest video:<a href="https://twitter.com/bathtype?ref_src=twsrc%5Etfw">@bathtype</a><a href="https://twitter.com/anuraghazru?ref_src=twsrc%5Etfw">@anuraghazru</a><a href="https://twitter.com/Shields_io?ref_src=twsrc%5Etfw">@Shields_io</a><a href="https://twitter.com/AlexandreSanlim?ref_src=twsrc%5Etfw">@AlexandreSanlim</a><a href="https://twitter.com/Ileriayooo?ref_src=twsrc%5Etfw">@Ileriayooo</a><a href="https://twitter.com/james_madhacks?ref_src=twsrc%5Etfw">@james_madhacks</a><a href="https://twitter.com/misteranmol?ref_src=twsrc%5Etfw">@misteranmol</a><a href="https://twitter.com/n_moore?ref_src=twsrc%5Etfw">@n_moore</a><a href="https://twitter.com/novatorem?ref_src=twsrc%5Etfw">@novatorem</a><a href="https://twitter.com/Rahuldkjain?ref_src=twsrc%5Etfw">@Rahuldkjain</a><a href="https://twitter.com/geeky_abhiz?ref_src=twsrc%5Etfw">@geeky_abhiz</a><br><br>These developers are making your GitHub Profiles look awesome! 💪</p>— 𝚌𝚘𝚍𝚎𝚂𝚃𝙰𝙲𝙺𝚛 ⚡👨💻 (@codeSTACKr) <a href="https://twitter.com/codeSTACKr/status/1294618297086943232?ref_src=twsrc%5Etfw">August 15, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
|
||||||
|
|
||||||
|
|
||||||
|
<blockquote class="twitter-tweet data-dnt="true"" data-theme="light"><p lang="tr" dir="ltr">GitHub Profile Readme Generator ile GitHub profilinizi profesyonelleştirin! <a href="https://t.co/iaZAdGtf9t">https://t.co/iaZAdGtf9t</a></p>— Yazılım Karavanı (@yazilimkaravani) <a href="https://twitter.com/yazilimkaravani/status/1301467413591007232?ref_src=twsrc%5Etfw">September 3, 2020</a></blockquote>
|
||||||
|
|
||||||
|
|
||||||
|
<blockquote class="twitter-tweet data-dnt="true""><p lang="ro" dir="ltr"><a href="https://twitter.com/hashtag/CSS?src=hash&ref_src=twsrc%5Etfw">#CSS</a> <a href="https://twitter.com/hashtag/Automated?src=hash&ref_src=twsrc%5Etfw">#Automated</a> | Github Profile README Generator <a href="https://t.co/CTcrnDuWov">https://t.co/CTcrnDuWov</a></p>— Yohan J. Rodríguez (@hasdid) <a href="https://twitter.com/hasdid/status/1299070955646586882?ref_src=twsrc%5Etfw">August 27, 2020</a></blockquote>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<blockquote class="twitter-tweet data-dnt="true""><p lang="en" dir="ltr">If you are unsure or need to spice up your GitHub README page. Check out this cool Github profile readme Generator by <a href="https://twitter.com/Rahuldkjain?ref_src=twsrc%5Etfw">@Rahuldkjain</a>. <a href="https://twitter.com/hashtag/rstats?src=hash&ref_src=twsrc%5Etfw">#rstats</a> <a href="https://twitter.com/hashtag/github?src=hash&ref_src=twsrc%5Etfw">#github</a> <a href="https://twitter.com/github?ref_src=twsrc%5Etfw">@github</a> <a href="https://twitter.com/hashtag/AcademicTwitter?src=hash&ref_src=twsrc%5Etfw">#AcademicTwitter</a> <a href="https://t.co/OMyYJJYmxR">https://t.co/OMyYJJYmxR</a></p>— Seevasant Indran (@zeeva85) <a href="https://twitter.com/zeeva85/status/1301213068060438528?ref_src=twsrc%5Etfw">September 2, 2020</a></blockquote>
|
||||||
|
|
||||||
|
|
||||||
|
<blockquote class="twitter-tweet data-dnt="true""><p lang="en" dir="ltr">Github Profile README Generator<br>By <a href="https://twitter.com/Rahuldkjain?ref_src=twsrc%5Etfw">@Rahuldkjain</a> <br><br>Pretty way to create GitHub profile README with addons.<br><br>Check out on <a href="https://twitter.com/ProductHunt?ref_src=twsrc%5Etfw">@ProductHunt</a> <a href="https://t.co/qgxhLmUgV2">https://t.co/qgxhLmUgV2</a></p>— Raj Maurya (@codemaurya) <a href="https://twitter.com/codemaurya/status/1299700992577957888?ref_src=twsrc%5Etfw">August 29, 2020</a></blockquote>
|
||||||
|
|
||||||
|
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
|
||||||
|
|
||||||
## Sponsors 🙇
|
## Sponsors 🙇
|
||||||
- [Scott C Wilson](https://github.com/scottcwilson) donated the first ever grant to this tool. A big thanks to him.
|
- [Scott C Wilson](https://github.com/scottcwilson) donated the first ever grant to this tool. A big thanks to him.
|
||||||
|
|||||||
+126
-130
@@ -21,23 +21,23 @@
|
|||||||
|
|
||||||
html,
|
html,
|
||||||
body {
|
body {
|
||||||
margin: 1%;
|
/* margin: 1%; */
|
||||||
padding: 1%;
|
/* padding: 0% 0.5%; */
|
||||||
font-family: "Roboto Mono", monospace;
|
font-family: "Roboto Mono", monospace;
|
||||||
color: var(--grey-90);
|
color: var(--grey-90);
|
||||||
}
|
}
|
||||||
|
|
||||||
.section-title {
|
/* .section-title {
|
||||||
margin: 0 !important;
|
margin: 0 !important;
|
||||||
font-family: "Lato", sans-serif;
|
font-family: "Lato", sans-serif;
|
||||||
padding-left: 2%;
|
padding-left: 2%;
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
} */
|
||||||
|
|
||||||
input:focus {
|
/* input:focus {
|
||||||
outline: none;
|
outline: none;
|
||||||
}
|
} */
|
||||||
|
|
||||||
[type="checkbox"] {
|
[type="checkbox"] {
|
||||||
-webkit-box-shadow: 0 1px 1px var(--grey-90) !important;
|
-webkit-box-shadow: 0 1px 1px var(--grey-90) !important;
|
||||||
@@ -47,10 +47,10 @@ input:focus {
|
|||||||
border-radius: 0px !important;
|
border-radius: 0px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon {
|
/* .icon {
|
||||||
width: 25px;
|
width: 25px;
|
||||||
height: 25px;
|
height: 25px;
|
||||||
}
|
} */
|
||||||
|
|
||||||
.section {
|
.section {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@@ -58,27 +58,27 @@ input:focus {
|
|||||||
margin: 2% 0%;
|
margin: 2% 0%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.inputField {
|
/* .inputField {
|
||||||
border: 0px solid;
|
border: 0px solid;
|
||||||
border-bottom: 1px solid grey;
|
border-bottom: 1px solid grey;
|
||||||
margin: 2%;
|
margin: 2%;
|
||||||
padding: 1% 2% 1% 1%;
|
padding: 1% 2% 1% 1%;
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
height: 25px;
|
height: 25px;
|
||||||
}
|
} */
|
||||||
|
/*
|
||||||
.row {
|
.row {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
/* justify-content: flex-start; */
|
justify-content: flex-start;
|
||||||
}
|
} */
|
||||||
|
|
||||||
.inputField:focus {
|
/* .inputField:focus {
|
||||||
border-bottom: 1px solid var(--dark-blue);
|
border-bottom: 1px solid var(--dark-blue);
|
||||||
color: var(--grey-90);
|
color: var(--grey-90);
|
||||||
}
|
} */
|
||||||
|
|
||||||
.sm {
|
/* .sm {
|
||||||
width: 15%;
|
width: 15%;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -88,13 +88,13 @@ input:focus {
|
|||||||
|
|
||||||
.lg {
|
.lg {
|
||||||
width: 50%;
|
width: 50%;
|
||||||
}
|
} */
|
||||||
|
|
||||||
.prefix {
|
/* .prefix {
|
||||||
color: var(--grey-80);
|
color: var(--grey-80);
|
||||||
}
|
} */
|
||||||
|
|
||||||
.button {
|
/* .button {
|
||||||
padding: 1% 0%;
|
padding: 1% 0%;
|
||||||
background: var(--grey-05);
|
background: var(--grey-05);
|
||||||
border: 2px solid var(--grey-85);
|
border: 2px solid var(--grey-85);
|
||||||
@@ -102,41 +102,34 @@ input:focus {
|
|||||||
width: 25%;
|
width: 25%;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
} */
|
||||||
|
|
||||||
.container {
|
/* .container {
|
||||||
width: 50%;
|
width: 50%;
|
||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
}
|
} */
|
||||||
|
|
||||||
.checkbox {
|
/* .checkbox {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
padding-left: 2%;
|
padding-left: 2%;
|
||||||
margin: 1% 0%;
|
margin: 1% 0%;
|
||||||
}
|
} */
|
||||||
|
|
||||||
.skillCheckboxLabel {
|
|
||||||
width: 70%;
|
|
||||||
font-weight: 500;
|
|
||||||
cursor: pointer;
|
|
||||||
display: flex;
|
|
||||||
margin: 8%;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
/*
|
||||||
.checkboxLabel {
|
.checkboxLabel {
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
} */
|
||||||
|
|
||||||
.submit {
|
/* .submit {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
}
|
} */
|
||||||
|
|
||||||
.warning {
|
.warning {
|
||||||
color: var(--red);
|
color: var(--red);
|
||||||
@@ -144,26 +137,26 @@ input:focus {
|
|||||||
margin-left: 2%;
|
margin-left: 2%;
|
||||||
padding: 1%;
|
padding: 1%;
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
.preview {
|
.preview {
|
||||||
border: 2px solid var(--grey-75);
|
border: 2px solid var(--grey-75);
|
||||||
-webkit-box-shadow: 0px 0px 5px 5px rgba(208, 208, 213, 0.75);
|
-webkit-box-shadow: 0px 0px 5px 5px rgba(208, 208, 213, 0.75);
|
||||||
-moz-box-shadow: 0px 0px 5px 5px rgba(208, 208, 213, 0.75);
|
-moz-box-shadow: 0px 0px 5px 5px rgba(208, 208, 213, 0.75);
|
||||||
box-shadow: 0px 0px 5px 5px rgba(208, 208, 213, 0.75);
|
box-shadow: 0px 0px 5px 5px rgba(208, 208, 213, 0.75);
|
||||||
padding: 0% 2%;
|
padding: 0% 2%;
|
||||||
}
|
} */
|
||||||
|
|
||||||
.markdown-section {
|
.markdown-section {
|
||||||
min-height: calc(100vh - 100px);
|
min-height: calc(100vh - 100px);
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
.markdown {
|
.markdown {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
}
|
} */
|
||||||
|
|
||||||
.markdown-box {
|
/* .markdown-box {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
color: var(--grey-85);
|
color: var(--grey-85);
|
||||||
@@ -173,9 +166,9 @@ input:focus {
|
|||||||
box-shadow: 3px 5px 5px 5px rgba(208, 208, 213, 0.75);
|
box-shadow: 3px 5px 5px 5px rgba(208, 208, 213, 0.75);
|
||||||
padding: 1% 2% 0.5% 2%;
|
padding: 1% 2% 0.5% 2%;
|
||||||
margin-top: 0.5%;
|
margin-top: 0.5%;
|
||||||
}
|
} */
|
||||||
|
|
||||||
.copy-button {
|
/* .copy-button {
|
||||||
background: var(--grey-05);
|
background: var(--grey-05);
|
||||||
border: 2px solid var(--grey-75);
|
border: 2px solid var(--grey-75);
|
||||||
text-align: center;
|
text-align: center;
|
||||||
@@ -184,9 +177,9 @@ input:focus {
|
|||||||
justify-self: center;
|
justify-self: center;
|
||||||
padding: 2% 0%;
|
padding: 2% 0%;
|
||||||
align-self: center;
|
align-self: center;
|
||||||
}
|
} */
|
||||||
|
|
||||||
.download-button {
|
/* .download-button {
|
||||||
background: var(--grey-05);
|
background: var(--grey-05);
|
||||||
border: 2px solid var(--grey-75);
|
border: 2px solid var(--grey-75);
|
||||||
text-align: center;
|
text-align: center;
|
||||||
@@ -195,14 +188,14 @@ input:focus {
|
|||||||
justify-self: center;
|
justify-self: center;
|
||||||
padding: 2% 0%;
|
padding: 2% 0%;
|
||||||
align-self: center;
|
align-self: center;
|
||||||
}
|
} */
|
||||||
|
|
||||||
.utils {
|
/* .utils {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
|
grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
|
||||||
margin-top: 4%;
|
margin-top: 4%;
|
||||||
}
|
} */
|
||||||
|
/*
|
||||||
.preview-button {
|
.preview-button {
|
||||||
background: var(--grey-05);
|
background: var(--grey-05);
|
||||||
border: 2px solid var(--grey-75);
|
border: 2px solid var(--grey-75);
|
||||||
@@ -212,7 +205,7 @@ input:focus {
|
|||||||
justify-self: end;
|
justify-self: end;
|
||||||
padding: 2% 0%;
|
padding: 2% 0%;
|
||||||
align-self: center;
|
align-self: center;
|
||||||
}
|
} */
|
||||||
|
|
||||||
.loader {
|
.loader {
|
||||||
height: 100vh;
|
height: 100vh;
|
||||||
@@ -223,7 +216,7 @@ input:focus {
|
|||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.back-button {
|
/* .back-button {
|
||||||
background: var(--grey-05);
|
background: var(--grey-05);
|
||||||
border: 2px solid var(--grey-75);
|
border: 2px solid var(--grey-75);
|
||||||
text-align: center;
|
text-align: center;
|
||||||
@@ -232,82 +225,82 @@ input:focus {
|
|||||||
justify-self: start;
|
justify-self: start;
|
||||||
padding: 2% 0%;
|
padding: 2% 0%;
|
||||||
align-self: center;
|
align-self: center;
|
||||||
}
|
} */
|
||||||
|
/*
|
||||||
.title {
|
.title {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
} */
|
||||||
|
|
||||||
.subtitle {
|
/* .subtitle {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
} */
|
||||||
|
|
||||||
.link {
|
/* .link {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
color: var(--dark-blue);
|
color: var(--dark-blue);
|
||||||
}
|
} */
|
||||||
|
|
||||||
.social-icon {
|
/* .social-icon {
|
||||||
margin: 1%;
|
margin: 1%;
|
||||||
}
|
} */
|
||||||
|
|
||||||
.badge {
|
/* .badge {
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
} */
|
||||||
|
|
||||||
.github-cards {
|
/* .github-cards {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
}
|
} */
|
||||||
.github-stats-card {
|
/* .github-stats-card {
|
||||||
margin: 1%;
|
margin: 1%;
|
||||||
}
|
} */
|
||||||
.top-languages-card {
|
/* .top-languages-card {
|
||||||
margin: 1%;
|
margin: 1%;
|
||||||
}
|
} */
|
||||||
.social {
|
/* .social {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
} */
|
||||||
|
/*
|
||||||
.icon {
|
.icon {
|
||||||
width: 25px;
|
width: 25px;
|
||||||
height: 25px;
|
height: 25px;
|
||||||
margin: 1%;
|
margin: 1%;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
} */
|
||||||
|
|
||||||
.header {
|
/* .header {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
} */
|
||||||
|
|
||||||
.heading {
|
/* .heading {
|
||||||
color: var(--dark-blue);
|
color: var(--dark-blue);
|
||||||
font-family: "Lato", sans-serif;
|
font-family: "Lato", sans-serif;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
} */
|
||||||
|
|
||||||
.footer {
|
/* .footer {
|
||||||
margin-top: 2%;
|
margin-top: 2%;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
padding: 1%;
|
padding: 1%;
|
||||||
}
|
} */
|
||||||
.footer-pages {
|
/* .footer-pages {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: repeat(
|
grid-template-columns: repeat(
|
||||||
auto-fill,
|
auto-fill,
|
||||||
minmax(min(calc(20% + 20vmin), 100%), 1fr)
|
minmax(min(calc(20% + 20vmin), 100%), 1fr)
|
||||||
);
|
);
|
||||||
color: var(--grey-75);
|
color: var(--grey-75);
|
||||||
}
|
} */
|
||||||
.footer-proud {
|
/* .footer-proud {
|
||||||
margin: 2% 0%;
|
margin: 2% 0%;
|
||||||
}
|
} */
|
||||||
|
|
||||||
a {
|
a {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
@@ -315,11 +308,11 @@ a {
|
|||||||
color: inherit;
|
color: inherit;
|
||||||
}
|
}
|
||||||
|
|
||||||
.github {
|
/* .github {
|
||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
}
|
} */
|
||||||
|
|
||||||
.github-button {
|
/* .github-button {
|
||||||
color: var(--grey-90);
|
color: var(--grey-90);
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
font-weight: bolder;
|
font-weight: bolder;
|
||||||
@@ -328,18 +321,18 @@ a {
|
|||||||
border: 2px solid var(--grey-85);
|
border: 2px solid var(--grey-85);
|
||||||
margin: 1%;
|
margin: 1%;
|
||||||
width: 230px;
|
width: 230px;
|
||||||
}
|
} */
|
||||||
|
|
||||||
.github-count {
|
.github-count {
|
||||||
color: var(--dark-purple);
|
color: var(--dark-purple);
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
.logo {
|
.logo {
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
} */
|
||||||
|
|
||||||
.skills {
|
/* .skills {
|
||||||
margin: 1%;
|
margin: 1%;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: grid;
|
display: grid;
|
||||||
@@ -360,13 +353,13 @@ a {
|
|||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
object-fit: contain;
|
object-fit: contain;
|
||||||
}
|
} */
|
||||||
|
|
||||||
.skill-preview-icon {
|
/* .skill-preview-icon {
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
margin: 1%;
|
margin: 1%;
|
||||||
}
|
} */
|
||||||
|
|
||||||
/* Tooltip css */
|
/* Tooltip css */
|
||||||
|
|
||||||
@@ -377,7 +370,7 @@ a {
|
|||||||
color: var(--grey-05);
|
color: var(--grey-05);
|
||||||
margin-left: 8%;
|
margin-left: 8%;
|
||||||
background: var(--grey-90);
|
background: var(--grey-90);
|
||||||
padding: 1px 5%;
|
padding: 2% 5%;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -402,20 +395,20 @@ a {
|
|||||||
background: var(--grey-05);
|
background: var(--grey-05);
|
||||||
}
|
}
|
||||||
|
|
||||||
.config-options {
|
/* .config-options {
|
||||||
margin-top: 48px;
|
margin-top: 48px;
|
||||||
padding: 1% 1% 1% 2%;
|
padding: 1% 1% 1% 2%;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
border: 2px solid var(--grey-15);
|
border: 2px solid var(--grey-15);
|
||||||
}
|
} */
|
||||||
.new-tag {
|
/* .new-tag {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
padding: 2px 4px;
|
padding: 2px 4px;
|
||||||
background: var(--dark-green);
|
background: var(--dark-green);
|
||||||
color: white;
|
color: white;
|
||||||
}
|
} */
|
||||||
.actions {
|
/* .actions {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: repeat(2, 1fr);
|
grid-template-columns: repeat(2, 1fr);
|
||||||
}
|
}
|
||||||
@@ -435,7 +428,7 @@ a {
|
|||||||
|
|
||||||
.actions .data input {
|
.actions .data input {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
}
|
} */
|
||||||
|
|
||||||
@media only screen and (max-width: 580px) {
|
@media only screen and (max-width: 580px) {
|
||||||
.tooltiptext {
|
.tooltiptext {
|
||||||
@@ -444,29 +437,29 @@ a {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@media only screen and (max-width: 1199px) {
|
@media only screen and (max-width: 1199px) {
|
||||||
.section-title {
|
/* .section-title {
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
margin: 2% 0% !important;
|
margin: 2% 0% !important;
|
||||||
}
|
}
|
||||||
.inputField {
|
.inputField {
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
}
|
} */
|
||||||
.icon {
|
/* .icon {
|
||||||
width: 20px;
|
width: 20px;
|
||||||
height: 20px;
|
height: 20px;
|
||||||
}
|
} */
|
||||||
.checkbox {
|
.checkbox {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
}
|
}
|
||||||
.button {
|
/* .button {
|
||||||
width: 60%;
|
width: 60%;
|
||||||
margin: 2% 0%;
|
margin: 2% 0%;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
}
|
} */
|
||||||
.badgeImage {
|
/* .badgeImage {
|
||||||
height: 15px;
|
height: 15px;
|
||||||
}
|
} */
|
||||||
.heading {
|
/* .heading {
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
}
|
}
|
||||||
.footer {
|
.footer {
|
||||||
@@ -477,17 +470,17 @@ a {
|
|||||||
auto-fill,
|
auto-fill,
|
||||||
minmax(min(calc(10% + 20vmin), 100%), 1fr)
|
minmax(min(calc(10% + 20vmin), 100%), 1fr)
|
||||||
);
|
);
|
||||||
}
|
} */
|
||||||
.github-button {
|
/* .github-button {
|
||||||
font-size: 10px !important;
|
font-size: 10px !important;
|
||||||
padding: 2% 1% !important;
|
padding: 2% 1% !important;
|
||||||
width: 140px;
|
width: 140px;
|
||||||
}
|
} */
|
||||||
.logo {
|
.logo {
|
||||||
width: 20px;
|
width: 20px;
|
||||||
height: 20px;
|
height: 20px;
|
||||||
}
|
}
|
||||||
.skills {
|
/* .skills {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: repeat(3, 1fr);
|
grid-template-columns: repeat(3, 1fr);
|
||||||
}
|
}
|
||||||
@@ -495,17 +488,20 @@ a {
|
|||||||
margin-left: 12%;
|
margin-left: 12%;
|
||||||
width: 25px;
|
width: 25px;
|
||||||
height: 25px;
|
height: 25px;
|
||||||
}
|
} */
|
||||||
.skill-preview-icon {
|
/* .skill-preview-icon {
|
||||||
width: 20px;
|
width: 20px;
|
||||||
height: 20px;
|
height: 20px;
|
||||||
margin: 1%;
|
margin: 1%;
|
||||||
}
|
} */
|
||||||
.hide-on-mobile {
|
/* .hide-on-mobile {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
} */
|
||||||
#markdown-content {
|
/* #markdown-content {
|
||||||
word-break: break-all;
|
word-break: break-all;
|
||||||
|
} */
|
||||||
|
.tooltiptext {
|
||||||
|
display: none;
|
||||||
}
|
}
|
||||||
.warning {
|
.warning {
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
@@ -513,29 +509,29 @@ a {
|
|||||||
.workflow {
|
.workflow {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
}
|
}
|
||||||
.github-cards {
|
/* .github-cards {
|
||||||
display: block;
|
display: block;
|
||||||
}
|
} */
|
||||||
.github-stats-card{
|
/* .github-stats-card{
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
} */
|
||||||
.top-languages-card {
|
/* .top-languages-card {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
} */
|
||||||
.github-stats-card > img{
|
/* .github-stats-card > img{
|
||||||
width: 80%;
|
width: 80%;
|
||||||
}
|
} */
|
||||||
.top-languages-card > img{
|
/* .top-languages-card > img{
|
||||||
width: 80%;
|
width: 80%;
|
||||||
}
|
} */
|
||||||
.skills-category-title {
|
/* .skills-category-title {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.actions {
|
.actions {
|
||||||
grid-template-columns: 1fr;
|
grid-template-columns: 1fr;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
}
|
} */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+567
-551
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,114 @@
|
|||||||
|
@tailwind base;
|
||||||
|
|
||||||
|
@tailwind components;
|
||||||
|
|
||||||
|
@tailwind utilities;
|
||||||
|
|
||||||
|
@tailwind @screens;
|
||||||
|
|
||||||
|
/* Additional vertical padding used by kbd tag. */
|
||||||
|
.py-05 {
|
||||||
|
padding-top: 0.125rem;
|
||||||
|
padding-bottom: 0.125rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown {
|
||||||
|
@apply text-gray-900 leading-normal break-words;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown > * + * {
|
||||||
|
@apply mt-0 mb-4;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* .markdown p {
|
||||||
|
@apply flex justify-start items-center;
|
||||||
|
} */
|
||||||
|
|
||||||
|
.markdown li + li {
|
||||||
|
@apply mt-1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown li > p + p {
|
||||||
|
@apply mt-6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown strong {
|
||||||
|
@apply font-semibold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown a {
|
||||||
|
@apply text-blue-600 font-semibold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown strong a {
|
||||||
|
@apply font-bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown h1 {
|
||||||
|
@apply leading-tight border-b text-4xl font-semibold mb-4 mt-6 pb-2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown h2 {
|
||||||
|
@apply leading-tight border-b text-2xl font-semibold mb-4 mt-6 pb-2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown h3 {
|
||||||
|
@apply leading-snug text-lg font-semibold mb-4 mt-6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown h4 {
|
||||||
|
@apply leading-none text-base font-semibold mb-4 mt-6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown h5 {
|
||||||
|
@apply leading-tight text-sm font-semibold mb-4 mt-6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown h6 {
|
||||||
|
@apply leading-tight text-sm font-semibold text-gray-600 mb-4 mt-6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown blockquote {
|
||||||
|
@apply text-base border-l-4 border-gray-300 pl-4 pr-4 text-gray-600;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown code {
|
||||||
|
@apply font-body text-sm inline bg-gray-200 rounded px-1 py-05;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown pre {
|
||||||
|
@apply bg-gray-900 text-white overflow-scroll rounded p-4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown pre code {
|
||||||
|
@apply block p-0 rounded-none text-white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown ul {
|
||||||
|
@apply text-base pl-8 list-disc;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown ol {
|
||||||
|
@apply text-base pl-8 list-decimal;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown kbd {
|
||||||
|
@apply text-xs inline-block rounded border px-1 py-05 align-middle font-normal font-body shadow;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown table {
|
||||||
|
@apply text-base border-gray-600;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown th {
|
||||||
|
@apply border py-1 px-3;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown td {
|
||||||
|
@apply border py-1 px-3;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Override pygments style background color. */
|
||||||
|
.markdown .highlight pre {
|
||||||
|
@apply bg-gray-100 !important;
|
||||||
|
}
|
||||||
@@ -1,7 +1,9 @@
|
|||||||
import React from "react"
|
import React from "react"
|
||||||
import { graphql } from "gatsby"
|
import { graphql } from "gatsby"
|
||||||
import Header from '../components/header'
|
// import Header from '../components/header'
|
||||||
import Footer from '../components/footer'
|
// import Footer from '../components/footer'
|
||||||
|
import {Helmet} from "react-helmet";
|
||||||
|
import Layout from "../components/layout";
|
||||||
|
|
||||||
export default function Template({
|
export default function Template({
|
||||||
data, // this prop will be injected by the GraphQL query below.
|
data, // this prop will be injected by the GraphQL query below.
|
||||||
@@ -9,20 +11,25 @@ export default function Template({
|
|||||||
const { markdownRemark } = data // data.markdownRemark holds your post data
|
const { markdownRemark } = data // data.markdownRemark holds your post data
|
||||||
const { frontmatter, html } = markdownRemark
|
const { frontmatter, html } = markdownRemark
|
||||||
return (
|
return (
|
||||||
<>
|
<Layout>
|
||||||
<Header heading="GitHub Profile README Generator" />
|
{/* <Header heading="GitHub Profile README Generator" /> */}
|
||||||
<div className="blog-post-container">
|
<Helmet>
|
||||||
|
<meta charSet="utf-8" />
|
||||||
|
<title>{frontmatter.title}</title>
|
||||||
|
<link rel="canonical" href={`https://rahuldkjain.github.io/gh-profile-readme-generator`} />
|
||||||
|
</Helmet>
|
||||||
|
<div className="m-4 sm:p-10">
|
||||||
<div className="blog-post">
|
<div className="blog-post">
|
||||||
<h1>{frontmatter.title}</h1>
|
<h1 className="text-4xl font-bold">{frontmatter.title}</h1>
|
||||||
{/* <h2>{frontmatter.date}</h2> */}
|
{/* <h2>{frontmatter.date}</h2> */}
|
||||||
<div
|
<div
|
||||||
className="blog-post-content"
|
className="markdown"
|
||||||
dangerouslySetInnerHTML={{ __html: html }}
|
dangerouslySetInnerHTML={{ __html: html }}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<Footer />
|
{/* <Footer /> */}
|
||||||
</>
|
</Layout>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,27 @@
|
|||||||
|
module.exports = {
|
||||||
|
purge: [],
|
||||||
|
theme: {
|
||||||
|
extend: {},
|
||||||
|
fontSize: {
|
||||||
|
'xxs': '.60rem',
|
||||||
|
'xs': '.75rem',
|
||||||
|
'sm': '.875rem',
|
||||||
|
'tiny': '.875rem',
|
||||||
|
'base': '1rem',
|
||||||
|
'lg': '1.125rem',
|
||||||
|
'xl': '1.25rem',
|
||||||
|
'2xl': '1.5rem',
|
||||||
|
'3xl': '1.875rem',
|
||||||
|
'4xl': '2.25rem',
|
||||||
|
'5xl': '3rem',
|
||||||
|
'6xl': '4rem',
|
||||||
|
'7xl': '5rem',
|
||||||
|
},
|
||||||
|
fontFamily: {
|
||||||
|
'title': ['Lato', 'sans-serif'],
|
||||||
|
'body': ['Roboto Mono', 'monospace'],
|
||||||
|
}
|
||||||
|
},
|
||||||
|
variants: {},
|
||||||
|
plugins: [],
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user