project files
@@ -0,0 +1,70 @@
|
||||
dist/
|
||||
# Logs
|
||||
logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
|
||||
# Runtime data
|
||||
pids
|
||||
*.pid
|
||||
*.seed
|
||||
*.pid.lock
|
||||
|
||||
# Directory for instrumented libs generated by jscoverage/JSCover
|
||||
lib-cov
|
||||
|
||||
# Coverage directory used by tools like istanbul
|
||||
coverage
|
||||
|
||||
# nyc test coverage
|
||||
.nyc_output
|
||||
|
||||
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
|
||||
.grunt
|
||||
|
||||
# Bower dependency directory (https://bower.io/)
|
||||
bower_components
|
||||
|
||||
# node-waf configuration
|
||||
.lock-wscript
|
||||
|
||||
# Compiled binary addons (http://nodejs.org/api/addons.html)
|
||||
build/Release
|
||||
|
||||
# Dependency directories
|
||||
node_modules/
|
||||
jspm_packages/
|
||||
|
||||
# Typescript v1 declaration files
|
||||
typings/
|
||||
|
||||
# Optional npm cache directory
|
||||
.npm
|
||||
|
||||
# Optional eslint cache
|
||||
.eslintcache
|
||||
|
||||
# Optional REPL history
|
||||
.node_repl_history
|
||||
|
||||
# Output of 'npm pack'
|
||||
*.tgz
|
||||
|
||||
# dotenv environment variable files
|
||||
.env*
|
||||
|
||||
# gatsby files
|
||||
.cache/
|
||||
public
|
||||
|
||||
# Mac files
|
||||
.DS_Store
|
||||
|
||||
# Yarn
|
||||
yarn-error.log
|
||||
.pnp/
|
||||
.pnp.js
|
||||
# Yarn Integrity file
|
||||
.yarn-integrity
|
||||
@@ -0,0 +1,4 @@
|
||||
.cache
|
||||
package.json
|
||||
package-lock.json
|
||||
public
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"arrowParens": "avoid",
|
||||
"semi": false
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><meta name="generator" content="Gatsby 2.23.12"/><title data-react-helmet="true">404: Not found | Github Profile Readme Generator</title><meta data-react-helmet="true" name="description" content="Prettify your github profile using this amazing readme generator."/><meta data-react-helmet="true" property="og:title" content="404: Not found"/><meta data-react-helmet="true" property="og:description" content="Prettify your github profile using this amazing readme generator."/><meta data-react-helmet="true" property="og:type" content="website"/><meta data-react-helmet="true" name="twitter:card" content="summary"/><meta data-react-helmet="true" name="twitter:creator" content="@rahuldkjain"/><meta data-react-helmet="true" name="twitter:title" content="404: Not found"/><meta data-react-helmet="true" name="twitter:description" content="Prettify your github profile using this amazing readme generator."/><link rel="icon" href="/github-profile-readme-generator/favicon-32x32.png?v=040f54e2f6c858e0a3dcf568c3f2b6f1"/><link rel="manifest" href="/github-profile-readme-generator/manifest.webmanifest"/><meta name="theme-color" content="#663399"/><link rel="apple-touch-icon" sizes="48x48" href="/github-profile-readme-generator/icons/icon-48x48.png?v=040f54e2f6c858e0a3dcf568c3f2b6f1"/><link rel="apple-touch-icon" sizes="72x72" href="/github-profile-readme-generator/icons/icon-72x72.png?v=040f54e2f6c858e0a3dcf568c3f2b6f1"/><link rel="apple-touch-icon" sizes="96x96" href="/github-profile-readme-generator/icons/icon-96x96.png?v=040f54e2f6c858e0a3dcf568c3f2b6f1"/><link rel="apple-touch-icon" sizes="144x144" href="/github-profile-readme-generator/icons/icon-144x144.png?v=040f54e2f6c858e0a3dcf568c3f2b6f1"/><link rel="apple-touch-icon" sizes="192x192" href="/github-profile-readme-generator/icons/icon-192x192.png?v=040f54e2f6c858e0a3dcf568c3f2b6f1"/><link rel="apple-touch-icon" sizes="256x256" href="/github-profile-readme-generator/icons/icon-256x256.png?v=040f54e2f6c858e0a3dcf568c3f2b6f1"/><link rel="apple-touch-icon" sizes="384x384" href="/github-profile-readme-generator/icons/icon-384x384.png?v=040f54e2f6c858e0a3dcf568c3f2b6f1"/><link rel="apple-touch-icon" sizes="512x512" href="/github-profile-readme-generator/icons/icon-512x512.png?v=040f54e2f6c858e0a3dcf568c3f2b6f1"/><link as="script" rel="preload" href="/github-profile-readme-generator/app-48e63b59af1a4a6482eb.js"/><link as="script" rel="preload" href="/github-profile-readme-generator/component---src-pages-404-js-a27f511fcaaba10d1e85.js"/><link as="script" rel="preload" href="/github-profile-readme-generator/commons-739a8854210480788d7a.js"/><link as="script" rel="preload" href="/github-profile-readme-generator/framework-d9cf0f47b747b267fae2.js"/><link as="script" rel="preload" href="/github-profile-readme-generator/webpack-runtime-02b1734b472e8b2710a9.js"/><link as="fetch" rel="preload" href="/github-profile-readme-generator/page-data/404.html/page-data.json" crossorigin="anonymous"/><link as="fetch" rel="preload" href="/github-profile-readme-generator/page-data/app-data.json" crossorigin="anonymous"/></head><body><div id="___gatsby"><div style="outline:none" tabindex="-1" id="gatsby-focus-wrapper"><div><h1>NOT FOUND</h1><p>You just hit a route that doesn't exist... the sadness.</p></div></div><div id="gatsby-announcer" style="position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0" aria-live="assertive" aria-atomic="true"></div></div><script id="gatsby-script-loader">/*<![CDATA[*/window.pagePath="/404.html";/*]]>*/</script><script id="gatsby-chunk-mapping">/*<![CDATA[*/window.___chunkMapping={"app":["/app-48e63b59af1a4a6482eb.js"],"component---src-pages-404-js":["/component---src-pages-404-js-a27f511fcaaba10d1e85.js"],"component---src-pages-index-js":["/component---src-pages-index-js-34b8c57f90ad392d4393.js"],"component---src-pages-using-typescript-tsx":["/component---src-pages-using-typescript-tsx-cf434b27240684b31228.js"]};/*]]>*/</script><script src="/github-profile-readme-generator/webpack-runtime-02b1734b472e8b2710a9.js" async=""></script><script src="/github-profile-readme-generator/framework-d9cf0f47b747b267fae2.js" async=""></script><script src="/github-profile-readme-generator/commons-739a8854210480788d7a.js" async=""></script><script src="/github-profile-readme-generator/component---src-pages-404-js-a27f511fcaaba10d1e85.js" async=""></script><script src="/github-profile-readme-generator/app-48e63b59af1a4a6482eb.js" async=""></script></body></html>
|
||||
@@ -1 +0,0 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><meta name="generator" content="Gatsby 2.23.12"/><title data-react-helmet="true">404: Not found | Github Profile Readme Generator</title><meta data-react-helmet="true" name="description" content="Prettify your github profile using this amazing readme generator."/><meta data-react-helmet="true" property="og:title" content="404: Not found"/><meta data-react-helmet="true" property="og:description" content="Prettify your github profile using this amazing readme generator."/><meta data-react-helmet="true" property="og:type" content="website"/><meta data-react-helmet="true" name="twitter:card" content="summary"/><meta data-react-helmet="true" name="twitter:creator" content="@rahuldkjain"/><meta data-react-helmet="true" name="twitter:title" content="404: Not found"/><meta data-react-helmet="true" name="twitter:description" content="Prettify your github profile using this amazing readme generator."/><link rel="icon" href="/github-profile-readme-generator/favicon-32x32.png?v=040f54e2f6c858e0a3dcf568c3f2b6f1"/><link rel="manifest" href="/github-profile-readme-generator/manifest.webmanifest"/><meta name="theme-color" content="#663399"/><link rel="apple-touch-icon" sizes="48x48" href="/github-profile-readme-generator/icons/icon-48x48.png?v=040f54e2f6c858e0a3dcf568c3f2b6f1"/><link rel="apple-touch-icon" sizes="72x72" href="/github-profile-readme-generator/icons/icon-72x72.png?v=040f54e2f6c858e0a3dcf568c3f2b6f1"/><link rel="apple-touch-icon" sizes="96x96" href="/github-profile-readme-generator/icons/icon-96x96.png?v=040f54e2f6c858e0a3dcf568c3f2b6f1"/><link rel="apple-touch-icon" sizes="144x144" href="/github-profile-readme-generator/icons/icon-144x144.png?v=040f54e2f6c858e0a3dcf568c3f2b6f1"/><link rel="apple-touch-icon" sizes="192x192" href="/github-profile-readme-generator/icons/icon-192x192.png?v=040f54e2f6c858e0a3dcf568c3f2b6f1"/><link rel="apple-touch-icon" sizes="256x256" href="/github-profile-readme-generator/icons/icon-256x256.png?v=040f54e2f6c858e0a3dcf568c3f2b6f1"/><link rel="apple-touch-icon" sizes="384x384" href="/github-profile-readme-generator/icons/icon-384x384.png?v=040f54e2f6c858e0a3dcf568c3f2b6f1"/><link rel="apple-touch-icon" sizes="512x512" href="/github-profile-readme-generator/icons/icon-512x512.png?v=040f54e2f6c858e0a3dcf568c3f2b6f1"/><link as="script" rel="preload" href="/github-profile-readme-generator/app-48e63b59af1a4a6482eb.js"/><link as="script" rel="preload" href="/github-profile-readme-generator/component---src-pages-404-js-a27f511fcaaba10d1e85.js"/><link as="script" rel="preload" href="/github-profile-readme-generator/commons-739a8854210480788d7a.js"/><link as="script" rel="preload" href="/github-profile-readme-generator/framework-d9cf0f47b747b267fae2.js"/><link as="script" rel="preload" href="/github-profile-readme-generator/webpack-runtime-02b1734b472e8b2710a9.js"/><link as="fetch" rel="preload" href="/github-profile-readme-generator/page-data/404/page-data.json" crossorigin="anonymous"/><link as="fetch" rel="preload" href="/github-profile-readme-generator/page-data/app-data.json" crossorigin="anonymous"/></head><body><div id="___gatsby"><div style="outline:none" tabindex="-1" id="gatsby-focus-wrapper"><div><h1>NOT FOUND</h1><p>You just hit a route that doesn't exist... the sadness.</p></div></div><div id="gatsby-announcer" style="position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0" aria-live="assertive" aria-atomic="true"></div></div><script id="gatsby-script-loader">/*<![CDATA[*/window.pagePath="/404/";/*]]>*/</script><script id="gatsby-chunk-mapping">/*<![CDATA[*/window.___chunkMapping={"app":["/app-48e63b59af1a4a6482eb.js"],"component---src-pages-404-js":["/component---src-pages-404-js-a27f511fcaaba10d1e85.js"],"component---src-pages-index-js":["/component---src-pages-index-js-34b8c57f90ad392d4393.js"],"component---src-pages-using-typescript-tsx":["/component---src-pages-using-typescript-tsx-cf434b27240684b31228.js"]};/*]]>*/</script><script src="/github-profile-readme-generator/webpack-runtime-02b1734b472e8b2710a9.js" async=""></script><script src="/github-profile-readme-generator/framework-d9cf0f47b747b267fae2.js" async=""></script><script src="/github-profile-readme-generator/commons-739a8854210480788d7a.js" async=""></script><script src="/github-profile-readme-generator/component---src-pages-404-js-a27f511fcaaba10d1e85.js" async=""></script><script src="/github-profile-readme-generator/app-48e63b59af1a4a6482eb.js" async=""></script></body></html>
|
||||
@@ -0,0 +1,201 @@
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
@@ -0,0 +1,24 @@
|
||||
<p align="center">
|
||||
<a href="https://rahuldkjain.github.io/gh-profile-readme-generator">
|
||||
<img alt="Github Profile Readme Generator" src="./src/images/mdg.png" width="60" />
|
||||
</a>
|
||||
</p>
|
||||
<h1 align="center">
|
||||
Github Profile Readme Generator
|
||||
</h1>
|
||||
|
||||
|
||||
#### Tired of editing Github Profile README with new features?
|
||||
This tool provides an easy way to create github profile readme with latest addons like `visitors count`, `github stats` etc.
|
||||
|
||||
🚀 Try it out: [Live demo](https://rahuldkjain.github.io/gh-profile-readme-generator)
|
||||
|
||||
### 🧐 Features
|
||||
Just fill the details like `Name`, `Tagline`, `Dev Platforms Username`, `Current Work`, `Portfolio`, `Blog` etc. with a minimal UI.
|
||||
|
||||
Click on `Generate README` to get your README in `markdown`.
|
||||
You can preview the README too.
|
||||
|
||||
You can add latest addons like `visitors count`, `shields`, `dev icons`, `github stats` etc to your README in just one click.
|
||||
|
||||
Designed with 💫 by [Rahul](https://rahuldkjain.github.io)
|
||||
@@ -1 +0,0 @@
|
||||
{"app":["/app-48e63b59af1a4a6482eb.js"],"component---src-pages-404-js":["/component---src-pages-404-js-a27f511fcaaba10d1e85.js"],"component---src-pages-index-js":["/component---src-pages-index-js-34b8c57f90ad392d4393.js"],"component---src-pages-using-typescript-tsx":["/component---src-pages-using-typescript-tsx-cf434b27240684b31228.js"]}
|
||||
@@ -1,2 +0,0 @@
|
||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{w2l6:function(e,t,n){"use strict";n.r(t);var a=n("q1tI"),l=n.n(a),u=n("vrFN");t.default=function(){return l.a.createElement("div",null,l.a.createElement(u.a,{title:"404: Not found"}),l.a.createElement("h1",null,"NOT FOUND"),l.a.createElement("p",null,"You just hit a route that doesn't exist... the sadness."))}}}]);
|
||||
//# sourceMappingURL=component---src-pages-404-js-a27f511fcaaba10d1e85.js.map
|
||||
@@ -1 +0,0 @@
|
||||
{"version":3,"sources":["webpack:///./src/pages/404.js"],"names":["NotFoundPage","title"],"mappings":"2FAAA,4CAWeA,UARM,kBACnB,6BACE,kBAAC,IAAD,CAAKC,MAAM,mBACX,yCACA","file":"component---src-pages-404-js-a27f511fcaaba10d1e85.js","sourcesContent":["import React from \"react\"\nimport SEO from \"../components/seo\"\n\nconst NotFoundPage = () => (\n <div>\n <SEO title=\"404: Not found\" />\n <h1>NOT FOUND</h1>\n <p>You just hit a route that doesn't exist... the sadness.</p>\n </div>\n)\n\nexport default NotFoundPage\n"],"sourceRoot":""}
|
||||
@@ -1,2 +0,0 @@
|
||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{"+wGG":function(e,t,a){"use strict";a.r(t),a.d(t,"query",(function(){return o}));var n=a("q1tI"),l=a.n(n),r=a("Wbzz"),c=a("vrFN");t.default=function(e){var t=e.data,a=e.path;return l.a.createElement("div",null,l.a.createElement(c.a,{title:"Using TypeScript"}),l.a.createElement("h1",null,"Gatsby supports TypeScript by default!"),l.a.createElement("p",null,"This means that you can create and write ",l.a.createElement("em",null,".ts/.tsx")," files for your pages, components etc. Please note that the ",l.a.createElement("em",null,"gatsby-*.js")," files (like gatsby-node.js) currently don't support TypeScript yet."),l.a.createElement("p",null,"For type checking you'll want to install ",l.a.createElement("em",null,"typescript")," via npm and run ",l.a.createElement("em",null,"tsc --init")," to create a ",l.a.createElement("em",null,".tsconfig")," file."),l.a.createElement("p",null,"You're currently on the page \"",a,'" which was built on ',t.site.buildTime,"."),l.a.createElement("p",null,"To learn more, head over to our ",l.a.createElement("a",{href:"https://www.gatsbyjs.org/docs/typescript/"},"documentation about TypeScript"),"."),l.a.createElement(r.Link,{to:"/"},"Go back to the homepage"))};var o="2907560070"}}]);
|
||||
//# sourceMappingURL=component---src-pages-using-typescript-tsx-cf434b27240684b31228.js.map
|
||||
@@ -1 +0,0 @@
|
||||
{"version":3,"sources":["webpack:///./src/pages/using-typescript.tsx"],"names":["UsingTypescript","data","path","title","site","buildTime","href","to","query"],"mappings":"6FAAA,8FAuBeA,UAZyC,SAAC,GAAD,IAAGC,EAAH,EAAGA,KAAMC,EAAT,EAASA,KAAT,OACtD,6BACE,kBAAC,IAAD,CAAKC,MAAM,qBACX,sEACA,uEAA4C,wCAA5C,+DAAyH,2CAAzH,wEACA,uEAA4C,0CAA5C,oBAAgF,0CAAhF,gBAAgH,yCAAhH,UACA,6DAAkCD,EAAlC,wBAA6DD,EAAKG,KAAKC,UAAvE,KACA,8DAAmC,uBAAGC,KAAK,6CAAR,kCAAnC,KACA,kBAAC,OAAD,CAAMC,GAAG,KAAT,6BAMG,IAAMC,EAAQ","file":"component---src-pages-using-typescript-tsx-cf434b27240684b31228.js","sourcesContent":["// If you don't want to use TypeScript you can delete this file!\nimport React from \"react\"\nimport { PageProps, Link, graphql } from \"gatsby\"\nimport SEO from \"../components/seo\"\n\ntype DataProps = {\n site: {\n buildTime: string\n }\n}\n\nconst UsingTypescript: React.FC<PageProps<DataProps>> = ({ data, path }) => (\n <div>\n <SEO title=\"Using TypeScript\" />\n <h1>Gatsby supports TypeScript by default!</h1>\n <p>This means that you can create and write <em>.ts/.tsx</em> files for your pages, components etc. Please note that the <em>gatsby-*.js</em> files (like gatsby-node.js) currently don't support TypeScript yet.</p>\n <p>For type checking you'll want to install <em>typescript</em> via npm and run <em>tsc --init</em> to create a <em>.tsconfig</em> file.</p>\n <p>You're currently on the page \"{path}\" which was built on {data.site.buildTime}.</p>\n <p>To learn more, head over to our <a href=\"https://www.gatsbyjs.org/docs/typescript/\">documentation about TypeScript</a>.</p>\n <Link to=\"/\">Go back to the homepage</Link>\n </div>\n)\n\nexport default UsingTypescript\n\nexport const query = graphql`\n {\n site {\n buildTime(formatString: \"YYYY-MM-DD hh:mm a z\")\n }\n }\n`\n"],"sourceRoot":""}
|
||||
|
Before Width: | Height: | Size: 1012 B |
@@ -0,0 +1,34 @@
|
||||
module.exports = {
|
||||
siteMetadata: {
|
||||
title: `Github Profile Readme Generator`,
|
||||
description: `Prettify your github profile using this amazing readme generator.`,
|
||||
author: `@rahuldkjain`,
|
||||
},
|
||||
plugins: [
|
||||
`gatsby-plugin-react-helmet`,
|
||||
{
|
||||
resolve: `gatsby-source-filesystem`,
|
||||
options: {
|
||||
name: `images`,
|
||||
path: `${__dirname}/src/images`,
|
||||
},
|
||||
},
|
||||
`gatsby-transformer-sharp`,
|
||||
`gatsby-plugin-sharp`,
|
||||
{
|
||||
resolve: `gatsby-plugin-manifest`,
|
||||
options: {
|
||||
name: `gatsby-starter-default`,
|
||||
short_name: `starter`,
|
||||
start_url: `/`,
|
||||
background_color: `#663399`,
|
||||
theme_color: `#663399`,
|
||||
display: `minimal-ui`,
|
||||
icon: `src/images/mdg.png`, // This path is relative to the root of the site.
|
||||
},
|
||||
},
|
||||
// this (optional) plugin enables Progressive Web App + Offline functionality
|
||||
// To learn more, visit: https://gatsby.dev/offline
|
||||
// `gatsby-plugin-offline`,
|
||||
],
|
||||
}
|
||||
|
Before Width: | Height: | Size: 4.6 KiB |
|
Before Width: | Height: | Size: 6.1 KiB |
|
Before Width: | Height: | Size: 8.4 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 9.4 KiB |
|
Before Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 3.1 KiB |
@@ -1 +0,0 @@
|
||||
{"name":"gatsby-starter-default","short_name":"starter","start_url":"/github-profile-readme-generator/","background_color":"#663399","theme_color":"#663399","display":"minimal-ui","cacheDigest":"040f54e2f6c858e0a3dcf568c3f2b6f1","icons":[{"src":"/github-profile-readme-generator/icons/icon-48x48.png?v=040f54e2f6c858e0a3dcf568c3f2b6f1","sizes":"48x48","type":"image/png"},{"src":"/github-profile-readme-generator/icons/icon-72x72.png?v=040f54e2f6c858e0a3dcf568c3f2b6f1","sizes":"72x72","type":"image/png"},{"src":"/github-profile-readme-generator/icons/icon-96x96.png?v=040f54e2f6c858e0a3dcf568c3f2b6f1","sizes":"96x96","type":"image/png"},{"src":"/github-profile-readme-generator/icons/icon-144x144.png?v=040f54e2f6c858e0a3dcf568c3f2b6f1","sizes":"144x144","type":"image/png"},{"src":"/github-profile-readme-generator/icons/icon-192x192.png?v=040f54e2f6c858e0a3dcf568c3f2b6f1","sizes":"192x192","type":"image/png"},{"src":"/github-profile-readme-generator/icons/icon-256x256.png?v=040f54e2f6c858e0a3dcf568c3f2b6f1","sizes":"256x256","type":"image/png"},{"src":"/github-profile-readme-generator/icons/icon-384x384.png?v=040f54e2f6c858e0a3dcf568c3f2b6f1","sizes":"384x384","type":"image/png"},{"src":"/github-profile-readme-generator/icons/icon-512x512.png?v=040f54e2f6c858e0a3dcf568c3f2b6f1","sizes":"512x512","type":"image/png"}]}
|
||||
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "github-profile-reamde-generator",
|
||||
"private": true,
|
||||
"description": "A simple react app to generate beautiful github profile readme in md(markdown)",
|
||||
"version": "0.1.0",
|
||||
"author": "Rahul Jain <rahuldkjain@gmail.com>",
|
||||
"dependencies": {
|
||||
"gatsby": "^2.23.12",
|
||||
"gatsby-image": "^2.4.9",
|
||||
"gatsby-plugin-manifest": "^2.4.14",
|
||||
"gatsby-plugin-offline": "^3.2.13",
|
||||
"gatsby-plugin-react-helmet": "^3.3.6",
|
||||
"gatsby-plugin-sharp": "^2.6.14",
|
||||
"gatsby-source-filesystem": "^2.3.14",
|
||||
"gatsby-transformer-sharp": "^2.5.7",
|
||||
"gsap": "^3.4.0",
|
||||
"prop-types": "^15.7.2",
|
||||
"react": "^16.12.0",
|
||||
"react-dom": "^16.12.0",
|
||||
"react-github-btn": "^1.2.0",
|
||||
"react-helmet": "^6.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"prettier": "2.0.5"
|
||||
},
|
||||
"keywords": [
|
||||
"gatsby"
|
||||
],
|
||||
"license": "0BSD",
|
||||
"scripts": {
|
||||
"build": "gatsby build",
|
||||
"develop": "gatsby develop",
|
||||
"format": "prettier --write \"**/*.{js,jsx,ts,tsx,json,md}\"",
|
||||
"start": "npm run develop",
|
||||
"serve": "gatsby serve",
|
||||
"clean": "gatsby clean",
|
||||
"test": "echo \"Write tests! -> https://gatsby.dev/unit-testing\" && exit 1"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/gatsbyjs/gatsby-starter-default"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/gatsbyjs/gatsby/issues"
|
||||
}
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
{"componentChunkName":"component---src-pages-404-js","path":"/404.html","result":{"pageContext":{}}}
|
||||
@@ -1 +0,0 @@
|
||||
{"componentChunkName":"component---src-pages-404-js","path":"/404/","result":{"pageContext":{}}}
|
||||
@@ -1 +0,0 @@
|
||||
{"webpackCompilationHash":"db379f02ace9fff7a99f"}
|
||||
@@ -1 +0,0 @@
|
||||
{"componentChunkName":"component---cache-dev-404-page-js","path":"/dev-404-page/","result":{"data":{"allSitePage":{"nodes":[{"path":"/404/"},{"path":"/"},{"path":"/using-typescript/"},{"path":"/404.html"}]}},"pageContext":{}}}
|
||||
@@ -1 +0,0 @@
|
||||
{"componentChunkName":"component---src-pages-index-js","path":"/","result":{"pageContext":{}}}
|
||||
@@ -1 +0,0 @@
|
||||
{"componentChunkName":"component---src-pages-using-typescript-tsx","path":"/using-typescript/","result":{"data":{"site":{"buildTime":"2020-07-15 01:03 pm UTC"}},"pageContext":{}}}
|
||||
@@ -0,0 +1,21 @@
|
||||
import React from 'react';
|
||||
|
||||
const Addons = (props) => {
|
||||
return (
|
||||
<div className="section">
|
||||
<h3>Add-ons</h3>
|
||||
<div className="checkbox">
|
||||
<input type="checkbox" checked={props.data.visitorsBadge}
|
||||
onChange={event => props.handleCheckChange('visitorsBadge')}/>
|
||||
<span className="checkboxLabel"> display visitors count badge</span>
|
||||
</div>
|
||||
<div className="checkbox">
|
||||
<input type="checkbox" checked={props.data.githubStats}
|
||||
onChange={event => props.handleCheckChange('githubStats')} />
|
||||
<span className="checkboxLabel"> display github profile stats card</span>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
export default Addons;
|
||||
@@ -0,0 +1,9 @@
|
||||
import React from 'react';
|
||||
const Footer = () => {
|
||||
return (
|
||||
<div className="footer">
|
||||
Developed with ❤️ by <a href="https://rahuldkjain.github.io" style={{textDecoration: 'none'}}>Rahul</a>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
export default Footer;
|
||||
@@ -0,0 +1,23 @@
|
||||
import { Link } from "gatsby"
|
||||
import React from "react"
|
||||
import GitHubButton from 'react-github-btn'
|
||||
|
||||
const Header = (props) => {
|
||||
return (
|
||||
<div className="header">
|
||||
<h1 className="heading">
|
||||
<Link to="/" style={{textDecoration: 'none', color: '#0a0a23'}}>
|
||||
{props.heading}
|
||||
</Link>
|
||||
</h1>
|
||||
<GitHubButton id="star-github" href="https://github.com/rahuldkjain/github-profile-readme-generator"
|
||||
data-icon="octicon-star" aria-label="Star rahuldkjain/github-profile-readme-generator on GitHub">
|
||||
Star this repo</GitHubButton>
|
||||
<GitHubButton id="fork-github" href="https://github.com/rahuldkjain/github-profile-readme-generator/fork"
|
||||
data-icon="octicon-repo-forked"
|
||||
aria-label="Fork rahuldkjain/github-profile-readme-generator on GitHub">Fork on Github</GitHubButton>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
export default Header
|
||||
@@ -0,0 +1,41 @@
|
||||
import React, { useRef, useEffect } from 'react';
|
||||
import gsap from 'gsap';
|
||||
const animationLoader = () => { }
|
||||
const Loader = () => {
|
||||
let arrow = useRef([]);
|
||||
useEffect(() => {
|
||||
var tl = new gsap.timeline({repeat: -1});
|
||||
tl.fromTo(arrow.current, {
|
||||
y: 0,
|
||||
color: '#3b3b4f',
|
||||
}, {
|
||||
y: -50,
|
||||
color: '#d0d0d5',
|
||||
stagger: 0.1,
|
||||
duration: 0.5,
|
||||
ease: 'Linear.easeNone'
|
||||
});
|
||||
tl.add('cp')
|
||||
tl.fromTo(arrow.current, {
|
||||
y: -50,
|
||||
color: '#d0d0d5',
|
||||
}, {
|
||||
y: 0,
|
||||
color: '#3b3b4f',
|
||||
stagger: 0.1,
|
||||
duration: 0.5,
|
||||
ease: 'Linear.easeNone'
|
||||
}, 'cp-=0.3');
|
||||
});
|
||||
return (
|
||||
<div className="loader">
|
||||
<span ref={el => (arrow.current[0] = el)}>↓</span>
|
||||
<span ref={el => (arrow.current[1] = el)}>↓</span>
|
||||
<span ref={el => (arrow.current[2] = el)}>↓</span>
|
||||
<span ref={el => (arrow.current[3] = el)}>↓</span>
|
||||
<span ref={el => (arrow.current[4] = el)}>↓</span>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
export default Loader;
|
||||
@@ -0,0 +1,103 @@
|
||||
import React from 'react';
|
||||
|
||||
const Title = (props) => {
|
||||
if (props.prefix && props.title) {
|
||||
return (
|
||||
<>
|
||||
{`<h1 align="center">${props.prefix + ' ' + props.title}</h1>`}
|
||||
<br />
|
||||
</>
|
||||
);
|
||||
}
|
||||
return '';
|
||||
}
|
||||
const SubTitle = (props) => {
|
||||
if (props.subtitle) {
|
||||
return (
|
||||
<>
|
||||
{`<h3 align="center">${props.subtitle}</h3>`}
|
||||
<br />
|
||||
</>
|
||||
);
|
||||
}
|
||||
return '';
|
||||
}
|
||||
const DisplayWork = (props) => {
|
||||
if (props.prefix && props.project) {
|
||||
if (props.link) {
|
||||
return (<>{`- ${props.prefix} [${props.project}](${props.link})`}<br /><br /></>);
|
||||
} else {
|
||||
return (<>{`- ${props.prefix} **${props.project}**`}<br /><br /></>);
|
||||
}
|
||||
}
|
||||
if (props.prefix && props.link) {
|
||||
return (<>{`- ${props.prefix} [${props.link}](${props.link})`}<br /><br /></>);
|
||||
}
|
||||
return '';
|
||||
}
|
||||
const DisplaySocial = (props) => {
|
||||
if (props.username) {
|
||||
return (<>{`<a href=${props.base}/${props.username} target="blank"><img align="center" src=${props.icon} alt="${props.username}" height="20" width="20" /></a>`}<br /></>);
|
||||
}
|
||||
return '';
|
||||
}
|
||||
const VisitorsBadge = (props) => {
|
||||
let link = "https://visitor-badge.glitch.me/badge?page_id=" + props.github + '.' + props.github
|
||||
if (props.show) {
|
||||
return (<>{`<p align="left"> <img src=${link} alt=${props.github}/> </p>`}<br /><br /></>);
|
||||
}
|
||||
return '';
|
||||
}
|
||||
const GithubStats = (props) => {
|
||||
let link = "https://github-readme-stats.vercel.app/api?username=" + props.github + "&show_icons=true"
|
||||
if (props.show) {
|
||||
return (<>{`<p align="center"> <img src=${link} alt=${props.github} /> </p>`}<br /><br /></>);
|
||||
}
|
||||
return '';
|
||||
}
|
||||
const isSocial = (social) => {
|
||||
return (social.dev || social.twitter || social.codepen || social.codesandbox || social.stackoverflow
|
||||
|| social.linkedin || social.kaggle || social.instagram || social.fb);
|
||||
}
|
||||
const Markdown = (props) => {
|
||||
return (
|
||||
<div id="markdown-content">
|
||||
<Title prefix={props.prefix.title} title={props.data.title} />
|
||||
<SubTitle subtitle={props.data.subtitle} />
|
||||
<VisitorsBadge show={props.data.visitorsBadge} github={props.social.github} />
|
||||
|
||||
<DisplayWork prefix={props.prefix.currentWork} project={props.data.currentWork} link={props.link.currentWork} />
|
||||
<DisplayWork prefix={props.prefix.collaborateOn} project={props.data.collaborateOn} link={props.link.collaborateOn} />
|
||||
<DisplayWork prefix={props.prefix.helpWith} project={props.data.helpWith} link={props.link.helpWith} />
|
||||
<DisplayWork prefix={props.prefix.portfolio} project={props.data.portfolio} />
|
||||
<DisplayWork prefix={props.prefix.blog} project={props.data.blog} />
|
||||
<DisplayWork prefix={props.prefix.ama} project={props.data.ama} />
|
||||
<DisplayWork prefix={props.prefix.contact} project={props.data.contact} />
|
||||
<DisplayWork prefix={props.prefix.funFact} project={props.data.funFact} />
|
||||
{ isSocial(props.social) ? `<p align="center">` : ''} <br />
|
||||
<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://twitter.com' icon='https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/twitter.svg'
|
||||
username={props.social.twitter} />
|
||||
<DisplaySocial base='https://linkedin.com/in' icon='https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/linkedin.svg'
|
||||
username={props.social.linkedin} />
|
||||
<DisplaySocial base='https://stackoverflow.com'
|
||||
icon='https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/stackoverflow.svg' username={props.social.stackoverflow} />
|
||||
<DisplaySocial base='https://codesandbox.com' icon='https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/codesandbox.svg'
|
||||
username={props.social.codesandbox} />
|
||||
<DisplaySocial base='https://kaggle.com' icon='https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/kaggle.svg'
|
||||
username={props.social.kaggle} />
|
||||
<DisplaySocial base='https://fb.com' icon='https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/facebook.svg'
|
||||
username={props.social.fb} />
|
||||
<DisplaySocial base='https://instagram.com' icon='https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/instagram.svg'
|
||||
username={props.social.instagram} />
|
||||
{ isSocial(props.social) ? `</p>` : ''}
|
||||
<br /><br />
|
||||
<GithubStats show={props.data.githubStats} github={props.social.github} />
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default Markdown;
|
||||
@@ -0,0 +1,48 @@
|
||||
:root {
|
||||
--grey-05: #f5f6f7;
|
||||
--grey-10: #dfdfe2;
|
||||
--grey-15: #d0d0d5;
|
||||
--grey-75: #3b3b4f;
|
||||
--grey-80: #2a2a40;
|
||||
--grey-85: #1b1b32;
|
||||
--grey-90: #0a0a23;
|
||||
--purple: #dbb8ff;
|
||||
--yellow: #f1be32;
|
||||
--blue: #99c9ff;
|
||||
--light-green: #acd157;
|
||||
--dark-purple: #5a01a7;
|
||||
--dark-yellow: #4d3800;
|
||||
--dark-blue: #002ead;
|
||||
--dark-green: #00471b;
|
||||
}
|
||||
.title {
|
||||
text-align: center;
|
||||
}
|
||||
.subtitle {
|
||||
text-align: center;
|
||||
}
|
||||
.link {
|
||||
text-decoration: none;
|
||||
color: var(--dark-blue);
|
||||
}
|
||||
.social-icon {
|
||||
margin: 1%
|
||||
}
|
||||
.badge {
|
||||
text-align: left;
|
||||
}
|
||||
.card {
|
||||
text-align: center;
|
||||
}
|
||||
.social {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
.icon {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
margin: 1%;
|
||||
cursor: pointer;
|
||||
}
|
||||
@@ -0,0 +1,107 @@
|
||||
import React from 'react';
|
||||
|
||||
const TitlePreview = (props) => {
|
||||
if (props.prefix && props.title) {
|
||||
return (
|
||||
<h1 className="title">{props.prefix + ' ' + props.title}</h1>
|
||||
)
|
||||
}
|
||||
return null;
|
||||
}
|
||||
const SubTitlePreview = (props) => {
|
||||
if(props.subtitle) {
|
||||
return (
|
||||
<h3 className="subtitle">{props.subtitle}</h3>
|
||||
)
|
||||
}
|
||||
return null;
|
||||
}
|
||||
const DisplayWork = (props) => {
|
||||
if(props.prefix && props.project){
|
||||
if(props.link) {
|
||||
return (
|
||||
<div>
|
||||
{props.prefix + ' '}<a href={props.link} className="link" target="blank">{props.project}</a>
|
||||
</div>
|
||||
);
|
||||
} else {
|
||||
return (<div>{props.prefix +' '}<b>{props.project}</b></div>);
|
||||
}
|
||||
}
|
||||
if (props.prefix && props.link) {
|
||||
return (
|
||||
<div>
|
||||
{props.prefix + ' '}<a href={props.link} className="link" target="blank">{props.link}</a>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
const WorkPreview = (props) => {
|
||||
const prefix = props.work.prefix
|
||||
const data = props.work.data
|
||||
const link = props.work.link
|
||||
return (
|
||||
<>
|
||||
<DisplayWork prefix={prefix.currentWork} project={data.currentWork} link={link.currentWork}/>
|
||||
<DisplayWork prefix={prefix.helpWith} project={data.helpWith} link={link.helpWith}/>
|
||||
<DisplayWork prefix={prefix.collaborateOn} project={data.collaborateOn}
|
||||
link={link.collaborateOn}/>
|
||||
<DisplayWork prefix={prefix.ama} project={data.ama}/>
|
||||
<DisplayWork prefix={prefix.portfolio} link={link.portfolio}/>
|
||||
<DisplayWork prefix={prefix.blog} link={link.blog}/>
|
||||
<DisplayWork prefix={prefix.contact} project={data.contact}/>
|
||||
<DisplayWork prefix={prefix.funFact} project={data.funFact}/>
|
||||
</>
|
||||
)
|
||||
}
|
||||
const DisplaySocial = (props) => {
|
||||
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 null;
|
||||
}
|
||||
const SocialPreview = (props) => {
|
||||
return (
|
||||
<div className="social">
|
||||
<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://twitter.com" icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/twitter.svg" username={props.social.twitter} />
|
||||
<DisplaySocial base="https://linkedin.com/in" icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/linkedin.svg" username={props.social.linkedin} />
|
||||
<DisplaySocial base="https://stackoverflow.com" icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/stackoverflow.svg" username={props.social.stackoverflow} />
|
||||
<DisplaySocial base="https://codesandbox.com" icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/codesandbox.svg" username={props.social.codesandbox} />
|
||||
<DisplaySocial base="https://kaggle.com" icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/kaggle.svg" username={props.social.kaggle} />
|
||||
<DisplaySocial base="https://fb.com" icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/facebook.svg" username={props.social.fb} />
|
||||
<DisplaySocial base="https://instagram.com" icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/instagram.svg" username={props.social.instagram} />
|
||||
</div>
|
||||
)
|
||||
}
|
||||
const VisitorsBadgePreview = (props) => {
|
||||
let link = "https://visitor-badge.glitch.me/badge?page_id="+props.github+'.'+props.github
|
||||
if (props.show) {
|
||||
return (<div className="badge"> <img className="badgeImage" src={link} alt={props.github}/> </div>)
|
||||
}
|
||||
return null;
|
||||
}
|
||||
const GithubStatsPreview = (props) => {
|
||||
let link = "https://github-readme-stats.vercel.app/api?username="+props.github+"&show_icons=true"
|
||||
if (props.show) {
|
||||
return (<div className="card"> <img className="cardImage" src={link} alt={props.github}/> </div>)
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
const MarkdownPreview = (props) => {
|
||||
return (
|
||||
<div id="markdown-preview">
|
||||
<TitlePreview prefix={props.prefix.title} title={props.data.title} />
|
||||
<SubTitlePreview subtitle={props.data.subtitle} />
|
||||
<VisitorsBadgePreview show={props.data.visitorsBadge} github={props.social.github}/>
|
||||
<WorkPreview work={props}/>
|
||||
<GithubStatsPreview show={props.data.githubStats} github={props.social.github} />
|
||||
<SocialPreview social={props.social} />
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
export default MarkdownPreview;
|
||||
@@ -0,0 +1,88 @@
|
||||
/**
|
||||
* SEO component that queries for data with
|
||||
* Gatsby's useStaticQuery React hook
|
||||
*
|
||||
* See: https://www.gatsbyjs.org/docs/use-static-query/
|
||||
*/
|
||||
|
||||
import React from "react"
|
||||
import PropTypes from "prop-types"
|
||||
import { Helmet } from "react-helmet"
|
||||
import { useStaticQuery, graphql } from "gatsby"
|
||||
|
||||
function SEO({ description, lang, meta, title }) {
|
||||
const { site } = useStaticQuery(
|
||||
graphql`
|
||||
query {
|
||||
site {
|
||||
siteMetadata {
|
||||
title
|
||||
description
|
||||
author
|
||||
}
|
||||
}
|
||||
}
|
||||
`
|
||||
)
|
||||
|
||||
const metaDescription = description || site.siteMetadata.description
|
||||
|
||||
return (
|
||||
<Helmet
|
||||
htmlAttributes={{
|
||||
lang,
|
||||
}}
|
||||
title={title}
|
||||
titleTemplate={`%s | ${site.siteMetadata.title}`}
|
||||
meta={[
|
||||
{
|
||||
name: `description`,
|
||||
content: metaDescription,
|
||||
},
|
||||
{
|
||||
property: `og:title`,
|
||||
content: title,
|
||||
},
|
||||
{
|
||||
property: `og:description`,
|
||||
content: metaDescription,
|
||||
},
|
||||
{
|
||||
property: `og:type`,
|
||||
content: `website`,
|
||||
},
|
||||
{
|
||||
name: `twitter:card`,
|
||||
content: `summary`,
|
||||
},
|
||||
{
|
||||
name: `twitter:creator`,
|
||||
content: site.siteMetadata.author,
|
||||
},
|
||||
{
|
||||
name: `twitter:title`,
|
||||
content: title,
|
||||
},
|
||||
{
|
||||
name: `twitter:description`,
|
||||
content: metaDescription,
|
||||
},
|
||||
].concat(meta)}
|
||||
/>
|
||||
)
|
||||
}
|
||||
|
||||
SEO.defaultProps = {
|
||||
lang: `en`,
|
||||
meta: [],
|
||||
description: ``,
|
||||
}
|
||||
|
||||
SEO.propTypes = {
|
||||
description: PropTypes.string,
|
||||
lang: PropTypes.string,
|
||||
meta: PropTypes.arrayOf(PropTypes.object),
|
||||
title: PropTypes.string.isRequired,
|
||||
}
|
||||
|
||||
export default SEO
|
||||
@@ -0,0 +1,71 @@
|
||||
import React from 'react';
|
||||
|
||||
const Social = (props) => {
|
||||
return (
|
||||
<div className="section">
|
||||
<h3>Social</h3>
|
||||
<div className="container">
|
||||
<img src="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/github.svg"
|
||||
className="icon" alt="github" />
|
||||
<input id="github" placeholder="github username" className="inputField lg"
|
||||
value={props.social.github} onChange={event => props.handleSocialChange('github', event)} />
|
||||
</div>
|
||||
<div className="container">
|
||||
<img src="https://cdn.jsdelivr.net/npm/simple-icons@v3/icons/twitter.svg"
|
||||
className="icon" alt="twitter" />
|
||||
<input id="twitter" placeholder="twitter username" className="inputField lg"
|
||||
value={props.social.twitter} onChange={event => props.handleSocialChange('twitter', event)} />
|
||||
</div>
|
||||
<div className="container">
|
||||
<img src="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/dev-dot-to.svg"
|
||||
className="icon" alt="dev.to" />
|
||||
<input id="dev" placeholder="dev.to username" className="inputField lg"
|
||||
value={props.social.dev} onChange={event => props.handleSocialChange('dev', event)} />
|
||||
</div>
|
||||
<div className="container">
|
||||
<img src="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/codepen.svg"
|
||||
className="icon" alt="codepen" />
|
||||
<input id="codepen" placeholder="codepen username" className="inputField lg"
|
||||
value={props.social.codepen} onChange={event => props.handleSocialChange('codepen', event)} />
|
||||
</div>
|
||||
<div className="container">
|
||||
<img src="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/codesandbox.svg"
|
||||
className="icon" alt="codesandbox" />
|
||||
<input id="codesandbox" placeholder="codesandbox username" className="inputField lg"
|
||||
value={props.social.codesandbox} onChange={event => props.handleSocialChange('codesandbox', event)} />
|
||||
</div>
|
||||
<div className="container">
|
||||
<img src="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/stackoverflow.svg"
|
||||
className="icon" alt="stackoverflow" />
|
||||
<input id="stackoverflow" placeholder="stackoverflow username" className="inputField lg"
|
||||
value={props.social.stackoverflow} onChange={event => props.handleSocialChange('stackoverflow', event)} />
|
||||
</div>
|
||||
<div className="container">
|
||||
<img src="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/linkedin.svg"
|
||||
className="icon" alt="linkedin" />
|
||||
<input id="linkedin" placeholder="linkedin username" className="inputField lg"
|
||||
value={props.social.linkedin} onChange={event => props.handleSocialChange('linkedin', event)} />
|
||||
</div>
|
||||
<div className="container">
|
||||
<img src="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/kaggle.svg"
|
||||
className="icon" alt="kaggle" />
|
||||
<input id="kaggle" placeholder="kaggle username" className="inputField lg"
|
||||
value={props.social.kaggle} onChange={event => props.handleSocialChange('kaggle', event)} />
|
||||
</div>
|
||||
<div className="container">
|
||||
<img src="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/facebook.svg"
|
||||
className="icon" alt="facebook" />
|
||||
<input id="fb" placeholder="facebook username" className="inputField lg"
|
||||
value={props.social.fb} onChange={event => props.handleSocialChange('fb', event)} />
|
||||
</div>
|
||||
<div className="container">
|
||||
<img src="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/instagram.svg"
|
||||
className="icon" alt="instagram" />
|
||||
<input id="instagram" placeholder="instagram username" className="inputField lg"
|
||||
value={props.social.instagram} onChange={event => props.handleSocialChange('instagram', event)} />
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export default Social;
|
||||
@@ -0,0 +1,13 @@
|
||||
import React from 'react';
|
||||
|
||||
const Subtitle = (props) => {
|
||||
return (
|
||||
<div className="section">
|
||||
<h3>Subtitle</h3>
|
||||
<input id="subtitle" className="inputField lg prefix" value={props.data.subtitle}
|
||||
onChange={event => props.handleDataChange('subtitle', event)} />
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export default Subtitle;
|
||||
@@ -0,0 +1,15 @@
|
||||
import React from 'react';
|
||||
|
||||
const Title = (props) => {
|
||||
return (
|
||||
<div className="section">
|
||||
<h3>Title</h3>
|
||||
<input id="title-prefix" className="inputField sm prefix" value={props.prefix.title}
|
||||
onChange={event => props.handlePrefixChange('title', event)} />
|
||||
<input id="title-name" placeholder="name" className="inputField md" value={props.data.title}
|
||||
onChange={event => props.handleDataChange('title', event)} />
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export default Title;
|
||||
@@ -0,0 +1,74 @@
|
||||
import React from 'react';
|
||||
|
||||
const Work = (props) => {
|
||||
return (
|
||||
<div className="section">
|
||||
<h3>Work</h3>
|
||||
<div className="row">
|
||||
<input id="currentWork-prefix" className="inputField md prefix" value={props.prefix.currentWork}
|
||||
onChange={event => props.handlePrefixChange('currentWork', event)} />
|
||||
<input id="currentWork" placeholder="project name" className="inputField sm" value={props.data.currentWork}
|
||||
onChange={event => props.handleDataChange('currentWork', event)} />
|
||||
<input id="currentWork-link" placeholder="project link" className="inputField md link"
|
||||
value={props.link.currentWork} onChange={event => props.handleLinkChange('currentWork', event)} />
|
||||
</div>
|
||||
<div className="row">
|
||||
<input id="collaborateOn-prefix" className="inputField md prefix" value={props.prefix.collaborateOn}
|
||||
onChange={event => props.handlePrefixChange('collaborateOn', event)} />
|
||||
<input id="collaborateOn" placeholder="project name" className="inputField sm"
|
||||
value={props.data.collaborateOn} onChange={event => props.handleDataChange('collaborateOn', event)} />
|
||||
<input id="collaborateOn-link" placeholder="project link" className="inputField md link"
|
||||
value={props.link.collaborateOn} onChange={event => props.handleLinkChange('collaborateOn', event)} />
|
||||
</div>
|
||||
<div className="row">
|
||||
<input id="helpWith-prefix" className="inputField md prefix" value={props.prefix.helpWith}
|
||||
onChange={event => props.handlePrefixChange('helpWith', event)} />
|
||||
<input id="helpWith" placeholder="project name" className="inputField sm"
|
||||
value={props.data.helpWith} onChange={event => props.handleDataChange('helpWith', event)} />
|
||||
<input id="helpWith-link" placeholder="project link" className="inputField md link"
|
||||
value={props.link.helpWith} onChange={event => props.handleLinkChange('helpWith', event)} />
|
||||
</div>
|
||||
|
||||
<div className="row">
|
||||
<input id="currentLearn-prefix" className="inputField md prefix" value={props.prefix.currentLearn}
|
||||
onChange={event => props.handlePrefixChange('currentLearn', event)} />
|
||||
<input id="currentLearn" placeholder="Frameworks, courses etc." className="inputField md"
|
||||
value={props.data.currentLearn} onChange={event => props.handleDataChange('currentLearn', event)} />
|
||||
</div>
|
||||
<div className="row">
|
||||
<input id="ama-prefix" className="inputField md prefix" value={props.prefix.ama}
|
||||
onChange={event => props.handlePrefixChange('ama', event)} />
|
||||
<input id="ama" placeholder="react, vue and gsap" className="inputField md"
|
||||
value={props.data.ama} onChange={event => props.handleDataChange('ama', event)} />
|
||||
</div>
|
||||
|
||||
<div className="row">
|
||||
<input id="contact-prefix" className="inputField md prefix" value={props.prefix.contact}
|
||||
onChange={event => props.handlePrefixChange('contact', event)} />
|
||||
<input id="contact" placeholder="example@gmail.com" className="inputField md"
|
||||
value={props.data.contact} onChange={event => props.handleDataChange('contact', event)} />
|
||||
</div>
|
||||
|
||||
<div className="row">
|
||||
<input id="portfolio-prefix" className="inputField md prefix" value={props.prefix.portfolio}
|
||||
onChange={event => props.handlePrefixChange('portfolio', event)} />
|
||||
<input id="portfolio" placeholder="portfolio link" className="inputField md"
|
||||
value={props.link.portfolio} onChange={event => props.handleLinkChange('portfolio', event)} />
|
||||
</div>
|
||||
<div className="row">
|
||||
<input id="blog-prefix" className="inputField md prefix" value={props.prefix.blog}
|
||||
onChange={event => props.handlePrefixChange('blog', event)} />
|
||||
<input id="blog" placeholder="blog link" className="inputField md"
|
||||
value={props.link.blog} onChange={event => props.handleLinkChange('blog', event)} />
|
||||
</div>
|
||||
<div className="row">
|
||||
<input id="funFact-prefix" className="inputField md prefix" value={props.prefix.funFact}
|
||||
onChange={event => props.handlePrefixChange('funFact', event)} />
|
||||
<input id="funFact" placeholder="Chai over Coffee" className="inputField md"
|
||||
value={props.data.funFact} onChange={event => props.handleDataChange('funFact', event)} />
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export default Work;
|
||||
|
After Width: | Height: | Size: 11 KiB |
@@ -0,0 +1,12 @@
|
||||
import React from "react"
|
||||
import SEO from "../components/seo"
|
||||
|
||||
const NotFoundPage = () => (
|
||||
<div>
|
||||
<SEO title="404: Not found" />
|
||||
<h1>NOT FOUND</h1>
|
||||
<p>You just hit a route that doesn't exist... the sadness.</p>
|
||||
</div>
|
||||
)
|
||||
|
||||
export default NotFoundPage
|
||||
@@ -0,0 +1,256 @@
|
||||
@import url('https://fonts.googleapis.com/css2?family=Lato&display=swap');
|
||||
@import url('https://fonts.googleapis.com/css2?family=Roboto+Mono&display=swap');
|
||||
:root {
|
||||
--grey-05: #f5f6f7;
|
||||
--grey-10: #dfdfe2;
|
||||
--grey-15: #d0d0d5;
|
||||
--grey-75: #3b3b4f;
|
||||
--grey-80: #2a2a40;
|
||||
--grey-85: #1b1b32;
|
||||
--grey-90: #0a0a23;
|
||||
--purple: #dbb8ff;
|
||||
--yellow: #f1be32;
|
||||
--blue: #99c9ff;
|
||||
--red: #e71837;
|
||||
--light-green: #acd157;
|
||||
--dark-purple: #5a01a7;
|
||||
--dark-yellow: #4d3800;
|
||||
--dark-blue: #002ead;
|
||||
--dark-green: #00471b;
|
||||
}
|
||||
|
||||
html, body {
|
||||
margin: 1%;
|
||||
padding: 1%;
|
||||
font-family: 'Roboto Mono', monospace;
|
||||
color: var(--grey-90);
|
||||
}
|
||||
h1, h2, h3, h4 {
|
||||
margin: 0 !important;
|
||||
font-family: 'Lato', sans-serif;
|
||||
padding-left: 2%;
|
||||
}
|
||||
input:focus {
|
||||
outline: none;
|
||||
}
|
||||
[type=checkbox] {
|
||||
-webkit-box-shadow: 0 1px 1px var(--grey-90) !important;
|
||||
-moz-box-shadow: 0 1px 1px var(--grey-90) !important;
|
||||
box-shadow: 0 1px 1px var(--grey-90) !important;
|
||||
cursor: pointer;
|
||||
}
|
||||
.icon {
|
||||
width: 25px;
|
||||
height: 25px;
|
||||
}
|
||||
.section {
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
margin: 2% 0%;
|
||||
}
|
||||
|
||||
.inputField {
|
||||
border: 0px solid;
|
||||
border-bottom: 1px solid grey;
|
||||
margin: 2%;
|
||||
padding: 1% 2% 1% 1%;
|
||||
font-size: 18px;
|
||||
height: 25px;
|
||||
}
|
||||
.row {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
/* justify-content: flex-start; */
|
||||
}
|
||||
.inputField:focus {
|
||||
border-bottom: 1px solid var(--dark-blue);
|
||||
color: var(--grey-90);
|
||||
}
|
||||
.sm {
|
||||
width: 15%;
|
||||
}
|
||||
.md {
|
||||
width: 35%;
|
||||
}
|
||||
.lg {
|
||||
width: 50%;
|
||||
}
|
||||
.prefix {
|
||||
color: var(--grey-80);
|
||||
}
|
||||
.button {
|
||||
padding: 1% 0%;
|
||||
background: var(--grey-05);
|
||||
border: 2px solid var(--grey-85);
|
||||
color: var(--grey-90);
|
||||
width: 25%;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
}
|
||||
.container {
|
||||
width: 50%;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.checkbox {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
padding-left: 2%;
|
||||
margin: 1% 0%;
|
||||
}
|
||||
.checkboxLabel {
|
||||
font-weight: 500;
|
||||
}
|
||||
.submit {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
.warning {
|
||||
color: var(--red);
|
||||
background: var(--grey-05);
|
||||
margin-left: 2%;
|
||||
padding: 1%;
|
||||
}
|
||||
.preview {
|
||||
border: 2px solid var(--grey-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);
|
||||
box-shadow: 0px 0px 5px 5px rgba(208,208,213,0.75);
|
||||
padding: 0% 2%;
|
||||
}
|
||||
.markdown {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
margin: 2%;
|
||||
}
|
||||
.markdown-box {
|
||||
width: 80%;
|
||||
font-size: 12px;
|
||||
color: var(--grey-85);
|
||||
border: 2px solid var(--grey-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);
|
||||
box-shadow: 0px 0px 5px 5px rgba(208,208,213,0.75);
|
||||
padding: 1% 2% 0.5% 2%;
|
||||
}
|
||||
.copy-button {
|
||||
border: 2px solid var(--grey-15);
|
||||
padding: 1%;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
justify-self: flex-end;
|
||||
}
|
||||
.markdown-util {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
.preview-button {
|
||||
justify-self: flex-end;
|
||||
border: 2px solid var(--grey-15);
|
||||
padding: 1%;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
}
|
||||
.loader {
|
||||
height: 100vh;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.back-button {
|
||||
color: var(--grey-75);
|
||||
width: 14%;
|
||||
font-size: 20px;
|
||||
margin-left: 10%;
|
||||
cursor: pointer;
|
||||
}
|
||||
.title {
|
||||
text-align: center;
|
||||
}
|
||||
.subtitle {
|
||||
text-align: center;
|
||||
}
|
||||
.link {
|
||||
text-decoration: none;
|
||||
color: var(--dark-blue);
|
||||
}
|
||||
.social-icon {
|
||||
margin: 1%
|
||||
}
|
||||
.badge {
|
||||
text-align: left;
|
||||
}
|
||||
.card {
|
||||
text-align: center;
|
||||
}
|
||||
.social {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
.icon {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
margin: 1%;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.header {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
display: inline-block;
|
||||
}
|
||||
.heading {
|
||||
color: var(--dark-blue);
|
||||
font-family: 'Lato', sans-serif;
|
||||
}
|
||||
.footer {
|
||||
margin: 2% 0%;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 1199px) {
|
||||
h1, h2, h3, h4 {
|
||||
margin: 2% 0% !important;
|
||||
}
|
||||
.inputField {
|
||||
font-size: 10px;
|
||||
}
|
||||
.icon {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
}
|
||||
.checkbox {
|
||||
font-size: 12px;
|
||||
}
|
||||
.button {
|
||||
width: 60%;
|
||||
}
|
||||
.back-button {
|
||||
width: 35%;
|
||||
font-size: 14px;
|
||||
}
|
||||
.cardImage {
|
||||
width: 200px;
|
||||
height: 100px;
|
||||
}
|
||||
.badgeImage {
|
||||
height: 15px;
|
||||
}
|
||||
.heading {
|
||||
font-size: 14px;
|
||||
}
|
||||
.footer {
|
||||
font-size: 12px;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,198 @@
|
||||
import React, { useRef, useState } from "react"
|
||||
import MarkdownPreview from "../components/markdownPreview";
|
||||
import Markdown from '../components/markdown';
|
||||
import Header from '../components/header';
|
||||
import Title from '../components/title';
|
||||
import Subtitle from '../components/subtitle';
|
||||
import Work from '../components/work';
|
||||
import Social from '../components/social';
|
||||
import Addons from '../components/addons';
|
||||
import gsap from 'gsap';
|
||||
import Loader from '../components/loader';
|
||||
import Footer from '../components/footer';
|
||||
import './index.css'
|
||||
|
||||
const IndexPage = () => {
|
||||
const [prefix, setPrefix] = useState({
|
||||
title: "Hi 👋, I'm",
|
||||
currentWork: '🔭 I’m currently working on',
|
||||
currentLearn: '🌱 I’m currently learning',
|
||||
collaborateOn: '👯 I’m looking to collaborate on',
|
||||
helpWith: '🤔 I’m looking for help with',
|
||||
ama: '💬 Ask me about',
|
||||
contact: '📫 How to reach me',
|
||||
funFact: '⚡ Fun fact',
|
||||
portfolio: '👨💻 All of my projects are available at',
|
||||
blog: '📝 I regulary write articles on',
|
||||
});
|
||||
const [data, setData] = useState({
|
||||
title: '',
|
||||
subtitle: 'A passionate frontend developer from India',
|
||||
currentWork: '',
|
||||
currentLearn: '',
|
||||
collaborateOn: '',
|
||||
helpWith: '',
|
||||
ama: '',
|
||||
contact: '',
|
||||
funFact: '',
|
||||
visitorsBadge: false,
|
||||
githubStats: false,
|
||||
});
|
||||
const [link, setLink] = useState({
|
||||
currentWork: '',
|
||||
collaborateOn: '',
|
||||
helpWith: '',
|
||||
portfolio: '',
|
||||
blog: '',
|
||||
});
|
||||
const [social, setSocial] = useState({
|
||||
github: '',
|
||||
dev: '',
|
||||
linkedin: '',
|
||||
codepen: '',
|
||||
stackoverflow: '',
|
||||
kaggle: '',
|
||||
codesandbox: '',
|
||||
fb: '',
|
||||
instagram: '',
|
||||
twitter: '',
|
||||
});
|
||||
const [generatePreview, setGeneratePreview] = useState(false);
|
||||
const [generateMarkdown, setGenerateMarkdown] = useState(false);
|
||||
const [displayLoader, setDisplayLoader] = useState(false);
|
||||
const handlePrefixChange = (field, e) => {
|
||||
let change = { ...prefix }
|
||||
change[field] = e.target.value;
|
||||
setPrefix(change);
|
||||
}
|
||||
const handleDataChange = (field, e) => {
|
||||
let change = { ...data }
|
||||
change[field] = e.target.value;
|
||||
setData(change);
|
||||
}
|
||||
const handleLinkChange = (field, e) => {
|
||||
let change = { ...link }
|
||||
change[field] = e.target.value;
|
||||
setLink(change);
|
||||
}
|
||||
const handleSocialChange = (field, e) => {
|
||||
let change = { ...social }
|
||||
change[field] = e.target.value;
|
||||
setSocial(change);
|
||||
}
|
||||
const handleCheckChange = (field) => {
|
||||
let change = { ...data }
|
||||
change[field] = !change[field];
|
||||
setData(change);
|
||||
}
|
||||
const generate = () => {
|
||||
var tl = new gsap.timeline();
|
||||
tl.to('.generate', {
|
||||
scale: 0,
|
||||
duration: 0.5,
|
||||
ease: 'Linear.easeNone',
|
||||
});
|
||||
tl.set('.form', { display: 'none' });
|
||||
setDisplayLoader(true);
|
||||
setTimeout(() => {
|
||||
setDisplayLoader(false);
|
||||
setGenerateMarkdown(!generateMarkdown);
|
||||
gsap.fromTo('.markdown-box', {
|
||||
scale: 0.2,
|
||||
}, {
|
||||
scale: 1,
|
||||
duration: 0.5,
|
||||
ease: 'Linear.easeNone',
|
||||
});
|
||||
}, 3000);
|
||||
}
|
||||
const handleGenerate = () => {
|
||||
if (data.visitorsBadge || data.githubStats) {
|
||||
if (social.github) {
|
||||
generate();
|
||||
}
|
||||
} else {
|
||||
generate();
|
||||
}
|
||||
}
|
||||
const handleGeneratePreview = () => {
|
||||
setGenerateMarkdown(!generateMarkdown);
|
||||
setGeneratePreview(!generatePreview);
|
||||
if (!generatePreview) {
|
||||
gsap.set('#copy-markdown', {
|
||||
visibility: 'hidden'
|
||||
});
|
||||
document.getElementById('preview-markdown').innerHTML = 'markdown'
|
||||
} else {
|
||||
gsap.set('#copy-markdown', {
|
||||
visibility: 'visible'
|
||||
});
|
||||
document.getElementById('preview-markdown').innerHTML = 'preview'
|
||||
}
|
||||
}
|
||||
const handleCopyToClipboard = () => {
|
||||
var range = document.createRange();
|
||||
range.selectNode(document.getElementById("markdown-content"));
|
||||
window.getSelection().removeAllRanges(); // clear current selection
|
||||
window.getSelection().addRange(range); // to select text
|
||||
document.execCommand("copy");
|
||||
window.getSelection().removeAllRanges();
|
||||
gsap.set('#copy-markdown', {
|
||||
innerHTML: 'copied',
|
||||
color: '#00471b',
|
||||
});
|
||||
}
|
||||
const handleBackToEdit = () => {
|
||||
setGeneratePreview(false);
|
||||
setGenerateMarkdown(false);
|
||||
gsap.set('.form', {
|
||||
display: ''
|
||||
});
|
||||
gsap.to('.generate', {
|
||||
scale: 1,
|
||||
});
|
||||
}
|
||||
return (
|
||||
<>
|
||||
{/* <SEO title="Home" /> */}
|
||||
<Header heading="Github Profile Readme Generator" />
|
||||
<div className="form">
|
||||
<Title data={data} prefix={prefix} handleDataChange={handleDataChange} handlePrefixChange={handlePrefixChange} />
|
||||
<Subtitle data={data} handleDataChange={handleDataChange} />
|
||||
<Work prefix={prefix} data={data} link={link} handlePrefixChange={handlePrefixChange} handleLinkChange={handleLinkChange} handleDataChange={handleDataChange} />
|
||||
<Social social={social} handleSocialChange={handleSocialChange} />
|
||||
<Addons data={data} handleCheckChange={handleCheckChange} />
|
||||
|
||||
<div className="section">
|
||||
{(data.visitorsBadge || data.githubStats) && !social.github ?
|
||||
<div className="warning">* Please add github username to use these add-ons</div> : ''}
|
||||
</div>
|
||||
<div className="submit">
|
||||
<div className="button generate" onClick={handleGenerate}>Generate README</div>
|
||||
</div>
|
||||
</div>
|
||||
{displayLoader ? <Loader /> : ''}
|
||||
{/* <div className="section preview"></div> */}
|
||||
{(generateMarkdown || generatePreview) ?
|
||||
<div className="section">
|
||||
<div className="back-button" onClick={handleBackToEdit}>← back to edit</div>
|
||||
</div>
|
||||
: '' }
|
||||
{(generateMarkdown || generatePreview) ?
|
||||
<div className="markdown">
|
||||
<div className="markdown-box">
|
||||
<div className="markdown-util">
|
||||
<div className="copy-button" id="copy-markdown" onClick={handleCopyToClipboard}>copy</div>
|
||||
<div className="preview-button" id="preview-markdown" onClick={handleGeneratePreview}>preview</div>
|
||||
</div>
|
||||
{generatePreview ? <MarkdownPreview prefix={prefix} data={data} link={link} social={social} /> : ''}
|
||||
{generateMarkdown ? <Markdown prefix={prefix} data={data} link={link} social={social} /> : ''}
|
||||
</div>
|
||||
</div>
|
||||
: ''}
|
||||
<Footer />
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
||||
export default IndexPage
|
||||
@@ -0,0 +1,32 @@
|
||||
// If you don't want to use TypeScript you can delete this file!
|
||||
import React from "react"
|
||||
import { PageProps, Link, graphql } from "gatsby"
|
||||
import SEO from "../components/seo"
|
||||
|
||||
type DataProps = {
|
||||
site: {
|
||||
buildTime: string
|
||||
}
|
||||
}
|
||||
|
||||
const UsingTypescript: React.FC<PageProps<DataProps>> = ({ data, path }) => (
|
||||
<div>
|
||||
<SEO title="Using TypeScript" />
|
||||
<h1>Gatsby supports TypeScript by default!</h1>
|
||||
<p>This means that you can create and write <em>.ts/.tsx</em> files for your pages, components etc. Please note that the <em>gatsby-*.js</em> files (like gatsby-node.js) currently don't support TypeScript yet.</p>
|
||||
<p>For type checking you'll want to install <em>typescript</em> via npm and run <em>tsc --init</em> to create a <em>.tsconfig</em> file.</p>
|
||||
<p>You're currently on the page "{path}" which was built on {data.site.buildTime}.</p>
|
||||
<p>To learn more, head over to our <a href="https://www.gatsbyjs.org/docs/typescript/">documentation about TypeScript</a>.</p>
|
||||
<Link to="/">Go back to the homepage</Link>
|
||||
</div>
|
||||
)
|
||||
|
||||
export default UsingTypescript
|
||||
|
||||
export const query = graphql`
|
||||
{
|
||||
site {
|
||||
buildTime(formatString: "YYYY-MM-DD hh:mm a z")
|
||||
}
|
||||
}
|
||||
`
|
||||
@@ -1 +0,0 @@
|
||||
{"data":{"site":{"siteMetadata":{"title":"Github Profile Readme Generator","description":"Prettify your github profile using this amazing readme generator.","author":"@rahuldkjain"}}}}
|
||||
@@ -1,2 +0,0 @@
|
||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[6],[]]);
|
||||
//# sourceMappingURL=styles-1211262dd08146354a2f.js.map
|
||||
@@ -1 +0,0 @@
|
||||
{"version":3,"sources":[],"names":[],"mappings":"","file":"styles-1211262dd08146354a2f.js","sourceRoot":""}
|
||||
@@ -1 +0,0 @@
|
||||
@import url(https://fonts.googleapis.com/css2?family=Lato&display=swap);@import url(https://fonts.googleapis.com/css2?family=Roboto+Mono&display=swap);:root{--grey-05:#f5f6f7;--grey-10:#dfdfe2;--grey-15:#d0d0d5;--grey-75:#3b3b4f;--grey-80:#2a2a40;--grey-85:#1b1b32;--grey-90:#0a0a23;--purple:#dbb8ff;--yellow:#f1be32;--blue:#99c9ff;--red:#e71837;--light-green:#acd157;--dark-purple:#5a01a7;--dark-yellow:#4d3800;--dark-blue:#002ead;--dark-green:#00471b}body,html{margin:1%;padding:1%;font-family:Roboto Mono,monospace;color:var(--grey-90)}h1,h2,h3,h4{margin:0!important;font-family:Lato,sans-serif;padding-left:2%}input:focus{outline:none}[type=checkbox]{box-shadow:0 1px 1px var(--grey-90)!important;cursor:pointer}.section{width:100%;overflow:hidden;margin:2% 0}.inputField{border:0 solid;border-bottom:1px solid grey;margin:2%;padding:1% 2% 1% 1%;font-size:18px;height:25px}.row{width:100%;display:flex}.inputField:focus{border-bottom:1px solid var(--dark-blue);color:var(--grey-90)}.sm{width:15%}.md{width:35%}.lg{width:50%}.prefix{color:var(--grey-80)}.button{padding:1% 0;background:var(--grey-05);border:2px solid var(--grey-85);color:var(--grey-90);width:25%;text-align:center;cursor:pointer}.container{width:50%;display:inline-flex;align-items:center;justify-content:center}.checkbox{width:100%;display:flex;align-items:center;justify-content:flex-start;padding-left:2%;margin:1% 0}.checkboxLabel{font-weight:500}.submit{display:flex;justify-content:center}.warning{color:var(--red);background:var(--grey-05);margin-left:2%;padding:1%}.preview{border:2px solid var(--grey-75);box-shadow:0 0 5px 5px rgba(208,208,213,.75);padding:0 2%}.markdown{width:100%;display:flex;justify-content:center;margin:2%}.markdown-box{width:80%;font-size:12px;color:var(--grey-85);border:2px solid var(--grey-75);box-shadow:0 0 5px 5px rgba(208,208,213,.75);padding:1% 2% .5%}.copy-button{border:2px solid var(--grey-15);padding:1%;text-align:center;cursor:pointer}.markdown-util{display:flex;justify-content:flex-end}.preview-button{border:2px solid var(--grey-15);padding:1%;text-align:center;cursor:pointer}.loader{height:100vh;width:100%;display:flex;justify-content:center;align-items:center;font-size:24px}.back-button{color:var(--grey-75);width:14%;font-size:20px;margin-left:10%;cursor:pointer}.subtitle,.title{text-align:center}.link{text-decoration:none;color:var(--dark-blue)}.social-icon{margin:1%}.badge{text-align:left}.card{text-align:center}.social{width:100%;display:flex;justify-content:center;align-items:center}.icon{width:25px;height:25px;margin:1%;cursor:pointer}.header{width:100%;text-align:center;display:inline-block}.heading{color:var(--dark-blue);font-family:Lato,sans-serif;cursor:pointer}.footer{margin:2% 0;width:100%;text-align:center}@media only screen and (max-width:1199px){h1,h2,h3,h4{margin:2% 0!important}.inputField{font-size:10px}.icon{width:20px;height:20px}.checkbox{font-size:12px}.button{width:60%}.back-button{width:35%;font-size:14px}.cardImage{width:200px;height:100px}.badgeImage{height:15px}.heading{font-size:14px}.footer{font-size:12px}}
|
||||
@@ -1,2 +0,0 @@
|
||||
!function(e){function t(t){for(var n,o,s=t[0],u=t[1],i=t[2],f=0,p=[];f<s.length;f++)o=s[f],Object.prototype.hasOwnProperty.call(a,o)&&a[o]&&p.push(a[o][0]),a[o]=0;for(n in u)Object.prototype.hasOwnProperty.call(u,n)&&(e[n]=u[n]);for(l&&l(t);p.length;)p.shift()();return c.push.apply(c,i||[]),r()}function r(){for(var e,t=0;t<c.length;t++){for(var r=c[t],n=!0,o=1;o<r.length;o++){var u=r[o];0!==a[u]&&(n=!1)}n&&(c.splice(t--,1),e=s(s.s=r[0]))}return e}var n={},o={7:0},a={7:0},c=[];function s(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,s),r.l=!0,r.exports}s.e=function(e){var t=[];o[e]?t.push(o[e]):0!==o[e]&&{6:1}[e]&&t.push(o[e]=new Promise((function(t,r){for(var n=({0:"commons",2:"component---src-pages-404-js",3:"component---src-pages-index-js",4:"component---src-pages-using-typescript-tsx",6:"styles"}[e]||e)+"."+{0:"31d6cfe0d16ae931b73c",2:"31d6cfe0d16ae931b73c",3:"31d6cfe0d16ae931b73c",4:"31d6cfe0d16ae931b73c",6:"cf16297832fbc3035478"}[e]+".css",a=s.p+n,c=document.getElementsByTagName("link"),u=0;u<c.length;u++){var i=(l=c[u]).getAttribute("data-href")||l.getAttribute("href");if("stylesheet"===l.rel&&(i===n||i===a))return t()}var f=document.getElementsByTagName("style");for(u=0;u<f.length;u++){var l;if((i=(l=f[u]).getAttribute("data-href"))===n||i===a)return t()}var p=document.createElement("link");p.rel="stylesheet",p.type="text/css",p.onload=t,p.onerror=function(t){var n=t&&t.target&&t.target.src||a,c=new Error("Loading CSS chunk "+e+" failed.\n("+n+")");c.code="CSS_CHUNK_LOAD_FAILED",c.request=n,delete o[e],p.parentNode.removeChild(p),r(c)},p.href=a,document.getElementsByTagName("head")[0].appendChild(p)})).then((function(){o[e]=0})));var r=a[e];if(0!==r)if(r)t.push(r[2]);else{var n=new Promise((function(t,n){r=a[e]=[t,n]}));t.push(r[2]=n);var c,u=document.createElement("script");u.charset="utf-8",u.timeout=120,s.nc&&u.setAttribute("nonce",s.nc),u.src=function(e){return s.p+""+({0:"commons",2:"component---src-pages-404-js",3:"component---src-pages-index-js",4:"component---src-pages-using-typescript-tsx",6:"styles"}[e]||e)+"-"+{0:"739a8854210480788d7a",2:"a27f511fcaaba10d1e85",3:"34b8c57f90ad392d4393",4:"cf434b27240684b31228",6:"1211262dd08146354a2f"}[e]+".js"}(e);var i=new Error;c=function(t){u.onerror=u.onload=null,clearTimeout(f);var r=a[e];if(0!==r){if(r){var n=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;i.message="Loading chunk "+e+" failed.\n("+n+": "+o+")",i.name="ChunkLoadError",i.type=n,i.request=o,r[1](i)}a[e]=void 0}};var f=setTimeout((function(){c({type:"timeout",target:u})}),12e4);u.onerror=u.onload=c,document.head.appendChild(u)}return Promise.all(t)},s.m=e,s.c=n,s.d=function(e,t,r){s.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},s.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.t=function(e,t){if(1&t&&(e=s(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(s.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)s.d(r,n,function(t){return e[t]}.bind(null,n));return r},s.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return s.d(t,"a",t),t},s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},s.p="/github-profile-readme-generator/",s.oe=function(e){throw console.error(e),e};var u=window.webpackJsonp=window.webpackJsonp||[],i=u.push.bind(u);u.push=t,u=u.slice();for(var f=0;f<u.length;f++)t(u[f]);var l=i;r()}([]);
|
||||
//# sourceMappingURL=webpack-runtime-02b1734b472e8b2710a9.js.map
|
||||
@@ -1,2 +0,0 @@
|
||||
!function(e){function t(t){for(var n,o,s=t[0],u=t[1],i=t[2],f=0,p=[];f<s.length;f++)o=s[f],Object.prototype.hasOwnProperty.call(a,o)&&a[o]&&p.push(a[o][0]),a[o]=0;for(n in u)Object.prototype.hasOwnProperty.call(u,n)&&(e[n]=u[n]);for(l&&l(t);p.length;)p.shift()();return c.push.apply(c,i||[]),r()}function r(){for(var e,t=0;t<c.length;t++){for(var r=c[t],n=!0,o=1;o<r.length;o++){var u=r[o];0!==a[u]&&(n=!1)}n&&(c.splice(t--,1),e=s(s.s=r[0]))}return e}var n={},o={7:0},a={7:0},c=[];function s(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,s),r.l=!0,r.exports}s.e=function(e){var t=[];o[e]?t.push(o[e]):0!==o[e]&&{6:1}[e]&&t.push(o[e]=new Promise((function(t,r){for(var n=({0:"commons",2:"component---src-pages-404-js",3:"component---src-pages-index-js",4:"component---src-pages-using-typescript-tsx",6:"styles"}[e]||e)+"."+{0:"31d6cfe0d16ae931b73c",2:"31d6cfe0d16ae931b73c",3:"31d6cfe0d16ae931b73c",4:"31d6cfe0d16ae931b73c",6:"cf16297832fbc3035478"}[e]+".css",a=s.p+n,c=document.getElementsByTagName("link"),u=0;u<c.length;u++){var i=(l=c[u]).getAttribute("data-href")||l.getAttribute("href");if("stylesheet"===l.rel&&(i===n||i===a))return t()}var f=document.getElementsByTagName("style");for(u=0;u<f.length;u++){var l;if((i=(l=f[u]).getAttribute("data-href"))===n||i===a)return t()}var p=document.createElement("link");p.rel="stylesheet",p.type="text/css",p.onload=t,p.onerror=function(t){var n=t&&t.target&&t.target.src||a,c=new Error("Loading CSS chunk "+e+" failed.\n("+n+")");c.code="CSS_CHUNK_LOAD_FAILED",c.request=n,delete o[e],p.parentNode.removeChild(p),r(c)},p.href=a,document.getElementsByTagName("head")[0].appendChild(p)})).then((function(){o[e]=0})));var r=a[e];if(0!==r)if(r)t.push(r[2]);else{var n=new Promise((function(t,n){r=a[e]=[t,n]}));t.push(r[2]=n);var c,u=document.createElement("script");u.charset="utf-8",u.timeout=120,s.nc&&u.setAttribute("nonce",s.nc),u.src=function(e){return s.p+""+({0:"commons",2:"component---src-pages-404-js",3:"component---src-pages-index-js",4:"component---src-pages-using-typescript-tsx",6:"styles"}[e]||e)+"-"+{0:"739a8854210480788d7a",2:"a27f511fcaaba10d1e85",3:"f464d8d77737a449855a",4:"cf434b27240684b31228",6:"1211262dd08146354a2f"}[e]+".js"}(e);var i=new Error;c=function(t){u.onerror=u.onload=null,clearTimeout(f);var r=a[e];if(0!==r){if(r){var n=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;i.message="Loading chunk "+e+" failed.\n("+n+": "+o+")",i.name="ChunkLoadError",i.type=n,i.request=o,r[1](i)}a[e]=void 0}};var f=setTimeout((function(){c({type:"timeout",target:u})}),12e4);u.onerror=u.onload=c,document.head.appendChild(u)}return Promise.all(t)},s.m=e,s.c=n,s.d=function(e,t,r){s.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},s.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.t=function(e,t){if(1&t&&(e=s(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(s.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)s.d(r,n,function(t){return e[t]}.bind(null,n));return r},s.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return s.d(t,"a",t),t},s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},s.p="/github-profile-readme-generator/",s.oe=function(e){throw console.error(e),e};var u=window.webpackJsonp=window.webpackJsonp||[],i=u.push.bind(u);u.push=t,u=u.slice();for(var f=0;f<u.length;f++)t(u[f]);var l=i;r()}([]);
|
||||
//# sourceMappingURL=webpack-runtime-49f8998332867b4be3d5.js.map
|
||||
@@ -1,2 +0,0 @@
|
||||
!function(e){function t(t){for(var n,o,s=t[0],u=t[1],i=t[2],l=0,p=[];l<s.length;l++)o=s[l],Object.prototype.hasOwnProperty.call(a,o)&&a[o]&&p.push(a[o][0]),a[o]=0;for(n in u)Object.prototype.hasOwnProperty.call(u,n)&&(e[n]=u[n]);for(f&&f(t);p.length;)p.shift()();return c.push.apply(c,i||[]),r()}function r(){for(var e,t=0;t<c.length;t++){for(var r=c[t],n=!0,o=1;o<r.length;o++){var u=r[o];0!==a[u]&&(n=!1)}n&&(c.splice(t--,1),e=s(s.s=r[0]))}return e}var n={},o={7:0},a={7:0},c=[];function s(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,s),r.l=!0,r.exports}s.e=function(e){var t=[];o[e]?t.push(o[e]):0!==o[e]&&{6:1}[e]&&t.push(o[e]=new Promise((function(t,r){for(var n=({0:"commons",2:"component---src-pages-404-js",3:"component---src-pages-index-js",4:"component---src-pages-using-typescript-tsx",6:"styles"}[e]||e)+"."+{0:"31d6cfe0d16ae931b73c",2:"31d6cfe0d16ae931b73c",3:"31d6cfe0d16ae931b73c",4:"31d6cfe0d16ae931b73c",6:"35f4d5bd346e4085c0e0"}[e]+".css",a=s.p+n,c=document.getElementsByTagName("link"),u=0;u<c.length;u++){var i=(f=c[u]).getAttribute("data-href")||f.getAttribute("href");if("stylesheet"===f.rel&&(i===n||i===a))return t()}var l=document.getElementsByTagName("style");for(u=0;u<l.length;u++){var f;if((i=(f=l[u]).getAttribute("data-href"))===n||i===a)return t()}var p=document.createElement("link");p.rel="stylesheet",p.type="text/css",p.onload=t,p.onerror=function(t){var n=t&&t.target&&t.target.src||a,c=new Error("Loading CSS chunk "+e+" failed.\n("+n+")");c.code="CSS_CHUNK_LOAD_FAILED",c.request=n,delete o[e],p.parentNode.removeChild(p),r(c)},p.href=a,document.getElementsByTagName("head")[0].appendChild(p)})).then((function(){o[e]=0})));var r=a[e];if(0!==r)if(r)t.push(r[2]);else{var n=new Promise((function(t,n){r=a[e]=[t,n]}));t.push(r[2]=n);var c,u=document.createElement("script");u.charset="utf-8",u.timeout=120,s.nc&&u.setAttribute("nonce",s.nc),u.src=function(e){return s.p+""+({0:"commons",2:"component---src-pages-404-js",3:"component---src-pages-index-js",4:"component---src-pages-using-typescript-tsx",6:"styles"}[e]||e)+"-"+{0:"739a8854210480788d7a",2:"a27f511fcaaba10d1e85",3:"304bf0b92552ebdc0e21",4:"cf434b27240684b31228",6:"1211262dd08146354a2f"}[e]+".js"}(e);var i=new Error;c=function(t){u.onerror=u.onload=null,clearTimeout(l);var r=a[e];if(0!==r){if(r){var n=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;i.message="Loading chunk "+e+" failed.\n("+n+": "+o+")",i.name="ChunkLoadError",i.type=n,i.request=o,r[1](i)}a[e]=void 0}};var l=setTimeout((function(){c({type:"timeout",target:u})}),12e4);u.onerror=u.onload=c,document.head.appendChild(u)}return Promise.all(t)},s.m=e,s.c=n,s.d=function(e,t,r){s.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},s.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.t=function(e,t){if(1&t&&(e=s(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(s.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)s.d(r,n,function(t){return e[t]}.bind(null,n));return r},s.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return s.d(t,"a",t),t},s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},s.p="/github-profile-readme-generator/",s.oe=function(e){throw console.error(e),e};var u=window.webpackJsonp=window.webpackJsonp||[],i=u.push.bind(u);u.push=t,u=u.slice();for(var l=0;l<u.length;l++)t(u[l]);var f=i;r()}([]);
|
||||
//# sourceMappingURL=webpack-runtime-7799f9097dd83af253da.js.map
|
||||
@@ -1 +0,0 @@
|
||||
{"errors":[],"warnings":[],"namedChunkGroups":{"app":{"chunks":[7,5,1],"assets":["webpack-runtime-02b1734b472e8b2710a9.js","webpack-runtime-02b1734b472e8b2710a9.js.map","framework-d9cf0f47b747b267fae2.js","framework-d9cf0f47b747b267fae2.js.map","app-48e63b59af1a4a6482eb.js","app-48e63b59af1a4a6482eb.js.map"],"children":{},"childAssets":{}},"component---src-pages-404-js":{"chunks":[0,2],"assets":["commons-739a8854210480788d7a.js","commons-739a8854210480788d7a.js.map","component---src-pages-404-js-a27f511fcaaba10d1e85.js","component---src-pages-404-js-a27f511fcaaba10d1e85.js.map"],"children":{},"childAssets":{}},"component---src-pages-index-js":{"chunks":[6,0,3],"assets":["styles.cf16297832fbc3035478.css","styles-1211262dd08146354a2f.js","styles-1211262dd08146354a2f.js.map","commons-739a8854210480788d7a.js","commons-739a8854210480788d7a.js.map","component---src-pages-index-js-34b8c57f90ad392d4393.js","component---src-pages-index-js-34b8c57f90ad392d4393.js.map"],"children":{},"childAssets":{}},"component---src-pages-using-typescript-tsx":{"chunks":[0,4],"assets":["commons-739a8854210480788d7a.js","commons-739a8854210480788d7a.js.map","component---src-pages-using-typescript-tsx-cf434b27240684b31228.js","component---src-pages-using-typescript-tsx-cf434b27240684b31228.js.map"],"children":{},"childAssets":{}}},"assetsByChunkName":{"app":["webpack-runtime-02b1734b472e8b2710a9.js","framework-d9cf0f47b747b267fae2.js","app-48e63b59af1a4a6482eb.js"],"component---src-pages-404-js":["commons-739a8854210480788d7a.js","component---src-pages-404-js-a27f511fcaaba10d1e85.js"],"component---src-pages-index-js":["styles.cf16297832fbc3035478.css","styles-1211262dd08146354a2f.js","commons-739a8854210480788d7a.js","component---src-pages-index-js-34b8c57f90ad392d4393.js"],"component---src-pages-using-typescript-tsx":["commons-739a8854210480788d7a.js","component---src-pages-using-typescript-tsx-cf434b27240684b31228.js"]}}
|
||||