├── .eslintignore
├── .eslintrc.js
├── .github
    ├── ISSUE_TEMPLATE
    │   ├── bug-report.md
    │   └── feature-enhancement-request.md
    └── workflows
    │   └── main.yml
├── .gitignore
├── .prettierignore
├── .prettierrc.js
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── gatsby-browser.js
├── gatsby-config.js
├── gatsby-node.js
├── gatsby-ssr.js
├── netlify.toml
├── package-lock.json
├── package.json
├── src
    ├── components
    │   ├── Field
    │   │   ├── BlogPostField.tsx
    │   │   ├── GithubReadmeStatsField.tsx
    │   │   ├── ImageField.tsx
    │   │   ├── ProfileVisitorCounterField.tsx
    │   │   ├── SkillsField.tsx
    │   │   ├── SocialField.tsx
    │   │   ├── SpotifyListeningTo.tsx
    │   │   ├── SupportMeToField.tsx
    │   │   ├── TextField.tsx
    │   │   └── index.tsx
    │   ├── Preview.tsx
    │   ├── Section.tsx
    │   └── Sidebar.tsx
    ├── config
    │   ├── global.ts
    │   ├── skills.ts
    │   ├── social.ts
    │   └── templates
    │   │   ├── index.ts
    │   │   ├── template-1.ts
    │   │   └── template-2.ts
    ├── context
    │   └── GlobalContextProvider.tsx
    ├── fonts
    │   └── archia-regular-webfont.woff
    ├── images
    │   ├── bonjour.jpg
    │   ├── ciao.jpg
    │   ├── demo.gif
    │   ├── gatsby-icon.png
    │   ├── greetings.gif
    │   ├── hello.jpg
    │   ├── hola.jpg
    │   ├── logo.png
    │   ├── namaste.jpg
    │   └── nihao.jpg
    ├── pages
    │   ├── 404.tsx
    │   └── index.tsx
    ├── styles
    │   ├── fields.module.scss
    │   ├── global.scss
    │   ├── index.module.scss
    │   ├── preview.module.scss
    │   └── sidebar.module.scss
    └── types
    │   └── scss.d.ts
├── static
    ├── archia-regular-webfont-571e46710904236b3eb8a4212d62d49d.woff
    └── skills-assets
    │   ├── adobe_illustrator-icon.svg
    │   ├── adobedreamweaver.png
    │   ├── adobeindesign.svg
    │   ├── adobepremierepro.png
    │   ├── adobexd.png
    │   ├── aftereffects.png
    │   ├── amazonwebservices-original-wordmark.svg
    │   ├── android-original-wordmark.svg
    │   ├── angularjs-original.svg
    │   ├── ansible.png
    │   ├── apache_cassandra-icon.svg
    │   ├── apache_hadoop-icon.svg
    │   ├── apache_kafka-icon.svg
    │   ├── apache_solr-icon.svg
    │   ├── arduino.png
    │   ├── astro.svg
    │   ├── backbonejs-original-wordmark.svg
    │   ├── bem.svg
    │   ├── blender_community_badge_white.svg
    │   ├── bootstrap-plain.svg
    │   ├── c-original.svg
    │   ├── capacitor.svg
    │   ├── chai.png
    │   ├── chakraui.png
    │   ├── codeigniter.svg
    │   ├── cordova.png
    │   ├── cplusplus-original.svg
    │   ├── csharp-original.svg
    │   ├── css3-original-wordmark.svg
    │   ├── cython-original.svg
    │   ├── d3.png
    │   ├── d3js-original.svg
    │   ├── dartlang-icon.svg
    │   ├── deno.svg
    │   ├── django-original.svg
    │   ├── docker-original-wordmark.svg
    │   ├── dot-net-original-wordmark.svg
    │   ├── dotnetcore.png
    │   ├── elasticsearch.png
    │   ├── electron-original.svg
    │   ├── express-original-wordmark.svg
    │   ├── figma-icon.svg
    │   ├── firebase.png
    │   ├── flask.png
    │   ├── flutterio-icon.svg
    │   ├── gatsby.png
    │   ├── git-scm-icon.svg
    │   ├── gitlab.svg
    │   ├── gnu_bash-icon.svg
    │   ├── go-original.svg
    │   ├── google_cloud-icon.svg
    │   ├── grafana.png
    │   ├── graphql.png
    │   ├── gulp-plain.svg
    │   ├── haskell.png
    │   ├── html5-original-wordmark.svg
    │   ├── influxdb.svg
    │   ├── invision.svg
    │   ├── ionic.svg
    │   ├── java-original-wordmark.svg
    │   ├── javascript-original.svg
    │   ├── jenkins-icon.svg
    │   ├── jest.svg
    │   ├── jquery.png
    │   ├── keras.png
    │   ├── kibana.png
    │   ├── kotlinlang-icon.svg
    │   ├── kubernetes-icon.svg
    │   ├── laravel-plain-wordmark.svg
    │   ├── latex.png
    │   ├── lightroom.png
    │   ├── linux-original.svg
    │   ├── logo-title.svg
    │   ├── mariadb.png
    │   ├── meteor.svg
    │   ├── microsoft_azure-icon.svg
    │   ├── mocha.png
    │   ├── mongodb-original-wordmark.svg
    │   ├── mui.png
    │   ├── mysql-original-wordmark.svg
    │   ├── nativescript.png
    │   ├── nestjs.svg
    │   ├── nextjs.png
    │   ├── nginx-original.svg
    │   ├── nodejs-original-wordmark.svg
    │   ├── nuxt.png
    │   ├── opencv-icon.svg
    │   ├── openstack.png
    │   ├── openui5.svg
    │   ├── oracle-original.svg
    │   ├── photoshop-plain.svg
    │   ├── php-original.svg
    │   ├── postgresql-original-wordmark.svg
    │   ├── powerbi.jpg
    │   ├── powerbi.png
    │   ├── powershell.png
    │   ├── prisma.png
    │   ├── python-original.svg
    │   ├── pytorch-icon.svg
    │   ├── r.svg
    │   ├── rabbitmq-icon.svg
    │   ├── rails-original-wordmark.svg
    │   ├── raspberrypi.png
    │   ├── react-original-wordmark.svg
    │   ├── redis-original-wordmark.svg
    │   ├── redux-original.svg
    │   ├── ruby-original-wordmark.svg
    │   ├── rust-plain.svg
    │   ├── salesforce.png
    │   ├── sass-original.svg
    │   ├── scala-original-wordmark.svg
    │   ├── springio-icon.svg
    │   ├── strapi.svg
    │   ├── styled-components.png
    │   ├── swift-original-wordmark.svg
    │   ├── symfony_black_03.svg
    │   ├── tableau.svg
    │   ├── tailwindcss.svg
    │   ├── tensorflow-icon.svg
    │   ├── terraformio-icon.svg
    │   ├── typescript-original.svg
    │   ├── unity.png
    │   ├── vuejs-original-wordmark.svg
    │   ├── webpack-original.svg
    │   ├── windicss.svg
    │   ├── woocommerce.png
    │   ├── wordpress.png
    │   ├── xaml.png
    │   └── xampp.png
└── tsconfig.json
/.eslintignore:
--------------------------------------------------------------------------------
1 | .cache
2 | public
3 | node_modules
4 | dist
--------------------------------------------------------------------------------
/.eslintrc.js:
--------------------------------------------------------------------------------
 1 | module.exports = {
 2 |     parser: '@typescript-eslint/parser', // Specifies the ESLint parser
 3 |     parserOptions: {
 4 |         ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript featu$
 5 |         sourceType: 'module', // Allows for the use of imports
 6 |         ecmaFeatures: {
 7 |             jsx: true, // Allows for the parsing of JSX
 8 |             tsx: true, // Allows for the parsing of JSX
 9 |         },
10 |     },
11 |     settings: {
12 |         react: {
13 |             version: 'detect', // Tells eslint-plugin-react to automatically de$
14 |         },
15 |     },
16 |     extends: [
17 |         'plugin:react/recommended', // Uses the recommended rules from @eslint-$
18 |         'plugin:@typescript-eslint/recommended', // Uses the recommended rules $
19 |         'prettier/@typescript-eslint', // Uses eslint-config-prettier to disabl$
20 |         'plugin:prettier/recommended', // Enables eslint-plugin-prettier and es$
21 |     ],
22 |     plugins: ['react-hooks'],
23 |     rules: {
24 |         // Place to specify ESLint rules. Can be used to overwrite rules specif$
25 |         // e.g. "@typescript-eslint/explicit-function-return-type": "off",
26 |         '@typescript-eslint/no-empty-function': 'off',
27 |     },
28 | };
29 | 
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/bug-report.md:
--------------------------------------------------------------------------------
 1 | ---
 2 | name: Bug report
 3 | about: Create a report to help us improve
 4 | title: ''
 5 | labels: bug
 6 | assignees: ''
 7 | ---
 8 | 
 9 | **Describe the bug**
10 | A clear and concise description of what the bug is.
11 | 
12 | **To Reproduce**
13 | Steps to reproduce the behavior:
14 | 
15 | 1. Go to '...'
16 | 2. Click on '....'
17 | 3. Scroll down to '....'
18 | 4. See error
19 | 
20 | **Expected behavior**
21 | A clear and concise description of what you expected to happen.
22 | 
23 | **Screenshots**
24 | If applicable, add screenshots to help explain your problem.
25 | 
26 | **Desktop (please complete the following information):**
27 | 
28 | -   OS: [e.g. iOS]
29 | -   Browser [e.g. chrome, safari]
30 | -   Version [e.g. 22]
31 | 
32 | **Smartphone (please complete the following information):**
33 | 
34 | -   Device: [e.g. iPhone6]
35 | -   OS: [e.g. iOS8.1]
36 | -   Browser [e.g. stock browser, safari]
37 | -   Version [e.g. 22]
38 | 
39 | **Additional context**
40 | Add any other context about the problem here.
41 | 
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature-enhancement-request.md:
--------------------------------------------------------------------------------
 1 | ---
 2 | name: Feature/Enhancement request
 3 | about: Suggest an idea for this project
 4 | title: ''
 5 | labels: enhancement
 6 | assignees: ''
 7 | ---
 8 | 
 9 | **Is your feature request related to a problem? Please describe.**
10 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
11 | 
12 | **Describe the solution you'd like**
13 | A clear and concise description of what you want to happen.
14 | 
15 | **Describe alternatives you've considered**
16 | A clear and concise description of any alternative solutions or features you've considered.
17 | 
18 | **Additional context**
19 | Add any other context or screenshots about the feature request here.
20 | 
--------------------------------------------------------------------------------
/.github/workflows/main.yml:
--------------------------------------------------------------------------------
 1 | # This is a basic workflow to help you get started with Actions
 2 | 
 3 | name: CI
 4 | 
 5 | # Controls when the action will run. Triggers the workflow on push or pull request
 6 | # events but only for the master branch
 7 | on:
 8 |     push:
 9 |         branches: [master, dev]
10 |     pull_request:
11 |         types: [opened, opened, synchronize, reopened]
12 |         branches: [master, dev]
13 | 
14 | # A workflow run is made up of one or more jobs that can run sequentially or in parallel
15 | jobs:
16 |     # This workflow contains a single job called "build"
17 |     build:
18 |         # The type of runner that the job will run on
19 |         runs-on: ubuntu-latest
20 | 
21 |         strategy:
22 |             matrix:
23 |                 node-version: [14.x]
24 | 
25 |         # Steps represent a sequence of tasks that will be executed as part of the job
26 |         steps:
27 |             # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
28 |             - uses: actions/checkout@v3
29 | 
30 |             - uses: actions/setup-node@v3
31 |               with:
32 |                 node-version: ${{ matrix.node-version }}
33 |                 cache: 'npm'
34 | 
35 |             - name: Print versions
36 |               run: npm run info
37 |               
38 |             - name: Install dependencies
39 |               run: npm i
40 | 
41 |             - name: Run linter
42 |               run: npm run lint
43 | 
44 |             - name: Build
45 |               run: npm run build
46 | 
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
  1 | 
  2 | # Created by https://www.gitignore.io/api/node,react,linux,macos,windows
  3 | # Edit at https://www.gitignore.io/?templates=node,react,linux,macos,windows
  4 | 
  5 | ### Linux ###
  6 | *~
  7 | 
  8 | # temporary files which can be created if a process still has a handle open of a deleted file
  9 | .fuse_hidden*
 10 | 
 11 | # KDE directory preferences
 12 | .directory
 13 | 
 14 | # Linux trash folder which might appear on any partition or disk
 15 | .Trash-*
 16 | 
 17 | # .nfs files are created when an open file is removed but is still being accessed
 18 | .nfs*
 19 | 
 20 | ### macOS ###
 21 | # General
 22 | .DS_Store
 23 | .AppleDouble
 24 | .LSOverride
 25 | 
 26 | # Icon must end with two \r
 27 | Icon
 28 | 
 29 | # Thumbnails
 30 | ._*
 31 | 
 32 | # Files that might appear in the root of a volume
 33 | .DocumentRevisions-V100
 34 | .fseventsd
 35 | .Spotlight-V100
 36 | .TemporaryItems
 37 | .Trashes
 38 | .VolumeIcon.icns
 39 | .com.apple.timemachine.donotpresent
 40 | 
 41 | # Directories potentially created on remote AFP share
 42 | .AppleDB
 43 | .AppleDesktop
 44 | Network Trash Folder
 45 | Temporary Items
 46 | .apdisk
 47 | 
 48 | ### Node ###
 49 | # Logs
 50 | logs
 51 | *.log
 52 | npm-debug.log*
 53 | yarn-debug.log*
 54 | yarn-error.log*
 55 | lerna-debug.log*
 56 | 
 57 | # Diagnostic reports (https://nodejs.org/api/report.html)
 58 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
 59 | 
 60 | # Runtime data
 61 | pids
 62 | *.pid
 63 | *.seed
 64 | *.pid.lock
 65 | 
 66 | # Directory for instrumented libs generated by jscoverage/JSCover
 67 | lib-cov
 68 | 
 69 | # Coverage directory used by tools like istanbul
 70 | coverage
 71 | *.lcov
 72 | 
 73 | # nyc test coverage
 74 | .nyc_output
 75 | 
 76 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
 77 | .grunt
 78 | 
 79 | # Bower dependency directory (https://bower.io/)
 80 | bower_components
 81 | 
 82 | # node-waf configuration
 83 | .lock-wscript
 84 | 
 85 | # Compiled binary addons (https://nodejs.org/api/addons.html)
 86 | build/Release
 87 | 
 88 | # Dependency directories
 89 | node_modules/
 90 | jspm_packages/
 91 | 
 92 | # TypeScript v1 declaration files
 93 | typings/
 94 | 
 95 | # TypeScript cache
 96 | *.tsbuildinfo
 97 | 
 98 | # Optional npm cache directory
 99 | .npm
100 | 
101 | # Optional eslint cache
102 | .eslintcache
103 | 
104 | # Optional REPL history
105 | .node_repl_history
106 | 
107 | # Output of 'npm pack'
108 | *.tgz
109 | 
110 | # Yarn Integrity file
111 | .yarn-integrity
112 | 
113 | # dotenv environment variables file
114 | .env
115 | .env.test
116 | 
117 | # parcel-bundler cache (https://parceljs.org/)
118 | .cache
119 | 
120 | # next.js build output
121 | .next
122 | 
123 | # nuxt.js build output
124 | .nuxt
125 | 
126 | # rollup.js default build output
127 | dist/
128 | 
129 | # Uncomment the public line if your project uses Gatsby
130 | # https://nextjs.org/blog/next-9-1#public-directory-support
131 | # https://create-react-app.dev/docs/using-the-public-folder/#docsNav
132 | public
133 | 
134 | # Storybook build outputs
135 | .out
136 | .storybook-out
137 | 
138 | # vuepress build output
139 | .vuepress/dist
140 | 
141 | # Serverless directories
142 | .serverless/
143 | 
144 | # FuseBox cache
145 | .fusebox/
146 | 
147 | # DynamoDB Local files
148 | .dynamodb/
149 | 
150 | # Temporary folders
151 | tmp/
152 | temp/
153 | 
154 | ### react ###
155 | .DS_*
156 | **/*.backup.*
157 | **/*.back.*
158 | 
159 | node_modules
160 | 
161 | *.sublime*
162 | 
163 | psd
164 | thumb
165 | sketch
166 | 
167 | ### Windows ###
168 | # Windows thumbnail cache files
169 | Thumbs.db
170 | Thumbs.db:encryptable
171 | ehthumbs.db
172 | ehthumbs_vista.db
173 | 
174 | # Dump file
175 | *.stackdump
176 | 
177 | # Folder config file
178 | [Dd]esktop.ini
179 | 
180 | # Recycle Bin used on file shares
181 | $RECYCLE.BIN/
182 | 
183 | # Windows Installer files
184 | *.cab
185 | *.msi
186 | *.msix
187 | *.msm
188 | *.msp
189 | 
190 | # Windows shortcuts
191 | *.lnk
192 | 
193 | # End of https://www.gitignore.io/api/node,react,linux,macos,windows
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
1 | .cache
2 | package.json
3 | package-lock.json
4 | public
--------------------------------------------------------------------------------
/.prettierrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 |     semi: true,
3 |     trailingComma: 'all',
4 |     singleQuote: true,
5 |     printWidth: 120,
6 |     tabWidth: 4,
7 |     arrowParens: 'avoid',
8 | };
9 | 
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
 1 | # Contribution Guidelines
 2 | 
 3 | ## Branching System
 4 | 
 5 | We have two branches:
 6 | 
 7 | 1. `master`: for production accessible via [http://profilinator.rishav.dev/](http://profilinator.rishav.dev/)
 8 | 2. `dev`: for development and testing accessible via [https://dev-profilinator.rishav.dev/](https://dev-profilinator.rishav.dev/)
 9 | 
10 | Pull requests are the best way to propose changes. We actively welcome your pull requests:
11 | 
12 | 1. Create an issue
13 | 2. Fork the repo and create your branch from `dev`.
14 | 3. Make changes to code or documentation
15 | 4. Commit changes
16 | 5. Squash commits solving a single issue
17 | 6. Rebase from upstream `dev` branch
18 | 7. Push commits
19 | 8. Create a new PR to `dev` branch
20 | 9. Link your PR to the issue
21 | 
22 | ## Adding new readme templates
23 | 
24 | 1. Visit the Profilinator
25 | 2. Click the `Start Fresh` button and create your new template from scratch
26 | 3. Strictly use data from `template-1.ts` and `template-2.ts` for your new template
27 | 4. If you need to add image, add under the `/static` directory
28 | 5. Once done, click on the `Generate README.md` button. This will output the template config in the console
29 | 6. Copy the config and create a template file under `/src/config/templates` with the name `template-[next-index].ts`
30 | 7. Include the new config in `/src/config/templates/index.ts`
31 | 8. Add the new config in `/src/components/Section.tsx` in the `templateMenu` function
32 | 
33 | ## Check builds locally before pushing
34 | 
35 | 1. `npm run lint`
36 | 2. `npm run build`
37 | 
38 | ## Examples for adding a new field
39 | 
40 | 1. [Added Spotify field](https://github.com/rishavanand/github-profilinator/pull/15)
41 | 2. [Added Support me field](https://github.com/rishavanand/github-profilinator/pull/44)
42 | 
43 | Happy Contributing! :D
44 | 
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
 1 | The MIT License (MIT)
 2 | 
 3 | Copyright (c) 2015 gatsbyjs
 4 | 
 5 | Permission is hereby granted, free of charge, to any person obtaining a copy
 6 | of this software and associated documentation files (the "Software"), to deal
 7 | in the Software without restriction, including without limitation the rights
 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 | 
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 | 
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 | 
23 | 
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
  1 | 
  2 | 
  3 | 

  4 | 
  5 | # Github Profilinator
  6 | 
  7 | Generate creative GitHub profile readmes in few click!
  8 | 
  9 | 

 10 | 
 11 | 

 12 | 
 13 | 

 14 | 
 15 | 

 16 | 
 17 | 

 18 | 
 19 | 
 20 | 
 21 | 
 22 | 
View Generator · 
View Generated Profile · 
Report Bug · 
Request Feature
 23 | 
 24 | _Loved the project? Show your love to the developer by starring this repo._
 25 | 
 26 | 
 27 | 
 28 | 

 29 | 
 30 | 
\n`;
 33 |     else if ((alignment === STATS_ALIGNMENT.CENTRE || alignment === STATS_ALIGNMENT.RIGHT) && type === 'end')
 34 |         return `\n
`;
 35 |     else return '';
 36 | };
 37 | 
 38 | export const generateImageTag = (data: FieldData, options: FiledOptions) => {
 39 |     const statsUrl = `https://komarev.com/ghpvc/?username=${data.username}&&style=flat-square`;
 40 |     if (
 41 |         options.alignment &&
 42 |         (options.alignment === STATS_ALIGNMENT.CENTRE || options.alignment === STATS_ALIGNMENT.RIGHT)
 43 |     )
 44 |         return ` `;
 45 |     else return ``;
 46 | };
 47 | 
 48 | export const generateProfileVisitorCounterMarkdown = ({ data, options }: FieldProps) => {
 49 |     if (!options) options = {};
 50 |     if (!data)
 51 |         data = {
 52 |             username: '',
 53 |         };
 54 |     if (!data.username) return ``;
 55 |     return (
 56 |         `${generateAlignmentTags(options.alignment, 'start')}` +
 57 |         `${generateImageTag(data, options)}` +
 58 |         `${generateAlignmentTags(options.alignment, 'end')}` +
 59 |         `  \n`
 60 |     );
 61 | };
 62 | 
 63 | export const ProfileVisitorCounterField = ({
 64 |     fieldProps,
 65 |     modifyField,
 66 | }: {
 67 |     fieldProps: ProfileVisitorCounterProps;
 68 |     modifyField: (filedProps: ProfileVisitorCounterProps) => void;
 69 | }) => {
 70 |     const localProps: typeof fieldProps = {
 71 |         options: {},
 72 |         data: {},
 73 |         ...fieldProps,
 74 |     };
 75 | 
 76 |     const onChange = (event: React.ChangeEvent) => {
 77 |         const name = event.target.name;
 78 |         const value = event.target.value;
 79 |         if (name === 'username')
 80 |             modifyField({
 81 |                 ...localProps,
 82 |                 data: {
 83 |                     ...localProps.data,
 84 |                     username: value,
 85 |                 },
 86 |             });
 87 |     };
 88 | 
 89 |     const changeAlignment = (alignment: STATS_ALIGNMENT) => {
 90 |         if (!localProps.options) localProps.options = {};
 91 |         localProps.options.alignment = alignment;
 92 |         modifyField(localProps);
 93 |     };
 94 | 
 95 |     const alignmentMenu = (
 96 |         
107 |     );
108 | 
109 |     return (
110 |         <>
111 |
`;
 45 |     else return ``;
 46 | };
 47 | 
 48 | export const generateProfileVisitorCounterMarkdown = ({ data, options }: FieldProps) => {
 49 |     if (!options) options = {};
 50 |     if (!data)
 51 |         data = {
 52 |             username: '',
 53 |         };
 54 |     if (!data.username) return ``;
 55 |     return (
 56 |         `${generateAlignmentTags(options.alignment, 'start')}` +
 57 |         `${generateImageTag(data, options)}` +
 58 |         `${generateAlignmentTags(options.alignment, 'end')}` +
 59 |         `  \n`
 60 |     );
 61 | };
 62 | 
 63 | export const ProfileVisitorCounterField = ({
 64 |     fieldProps,
 65 |     modifyField,
 66 | }: {
 67 |     fieldProps: ProfileVisitorCounterProps;
 68 |     modifyField: (filedProps: ProfileVisitorCounterProps) => void;
 69 | }) => {
 70 |     const localProps: typeof fieldProps = {
 71 |         options: {},
 72 |         data: {},
 73 |         ...fieldProps,
 74 |     };
 75 | 
 76 |     const onChange = (event: React.ChangeEvent) => {
 77 |         const name = event.target.name;
 78 |         const value = event.target.value;
 79 |         if (name === 'username')
 80 |             modifyField({
 81 |                 ...localProps,
 82 |                 data: {
 83 |                     ...localProps.data,
 84 |                     username: value,
 85 |                 },
 86 |             });
 87 |     };
 88 | 
 89 |     const changeAlignment = (alignment: STATS_ALIGNMENT) => {
 90 |         if (!localProps.options) localProps.options = {};
 91 |         localProps.options.alignment = alignment;
 92 |         modifyField(localProps);
 93 |     };
 94 | 
 95 |     const alignmentMenu = (
 96 |         
107 |     );
108 | 
109 |     return (
110 |         <>
111 |             
112 |                 
113 |                     
114 |                         Alignment}>
115 |                             
124 |                     
125 |                 
126 |             
127 |             
129 |                     
136 |                 
137 |             
138 |         >
139 |     );
140 | };
141 | 
142 | export default ProfileVisitorCounterField;
143 | 
--------------------------------------------------------------------------------
/src/components/Sidebar.tsx:
--------------------------------------------------------------------------------
  1 | import React, { useState, useContext } from 'react';
  2 | import { Form, Input, Layout, Menu, Button, Divider, Modal, Tooltip } from 'antd';
  3 | import { PlusOutlined } from '@ant-design/icons';
  4 | import styles from '../styles/sidebar.module.scss';
  5 | import { globalContext, GlobalContext } from '../context/GlobalContextProvider';
  6 | import { SectionProps } from './Section';
  7 | 
  8 | const { TextArea } = Input;
  9 | const { Sider } = Layout;
 10 | 
 11 | export const Sidebar = () => {
 12 |     const [addSectionVisible, setAddSectionVisibility] = useState(false);
 13 |     const [form] = Form.useForm();
 14 |     const context = useContext(globalContext) as GlobalContext;
 15 | 
 16 |     const addSection = (formValues: { name: string }) => {
 17 |         context.addSection({
 18 |             ...formValues,
 19 |             fields: [],
 20 |         });
 21 |         setAddSectionVisibility(false);
 22 |     };
 23 | 
 24 |     const generateMenu = (activeSectionIndex: number, sections: SectionProps[]) => {
 25 |         return (
 26 |             
 36 |         );
 37 |     };
 38 | 
 39 |     const generateAddSectionForm = () => {
 40 |         return (
 41 |             
 43 |                     
 44 |                 
 45 |             
 46 |         );
 47 |     };
 48 | 
 49 |     const generateAddSectionModal = () => {
 50 |         return (
 51 |              {
 56 |                     form.validateFields()
 57 |                         .then((values: { name: string }) => {
 58 |                             form.resetFields();
 59 |                             addSection(values);
 60 |                         })
 61 |                         .catch(info => {
 62 |                             console.log('Validate Failed:', info);
 63 |                         });
 64 |                 }}
 65 |                 onCancel={() => setAddSectionVisibility(false)}
 66 |             >
 67 |                 {generateAddSectionForm()}
 68 |             
 69 |         );
 70 |     };
 71 | 
 72 |     return (
 73 |         
 74 |             
 75 |                 
GITHUB
 76 |                 PROFILINATOR
 77 |             
 78 |             {generateMenu(context.activeSectionIndex, context.sections)}
 79 |             
 80 |             
 81 |                 
Add a Section}>
 82 |                     
 92 |                 
 93 |             
NOT FOUND
 6 |         You just hit a route that doesn't exist... the sadness.
 7 |     >
 8 | );
 9 | 
10 | export default NotFoundPage;
11 | 
--------------------------------------------------------------------------------
/src/pages/index.tsx:
--------------------------------------------------------------------------------
 1 | import { faArrowUp } from '@fortawesome/free-solid-svg-icons';
 2 | import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
 3 | import { BackTop, Col, Grid, Layout, Row, Spin } from 'antd';
 4 | import React, { useContext, useEffect, useRef, useState } from 'react';
 5 | import { Helmet } from 'react-helmet';
 6 | import Preview from '../components/Preview';
 7 | import Section from '../components/Section';
 8 | import Sidebar from '../components/Sidebar';
 9 | import { globalContext, GlobalContext } from '../context/GlobalContextProvider';
10 | import styles from '../styles/index.module.scss';
11 | 
12 | const { Content } = Layout;
13 | const { useBreakpoint } = Grid;
14 | 
15 | const IndexPage = () => {
16 |     const context = useContext(globalContext);
17 |     const [initialLoad, setInitialLoad] = useState(false);
18 |     const screens = useBreakpoint();
19 |     const previewRef = useRef(null);
20 | 
21 |     useEffect(() => {
22 |         setInitialLoad(true);
23 |     });
24 | 
25 |     const MobileNavigators = () => {
26 |         const showMobileNavigatorButtons = screens.xs ? true : false;
27 |         if (showMobileNavigatorButtons)
28 |             return (
29 |                 <>
30 |                     
39 |                         
40 |                     
41 |                 >
42 |             );
43 |         else return <>>;
44 |     };
45 | 
46 |     return (
47 |         <>
48 |             
49 |                 
50 |                 Github Profilinator - GitHub Profile README Generator
51 |                 
52 |                 
57 |                 
58 |                 
59 |                 
60 |                 
61 |                 
62 |             
63 |             
64 |                 
65 |             
66 |             
67 |                 
68 |                 
69 |                     
70 |                         
71 |                             
72 |                         
73 |                         
74 |                             
75 |                         
76 |                     
77 |                     
78 |                 
79 |             
80 |         >
81 |     );
82 | };
83 | 
84 | export default IndexPage;
85 | 
--------------------------------------------------------------------------------
/src/styles/fields.module.scss:
--------------------------------------------------------------------------------
 1 | .selected {
 2 |     border-color: #40a9ff;
 3 |     color: #40a9ff;
 4 | }
 5 | 
 6 | .selected:focus {
 7 |     border-color: #40a9ff;
 8 |     color: #40a9ff;
 9 | }
10 | 
11 | .unselected:hover {
12 |     border-color: #40a9ff;
13 |     color: #40a9ff;
14 | }
15 | 
16 | .unselected:focus:hover {
17 |     border-color: #40a9ff;
18 |     color: #40a9ff;
19 | }
20 | 
21 | .unselected:focus {
22 |     border-color: #d9d9d9;
23 |     color: rgba(0, 0, 0, 0.65);
24 | }
25 | 
--------------------------------------------------------------------------------
/src/styles/global.scss:
--------------------------------------------------------------------------------
 1 | @import url('https://fonts.googleapis.com/css2?family=Montserrat&display=swap');
 2 | 
 3 | @font-face {
 4 |     font-family: archia;
 5 |     src: url('../fonts/archia-regular-webfont.woff');
 6 | }
 7 | 
 8 | html {
 9 |     -ms-text-size-adjust: 100%;
10 |     -webkit-text-size-adjust: 100%;
11 | }
12 | 
13 | body {
14 |     font-family: archia, Montserrat, -apple-system, sans-serif;
15 |     margin: 0;
16 |     -webkit-font-smoothing: antialiased;
17 |     -moz-osx-font-smoothing: grayscale;
18 | }
19 | 
--------------------------------------------------------------------------------
/src/styles/index.module.scss:
--------------------------------------------------------------------------------
 1 | .logo {
 2 |     background: rgba(255, 255, 255, 0.2);
 3 |     margin: 16px;
 4 |     text-align: center;
 5 |     padding: 5px;
 6 | 
 7 |     h2 {
 8 |         color: white;
 9 |         padding: 0;
10 |         margin: 0;
11 |         font-size: 12px;
12 |     }
13 | 
14 |     h1 {
15 |         color: white;
16 |         padding: 0;
17 |         margin: 0;
18 |         font-size: 20px;
19 |         font-weight: bold;
20 |     }
21 | }
22 | 
23 | .siteLayout {
24 |     padding: 24px;
25 |     min-height: 100vh;
26 | }
27 | 
28 | .siteLayoutBackground {
29 |     background: #fff;
30 | }
31 | 
32 | .section {
33 |     flex-grow: 1;
34 |     flex-basis: 0;
35 | }
36 | 
37 | .loading {
38 |     height: 100vh;
39 |     width: 100vw;
40 |     position: 'fixed';
41 |     z-index: 1000;
42 |     display: flex;
43 |     align-items: center;
44 |     justify-content: center;
45 | }
46 | 
--------------------------------------------------------------------------------
/src/styles/preview.module.scss:
--------------------------------------------------------------------------------
 1 | .markdown {
 2 |     font-size: 16px;
 3 |     font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji,
 4 |         Segoe UI Emoji;
 5 |     color: black;
 6 |     text-decoration: none;
 7 |     margin-top: 0;
 8 |     margin-bottom: 16px;
 9 |     display: block;
10 |     margin-block-start: 1em;
11 |     margin-block-end: 1em;
12 |     margin-inline-start: 0px;
13 |     margin-inline-end: 0px;
14 |     background-color: white;
15 |     padding: 20px;
16 | }
17 | 
18 | .markdown {
19 |     h1,
20 |     h2,
21 |     h3,
22 |     h4,
23 |     h5,
24 |     h6 {
25 |         margin-top: 24px;
26 |         margin-bottom: 16px;
27 |         font-weight: 600;
28 |         line-height: 1.25;
29 |     }
30 |     h1,
31 |     h2 {
32 |         border-bottom: 1px solid #eaecef;
33 |         padding-bottom: 0.3em;
34 |     }
35 | }
36 | 
37 | .markdown h1 {
38 |     font-size: 2em;
39 | }
40 | 
41 | .markdown h2 {
42 |     font-size: 1.5em;
43 | }
44 | 
45 | .markdown h3 {
46 |     font-size: 1.25em;
47 | }
48 | 
49 | .markdown h4 {
50 |     font-size: 1em;
51 | }
52 | 
53 | .markdown h5 {
54 |     font-size: 0.875;
55 | }
56 | 
57 | .markdown h6 {
58 |     font-size: 0.85em;
59 |     color: #6a737d;
60 | }
61 | 
--------------------------------------------------------------------------------
/src/styles/sidebar.module.scss:
--------------------------------------------------------------------------------
 1 | .logo {
 2 |     background: rgba(255, 255, 255, 0.2);
 3 |     margin: 16px;
 4 |     text-align: center;
 5 |     padding: 5px;
 6 | 
 7 |     h2 {
 8 |         color: white;
 9 |         padding: 0;
10 |         margin: 0;
11 |         font-size: 12px;
12 |     }
13 | 
14 |     h1 {
15 |         color: white;
16 |         padding: 0;
17 |         margin: 0;
18 |         font-size: 20px;
19 |         font-weight: bold;
20 |     }
21 | }
22 | 
23 | .buttonContainer {
24 |     width: 100%;
25 |     padding-left: 10px;
26 |     padding-right: 10px;
27 | }
28 | 
29 | .moreFromCreator {
30 |     margin-top: 30px !important;
31 |     padding: 10px;
32 |     margin-left: 16px;
33 |     margin-right: 16px;
34 |     color: white;
35 |     background: rgba(255, 255, 255, 0.2);
36 | 
37 | 
38 |     a {
39 |         color: white;
40 |         text-decoration: none;
41 |         font-weight: bold;
42 |     }
43 | 
44 |    
45 | }
--------------------------------------------------------------------------------
/src/types/scss.d.ts:
--------------------------------------------------------------------------------
1 | declare module '*.scss';
2 | 
--------------------------------------------------------------------------------
/static/archia-regular-webfont-571e46710904236b3eb8a4212d62d49d.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rishavanand/github-profilinator/e5de85778090c3866f06850dedd3111df2fa10a1/static/archia-regular-webfont-571e46710904236b3eb8a4212d62d49d.woff
--------------------------------------------------------------------------------
/static/skills-assets/adobe_illustrator-icon.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/adobedreamweaver.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rishavanand/github-profilinator/e5de85778090c3866f06850dedd3111df2fa10a1/static/skills-assets/adobedreamweaver.png
--------------------------------------------------------------------------------
/static/skills-assets/adobeindesign.svg:
--------------------------------------------------------------------------------
 1 | 
 3 | 	
 4 | 	
 5 | 	
 6 | 	
 7 | 	
 8 | 	
 9 | 	
10 | ]>
--------------------------------------------------------------------------------
/static/skills-assets/adobepremierepro.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rishavanand/github-profilinator/e5de85778090c3866f06850dedd3111df2fa10a1/static/skills-assets/adobepremierepro.png
--------------------------------------------------------------------------------
/static/skills-assets/adobexd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rishavanand/github-profilinator/e5de85778090c3866f06850dedd3111df2fa10a1/static/skills-assets/adobexd.png
--------------------------------------------------------------------------------
/static/skills-assets/aftereffects.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rishavanand/github-profilinator/e5de85778090c3866f06850dedd3111df2fa10a1/static/skills-assets/aftereffects.png
--------------------------------------------------------------------------------
/static/skills-assets/angularjs-original.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/ansible.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rishavanand/github-profilinator/e5de85778090c3866f06850dedd3111df2fa10a1/static/skills-assets/ansible.png
--------------------------------------------------------------------------------
/static/skills-assets/apache_kafka-icon.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/apache_solr-icon.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/arduino.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rishavanand/github-profilinator/e5de85778090c3866f06850dedd3111df2fa10a1/static/skills-assets/arduino.png
--------------------------------------------------------------------------------
/static/skills-assets/astro.svg:
--------------------------------------------------------------------------------
 1 | 
16 | 
--------------------------------------------------------------------------------
/static/skills-assets/backbonejs-original-wordmark.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/bem.svg:
--------------------------------------------------------------------------------
1 | 
2 | 
--------------------------------------------------------------------------------
/static/skills-assets/bootstrap-plain.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/c-original.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/capacitor.svg:
--------------------------------------------------------------------------------
 1 | 
 2 | 
12 | 
--------------------------------------------------------------------------------
/static/skills-assets/chai.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rishavanand/github-profilinator/e5de85778090c3866f06850dedd3111df2fa10a1/static/skills-assets/chai.png
--------------------------------------------------------------------------------
/static/skills-assets/chakraui.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rishavanand/github-profilinator/e5de85778090c3866f06850dedd3111df2fa10a1/static/skills-assets/chakraui.png
--------------------------------------------------------------------------------
/static/skills-assets/codeigniter.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/cordova.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rishavanand/github-profilinator/e5de85778090c3866f06850dedd3111df2fa10a1/static/skills-assets/cordova.png
--------------------------------------------------------------------------------
/static/skills-assets/cplusplus-original.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/csharp-original.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/css3-original-wordmark.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/d3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rishavanand/github-profilinator/e5de85778090c3866f06850dedd3111df2fa10a1/static/skills-assets/d3.png
--------------------------------------------------------------------------------
/static/skills-assets/d3js-original.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/dartlang-icon.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/deno.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/django-original.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/docker-original-wordmark.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/dotnetcore.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rishavanand/github-profilinator/e5de85778090c3866f06850dedd3111df2fa10a1/static/skills-assets/dotnetcore.png
--------------------------------------------------------------------------------
/static/skills-assets/elasticsearch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rishavanand/github-profilinator/e5de85778090c3866f06850dedd3111df2fa10a1/static/skills-assets/elasticsearch.png
--------------------------------------------------------------------------------
/static/skills-assets/electron-original.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/express-original-wordmark.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/figma-icon.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/firebase.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rishavanand/github-profilinator/e5de85778090c3866f06850dedd3111df2fa10a1/static/skills-assets/firebase.png
--------------------------------------------------------------------------------
/static/skills-assets/flask.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rishavanand/github-profilinator/e5de85778090c3866f06850dedd3111df2fa10a1/static/skills-assets/flask.png
--------------------------------------------------------------------------------
/static/skills-assets/flutterio-icon.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/gatsby.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rishavanand/github-profilinator/e5de85778090c3866f06850dedd3111df2fa10a1/static/skills-assets/gatsby.png
--------------------------------------------------------------------------------
/static/skills-assets/git-scm-icon.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/gitlab.svg:
--------------------------------------------------------------------------------
 1 | 
 2 | 
 3 | 
70 | 
--------------------------------------------------------------------------------
/static/skills-assets/gnu_bash-icon.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/google_cloud-icon.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/grafana.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rishavanand/github-profilinator/e5de85778090c3866f06850dedd3111df2fa10a1/static/skills-assets/grafana.png
--------------------------------------------------------------------------------
/static/skills-assets/graphql.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rishavanand/github-profilinator/e5de85778090c3866f06850dedd3111df2fa10a1/static/skills-assets/graphql.png
--------------------------------------------------------------------------------
/static/skills-assets/gulp-plain.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/haskell.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rishavanand/github-profilinator/e5de85778090c3866f06850dedd3111df2fa10a1/static/skills-assets/haskell.png
--------------------------------------------------------------------------------
/static/skills-assets/html5-original-wordmark.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/influxdb.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/invision.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/ionic.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/java-original-wordmark.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/javascript-original.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/jest.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/jquery.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rishavanand/github-profilinator/e5de85778090c3866f06850dedd3111df2fa10a1/static/skills-assets/jquery.png
--------------------------------------------------------------------------------
/static/skills-assets/keras.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rishavanand/github-profilinator/e5de85778090c3866f06850dedd3111df2fa10a1/static/skills-assets/keras.png
--------------------------------------------------------------------------------
/static/skills-assets/kibana.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rishavanand/github-profilinator/e5de85778090c3866f06850dedd3111df2fa10a1/static/skills-assets/kibana.png
--------------------------------------------------------------------------------
/static/skills-assets/kotlinlang-icon.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/kubernetes-icon.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/laravel-plain-wordmark.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/latex.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rishavanand/github-profilinator/e5de85778090c3866f06850dedd3111df2fa10a1/static/skills-assets/latex.png
--------------------------------------------------------------------------------
/static/skills-assets/lightroom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rishavanand/github-profilinator/e5de85778090c3866f06850dedd3111df2fa10a1/static/skills-assets/lightroom.png
--------------------------------------------------------------------------------
/static/skills-assets/logo-title.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/mariadb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rishavanand/github-profilinator/e5de85778090c3866f06850dedd3111df2fa10a1/static/skills-assets/mariadb.png
--------------------------------------------------------------------------------
/static/skills-assets/meteor.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/microsoft_azure-icon.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/mocha.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rishavanand/github-profilinator/e5de85778090c3866f06850dedd3111df2fa10a1/static/skills-assets/mocha.png
--------------------------------------------------------------------------------
/static/skills-assets/mui.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rishavanand/github-profilinator/e5de85778090c3866f06850dedd3111df2fa10a1/static/skills-assets/mui.png
--------------------------------------------------------------------------------
/static/skills-assets/mysql-original-wordmark.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/nativescript.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rishavanand/github-profilinator/e5de85778090c3866f06850dedd3111df2fa10a1/static/skills-assets/nativescript.png
--------------------------------------------------------------------------------
/static/skills-assets/nextjs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rishavanand/github-profilinator/e5de85778090c3866f06850dedd3111df2fa10a1/static/skills-assets/nextjs.png
--------------------------------------------------------------------------------
/static/skills-assets/nginx-original.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/nodejs-original-wordmark.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/nuxt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rishavanand/github-profilinator/e5de85778090c3866f06850dedd3111df2fa10a1/static/skills-assets/nuxt.png
--------------------------------------------------------------------------------
/static/skills-assets/opencv-icon.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/openstack.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rishavanand/github-profilinator/e5de85778090c3866f06850dedd3111df2fa10a1/static/skills-assets/openstack.png
--------------------------------------------------------------------------------
/static/skills-assets/openui5.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/oracle-original.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/photoshop-plain.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/powerbi.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rishavanand/github-profilinator/e5de85778090c3866f06850dedd3111df2fa10a1/static/skills-assets/powerbi.jpg
--------------------------------------------------------------------------------
/static/skills-assets/powerbi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rishavanand/github-profilinator/e5de85778090c3866f06850dedd3111df2fa10a1/static/skills-assets/powerbi.png
--------------------------------------------------------------------------------
/static/skills-assets/powershell.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rishavanand/github-profilinator/e5de85778090c3866f06850dedd3111df2fa10a1/static/skills-assets/powershell.png
--------------------------------------------------------------------------------
/static/skills-assets/prisma.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rishavanand/github-profilinator/e5de85778090c3866f06850dedd3111df2fa10a1/static/skills-assets/prisma.png
--------------------------------------------------------------------------------
/static/skills-assets/python-original.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/pytorch-icon.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/r.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/rabbitmq-icon.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/rails-original-wordmark.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/raspberrypi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rishavanand/github-profilinator/e5de85778090c3866f06850dedd3111df2fa10a1/static/skills-assets/raspberrypi.png
--------------------------------------------------------------------------------
/static/skills-assets/react-original-wordmark.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/redis-original-wordmark.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/redux-original.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/salesforce.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rishavanand/github-profilinator/e5de85778090c3866f06850dedd3111df2fa10a1/static/skills-assets/salesforce.png
--------------------------------------------------------------------------------
/static/skills-assets/sass-original.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/scala-original-wordmark.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/springio-icon.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/strapi.svg:
--------------------------------------------------------------------------------
 1 | 
 2 | 
--------------------------------------------------------------------------------
/static/skills-assets/styled-components.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rishavanand/github-profilinator/e5de85778090c3866f06850dedd3111df2fa10a1/static/skills-assets/styled-components.png
--------------------------------------------------------------------------------
/static/skills-assets/swift-original-wordmark.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/symfony_black_03.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/tableau.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/tailwindcss.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/tensorflow-icon.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/terraformio-icon.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/typescript-original.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/unity.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rishavanand/github-profilinator/e5de85778090c3866f06850dedd3111df2fa10a1/static/skills-assets/unity.png
--------------------------------------------------------------------------------
/static/skills-assets/vuejs-original-wordmark.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/webpack-original.svg:
--------------------------------------------------------------------------------
1 | 
--------------------------------------------------------------------------------
/static/skills-assets/windicss.svg:
--------------------------------------------------------------------------------
 1 | 
29 | 
--------------------------------------------------------------------------------
/static/skills-assets/woocommerce.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rishavanand/github-profilinator/e5de85778090c3866f06850dedd3111df2fa10a1/static/skills-assets/woocommerce.png
--------------------------------------------------------------------------------
/static/skills-assets/wordpress.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rishavanand/github-profilinator/e5de85778090c3866f06850dedd3111df2fa10a1/static/skills-assets/wordpress.png
--------------------------------------------------------------------------------
/static/skills-assets/xaml.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rishavanand/github-profilinator/e5de85778090c3866f06850dedd3111df2fa10a1/static/skills-assets/xaml.png
--------------------------------------------------------------------------------
/static/skills-assets/xampp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rishavanand/github-profilinator/e5de85778090c3866f06850dedd3111df2fa10a1/static/skills-assets/xampp.png
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
 1 | {
 2 |     "compilerOptions": {
 3 |         "module": "commonjs",
 4 |         "target": "es6",
 5 |         "jsx": "preserve",
 6 |         "lib": ["dom", "es2015", "es2017"],
 7 |         "strict": true,
 8 |         "noEmit": true,
 9 |         "isolatedModules": true,
10 |         "esModuleInterop": true,
11 |         "skipLibCheck": true,
12 |         "noUnusedLocals": true,
13 |         "noUnusedParameters": true,
14 |         "removeComments": false,
15 |         "typeRoots": ["./src/types"]
16 |     },
17 |     "include": ["./src/**/*"]
18 | }
19 | 
--------------------------------------------------------------------------------