Compare commits

...

357 Commits

Author SHA1 Message Date
Rahul Jain d33d139590 make node version 14 2021-10-31 12:18:45 +05:30
Rahul Jain 1bffabd8bb add before script in travis.yml 2021-10-31 12:14:27 +05:30
Rahul Jain 6ff29bcf87 fix node version 2021-10-31 10:51:51 +05:30
Rahul Jain 8c84e917c9 fix: npm version in .yml 2021-10-31 10:48:54 +05:30
Rahul Jain f04dc760e2 fix: few ESLint warnings 2021-10-31 10:36:41 +05:30
Rahul Jain 938a8a9d43 Merge pull request #484 from ajvideira/nextjs-logo-fix
fix: nextjs broken logo url
2021-10-28 13:16:53 +05:30
Jonathan Alba Videira 2109192d72 Fix nextjs broken logo url 2021-10-21 07:43:57 -03:00
Rahul Jain 793513dc21 Merge pull request #465 from chandrikadeb7/kafka-svg-fix
Kafka svg fix
2021-10-21 08:55:14 +05:30
Rahul Jain bf62cec45f Merge pull request #463 from pranansh-s/master
[add]: Nim-Programming language
2021-10-21 08:54:03 +05:30
Rahul Jain 646c0804b9 Merge pull request #464 from mehabhalodiya/patch1
Adds "pandas" and "seaborn" in AI/ML
2021-10-21 08:53:32 +05:30
Rahul Jain b406f4d181 Merge pull request #460 from BerniWittmann/master
feat: add ifttt to automation
2021-10-21 08:50:56 +05:30
Rahul Jain ededb4b8a5 Merge pull request #458 from MrDoomy/feat/better-checkboxes
Using toggle switches instead of checkboxes
2021-10-21 08:49:14 +05:30
Rahul Jain 63347fc8b5 Merge pull request #456 from RetiFier/valdate_json_upload
Add Validation JSON Upload Under Config options
2021-10-21 08:46:58 +05:30
Rahul Jain 1c7bcb7d6b Merge pull request #454 from MrDoomy/feat/backend-development-nestjs
[add]: NestJS Option
2021-10-21 08:46:02 +05:30
Rahul Jain edbaa47c40 Merge pull request #439 from gargipandkar/support-bugfix
Fix #423 - support field not saved/restored
2021-10-21 08:37:43 +05:30
Damien Chazoule e084c9e775 Using redesigned checkboxes on addons section 2021-10-06 19:56:06 +02:00
Chandrika Deb 91bdf52f58 Add files via upload 2021-10-06 22:24:46 +05:30
Chandrika Deb 0823cd43ce Delete kafka.svg 2021-10-06 22:24:03 +05:30
Damien Chazoule 7a93ebeae1 Using redesigned checkboxes rather than toggle switches 2021-10-06 13:18:31 +02:00
mehabhalodiya 46d3751b91 Add pandas and seaborn 2021-10-06 14:38:35 +05:30
Pranansh Singh 6a7a6575b7 Updated icon with a better visibility one 2021-10-06 03:00:16 +05:30
Pranansh Singh 61b8362a55 Added Nim-Programming language 2021-10-06 02:54:21 +05:30
Bernhard Wittmann 68bfa23dff feat: add ifttt to automation 2021-10-04 20:06:34 +02:00
Damien Chazoule f0a9d02f26 Adding unit tests 2021-10-04 10:08:00 +02:00
Damien Chazoule 20b47a9c3d Using toggle switches instead of checkboxes 2021-10-03 23:00:56 +02:00
Damien Chazoule 9432f7d88d Using Devicons SVG + Adding NestJS Link 2021-10-03 21:32:38 +02:00
Reti Fier 15c63a347a Add Validation JSON Upload Under Config options 2021-10-04 01:13:16 +06:30
Damien Chazoule fc1ecf5ab6 Added NestJS Option 2021-10-03 20:04:50 +02:00
Rahul Jain 0194c38eb6 Merge pull request #450 from chandrikadeb7/chandrikadeb7-svg
fix #444: add theme neutral social icons
2021-10-03 09:48:07 +05:30
Chandrika Deb be0234927d SVG social icons added 2021-10-02 16:19:33 +05:30
Rahul Jain 0253d1b5bb Merge pull request #441 from wweverma1/feature/add-kofi-button
issue #424: add Ko-fi donation option
2021-10-02 13:38:17 +05:30
Rahul Jain c7fc859f0c Merge pull request #443 from chandrikadeb7/chandrikadeb7-devlogo
fix #345: dev-dot-to logo
2021-10-02 13:31:49 +05:30
Chandrika Deb f21bbf2af7 Dev logo svg neutral icon added 2021-10-02 13:25:34 +05:30
wweverma1 bbf6cf6018 Added Ko-fi donation option 2021-10-01 17:23:32 +05:30
gargipandkar ccdd09db3f Merge branch 'rahuldkjain:master' into support-bugfix 2021-09-27 14:55:43 +08:00
Rahul Jain 9eb2ab1260 Merge pull request #437 from rahuldkjain/dependabot/npm_and_yarn/color-string-1.6.0
Bump color-string from 1.5.3 to 1.6.0
2021-09-26 20:00:56 +05:30
dependabot[bot] 36076a1fe9 Bump color-string from 1.5.3 to 1.6.0
Bumps [color-string](https://github.com/Qix-/color-string) from 1.5.3 to 1.6.0.
- [Release notes](https://github.com/Qix-/color-string/releases)
- [Changelog](https://github.com/Qix-/color-string/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Qix-/color-string/commits/1.6.0)

---
updated-dependencies:
- dependency-name: color-string
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-26 14:09:31 +00:00
Rahul Jain e92300198d Merge pull request #432 from rahuldkjain/dependabot/npm_and_yarn/tmpl-1.0.5
Bump tmpl from 1.0.4 to 1.0.5
2021-09-26 19:38:04 +05:30
Rahul Jain 25a970c5aa Merge pull request #429 from rahuldkjain/dependabot/npm_and_yarn/object-path-0.11.8
Bump object-path from 0.11.4 to 0.11.8
2021-09-26 19:37:54 +05:30
Rahul Jain 0038d17908 Merge pull request #428 from rahuldkjain/dependabot/npm_and_yarn/prismjs-1.25.0
Bump prismjs from 1.20.0 to 1.25.0
2021-09-26 19:37:44 +05:30
dependabot[bot] 742a7d5d53 Bump tmpl from 1.0.4 to 1.0.5
Bumps [tmpl](https://github.com/daaku/nodejs-tmpl) from 1.0.4 to 1.0.5.
- [Release notes](https://github.com/daaku/nodejs-tmpl/releases)
- [Commits](https://github.com/daaku/nodejs-tmpl/commits/v1.0.5)

---
updated-dependencies:
- dependency-name: tmpl
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-22 08:50:59 +00:00
dependabot[bot] 45f8ca0c9b Bump object-path from 0.11.4 to 0.11.8
Bumps [object-path](https://github.com/mariocasciaro/object-path) from 0.11.4 to 0.11.8.
- [Release notes](https://github.com/mariocasciaro/object-path/releases)
- [Commits](https://github.com/mariocasciaro/object-path/commits)

---
updated-dependencies:
- dependency-name: object-path
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-21 18:10:32 +00:00
dependabot[bot] 131f4b00bf Bump prismjs from 1.20.0 to 1.25.0
Bumps [prismjs](https://github.com/PrismJS/prism) from 1.20.0 to 1.25.0.
- [Release notes](https://github.com/PrismJS/prism/releases)
- [Changelog](https://github.com/PrismJS/prism/blob/master/CHANGELOG.md)
- [Commits](https://github.com/PrismJS/prism/compare/v1.20.0...v1.25.0)

---
updated-dependencies:
- dependency-name: prismjs
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-20 22:42:50 +00:00
gargipandkar f8b2c5d9d4 Fix save/restore/reset of support fields 2021-08-15 16:08:53 +08:00
Rahul Jain e0c08558d8 [fix]: mssql, matlab icon 2021-06-04 17:08:16 +05:30
Rahul Jain 70d473ca91 Merge pull request #387 from Shrestha7/master
[fix]: social icons url
2021-06-04 09:20:55 +05:30
Rahul Jain 3d2510ac71 Merge pull request #394 from AdrianArtiles/fix-typos
[fix]: readme typos
2021-06-04 09:11:26 +05:30
Adrian Artiles fe35dcea9a docs: fix typos 2021-06-03 15:18:04 -07:00
Savitha Gollamudi 22064237dc Merge pull request #370 from aravindvnair99/typo-fixes
Fixes #369 - incorrect spelling
2021-05-10 12:12:58 +05:30
Savitha Gollamudi 704df3681f Merge pull request #374 from frntnd93/feature/angular-icon-link
Add Angular 2+ icon, link
2021-05-10 12:08:14 +05:30
swastik shrestha d8139bc7e2 fixed social icons 2021-05-10 11:57:33 +05:45
Savitha Gollamudi 6253936f99 Merge pull request #384 from PuneetGopinath/patch-1
Fix social icons base link
2021-05-01 16:29:04 +05:30
Puneet Gopinath a5389b6646 Fix social icons base link 2021-04-26 09:55:03 +03:00
Rahul Jain 4a1846e7df Merge pull request #380 from rahuldkjain/rahul_hotfix_paypal-icon
[fix]: paypal-icon
2021-04-18 12:59:06 +05:30
Rahul Jain 13829db4cb [fix]: paypal-icon 2021-04-18 12:58:01 +05:30
Rahul Jain c4becd7949 Merge pull request #368 from kodumbeats/appwrite
[add]: Appwrite BaaS in Skills
2021-04-18 12:38:55 +05:30
Dzhanik Marupov 9e323b9157 Update src/constants/skills.js
Co-authored-by: Aravind V. Nair <22199259+aravindvnair99@users.noreply.github.com>
2021-03-31 12:51:52 +03:00
Aravind V Nair 29a0db0aad Remove unnecessary spaces
Signed-off-by: Aravind V Nair <22199259+aravindvnair99@users.noreply.github.com>
2021-03-31 12:35:55 +05:30
Aravind V Nair e53c7321b6 Merge branch 'master' of https://github.com/rahuldkjain/github-profile-readme-generator into typo-fixes 2021-03-28 14:55:56 +05:30
kodumbeats b7b1fd0a42 Use Appwrite svg 2021-03-24 07:22:21 -04:00
Rahul Jain 04ce080957 Merge pull request #366 from harikanani/harikanani/paypal-icon-fix
[fix]: paypal icon
2021-03-24 11:54:42 +05:30
Dzhanik 49552b7c42 [add] Angular 2+ icon, link 2021-03-03 14:51:11 +03:00
Aravind V Nair fb1b92b0a2 Fix spelling of "regularly"
Signed-off-by: Aravind V Nair <22199259+aravindvnair99@users.noreply.github.com>
2021-03-01 15:59:35 +05:30
kodumbeats 83af4c1839 Add Appwrite BaaS 2021-02-27 15:50:08 -05:00
harikanani d36431ed29 fix paypal icon 2021-02-27 16:49:21 +05:30
rahuldkjain 9cb1b35ac2 [update]: icon-base-url for social 2021-01-31 10:54:16 +05:30
Rahul Jain 2c2cdb30a5 Merge pull request #356 from MaheshBharadwaj/neutral-icons
Added theme neutral icons for some social sites
2021-01-31 10:47:09 +05:30
rahuldkjain db23c74d4f [add]: eslint in package.json 2021-01-15 22:28:08 +05:30
MaheshBharadwaj ebbb1dab5a [ADD] SVG files 2021-01-15 21:27:40 +05:30
Rahul Jain 7603bf41b6 Merge pull request #352 from saitharunsai/patch-1
[fix]: icon cdn links
2021-01-03 18:26:37 +05:30
saitharunsai bbf0836509 update skill.js
changed the c programming link
2021-01-03 16:29:10 +05:30
saitharunsai 901802b9d2 changed the cdn links
changed the cdn links
2021-01-03 15:51:21 +05:30
zolostays 1e338f58f1 [update]: release version 2020-12-04 17:08:35 +05:30
zolostays 9b21412a1a [fix]: github stats placeholder 2020-12-04 17:06:20 +05:30
Rahul Jain c8b8036477 Merge pull request #340 from rahuldkjain/sponsor
[add]: buymeacoffee support
2020-12-04 16:57:07 +05:30
zolostays 5723c38dc9 [update]: jest threshold 2020-12-04 16:43:42 +05:30
zolostays ec78c6ba05 [add]: buymeacoffee support 2020-12-04 16:34:31 +05:30
Rahul Jain d9469f4eda Merge pull request #325 from DenverCoderOne/add-github-streak-stats
[add]: GitHub streak stats
2020-11-29 12:46:17 +05:30
DenverCoder1 c7c7e1c357 Merge branch 'master' of https://github.com/rahuldkjain/github-profile-readme-generator into add-github-streak-stats 2020-11-04 04:36:18 +02:00
Rahul Jain 4ffebfb792 Merge pull request #329 from ankurchaudhary627/master
[add]: prettier and eslint config files
2020-10-31 22:12:22 +05:30
Ankur Chaudhary 779ba7827e Added prettier and eslint config files 2020-10-31 21:37:21 +05:30
DenverCoder1 5d542208ca Added highcontrast theme for streak stats 2020-10-30 04:52:31 +02:00
DenverCoder1 96037f3ff5 Merge branch 'master' into add-github-streak-stats
Checks were failing in the previously merged master branch
2020-10-29 13:57:44 +02:00
Kate Dainovich f11ef643bc Merge pull request #311 from emilpalsson/skills-test
Add unit test cases for skills component
2020-10-28 22:39:56 +03:00
Kate Dainovich b3e4a1a0a9 Merge pull request #318 from Tekipeps/master
Add unit test for Social component
2020-10-28 22:36:05 +03:00
Rahul Jain fbbb95f61f Merge pull request #328 from rahuldkjain/improve-readme
[fix]: readme and package.json
2020-10-28 11:34:56 +05:30
zolostays 1d672fe879 [fix]: readme and package.json 2020-10-28 11:32:39 +05:30
emilpalsson ac15f4ae45 Add unit test cases for skills component 2020-10-27 22:43:38 +01:00
Tekena Solomon 55951c9ef5 Merge remote-tracking branch 'upstream/master' into master 2020-10-27 19:23:44 +01:00
Kate Dainovich e29ddc1637 Merge pull request #314 from anusha5695/ISSUE-294 2020-10-27 18:25:01 +03:00
Rahul Jain a18dc59933 Merge pull request #327 from rahuldkjain/new-sponsors
[add]: new sponsors
2020-10-27 11:05:20 +05:30
zolostays 1c259a84ac [add]: new sponsors 2020-10-27 11:03:02 +05:30
Anusha S a93d958944 tech: add more test cases for coverage 2020-10-27 01:50:39 +05:30
Tekena Solomon 07b18b4c8a revert all other changes not related to social component 2020-10-26 20:47:40 +01:00
Jonah Lawrence 050d0b3a04 Merge branch 'master' into add-github-streak-stats 2020-10-26 19:09:34 +02:00
anusha5695 12315be78b Merge branch 'master' into ISSUE-294 2020-10-26 21:31:00 +05:30
Rahul Jain 63a94a3737 Merge pull request #317 from zeaus/markdown-preview-test
[add]: unit test for Markdown Preview
2020-10-26 20:08:16 +05:30
Rahul Jain 8480ef160d Merge pull request #323 from Citrinin/add-ci-test
[add]: CI
2020-10-26 20:04:06 +05:30
Rahul Jain 30675c7c6d Merge pull request #319 from wandersonpsantos/master
[add]: unit test for markdown.js
2020-10-26 20:01:41 +05:30
Anusha S 3d296812e8 tech: use enzyme to json instead of react test renderer 2020-10-26 12:42:37 +05:30
Citrinin d82a367616 fix tests & update config 2020-10-26 12:42:37 +05:30
DenverCoder1 b243675abd Added to features list 2020-10-26 04:49:11 +02:00
DenverCoder1 1ca5906aa9 Added to readme 2020-10-26 04:46:39 +02:00
DenverCoder1 d13c451cc0 Using streak stats options menu 2020-10-26 04:41:24 +02:00
DenverCoder1 12279914f1 Fixed link generator name and theme query string 2020-10-26 04:37:49 +02:00
DenverCoder1 25a1bf4110 Add GitHub Streak Stats 2020-10-26 03:57:34 +02:00
Tekena Solomon 444c84407c Merge remote-tracking branch 'upstream/master' into master 2020-10-26 00:33:31 +01:00
Wanderson pinto dos santos 318b577765 rebase to maste, remove react-test-renderer and use enzyme-to-json 2020-10-25 14:16:23 -03:00
Wanderson pinto dos santos b98fecf05a Merge remote-tracking branch 'upstream/master' 2020-10-25 14:02:08 -03:00
Taha Shahid 40ccef24fd Refactored test cases to use enzyme 2020-10-25 21:40:05 +05:00
Citrinin a7ee36dad0 update test 2020-10-25 17:11:36 +03:00
Citrinin a1bbb7f887 make tests green 2020-10-25 17:06:57 +03:00
Citrinin a7680fb353 add ci 2020-10-25 16:21:22 +03:00
Rahul Jain d7bf06c7be Merge pull request #321 from Citrinin/update-test-and-config
[fix]: tests and project config
2020-10-25 15:43:03 +05:30
Citrinin 2652aea305 Merge branch 'update-test-and-config' of https://github.com/Citrinin/github-profile-readme-generator into update-test-and-config 2020-10-25 12:57:23 +03:00
Citrinin 0df590a045 update tests & config 2020-10-25 12:26:43 +03:00
Citrinin d259921b2e fix tests & update config 2020-10-25 12:25:48 +03:00
Citrinin f3ca29df8b Merge branch 'master' of https://github.com/rahuldkjain/github-profile-readme-generator 2020-10-25 11:35:34 +03:00
Wanderson pinto dos santos 705ca572f5 test markdown.js 2020-10-24 15:16:10 -03:00
Tekena Solomon 5803097e9d Add unit test for Social component 2020-10-24 15:13:32 +01:00
Taha Shahid 7a612901e3 Added Test for markdownPreview and its subcomponents 2020-10-24 17:54:47 +05:00
Taha Shahid d81fa46e75 Refactored components in markdownPreview 2020-10-24 17:33:53 +05:00
Anusha S eafa964cb9 tech: add snapshot test for add ons component 2020-10-24 14:18:03 +05:30
Rahul Jain bca0f7a18c Merge pull request #307 from VeenaDesai38/worktest
[add]: unit test cases for work component
2020-10-24 12:56:10 +05:30
rdesai2 3c1e4fee34 fix: rebasing yarn.lock 2020-10-24 12:36:31 +05:30
Rahul Jain e5791fc0ec Merge pull request #312 from Citrinin/add-header-tests
[add]: a unit test for header component
2020-10-24 12:05:14 +05:30
Rahul Jain e32acb6db3 Merge pull request #310 from Citrinin/add-donate-snapshot-test
[add]: a unit test case for donate component
2020-10-24 12:03:24 +05:30
Rahul Jain a933180d34 Merge pull request #306 from ankurchaudhary627/tests/subtitle-unit-test
[add]: a unit test for subtitle component
2020-10-24 12:02:31 +05:30
rdesai2 723cf48bb5 Revert "fix: resolving package issues"
This reverts commit 8a1f60f4a4.
2020-10-24 12:02:15 +05:30
Rahul Jain 4ac9861096 Merge pull request #309 from Citrinin/add-loader-test-snapshot
[add]: a unit test case for loader component
2020-10-24 12:01:19 +05:30
rdesai2 8a1f60f4a4 fix: resolving package issues 2020-10-24 12:00:35 +05:30
Rahul Jain 7091c94801 Merge pull request #304 from carlospatinos/master
[add]: unit test for the footer
2020-10-24 12:00:02 +05:30
Rahul Jain ddb17bc0de Merge pull request #288 from rotem-bar/rotem-bar/285
[fix]: spacing inconsistencies in footer
2020-10-24 11:53:17 +05:30
Rahul Jain c5f50a1a3c Merge pull request #286 from datejer/master
[add]: Discord invite field in Social
2020-10-24 11:50:46 +05:30
rdesai2 94b00fb72e Revert "fix: yarn.lock changes"
This reverts commit 649ae8f797.
2020-10-24 11:42:36 +05:30
rdesai2 d220e82ed1 Revert "fix: fixing build failure"
This reverts commit 865321f39d.
2020-10-24 11:42:16 +05:30
rdesai2 865321f39d fix: fixing build failure 2020-10-24 11:40:28 +05:30
Rahul Jain b0ad615680 Merge pull request #308 from emilpalsson/mssql
[add]: Microsoft SQL Server skill
2020-10-24 11:37:20 +05:30
Citrinin d333ce375a add header test 2020-10-23 23:42:19 +03:00
Citrinin 66561ce2a1 add header tests 2020-10-23 23:40:37 +03:00
Citrinin 18709444c4 add donate snapshot test 2020-10-23 23:11:36 +03:00
Citrinin c8aec7006c add loader test snapshot 2020-10-23 22:40:02 +03:00
emilpalsson 2d5ce3bf77 Add Microsoft SQL Server skill 2020-10-23 20:49:27 +02:00
rdesai2 649ae8f797 fix: yarn.lock changes 2020-10-23 22:30:18 +05:30
rdesai2 6759486a5d fix: issue302 adding unit tests 2020-10-23 22:20:46 +05:30
Ankur Chaudhary 784710be47 Added unit test for subtitle component 2020-10-23 20:52:39 +05:30
Carlos Patino a4ea5ac9e9 Addint test for the footer 2020-10-23 15:02:51 +01:00
Rahul Jain 1c45d54dff Merge pull request #289 from harshcut/fix-duplicate
[fix]: duplicate CoffeeScript key
2020-10-23 17:35:31 +05:30
Rahul Jain e81e39e799 [add]: hacktoberfest label by default 2020-10-23 17:21:19 +05:30
Rahul Jain 42ada6734b add discord server image in template 2020-10-23 16:44:49 +05:30
Rahul Jain 5492605e18 add discord server image in template 2020-10-23 16:44:16 +05:30
Harsh Karande ded717ab76 fix: duplicate coffeescript key 2020-10-21 21:30:10 +05:30
rotem-bar ba7af8cf3f fix(footer): spacing inconsistencies 2020-10-21 16:34:36 +03:00
datejer 4831ee47fe Add Discord invite field 2020-10-20 20:47:46 +02:00
Rahul Jain 1f5b37ce0d Merge pull request #282 from bhavika24/issue-281
[add]: matlab icon
2020-10-19 18:46:37 +05:30
bhavika24 ca8da23ddc added matlab icon 2020-10-18 23:02:36 +05:30
Rahul Jain dc0f39105a Merge pull request #280 from rahuldkjain/issue-278
[fix]: issue #278
2020-10-18 18:10:34 +05:30
zolostays 079fd604ea [fix]: issue #278 2020-10-18 18:03:23 +05:30
Rahul Jain bf7cd6999f Merge pull request #277 from YashKandalkar/code-style-guide
[add]: code style guide
2020-10-18 17:14:21 +05:30
YashKandalkar 9ac50e9ea7 added code style guide 2020-10-18 16:41:53 +05:30
Rahul Jain e6d2cdb5a7 Merge pull request #268 from zenby/do-not-request-data-at-background
[fix]: infinite requests if page is not visible
2020-10-18 08:42:47 +05:30
Rahul Jain 4c12c077a6 Merge pull request #267 from sarbikbetal/srbk/patch
[fix]: Conditional rendering of SectionTitles
2020-10-18 08:41:40 +05:30
Rahul Jain 96c69d554d Merge pull request #266 from Tailine/feat/json-upload
[feat]: option to upload json backup file
2020-10-18 08:37:46 +05:30
Rahul Jain c3582cd225 Merge branch 'master' into feat/json-upload 2020-10-18 08:35:49 +05:30
Rahul Jain f184867d9e Merge pull request #265 from dalmia007/footer-links
[add]: Issues and Pull Requests link to footer [Issue #263]
2020-10-18 08:32:51 +05:30
Tailine Chagas e9a365e619 refactor: unstage other changes from PR that do not relate with feature 2020-10-17 18:12:38 -03:00
Rahul Jain 48e202bb20 Merge pull request #237 from Aditya-ds-1806/master
[add]: add Matlab SVG
2020-10-15 10:09:29 +05:30
Rahul Jain 9ceeeb7d4b Merge pull request #264 from pollyj/feature/responsive_footer
[fix]: footer responsiveness
2020-10-15 10:01:32 +05:30
pollyj dd70212616 fixed font weight of links 2020-10-15 09:47:21 +09:00
Anurag Dalmia 4e6a1a516d added correct labels for issues and pull request links 2020-10-14 12:40:41 +05:30
Aditya DS 4060676ab1 added matlab svg 2020-10-14 12:37:12 +05:30
Aditya DS 4bd2548682 added matlab to the list 2020-10-14 12:36:59 +05:30
Aditya DS 5a7b46357a synced fork with original repo 2020-10-14 12:26:20 +05:30
Aditya DS 64f6f40579 resolved merge conflict 2020-10-14 12:24:34 +05:30
Rahul Jain 4a99f2f599 Merge pull request #269 from harshcut/host-image
[feat]: host skill icons
2020-10-14 11:02:24 +05:30
Harsh Karande 4f0578db39 feat: host skill icons 2020-10-12 20:36:37 +05:30
Aditya DS 8ac19f40c9 Update skills.js 2020-10-12 20:22:32 +05:30
Aditya DS bfec4e29e9 Merge branch 'master' into master 2020-10-12 20:00:17 +05:30
zenby d06ef502d2 fix infinite requests 2020-10-12 15:59:14 +03:00
Sarbik Betal a92167e2d3 [fix]: Conditional rendering of SectionTitles 2020-10-12 14:56:13 +05:30
pollyj 79112d9a95 add margin to links & increase font size 2020-10-12 09:29:02 +09:00
Tailine Chagas 693ac86846 feat: add option to upload json backup file 2020-10-11 16:49:09 -03:00
Anurag Dalmia c5f6923187 matched package-locked.json to original 2020-10-12 00:23:59 +05:30
Anurag Dalmia 2d481ca4df Delete package-lock.json 2020-10-12 00:20:37 +05:30
Anurag Dalmia 7561af7a0a fixed package-lock.json 2020-10-12 00:19:16 +05:30
Anurag Dalmia 66b751ef57 fixed package-lock.json 2020-10-12 00:14:45 +05:30
Anurag Dalmia 02d6cf440e Delete package-lock.json 2020-10-12 00:11:08 +05:30
Anurag Dalmia 224fb7c597 added Issues and Pull Requests link to footer 2020-10-11 19:34:56 +05:30
pollyj 0a6fa01f7d update footer to be responsive 2020-10-11 21:31:21 +09:00
Rahul Jain 5359edb4f1 Merge pull request #259 from BRAVO68WEB/master
[add]: new skills
2020-10-11 17:19:40 +05:30
Rahul Jain 4c2c783d6a Merge branch 'master' into master 2020-10-11 17:15:57 +05:30
Rahul Jain 3625b22266 Merge pull request #254 from cy/customize-github-stats
[add]: feature to customize the GitHub stats and top languages card
2020-10-11 17:11:13 +05:30
Rahul Jain e24ea88773 Merge pull request #245 from msriaz/warning-fix/225
[fix] warning in local environment
2020-10-11 17:07:46 +05:30
Rahul Jain 2eee4b677d Merge pull request #208 from pro-nav/patch-1
[add]: Arduino and Solidworks in skills
2020-10-11 16:58:58 +05:30
Rahul Jain 48b3ed3d02 Merge pull request #239 from j23saw/master
[add]: searchbar for skills
2020-10-11 15:32:13 +05:30
Jyotirmoy Bandyopadhyaya [Bravo68] 22e7a96b7f ADDed new skills
**Added These skills :-** 

  unreal: "https://unrealengine.com/",
  hexo: "hexo.io/",
  heroku: "https://heroku.com",
  zapier: "https://zapier.com",
  elixir: "https://elixir-lang.org",
  travisci: "https://travis-ci.org",
  apachecordova: "https://cordova.apache.org/",
  coffeescript: "https://coffeescript.org/",
  "sqlite": "https://www.sqlite.org/",
  postman: "https://postman.com",
  erlang: "https://www.erlang.org/",
  middleman: "https://middlemanapp.com/"
2020-10-10 12:32:41 +05:30
Muhammad Shoaib Riaz 3691d5c609 removing yarn.lock file 2020-10-09 16:19:20 +05:00
Muhammad Shoaib Riaz a212b40d4d removing changes of yarn.lock 2020-10-09 16:10:47 +05:00
Christine Yu a2d8a661a6 add top lang customize 2020-10-09 05:06:41 -04:00
Aditya DS 0097c3e9b3 Merge branch 'master' into master 2020-10-09 14:32:50 +05:30
Aditya DS 0d012ff70a Revert "fixed error on local environment"
This reverts commit dcd82b4eae.
2020-10-09 14:28:58 +05:30
Christine Yu acaa15dacf add all github stats options 2020-10-08 21:57:47 -04:00
Christine Yu ff65cfbd8c add link-generators util 2020-10-08 21:31:30 -04:00
Christine Yu 65086cbd99 add ability to change github stats theme 2020-10-08 21:16:22 -04:00
Christine Yu ae6ddfb3fd Make customize box logic reusable by pulling up into AddonsItem and creating CustomizeOptions component 2020-10-08 20:27:31 -04:00
j23saw b719553909 indent 2020-10-09 02:02:37 +05:30
j23saw 5e63c400e1 add search fallback 2020-10-09 01:51:17 +05:30
j23saw 43d626f4e1 Merge branch 'master' of https://github.com/rahuldkjain/github-profile-readme-generator into master 2020-10-08 23:31:50 +05:30
j23saw e8c11274ea resolve changes 2020-10-08 23:29:00 +05:30
Rahul Jain 8809fb7c43 Merge pull request #241 from Mohitmadhav/Issue-#228
[update] gatsby-plugin-sharp version
2020-10-08 22:36:32 +05:30
Rahul Jain fa1dcf2fd9 Merge pull request #250 from kunaljain0212/cockroachicon
[fix]: broken cockroachdb icon link
2020-10-08 22:24:13 +05:30
Christine Yu 8d4ac6d394 CustomizeOptions component 2020-10-07 20:15:32 -04:00
j23saw c7e0901d11 clean code 2020-10-08 00:16:09 +05:30
j23saw e948dd1148 fix search 4 2020-10-08 00:09:03 +05:30
Kunal Jain ca55d9e02c fixed broken cockroachdb icon link 2020-10-07 23:59:24 +05:30
j23saw 361c52bee0 fix search 3 2020-10-07 23:39:42 +05:30
j23saw d1c1ab4821 Merge branch 'master' of https://github.com/j23saw/github-profile-readme-generator into master 2020-10-07 23:31:59 +05:30
j23saw 21f29343e3 fix search 2 2020-10-07 23:31:52 +05:30
j23saw 4b08b2fe97 fix search 1 2020-10-07 23:31:35 +05:30
j23saw 75eb5878cd fix search 1 2020-10-07 23:18:53 +05:30
j23saw 064b827014 Merge branch 'master' of https://github.com/rahuldkjain/github-profile-readme-generator into master 2020-10-07 23:11:06 +05:30
j23saw b83adbc715 fix search 2020-10-07 23:10:22 +05:30
Rahul Jain 0ca556a9de Merge pull request #246 from thauska/master
[update]: footer with new design
2020-10-07 20:20:40 +05:30
j23saw 33ed98add7 Merge branch 'master' of https://github.com/rahuldkjain/github-profile-readme-generator into master 2020-10-07 18:18:53 +05:30
Thayana Mamoré 27b01ccf71 [feat]: modify footer as requested 2020-10-06 23:36:53 -03:00
Thayana Mamoré 980f970caa Merge branch 'master' of https://github.com/rahuldkjain/github-profile-readme-generator 2020-10-06 22:53:18 -03:00
Muhammad Shoaib Riaz f59987241f fixing warning in local environment 2020-10-07 01:24:12 +05:00
Rahul Jain cb124b7b19 Merge pull request #226 from Maddoxx88/patch-6
[add]: Twitter Username Validation
2020-10-06 23:35:48 +05:30
Rahul Jain 008f2f818b Merge pull request #244 from rahuldkjain/pr-template
[add]: pr-template
2020-10-06 23:27:32 +05:30
zolostays a1dfb87eaa [fix]: typo in pr-template 2020-10-06 23:26:50 +05:30
zolostays 559949d5f3 [add]: pr-template 2020-10-06 23:24:35 +05:30
Rahul Jain 19b6a99893 Merge pull request #203 from rahuldkjain/all-contributors/add-KKVANONYMOUS
docs: add KKVANONYMOUS as a contributor
2020-10-06 23:05:09 +05:30
Rahul Jain 7c3c64ec8d Merge branch 'master' into all-contributors/add-KKVANONYMOUS 2020-10-06 23:04:13 +05:30
Rahul Jain 25b19432ff Merge pull request #177 from rahuldkjain/all-contributors/add-jaideepghosh
docs: add jaideepghosh as a contributor
2020-10-06 23:01:56 +05:30
Rahul Jain e6fff7627a Merge branch 'master' into all-contributors/add-jaideepghosh 2020-10-06 23:01:37 +05:30
Rahul Jain 85530aad63 Merge pull request #168 from rahuldkjain/all-contributors/add-YashKandalkar
docs: add YashKandalkar as a contributor
2020-10-06 22:59:21 +05:30
Rahul Jain cd3df511e5 Merge branch 'master' into all-contributors/add-YashKandalkar 2020-10-06 22:59:03 +05:30
Rahul Jain 1def3dc501 Merge pull request #161 from rahuldkjain/all-contributors/add-abhijit-hota
docs: add abhijit-hota as a contributor
2020-10-06 22:57:33 +05:30
Rahul Jain 12d94283c3 Merge branch 'master' into all-contributors/add-abhijit-hota 2020-10-06 22:56:54 +05:30
Rahul Jain 756b0942a1 Merge pull request #154 from rahuldkjain/all-contributors/add-Maddoxx88
docs: add Maddoxx88 as a contributor
2020-10-06 22:55:12 +05:30
Rahul Jain 6db2bd9278 Merge branch 'master' into all-contributors/add-Maddoxx88 2020-10-06 22:55:05 +05:30
zolostays 2b99a7e3ed [add]: g-savitha in README 2020-10-06 22:48:26 +05:30
Rahul Jain 5448102770 Merge pull request #134 from rahuldkjain/all-contributors/add-Hardik0307
docs: add Hardik0307 as a contributor
2020-10-06 22:37:18 +05:30
Rahul Jain cbb1dddb8e Merge branch 'master' into all-contributors/add-Hardik0307 2020-10-06 22:37:07 +05:30
Mohit_007 fe0bffbd93 commit 2020-10-06 19:17:37 +05:30
j23saw 5f10777adb add searchbar 2020-10-06 01:49:14 +05:30
Aditya D.S dcd82b4eae fixed error on local environment 2020-10-05 18:31:46 +05:30
Aditya D.S 251ab17595 added matlab svg 2020-10-05 16:21:55 +05:30
Rahul Jain cc962a940a Merge pull request #229 from aaditkamat/add-vuepress
[add]: VuePress as a static site generator
2020-10-04 19:27:02 +05:30
Aadit Kamat fb20ed73ac Add vuepress under skillWebsites 2020-10-04 21:20:40 +08:00
allcontributors[bot] 0bf13cdbb1 docs: update .all-contributorsrc [skip ci] 2020-10-04 12:41:50 +00:00
allcontributors[bot] 10742994b0 docs: update README.md [skip ci] 2020-10-04 12:41:49 +00:00
Sunit Shirke c8102c7f97 Corrected twitter markdown link 2020-10-04 18:05:49 +05:30
Sunit Shirke aeca176f40 Corrected href link 2020-10-04 17:52:31 +05:30
Sunit Shirke 2689fe40cd Corrected href link in markdown 2020-10-04 17:44:43 +05:30
Sunit Shirke 4e5c2b974b Corrected twitter props link in markdown 2020-10-04 17:29:04 +05:30
Sunit Shirke 7e6120dedf Corrected twitter props link in preview 2020-10-04 17:27:19 +05:30
Sunit Shirke a446bbe408 Corrected href link in markdown 2020-10-04 17:25:07 +05:30
Sunit Shirke 7be9b08cd8 Corrected href link in preview 2020-10-04 17:24:05 +05:30
Sunit Shirke cac51acc92 Removed bracket error 2020-10-04 17:15:47 +05:30
Rahul Jain 4a2bd779c4 Merge pull request #204 from Aarush-Goyal/master
[add]: design addons
2020-10-04 17:12:26 +05:30
Rahul Jain 91b1d2f6ea Merge pull request #160 from abhijit-hota/add-unit-tests
[test]: Add unit tests #47
2020-10-04 16:58:10 +05:30
Aadit Kamat 264161c054 Replace with SVG 2020-10-04 15:30:04 +08:00
zolostays 8812ea048f [add]: package.json 2020-10-04 12:49:05 +05:30
Aadit Kamat 656e055cd0 Add VuePress as a static site generator 2020-10-04 15:15:22 +08:00
Rahul Jain 3793bcdad9 Merge pull request #214 from nidhi-bhanushali/master
[add]: Resume field in the work section
2020-10-04 12:37:58 +05:30
Sunit Shirke 4a1e6736ae Updated username validation for Twitter Badge 2020-10-04 12:36:42 +05:30
Sunit Shirke 5b7b83804a Updated on-click links for Twitter Badge in markdown 2020-10-04 12:30:41 +05:30
Nidhi Bhanushali 808d613dc1 Deleted package-lock.json 2020-10-04 12:29:04 +05:30
Sunit Shirke 7e1e742f46 Updated on-click link on Twitter Badge 2020-10-04 12:26:45 +05:30
Rahul Jain 580047ba7a Merge pull request #179 from Darkangeel-hd/add-perl-language
[add]: Perl to Programming Languages
2020-10-04 12:25:52 +05:30
Rahul Jain dd682423db Merge pull request #180 from Darkangeel-hd/add-openrest-backend
[add]: OpenResty to Backend Development
2020-10-04 12:25:07 +05:30
Nidhi Bhanushali ba609c3229 Made changes to package.json 2020-10-04 12:18:19 +05:30
Nidhi Bhanushali 2b35031629 Made changes to package.json 2020-10-04 12:16:10 +05:30
Sunit Shirke cd4451c607 Validation for twitter username updated. 2020-10-04 12:12:58 +05:30
Rahul Jain f38e0dbf0e Merge pull request #197 from vivek32ta/add-static-site-generators
[add]: 11ty, Scully, Sculpin, Sapper under static site generators
2020-10-04 12:01:59 +05:30
Rahul Jain 68b331b56b Merge branch 'master' into add-static-site-generators 2020-10-04 11:56:21 +05:30
Sunit Shirke f4e65fa555 Regex for Twitter Username Validation 2020-10-04 11:52:27 +05:30
Rahul Jain 14e3a7e57d Merge pull request #181 from Darkangeel-hd/add-cockroach-database
[add]: CockroachDB to Database
2020-10-04 11:52:01 +05:30
Rahul Jain 556a08365c Merge pull request #218 from lucid-dreem/master
[design]: add header design
2020-10-04 11:45:15 +05:30
Rahul Jain 9a2416bc5d Merge pull request #202 from sarbikbetal/srbk/dev
[design]: About page design idea.
2020-10-04 11:37:18 +05:30
Rahul Jain b81a30ebd0 Merge pull request #173 from parikshitghosh3/xd
[add]: Abobe XD in Skills
2020-10-04 11:16:36 +05:30
Rahul Jain 26a8c08b92 Merge pull request #147 from YashKandalkar/warnings-resolved
[fix]: warnings
2020-10-04 11:12:29 +05:30
zolostays 7d80d29a8b [fix]: syntax-error 2020-10-04 10:47:53 +05:30
Rahul Jain a4377c1dd6 Merge pull request #162 from Maddoxx88/patch-5
[add]: checkbox for twitterBadge as add-on.
2020-10-04 10:37:53 +05:30
zolostays 77df86a9a6 [fix]: syntax error 2020-10-04 10:21:17 +05:30
Rahul Jain eb7a06f1c0 Merge branch 'master' into patch-5 2020-10-04 10:15:35 +05:30
Rahul Jain 5725fdb018 Merge pull request #157 from Maddoxx88/patch-4
[add]: twitterBadge in const data
2020-10-04 10:05:32 +05:30
Rahul Jain 908cfa095e Merge pull request #209 from YashKandalkar/profile-badge-customization
[add]: Profile badge customization
2020-10-04 09:51:23 +05:30
lucid-dreem 36ce7a68ac add header design
Adding a potential design idea for the header. It rearranges the old elements and makes some slight additions to give a more professional feel.
2020-10-03 12:17:31 +05:30
Nidhi Bhanushali 5305ae1f6e Made changes in markdown.js 2020-10-03 11:15:52 +05:30
Nidhi Bhanushali 7d6dd860aa Made changes in markdownPreview.js 2020-10-03 11:12:22 +05:30
Nidhi Bhanushali 011720885e Added Resume field in the work section 2020-10-03 10:08:21 +05:30
YashKandalkar 5c51edd4eb Resolved merge conflicts 2020-10-03 00:59:18 +05:30
YashKandalkar 080e5f7822 Added check for preview 2020-10-03 00:45:10 +05:30
Pranav Dudhane 32c42c1f4e Added Arduino and Solidworks
#205
2020-10-03 00:28:02 +05:30
Angel e2ed889d5b Merge branch 'master' into add-cockroach-database 2020-10-02 20:35:34 +02:00
Aarush Goyal bbb8ce6bd3 added design addons 2020-10-02 23:51:37 +05:30
allcontributors[bot] 413d279a19 docs: update .all-contributorsrc [skip ci] 2020-10-02 16:34:35 +00:00
allcontributors[bot] 729354b053 docs: update README.md [skip ci] 2020-10-02 16:34:34 +00:00
Sarbik Betal ef55e85dba Added about page redesign. 2020-10-02 20:43:41 +05:30
zolostays 1d814d385d [restore]: images 2020-10-02 20:33:49 +05:30
YashKandalkar e48d9eeac6 Added profile badge customization 2020-10-02 20:28:41 +05:30
Rahul Jain 6f1530dc1b Merge pull request #1 from rahuldkjain/imgbot
[ImgBot] Optimize images
2020-10-02 20:26:33 +05:30
ImgBotApp bd0a35bedc [ImgBot] Optimize images
*Total -- 3,072.02kb -> 2,809.95kb (8.53%)

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

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>
2020-10-02 14:54:42 +00:00
zolostays 804edf96d3 [add]: design-styleguide 2020-10-02 20:21:55 +05:30
zolostays 31094f8d4e [add]: mysql-workbench icon 2020-10-02 20:20:04 +05:30
zolostays 2f80d2cc8d [add]: design 2020-10-02 20:19:20 +05:30
zolostays 8012eea403 [add]: design folder 2020-10-02 20:17:46 +05:30
Vivek T A a21589381f changed images to svg 2020-10-02 19:47:48 +05:30
Savitha Gollamudi 321ce36eb7 Merge pull request #178 from jaideepghosh/master
feat: Added github trophy.
2020-10-02 18:36:11 +05:30
Savitha Gollamudi 91810816ba Merge pull request #194 from KKVANONYMOUS/master
Created a new category of Game Engines and added Unity to it
2020-10-02 18:27:05 +05:30
Savitha Gollamudi 0d83419d03 Merge pull request #195 from swapneelr09/all-contributors/add-swapneelr09
Added Graphql Skill
2020-10-02 18:13:17 +05:30
Sunit Shirke bff504b498 Updated Twitter Badge Component 2020-10-02 18:07:48 +05:30
Sunit Shirke 97b555e63c Updated Twitter Badge Markdown Preview 2020-10-02 18:01:52 +05:30
Sunit Shirke 3fa08161ce Merge branch 'master' into patch-5 2020-10-02 17:54:18 +05:30
Savitha Gollamudi 314abc7be5 integrate welcome bot 2020-10-02 17:30:38 +05:30
Thayana Correa Mamore a6756d0058 Merge pull request #1 from rahuldkjain/master
updating fork repo
2020-10-02 08:37:43 -03:00
jaideepghosh 2338a7db00 feat(trophy):Added credit link. 2020-10-02 16:37:49 +05:30
Vivek T A 1773c32033 add 11ty, scully, sculpin, sapper 2020-10-02 16:22:29 +05:30
Swapneel Roy d96593fe46 Added Graphql Skill 2020-10-02 15:15:07 +05:30
kkvanonymous 0c23182f4e add-unity 2020-10-02 15:04:13 +05:30
Savitha Gollamudi d91f5d3a45 Merge pull request #155 from shajanjp/fix-title-alignment
fix: #158 aligns titles to the left
2020-10-02 14:04:09 +05:30
Savitha Gollamudi 090001b956 Merge pull request #182 from MuhBayu/master
Added DevOps Skills
2020-10-02 13:07:59 +05:30
MuhBayu e9bc837492 Added DevOps Skills 2020-10-02 10:19:13 +07:00
Darkangeel-hd 3b4f2add83 Added CockroachDB to Database 2020-10-02 01:24:15 +02:00
Darkangeel-hd 5ef270a9f4 Added OpenResty Backend
OpenResty is a full-fledged web platform that integrates our enhanced version of the Nginx core, our enhanced version of LuaJIT.
2020-10-02 01:11:05 +02:00
Darkangeel-hd 7a9a4dcf47 Added Perl to Programming Languages 2020-10-02 00:59:42 +02:00
jaideepghosh 21483d66e0 feat(app):Added github trophy feat. 2020-10-02 02:12:03 +05:30
allcontributors[bot] ca8cea3141 docs: update .all-contributorsrc [skip ci] 2020-10-01 20:07:54 +00:00
allcontributors[bot] a456023b55 docs: update README.md [skip ci] 2020-10-01 20:07:53 +00:00
Parikshit Ghosh fe88af9544 Added XD respect to Issue #149 2020-10-01 17:35:50 +00:00
Savitha Gollamudi e3ed30baa6 Merge pull request #170 from quintenbuis/patch-1
Fix: #169 Remove youtube from README
2020-10-01 22:02:58 +05:30
Quinten Buis e54222ddbf #169 Remove youtube from README 2020-10-01 16:35:20 +02:00
allcontributors[bot] 6f6025fff5 docs: update .all-contributorsrc [skip ci] 2020-10-01 13:58:39 +00:00
allcontributors[bot] 18143686a8 docs: update README.md [skip ci] 2020-10-01 13:58:38 +00:00
Rahul Jain b36e7001b5 Merge pull request #148 from thauska/master
[add]: Quasar framework skill
2020-10-01 19:07:54 +05:30
Rahul Jain 8dd547e88d Merge pull request #144 from YashKandalkar/addon-enhancement
[fix]: text wrapping below checkbox on mobile
2020-10-01 19:07:23 +05:30
Sunit Shirke 1737d02957 Added a checkbox for twitterBadge as add-on 2020-10-01 16:36:07 +05:30
allcontributors[bot] 3e130915cc docs: update .all-contributorsrc [skip ci] 2020-10-01 10:24:25 +00:00
allcontributors[bot] 4789090cff docs: update README.md [skip ci] 2020-10-01 10:24:24 +00:00
abhijitXD 1f5aa89161 Add basic unit test for the Title component 2020-10-01 15:36:24 +05:30
abhijitXD 3f05970642 Add dependencies and configs for unit tests 2020-10-01 15:36:01 +05:30
Rahul Jain a87f7cc2a5 [del]: yarn.lock 2020-10-01 15:15:08 +05:30
Sunit Shirke 33d18f4c8f Update index with twitterBadge in data
Added basic validation during before readme generation
2020-10-01 14:20:50 +05:30
Rahul Jain b1c813540f Merge pull request #156 from kala2/dicord-fix-server-id
[fix]: change discord server-id
2020-10-01 14:00:41 +05:30
kala2 5c7b3ed923 fix: change discord server id 2020-10-01 11:27:28 +03:00
shajanjp 45c6a3a97c fix: aligns titles to the left 2020-10-01 13:53:47 +05:30
allcontributors[bot] 9c79fe1a64 docs: update .all-contributorsrc [skip ci] 2020-10-01 07:51:17 +00:00
allcontributors[bot] e8ebabee8c docs: update README.md [skip ci] 2020-10-01 07:51:16 +00:00
YashKandalkar 5cb817a03e Bug fixes 2020-10-01 13:18:59 +05:30
YashKandalkar 6d0377a6a9 Resolved eslint warnings 2020-10-01 12:34:20 +05:30
Thayana Mamoré 86593cecbd [add]: Added Quasar framework skill 2020-09-30 23:16:40 -03:00
YashKandalkar 0a73c08dcf Moved AddonsItem component to addons.js file 2020-09-27 18:41:45 +05:30
YashKandalkar 63f68f3ce7 Added a new component AddonItem, improved text wrapping of an addon on
smaller screens
2020-09-27 01:16:48 +05:30
allcontributors[bot] 13ae1d20ed docs: update .all-contributorsrc [skip ci] 2020-09-25 14:26:11 +00:00
allcontributors[bot] 532867563d docs: update README.md [skip ci] 2020-09-25 14:26:10 +00:00
262 changed files with 33196 additions and 2370 deletions
+64
View File
@@ -14,6 +14,15 @@
"code" "code"
] ]
}, },
{
"login": "Hardik0307",
"name": "Hardik Bagada",
"avatar_url": "https://avatars3.githubusercontent.com/u/41434099?v=4",
"profile": "https://github.com/Hardik0307",
"contributions": [
"code"
]
},
{ {
"login": "antonkomarev", "login": "antonkomarev",
"name": "Anton Komarev", "name": "Anton Komarev",
@@ -22,6 +31,61 @@
"contributions": [ "contributions": [
"plugin" "plugin"
] ]
},
{
"login": "KKVANONYMOUS",
"name": "Kunal Kumar Verma",
"avatar_url": "https://avatars3.githubusercontent.com/u/58628586?v=4",
"profile": "https://kkvanonymous.github.io/",
"contributions": [
"code"
]
},
{
"login": "jaideepghosh",
"name": "Jaideep Ghosh",
"avatar_url": "https://avatars2.githubusercontent.com/u/3909648?v=4",
"profile": "http://jaideepghosh.blogspot.com",
"contributions": [
"code"
]
}
{
"login": "YashKandalkar",
"name": "yash",
"avatar_url": "https://avatars0.githubusercontent.com/u/35102959?v=4",
"profile": "http://yashkandalkar.github.io",
"contributions": [
"code"
]
},
{
"login": "abhijit-hota",
"name": "Abhijit Hota",
"avatar_url": "https://avatars0.githubusercontent.com/u/8116174?v=4",
"profile": "https://github.com/abhijit-hota",
"contributions": [
"code",
"test"
]
},
{
"login": "Maddoxx88",
"name": "Sunit Shirke",
"avatar_url": "https://avatars1.githubusercontent.com/u/34238672?v=4",
"profile": "https://maddoxx88.github.io/",
"contributions": [
"code"
]
}
{
"login": "g-savitha",
"name": "Savitha Gollamudi",
"avatar_url": "https://avatars0.githubusercontent.com/u/31612459?v=4",
"profile": "https://www.gsavitha.in",
"contributions": [
"code"
]
} }
], ],
"contributorsPerLine": 7, "contributorsPerLine": 7,
+6
View File
@@ -39,5 +39,11 @@ If applicable, add screenshots to help explain your problem.
**Additional context** **Additional context**
Add any other context about the problem here. Add any other context about the problem here.
Join the **Discord Server** for further discussions. Join the **Discord Server** for further discussions.
<a href="https://discord.gg/HHMs7Eg">
<img src="https://discord.com/assets/e4923594e694a21542a489471ecffa50.svg" alt="GPRG Discord Server Link" width="300px"/>
</a>
Server Link: https://discord.gg/HHMs7Eg Server Link: https://discord.gg/HHMs7Eg
@@ -2,7 +2,7 @@
name: Feature/Enhancement request name: Feature/Enhancement request
about: Suggest an idea for this project about: Suggest an idea for this project
title: "" title: ""
labels: enhancement labels: enhancement, hacktoberfest
assignees: "" assignees: ""
--- ---
@@ -20,4 +20,8 @@ Add any other context or screenshots about the feature request here.
Join the **Discord Server** for further discussions. Join the **Discord Server** for further discussions.
<a href="https://discord.gg/HHMs7Eg">
<img src="https://discord.com/assets/e4923594e694a21542a489471ecffa50.svg" alt="GPRG Discord Server Link" width="300px"/>
</a>
Server Link: https://discord.gg/HHMs7Eg Server Link: https://discord.gg/HHMs7Eg
+43
View File
@@ -0,0 +1,43 @@
<!--
For Work In Progress Pull Requests, please use the Draft PR feature,
see https://github.blog/2019-02-14-introducing-draft-pull-requests/ for further details.
For a timely review/response, please avoid force-pushing additional
commits if your PR already received reviews or comments.
Before submitting a Pull Request, please ensure you've done the following:
- 📖 Read the Contributing Guide: https://github.com/rahuldkjain/github-profile-readme-generator/blob/master/CONTRIBUTING.md#create-a-pull-request.
- 📖 Read the Code of Conduct: https://github.com/rahuldkjain/github-profile-readme-generator/blob/master/CODE_OF_CONDUCT.md.
- 👷‍♀️ Create small PRs. In most cases this will be possible.
- ✅ Provide issue number with link.
- 📝 Use descriptive commit messages.
- 📗 Update any related documentation and include any relevant screenshots.
-->
## What type of PR is this? (check all applicable)
- [ ] Refactor
- [ ] Feature
- [ ] Bug Fix
- [ ] Enhancement
- [ ] Documentation Update
## Description
## Related Tickets & Documents
## QA Instructions, Screenshots, Recordings
_Please replace this line with instructions on how to test your changes, as well
as any relevant images for UI changes._
<!-- ## Added tests?
- [ ] yes
- [ ] no, because they aren't needed
- [ ] no, because I need help -->
## Added to documentation?
- [ ] readme
+17
View File
@@ -0,0 +1,17 @@
# Configuration for new-issue-welcome - https://github.com/behaviorbot/new-issue-welcome
# Comment to be posted to on first time issues
newIssueWelcomeComment: >
Thanks for opening your first issue here! Your contribution means alot. 🙌 Join Discord Server (https://discord.gg/HHMs7Eg) for discussing issues, pull-requests, new features, etc.
# Configuration for new-pr-welcome - https://github.com/behaviorbot/new-pr-welcome
# Comment to be posted to on PRs from first time contributors in your repository
newPRWelcomeComment: >
Thanks for opening this pull request! Make sure you have assigned an issue to this respective PR 😇
# Configuration for first-pr-merge - https://github.com/behaviorbot/first-pr-merge
# Comment to be posted to on pull requests merged by a first time user
firstPRMergeComment: >
Congrats on merging your first pull request🎉! Thanks alot for your contribution. 🙏
+6
View File
@@ -0,0 +1,6 @@
language: node_js
node_js:
- "14"
cache:
directories:
- "node_modules"
+91
View File
@@ -0,0 +1,91 @@
# Coding Style
## File Layout (`src/components/*.js`)
1. Imports
2. Reusable components needed for the main component
3. Main component (Eg: Addons in addons.js)
4. export default \<MainComponent\>;
## Reusable components
* Do not make a new file for smaller components.
* Smaller, reusable components needed in the main components should be added **above** the main component, **not** inside it.
* Use ES6 arrow functions for defining components.
## Spacing
1. **JS:**
* Use a space after `if`, `for`, `while`, `switch`.
* Do not use a space after the opening `(` and before the closing `)`.
* Use a space before and after destructuring objects.
```js
//good
const { apple, mangoes } = fruits;
//bad
const {apple, mangoes} = fruits;
//Same for destructuring props:
//good
const BeautifulComponent = ({ prop1, prop2 }) => {}
//bad
const UglyComponent = ({prop1, prop2}) => {}
```
2. **JSX:**
* Use a space before the forward slash (`/`) of a self-closing tag
```js
//good
<Foo />
//bad
<Foo/>
```
* Do **not** use spaces for JSX curly braces
```js
//good
<Foo bar={baz} />
//bad
<Foo bar={ baz } />
```
## **Props:**
* Use camelCase for prop names, or PascalCase if the prop value is a React component.
* Use new lines when props do not fit on the same line.
```js
//good
<Foo
prop1={value1}
prop2={value2}
prop3={value3}
/>
//bad
<Foo prop1={value1} prop2={value2} prop3={value3} />
```
## **Best practices:**
* **Always** add semicolons after a line.
* Use ES6 arrow functions.
* Keep the indentation in your code correct.
* Use 4 spaces for tabs.
* Don't Repeat Yourself. If you think you're repeating too much code, make a smaller component, or a function.
* **Always** add alt prop to `img` tags.
* Add `rel="noopener"` for `a` tags which has `target="_blank"`.
* Don't do `outline: none` on user input elements. If you do not want outline, give them faint, visible background on focus. This is for accessibility.
### Other things to note
* We are using [octicons](https://primer.style/octicons/) for icons. Use this if you need to add icons. Do **not** add a new library for icons.
* Try to not commit changes in `package.json`, `package-lock.json`.
* Discuss with contributors on discord if you're planning to add/remove a package.
## Further reading:
This guide is based on [airbnb's react guide](https://github.com/airbnb/javascript/tree/master/react). You can read all the best practices there.
+1 -1
View File
@@ -3,7 +3,7 @@
When contributing to this repository, please first discuss the change you wish to make via issue, When contributing to this repository, please first discuss the change you wish to make via issue,
email, or any other method with the owners of this repository before making a change. email, or any other method with the owners of this repository before making a change.
<a href="https://discord.gg/U7YU3J" target="blank"> <a href="https://discord.gg/HHMs7Eg" target="blank">
<img src="https://img.shields.io/discord/735303195105951764?color=%23677BC4&label=Join%20Community&style=flat-square" alt="join discord community of github profile readme generator"/> <img src="https://img.shields.io/discord/735303195105951764?color=%23677BC4&label=Join%20Community&style=flat-square" alt="join discord community of github profile readme generator"/>
</a> </a>
+10 -23
View File
@@ -9,7 +9,7 @@
<p align="center"> <p align="center">
<a href="https://github.com/rahuldkjain/github-profile-readme-generator/blob/master/LICENSE" target="blank"> <a href="https://github.com/rahuldkjain/github-profile-readme-generator/blob/master/LICENSE" target="blank">
<img src="https://img.shields.io/github/license/rahuldkjain/github-profile-readme-generator?style=flat-square" alt="github-profile-readme-generator licence" /> <img src="https://img.shields.io/github/license/rahuldkjain/github-profile-readme-generator?style=flat-square" alt="github-profile-readme-generator license" />
</a> </a>
<a href="https://github.com/rahuldkjain/github-profile-readme-generator/fork" target="blank"> <a href="https://github.com/rahuldkjain/github-profile-readme-generator/fork" target="blank">
<img src="https://img.shields.io/github/forks/rahuldkjain/github-profile-readme-generator?style=flat-square" alt="github-profile-readme-generator forks"/> <img src="https://img.shields.io/github/forks/rahuldkjain/github-profile-readme-generator?style=flat-square" alt="github-profile-readme-generator forks"/>
@@ -23,7 +23,7 @@
<a href="https://github.com/rahuldkjain/github-profile-readme-generator/pulls" target="blank"> <a href="https://github.com/rahuldkjain/github-profile-readme-generator/pulls" target="blank">
<img src="https://img.shields.io/github/issues-pr/rahuldkjain/github-profile-readme-generator?style=flat-square" alt="github-profile-readme-generator pull-requests"/> <img src="https://img.shields.io/github/issues-pr/rahuldkjain/github-profile-readme-generator?style=flat-square" alt="github-profile-readme-generator pull-requests"/>
</a> </a>
<a href="https://discord.gg/U7YU3J" target="blank"> <a href="https://discord.gg/HHMs7Eg" target="blank">
<img src="https://img.shields.io/discord/735303195105951764?label=Join%20Community&logo=discord&style=flat-square" alt="join discord community of github profile readme generator"/> <img src="https://img.shields.io/discord/735303195105951764?label=Join%20Community&logo=discord&style=flat-square" alt="join discord community of github profile readme generator"/>
</a> </a>
</p> </p>
@@ -76,6 +76,8 @@ Just fill in the details such as `Name`, `Tagline`, `Dev Platforms Username`, `C
- **GitHub Top Skills** - **GitHub Top Skills**
- **GitHub Streak Stats**
- **Dynamic Dev(.)to Blogs** (GitHub Action) - **Dynamic Dev(.)to Blogs** (GitHub Action)
- **Dynamic Medium Blogs** (GitHub Action) - **Dynamic Medium Blogs** (GitHub Action)
@@ -84,7 +86,7 @@ Just fill in the details such as `Name`, `Tagline`, `Dev Platforms Username`, `C
- **Wakatime Stats** [contribute](https://github.com/rahuldkjain/github-profile-readme-generator/issues/115) - **Wakatime Stats** [contribute](https://github.com/rahuldkjain/github-profile-readme-generator/issues/115)
- **YouTube Stats** [contribute](https://github.com/rahuldkjain/github-profile-readme-generator/issues/119) - **Buy Me A Coffee button**
Click on `Generate README` to get your README in `markdown`. Click on `Generate README` to get your README in `markdown`.
You can preview the README too. You can preview the README too.
@@ -134,12 +136,16 @@ Please read [`CONTRIBUTING`](CONTRIBUTING.md) for details on our [`CODE OF CONDU
- [Anurag Hazra](https://github.com/anuraghazra) for amazing [github-readme-stats](https://github.com/anuraghazra/github-readme-stats) - [Anurag Hazra](https://github.com/anuraghazra) for amazing [github-readme-stats](https://github.com/anuraghazra/github-readme-stats)
- [Anton Komarev](https://github.com/antonkomarev) for super cool [github-profile-views-counter](https://github.com/antonkomarev/github-profile-views-counter) - [Anton Komarev](https://github.com/antonkomarev) for super cool [github-profile-views-counter](https://github.com/antonkomarev/github-profile-views-counter)
- [Gautam Krishna R](https://github.com/gautamkrishnar) for the awesome [blog post workflow](https://github.com/gautamkrishnar/blog-post-workflow) - [Gautam Krishna R](https://github.com/gautamkrishnar) for the awesome [blog post workflow](https://github.com/gautamkrishnar/blog-post-workflow)
- [Jonah Lawrence](https://github.com/DenverCoder1) for the incredible [github-readme-streak-stats](https://github.com/DenverCoder1/github-readme-streak-stats)
- [Julien Monty](https://github.com/konpa) for super useful [devicon](https://github.com/konpa/devicon) - [Julien Monty](https://github.com/konpa) for super useful [devicon](https://github.com/konpa/devicon)
## 🙇 Sponsors ## 🙇 Sponsors
- [Scott C Wilson](https://github.com/scottcwilson) donated the first-ever grant to this tool. A big thanks to him. - [Scott C Wilson](https://github.com/scottcwilson) donated the first-ever grant to this tool. A big thanks to him.
- [Max Schmitt](https://github.com/mxschmitt) loved the tool and showed support with his donation. Thanks a lot. - [Max Schmitt](https://github.com/mxschmitt) loved the tool and showed support with his donation. Thanks a lot.
- [Aadit Kamat](https://github.com/aaditkamat) find the tool useful and showed support with his donation. A big thanks to him.
- [Jean-Michel Fayard](https://github.com/jmfayard) used the generator to create his GitHub Profile README and he loved it. Thanks to him for showing support to the tool with the donation.
## 🙏 Support ## 🙏 Support
@@ -157,27 +163,8 @@ Please read [`CONTRIBUTING`](CONTRIBUTING.md) for details on our [`CODE OF CONDU
<a href="https://www.buymeacoffee.com/rahuldkjain" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/default-orange.png" alt="Buy Me A Coffee" height="23" width="100" style="border-radius:2px" /> <a href="https://www.buymeacoffee.com/rahuldkjain" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/default-orange.png" alt="Buy Me A Coffee" height="23" width="100" style="border-radius:2px" />
</p> </p>
## Contributors ✨
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
[![All Contributors](https://img.shields.io/badge/all_contributors-2-orange.svg?style=flat-square)](#contributors-)
<!-- ALL-CONTRIBUTORS-BADGE:END -->
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
<tr>
<td align="center"><a href="https://github.com/sarbikbetal"><img src="https://avatars2.githubusercontent.com/u/41508422?v=4" width="100px;" alt=""/><br /><sub><b>Sarbik Betal</b></sub></a><br /><a href="https://github.com/rahuldkjain/github-profile-readme-generator/commits?author=sarbikbetal" title="Code">💻</a></td>
<td align="center"><a href="https://komarev.com"><img src="https://avatars0.githubusercontent.com/u/1849174?v=4" width="100px;" alt=""/><br /><sub><b>Anton Komarev</b></sub></a><br /><a href="#plugin-antonkomarev" title="Plugin/utility libraries">🔌</a></td>
</tr>
</table>
<!-- markdownlint-enable -->
<!-- prettier-ignore-end -->
<!-- ALL-CONTRIBUTORS-LIST:END -->
<hr> <hr>
<p align="center"> <p align="center">
Developed with ❤️ in India 🇮🇳 Developed with ❤️ in India 🇮🇳
</p> </p>
+1
View File
@@ -0,0 +1 @@
module.exports = "test-file-stub"
+27
View File
@@ -0,0 +1,27 @@
const React = require("react")
const gatsby = jest.requireActual("gatsby")
module.exports = {
...gatsby,
graphql: jest.fn(),
Link: jest.fn().mockImplementation(
// these props are invalid for an `a` tag
({
activeClassName,
activeStyle,
getProps,
innerRef,
partiallyActive,
ref,
replace,
to,
...rest
}) =>
React.createElement("a", {
...rest,
href: to,
})
),
StaticQuery: jest.fn(),
useStaticQuery: jest.fn(),
}
+5
View File
@@ -0,0 +1,5 @@
const babelOptions = {
presets: ["babel-preset-gatsby"],
}
module.exports = require("babel-jest").createTransformer(babelOptions)
+26
View File
@@ -0,0 +1,26 @@
module.exports = {
transform: {
"^.+\\.jsx?$": `<rootDir>/jest-preprocess.js`,
},
moduleNameMapper: {
".+\\.(css|styl|less|sass|scss)$": `identity-obj-proxy`,
".+\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": `<rootDir>/__mocks__/file-mock.js`,
},
testPathIgnorePatterns: [`node_modules`, `\\.cache`, `<rootDir>.*/public`],
transformIgnorePatterns: [`node_modules/(?!(gatsby)/)`],
globals: {
__PATH_PREFIX__: ``,
__BASE_PATH__: ``,
},
setupFiles: [`<rootDir>/loadershim.js`],
setupFilesAfterEnv: ["<rootDir>/setupTests.js"],
snapshotSerializers: ["enzyme-to-json/serializer"],
coverageThreshold: {
global: {
branches: 0,
functions: 75,
lines: 68,
statements: 68,
},
},
}
+3
View File
@@ -0,0 +1,3 @@
global.___loader = {
enqueue: jest.fn(),
}
+11011 -1567
View File
File diff suppressed because it is too large Load Diff
+15 -7
View File
@@ -1,35 +1,43 @@
{ {
"name": "gh-profile-reamde-generator", "name": "github-profile-readme-generator",
"private": true, "private": true,
"description": "A simple react app to generate beautiful github profile readme in md(markdown)", "description": "A simple react app to generate beautiful github profile readme in md(markdown)",
"version": "0.1.0", "version": "1.2.0",
"author": "Rahul Jain <rahuldkjain@gmail.com>", "author": "Rahul Jain <rahuldkjain@gmail.com>",
"dependencies": { "dependencies": {
"@primer/octicons-react": "^10.0.0", "@primer/octicons-react": "^10.0.0",
"enzyme": "^3.11.0",
"enzyme-adapter-react-16": "^1.15.5",
"enzyme-to-json": "^3.6.1",
"eslint": "^7.17.0",
"gatsby": "^2.23.12", "gatsby": "^2.23.12",
"gatsby-image": "^2.4.9", "gatsby-image": "^2.4.9",
"gatsby-plugin-google-analytics": "^2.3.11", "gatsby-plugin-google-analytics": "^2.3.11",
"gatsby-plugin-manifest": "^2.4.14", "gatsby-plugin-manifest": "^2.4.14",
"gatsby-plugin-offline": "^3.2.13", "gatsby-plugin-offline": "^3.2.13",
"gatsby-plugin-react-helmet": "^3.3.6", "gatsby-plugin-react-helmet": "^3.3.6",
"gatsby-plugin-sharp": "^2.6.14", "gatsby-plugin-sharp": "2.6.14",
"gatsby-remark-prismjs": "^3.5.10", "gatsby-remark-prismjs": "^3.5.10",
"gatsby-source-filesystem": "^2.3.23", "gatsby-source-filesystem": "^2.3.23",
"gatsby-transformer-remark": "^2.8.27", "gatsby-transformer-remark": "^2.8.27",
"gatsby-transformer-sharp": "^2.5.7", "gatsby-transformer-sharp": "^2.5.7",
"gsap": "^3.4.0", "gsap": "^3.4.0",
"prismjs": "^1.20.0", "prismjs": "^1.25.0",
"prop-types": "^15.7.2", "prop-types": "^15.7.2",
"react": "^16.12.0", "react": "^16.12.0",
"react-dom": "^16.12.0", "react-dom": "^16.12.0",
"react-helmet": "^6.1.0" "react-helmet": "^6.1.0"
}, },
"devDependencies": { "devDependencies": {
"babel-jest": "26.3.0",
"babel-preset-gatsby": "0.5.11",
"gatsby-plugin-postcss": "^2.3.11", "gatsby-plugin-postcss": "^2.3.11",
"gatsby-plugin-purgecss": "^5.0.0", "gatsby-plugin-purgecss": "^5.0.0",
"gatsby-plugin-twitter": "^2.3.10", "gatsby-plugin-twitter": "^2.3.10",
"gatsby-remark-embedder": "^3.0.0", "gatsby-remark-embedder": "^3.0.0",
"gh-pages": "^3.1.0", "gh-pages": "^3.1.0",
"identity-obj-proxy": "3.0.0",
"jest": "26.4.2",
"prettier": "2.0.5", "prettier": "2.0.5",
"tailwindcss": "^1.7.6" "tailwindcss": "^1.7.6"
}, },
@@ -44,14 +52,14 @@
"start": "npm run develop", "start": "npm run develop",
"serve": "gatsby serve", "serve": "gatsby serve",
"clean": "gatsby clean", "clean": "gatsby clean",
"test": "echo \"Write tests! -> https://gatsby.dev/unit-testing\" && exit 1", "test": "jest -i -u --coverage",
"deploy": "gatsby build --prefix-paths && gh-pages -d public -b master" "deploy": "gatsby build --prefix-paths && gh-pages -d public -b master"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://github.com/rahuldkjain/gh-profile-readme-generator" "url": "https://github.com/rahuldkjain/github-profile-readme-generator"
}, },
"bugs": { "bugs": {
"url": "https://github.com/rahuldkjain/gh-profile-readme-generator/issues" "url": "https://github.com/rahuldkjain/github-profile-readme-generator/issues"
} }
} }
+4
View File
@@ -0,0 +1,4 @@
import { configure } from "enzyme"
import Adapter from "enzyme-adapter-react-16"
configure({ adapter: new Adapter() })
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,101 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`Donate renders correctly 1`] = `
<Fragment>
<div
className="text-center text-4xl my-2"
>
Support 
<span
aria-label="praying hand emoji"
role="img"
>
🙏
</span>
</div>
<div
className="flex flex-col sm:flex-row items-start justify-between"
>
<div
className="w-full sm:w-2/3"
>
<div
className="text-2xl mb-2"
>
Are you using the tool and happy with it to create your GitHub Profile?
</div>
<div
className="text-lg"
>
Your kind support keeps open-source tools like this free for others.
</div>
<div
className="mt-4"
>
<a
className="flex items-center justify-start w-20"
href="https://twitter.com/intent/tweet?text=Wow:&url=https%3A%2F%2Frahuldkjain.github.io%2Fgithub-profile-readme-generator"
>
<img
alt="tweet github profile readme generator"
className="w-20"
src="https://img.shields.io/twitter/url?style=social&url=https%3A%2F%2Frahuldkjain.github.io%2Fgithub-profile-readme-generator"
/>
</a>
Let the world know how you feel using this tool. Share with others on twitter.
</div>
</div>
<div
className="w-full sm:w-1/3 flex flex-col justify-center items-center"
>
<span>
Tip
<span
aria-label="Dollar medal"
role="img"
>
💰
</span>
</span>
<a
className="flex items-center justify-evenly bg-red-500 text-white py-2 px-4 my-2"
href="https://ko-fi.com/A0A81XXSX"
rel="noreferrer"
target="_blank"
>
<img
alt="Buy ko-fi for rahuldkjain"
className="w-6 h-6 mr-2"
src="https://www.vectorlogo.zone/logos/ko-fi/ko-fi-icon.svg"
/>
Buy me a ko-fi
</a>
<a
className="flex items-center justify-evenly bg-white-500 text-white py-2 px-4 my-2 border border-solid"
href="https://www.paypal.me/rahuldkjain/10"
rel="noreferrer"
target="_blank"
>
<img
alt="Donate rahuldkjain via paypal"
className="w-32 h-4"
src="https://cdn.worldvectorlogo.com/logos/paypal-2.svg"
/>
</a>
<a
className="flex items-center justify-evenly bg-orange-500 text-white py-2 px-4 my-2"
href="https://www.buymeacoffee.com/rahuldkjain"
rel="noreferrer"
target="_blank"
>
<img
alt="Buy rahuldkjain A Coffee"
className="w-6 h-6 mr-2"
src="https://www.vectorlogo.zone/logos/buymeacoffee/buymeacoffee-icon.svg"
/>
Buy me a coffee
</a>
</div>
</div>
</Fragment>
`;
@@ -0,0 +1,190 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`Footer component renders correctly 1`] = `
<div
className="bg-gray-100 p-4 flex flex-col justify-center items-center shadow-inner mt-2"
>
<div
className="w-full flex flex-col sm:flex-row justify-evenly py-2"
>
<div
className="sm:ml-0 sm:mr-6 order-last sm:order-none flex"
>
<h1
className="text-base font-bold font-title text-xl sm:text-2xl mt-3 sm:mt-0"
>
<div
className="flex sm:flex-col items-start mb-3 sm:mb-0"
>
<img
alt="github profile markdown generator logo"
className="hidden sm:block h-24"
src="test-file-stub"
/>
<div
className="mr-2 sm:mr-0"
>
GitHub Profile
<img
alt="github profile markdown generator logo"
className="inline sm:hidden h-12"
src="test-file-stub"
/>
<span
className="block sm:inline"
>
README Generator
</span>
</div>
</div>
</h1>
</div>
<div
className="text-xl sm:text-base font-light sm:font-normal"
>
<div
className="font-title font-bold mb-4 sm:mb-2"
>
<strong>
Pages
</strong>
</div>
<div
className="ml-2 sm:ml-0"
>
<mockConstructor
activeStyle={
Object {
"color": "#002ead",
}
}
to="/addons"
>
Addons
</mockConstructor>
</div>
<div
className="ml-2 sm:ml-0"
>
<mockConstructor
activeStyle={
Object {
"color": "#002ead",
}
}
to="/support"
>
Support
</mockConstructor>
</div>
<div
className="ml-2 sm:ml-0"
>
<mockConstructor
activeStyle={
Object {
"color": "#002ead",
}
}
to="/about"
>
About
</mockConstructor>
</div>
</div>
<div
className="text-xl sm:text-base font-light sm:font-normal"
>
<div
className="font-title font-bold my-4 sm:my-0 sm:mb-2"
>
<strong>
More
</strong>
</div>
<div
className="ml-2 sm:ml-0"
>
<a
aria-label="Github rahuldkjain/github-profile-readme-generator"
href="https://github.com/rahuldkjain/github-profile-readme-generator"
target="blank"
>
Github
</a>
</div>
<div
className="ml-2 sm:ml-0"
>
<a
aria-label="Releases on Github rahuldkjain/github-profile-readme-generator"
href="https://github.com/rahuldkjain/github-profile-readme-generator/releases"
target="blank"
>
Releases
</a>
</div>
<div
className="ml-2 sm:ml-0"
>
<a
aria-label="Issues in rahuldkjain/github-profile-readme-generator"
href="https://github.com/rahuldkjain/github-profile-readme-generator/issues"
target="blank"
>
Issues
</a>
</div>
<div
className="ml-2 sm:ml-0"
>
<a
aria-label="Pull Requests in rahuldkjain/github-profile-readme-generator"
href="https://github.com/rahuldkjain/github-profile-readme-generator/pulls"
target="blank"
>
Pull Requests
</a>
</div>
</div>
<div>
<div
className="font-title font-bold text-xl sm:text-base my-4 sm:my-0 sm:mb-2"
>
<strong>
Join Community
</strong>
</div>
<div
className="ml-2 sm:ml-0"
>
<a
aria-label="Discord of the community"
href="https://discord.gg/HHMs7Eg"
target="blank"
>
<img
alt="Discord of the community"
className="h-12"
src="test-file-stub"
/>
</a>
</div>
</div>
</div>
<div
className="py-2 mt-2"
>
Developed in India
<span
aria-label="india"
role="img"
>
🇮🇳
</span>
</div>
</div>
`;
@@ -0,0 +1,73 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`Header renders correctly 1`] = `
<div
className="shadow flex items-center justify-center flex-col mb-2 py-2"
>
<mockConstructor
to="/"
>
<h1
className="text-base font-bold font-title sm:text-2xl font-medium text-blue-800 flex justify-center items-center flex-col"
>
<img
alt="github profile markdown generator logo"
className="w-12 h-12"
src="test-file-stub"
/>
<div>
heading
</div>
</h1>
</mockConstructor>
<div
className="flex justify-center items-center"
>
<a
aria-label="Star rahuldkjain/github-profile-readme-generator on GitHub"
className="mr-2"
href="https://github.com/rahuldkjain/github-profile-readme-generator"
target="blank"
>
<div
className="text-xxs sm:text-sm border-2 border-solid border-gray-900 bg-gray-100 flex items-center justify-center py-1 px-2"
>
<StarIcon
className="px-1 w-6 star"
id="star-icon"
size={16}
verticalAlign="text-bottom"
/>
Star this repo
<span
className="github-count px-1 sm:px-2"
>
0
</span>
</div>
</a>
<a
aria-label="Fork rahuldkjain/github-profile-readme-generator on GitHub"
href="https://github.com/rahuldkjain/github-profile-readme-generator/fork"
target="blank"
>
<div
className="text-xxs sm:text-sm border-2 border-solid border-gray-900 bg-gray-100 flex items-center justify-center py-1 px-2"
>
<RepoForkedIcon
className="px-1 w-6 fork"
id="fork-icon"
size={16}
verticalAlign="text-bottom"
/>
Fork on GitHub
<span
className="github-count px-1 sm:px-2"
>
0
</span>
</div>
</a>
</div>
</div>
`;
@@ -0,0 +1,23 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`Loader renders correctly 1`] = `
<div
className="loader"
>
<span>
</span>
<span>
</span>
<span>
</span>
<span>
</span>
<span>
</span>
</div>
`;
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,582 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`DisplaySocial Preview renders correctly 1`] = `
<a
className="no-underline text-blue-700 m-2"
href="https://codepen.io/dummy"
target="blank"
>
<img
alt="props.username"
className="w-6 h-6"
src="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/codepen.svg"
/>
</a>
`;
exports[`DisplaySocial Preview renders correctly with no username 1`] = `""`;
exports[`DisplayWork Preview renders correctly 1`] = `
<div
className="my-2"
>
[object Object]
<a
className="no-underline text-blue-700"
href="https://dummy.com"
target="blank"
>
readme-generator
</a>
</div>
`;
exports[`DisplayWork Preview renders correctly with no link 1`] = `
<div
className="my-2"
>
[object Object]
<b>
readme-generator
</b>
</div>
`;
exports[`DisplayWork Preview renders correctly with no prefix 1`] = `""`;
exports[`DisplayWork Preview renders correctly with no prefix and link 1`] = `""`;
exports[`DisplayWork Preview renders correctly with no prefix, link and project 1`] = `""`;
exports[`DisplayWork Preview renders correctly with no project 1`] = `
<div
className="my-2"
>
[object Object]
<a
className="no-underline text-blue-700"
href="https://dummy.com"
target="blank"
>
https://dummy.com
</a>
</div>
`;
exports[`DisplayWork Preview renders correctly with no project and link 1`] = `""`;
exports[`DisplayWork Preview renders correctly with no project and prefix 1`] = `""`;
exports[`GitHubStats Preview renders correctly 1`] = `""`;
exports[`GitHubStats Preview renders correctly 2`] = `
<div
className="text-center mx-4 mb-4"
>
<img
alt=""
src="https://github-readme-stats.vercel.app/api?username=&show_icons=true&locale=en"
/>
</div>
`;
exports[`GithubProfileTrophy Preview renders correctly 1`] = `""`;
exports[`GithubProfileTrophy Preview renders correctly with show true 1`] = `
<div
className="text-left my-2"
>
<a
href="https://github.com/ryo-ma/github-profile-trophy"
>
<img
alt=""
src="https://github-profile-trophy.vercel.app/?username="
/>
</a>
</div>
`;
exports[`Markdown Preview renders correctly 1`] = `
<div
id="markdown-preview"
>
<TitlePreview
prefix="Hi 👋, I'm"
title="dummy"
/>
<SubTitlePreview
subtitle="A passionate frontend developer from India"
/>
<VisitorsBadgePreview
badgeOptions={
Object {
"badgeColor": "0e75b6",
"badgeLabel": "Profile%20views",
"badgeStyle": "flat",
}
}
github=""
show={false}
/>
<GithubProfileTrophyPreview
github=""
show={false}
/>
<TwitterBadgePreview
show={false}
twitter=""
/>
<WorkPreview
work={
Object {
"data": Object {
"ama": "",
"badgeColor": "0e75b6",
"badgeLabel": "Profile views",
"badgeStyle": "flat",
"collaborateOn": "",
"contact": "",
"currentLearn": "",
"currentWork": "readme-generator",
"devDynamicBlogs": false,
"funFact": "",
"githubProfileTrophy": false,
"githubStats": false,
"githubStatsOptions": Object {
"bgColor": "",
"cacheSeconds": null,
"hideBorder": false,
"locale": "en",
"textColor": "",
"theme": "",
"titleColor": "",
},
"helpWith": "",
"mediumDynamicBlogs": false,
"rssDynamicBlogs": false,
"subtitle": "A passionate frontend developer from India",
"title": "dummy",
"topLanguages": false,
"topLanguagesOptions": Object {
"bgColor": "",
"cacheSeconds": null,
"hideBorder": false,
"locale": "en",
"textColor": "",
"theme": "",
"titleColor": "",
},
"twitterBadge": false,
"visitorsBadge": false,
},
"link": Object {
"blog": "",
"collaborateOn": "",
"currentWork": "https://dummy.com",
"helpWith": "",
"portfolio": "",
"resume": "",
},
"prefix": Object {
"ama": "💬 Ask me about",
"blog": "📝 I regularly write articles on",
"collaborateOn": "👯 Im looking to collaborate on",
"contact": "📫 How to reach me",
"currentLearn": "🌱 Im currently learning",
"currentWork": "🔭 Im currently working on",
"funFact": "⚡ Fun fact",
"helpWith": "🤝 Im looking for help with",
"portfolio": "👨‍💻 All of my projects are available at",
"resume": "📄 Know about my experiences",
"title": "Hi 👋, I'm",
},
"skills": Object {},
"social": Object {
"behance": "",
"codechef": "",
"codeforces": "",
"codepen": "dummy",
"codesandbox": "",
"dev": "",
"discord": "",
"dribbble": "",
"fb": "",
"geeks_for_geeks": "",
"github": "",
"hackerearth": "",
"hackerrank": "",
"instagram": "",
"kaggle": "",
"leetcode": "",
"linkedin": "",
"medium": "",
"rssurl": "",
"stackoverflow": "",
"topcoder": "",
"twitter": "",
"youtube": "",
},
}
}
/>
<SocialPreview
social={
Object {
"behance": "",
"codechef": "",
"codeforces": "",
"codepen": "dummy",
"codesandbox": "",
"dev": "",
"discord": "",
"dribbble": "",
"fb": "",
"geeks_for_geeks": "",
"github": "",
"hackerearth": "",
"hackerrank": "",
"instagram": "",
"kaggle": "",
"leetcode": "",
"linkedin": "",
"medium": "",
"rssurl": "",
"stackoverflow": "",
"topcoder": "",
"twitter": "",
"youtube": "",
}
}
/>
<SkillsPreview
skills={Object {}}
/>
<SupportPreview />
<div
className="block sm:flex sm:justify-center sm:items-start"
>
<TopLanguagesPreview
github=""
options={
Object {
"bgColor": "",
"cacheSeconds": null,
"hideBorder": false,
"locale": "en",
"textColor": "",
"theme": "",
"titleColor": "",
}
}
show={false}
/>
<GitHubStatsPreview
github=""
options={
Object {
"bgColor": "",
"cacheSeconds": null,
"hideBorder": false,
"locale": "en",
"textColor": "",
"theme": "",
"titleColor": "",
}
}
show={false}
/>
<StreakStatsPreview
github=""
/>
</div>
</div>
`;
exports[`SectionTitle Preview renders correctly 1`] = `
<h3
className="w-full text-lg sm:text-xl"
>
dummy
</h3>
`;
exports[`SectionTitle Preview renders correctly with no label 1`] = `""`;
exports[`SectionTitle Preview renders correctly with visible false 1`] = `""`;
exports[`Skills Preview renders correctly 1`] = `
<div
className="flex flex-wrap justify-start items-center"
>
<SectionTitle
label="Languages and Tools:"
visible={true}
/>
<a
href="https://unity.com/"
key="unity"
rel="noreferrer"
target="_blank"
>
<img
alt="unity"
className="mb-4 mr-4 h-6 w-6 sm:h-10 sm:w-10"
src="https://www.vectorlogo.zone/logos/unity3d/unity3d-icon.svg"
/>
</a>
</div>
`;
exports[`Skills Preview renders correctly with no skills 1`] = `""`;
exports[`Social Preview renders correctly 1`] = `
<div
className="flex justify-start items-end flex-wrap"
>
<SectionTitle
label="Connect with me:"
visible={true}
/>
<DisplaySocial
base="https://codepen.io"
icon="https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/codepen.svg"
username="dummy"
/>
<DisplaySocial
base="https://dev.to"
icon="https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/devto.svg"
username=""
/>
<DisplaySocial
base="https://twitter.com"
icon="https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/twitter.svg"
username=""
/>
<DisplaySocial
base="https://linkedin.com/in"
icon="https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/linked-in-alt.svg"
username=""
/>
<DisplaySocial
base="https://stackoverflow.com/users"
icon="https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/stack-overflow.svg"
username=""
/>
<DisplaySocial
base="https://codesandbox.com"
icon="https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/codesandbox.svg"
username=""
/>
<DisplaySocial
base="https://kaggle.com"
icon="https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/kaggle.svg"
username=""
/>
<DisplaySocial
base="https://fb.com"
icon="https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/facebook.svg"
username=""
/>
<DisplaySocial
base="https://instagram.com"
icon="https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/instagram.svg"
username=""
/>
<DisplaySocial
base="https://dribbble.com"
icon="https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/dribbble.svg"
username=""
/>
<DisplaySocial
base="https://www.behance.net"
icon="https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/behance.svg"
username=""
/>
<DisplaySocial
base="https://medium.com"
icon="https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/medium.svg"
username=""
/>
<DisplaySocial
base="https://www.youtube.com/c"
icon="https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/youtube.svg"
username=""
/>
<DisplaySocial
base="https://www.codechef.com/users"
icon="https://cdn.jsdelivr.net/npm/simple-icons@3.1.0/icons/codechef.svg"
username=""
/>
<DisplaySocial
base="https://www.hackerrank.com"
icon="https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/hackerrank.svg"
username=""
/>
<DisplaySocial
base="https://codeforces.com/profile"
icon="https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/codeforces.svg"
username=""
/>
<DisplaySocial
base="https://www.leetcode.com"
icon="https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/leet-code.svg"
username=""
/>
<DisplaySocial
base="https://www.hackerearth.com"
icon="https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/hackerearth.svg"
username=""
/>
<DisplaySocial
base="https://auth.geeksforgeeks.org/user"
icon="https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/geeks-for-geeks.svg"
username=""
/>
<DisplaySocial
base="https://www.topcoder.com/members"
icon="https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/topcoder.svg"
username=""
/>
<DisplaySocial
base="https://discord.gg"
icon="https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/discord.svg"
username=""
/>
<DisplaySocial
base=""
icon="https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/rss.svg"
username=""
/>
</div>
`;
exports[`SubTitle Preview renders correctly 1`] = `
<h3
className="text-center font-medium"
>
A passionate frontend developer from India
</h3>
`;
exports[`SubTitle Preview renders correctly with no subtitle 1`] = `""`;
exports[`Title Preview renders correctly 1`] = `
<h1
className="text-center text-xl font-bold"
>
Hi 👋, I'm dummy
</h1>
`;
exports[`Title Preview renders correctly with no prefix 1`] = `""`;
exports[`Title Preview renders correctly with no title 1`] = `""`;
exports[`Title Preview renders correctly with no title and prefix 1`] = `""`;
exports[`TopLanguages Preview renders correctly 1`] = `
<div
className="text-center mx-4 mb-4"
>
 
</div>
`;
exports[`TopLanguages Preview renders correctly with show true 1`] = `
<div
className="text-center mx-4 mb-4"
>
<img
alt=""
src="https://github-readme-stats.vercel.app/api/top-langs?username=&show_icons=true&locale=en&layout=compact"
/>
</div>
`;
exports[`TwitterBadgePreview Preview renders correctly 1`] = `""`;
exports[`TwitterBadgePreview Preview renders correctly with show true 1`] = `
<div
className="text-left my-2"
>
<a
href="https://twitter.com/\${props.twitter}"
target="blank"
>
<img
alt=""
className="h-4 sm:h-6"
src="https://img.shields.io/twitter/follow/?logo=twitter&style=for-the-badge"
/>
</a>
</div>
`;
exports[`VisitorsBadge Preview renders correctly 1`] = `""`;
exports[`VisitorsBadge Preview renders correctly with show true 1`] = `
<div
className="text-left my-2"
>
<img
alt=""
className="h-4 sm:h-6"
src="https://komarev.com/ghpvc/?username=&label=Profile%20views&color=0e75b6&style=flat"
/>
</div>
`;
exports[`Work Preview renders correctly 1`] = `
<Fragment>
<DisplayWork
link="https://dummy.com"
prefix="🔭 Im currently working on"
project="readme-generator"
/>
<DisplayWork
prefix="🌱 Im currently learning"
project=""
/>
<DisplayWork
link=""
prefix="🤝 Im looking for help with"
project=""
/>
<DisplayWork
link=""
prefix="👯 Im looking to collaborate on"
project=""
/>
<DisplayWork
prefix="💬 Ask me about"
project=""
/>
<DisplayWork
link=""
prefix="👨‍💻 All of my projects are available at"
/>
<DisplayWork
link=""
prefix="📝 I regularly write articles on"
/>
<DisplayWork
link=""
prefix="📄 Know about my experiences"
/>
<DisplayWork
prefix="📫 How to reach me"
project=""
/>
<DisplayWork
prefix="⚡ Fun fact"
project=""
/>
</Fragment>
`;
@@ -0,0 +1,156 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`Skills renders correctly 1`] = `
<div
className="px-2 sm:px-6 mb-10 "
>
<div
className="text-xl sm:text-2xl font-bold font-title mt-2 mb-4 flex justify-between"
>
Skills
<div
className="relative flex"
>
<input
className="leading:none text-xs my-0 py-1 px-2 pr-8 sm:text-xl border-2 border-gray-900 focus:border-blue-700 placeholder-gray-700"
onChange={[Function]}
placeholder="Search Skills"
type="text"
/>
<span
className="absolute"
style={
Object {
"right": "10px",
}
}
>
<SearchIcon
className="mb-1 transform scale-100 md:scale-125"
size={16}
verticalAlign="text-bottom"
/>
</span>
</div>
</div>
<div
className="divide-y divide-gray-500"
key="language"
>
<div
className="text-sm sm:text-xl text-gray-900 text-left py-1"
>
Programming Languages
</div>
<div
className="flex justify-start items-center flex-wrap w-full mb-6 pl-4 sm:pl-10"
>
<div
className="w-1/3 sm:w-1/4 my-6"
key="javascript"
>
<label
className="checkbox-label flex items-center justify-start"
htmlFor="javascript"
>
<input
checked={true}
className="checkbox-label__input"
id="javascript"
onChange={[Function]}
type="checkbox"
/>
<span
class="checkbox-label__control"
/>
<img
alt="javascript"
className="ml-4 w-8 h-8 sm:w-10 sm:h-10"
src="javascript.svg"
/>
<span
className="tooltiptext"
>
javascript
</span>
</label>
</div>
</div>
</div>
<div
className="divide-y divide-gray-500"
key="frontend_dev"
>
<div
className="text-sm sm:text-xl text-gray-900 text-left py-1"
>
Frontend Development
</div>
<div
className="flex justify-start items-center flex-wrap w-full mb-6 pl-4 sm:pl-10"
>
<div
className="w-1/3 sm:w-1/4 my-6"
key="react"
>
<label
className="checkbox-label flex items-center justify-start"
htmlFor="react"
>
<input
className="checkbox-label__input"
id="react"
onChange={[Function]}
type="checkbox"
/>
<span
class="checkbox-label__control"
/>
<img
alt="react"
className="ml-4 w-8 h-8 sm:w-10 sm:h-10"
src="react.svg"
/>
<span
className="tooltiptext"
>
react
</span>
</label>
</div>
<div
className="w-1/3 sm:w-1/4 my-6"
key="svelte"
>
<label
className="checkbox-label flex items-center justify-start"
htmlFor="svelte"
>
<input
className="checkbox-label__input"
id="svelte"
onChange={[Function]}
type="checkbox"
/>
<span
class="checkbox-label__control"
/>
<img
alt="svelte"
className="ml-4 w-8 h-8 sm:w-10 sm:h-10"
src="svelte.svg"
/>
<span
className="tooltiptext"
>
svelte
</span>
</label>
</div>
</div>
</div>
<span
className="flex justify-center text-gray-900"
/>
</div>
`;
@@ -0,0 +1,383 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`Social renders correctly 1`] = `
<div
className="px-2 sm:px-6 mb-4"
>
<div
className="text-xl sm:text-2xl font-bold font-title mt-2 mb-2"
>
Social
</div>
<div
className="flex flex-wrap justify-center items-center"
>
<div
className="w-1/2 flex justify-center items-center text-xxs sm:text-lg py-4 pr-2 sm:pr-0"
>
<img
alt="github"
className="w-6 h-6 sm:w-8 sm:h-8 mr-1 sm:mr-4"
src="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/github.svg"
/>
<input
className="outline-none placeholder-gray-700 w-32 sm:w-1/2 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-1 sm:px-2 focus:border-blue-700"
id="github"
onChange={[Function]}
placeholder="github username"
value="github "
/>
</div>
<div
className="w-1/2 flex justify-center items-center text-xxs sm:text-lg py-4 pr-2 sm:pr-0"
>
<img
alt="twitter"
className="w-6 h-6 sm:w-8 sm:h-8 mr-1 sm:mr-4"
src="https://cdn.jsdelivr.net/npm/simple-icons@v3/icons/twitter.svg"
/>
<input
className="outline-none placeholder-gray-700 w-32 sm:w-1/2 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="twitter"
onChange={[Function]}
placeholder="twitter username"
value="twitter"
/>
</div>
<div
className="w-1/2 flex justify-center items-center text-xxs sm:text-lg py-4 pr-2 sm:pr-0"
>
<img
alt="dev.to"
className="w-6 h-6 sm:w-8 sm:h-8 mr-1 sm:mr-4"
src="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/dev-dot-to.svg"
/>
<input
className="outline-none placeholder-gray-700 w-32 sm:w-1/2 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="dev"
onChange={[Function]}
placeholder="dev.to username"
value="dev"
/>
</div>
<div
className="w-1/2 flex justify-center items-center text-xxs sm:text-lg py-4 pr-2 sm:pr-0"
>
<img
alt="codepen"
className="w-6 h-6 sm:w-8 sm:h-8 mr-1 sm:mr-4"
src="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/codepen.svg"
/>
<input
className="outline-none placeholder-gray-700 w-32 sm:w-1/2 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="codepen"
onChange={[Function]}
placeholder="codepen username"
value="codepen"
/>
</div>
<div
className="w-1/2 flex justify-center items-center text-xxs sm:text-lg py-4 pr-2 sm:pr-0"
>
<img
alt="codesandbox"
className="w-6 h-6 sm:w-8 sm:h-8 mr-1 sm:mr-4"
src="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/codesandbox.svg"
/>
<input
className="outline-none placeholder-gray-700 w-32 sm:w-1/2 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="codesandbox"
onChange={[Function]}
placeholder="codesandbox username"
value="codesandbodx"
/>
</div>
<div
className="w-1/2 flex justify-center items-center text-xxs sm:text-lg py-4 pr-2 sm:pr-0"
>
<img
alt="stackoverflow"
className="w-6 h-6 sm:w-8 sm:h-8 mr-1 sm:mr-4"
src="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/stackoverflow.svg"
/>
<input
className="outline-none placeholder-gray-700 w-32 sm:w-1/2 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="stackoverflow"
onChange={[Function]}
placeholder="stackoverflow user ID"
value="stackoverflow"
/>
</div>
<div
className="w-1/2 flex justify-center items-center text-xxs sm:text-lg py-4 pr-2 sm:pr-0"
>
<img
alt="linkedin"
className="w-6 h-6 sm:w-8 sm:h-8 mr-1 sm:mr-4"
src="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/linkedin.svg"
/>
<input
className="outline-none placeholder-gray-700 w-32 sm:w-1/2 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="linkedin"
onChange={[Function]}
placeholder="linkedin username"
value="linkedin"
/>
</div>
<div
className="w-1/2 flex justify-center items-center text-xxs sm:text-lg py-4 pr-2 sm:pr-0"
>
<img
alt="kaggle"
className="w-6 h-6 sm:w-8 sm:h-8 mr-1 sm:mr-4"
src="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/kaggle.svg"
/>
<input
className="outline-none placeholder-gray-700 w-32 sm:w-1/2 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="kaggle"
onChange={[Function]}
placeholder="kaggle username"
value="kaggle"
/>
</div>
<div
className="w-1/2 flex justify-center items-center text-xxs sm:text-lg py-4 pr-2 sm:pr-0"
>
<img
alt="facebook"
className="w-6 h-6 sm:w-8 sm:h-8 mr-1 sm:mr-4"
src="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/facebook.svg"
/>
<input
className="outline-none placeholder-gray-700 w-32 sm:w-1/2 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="fb"
onChange={[Function]}
placeholder="facebook username"
value="fb"
/>
</div>
<div
className="w-1/2 flex justify-center items-center text-xxs sm:text-lg py-4 pr-2 sm:pr-0"
>
<img
alt="instagram"
className="w-6 h-6 sm:w-8 sm:h-8 mr-1 sm:mr-4"
src="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/instagram.svg"
/>
<input
className="outline-none placeholder-gray-700 w-32 sm:w-1/2 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="instagram"
onChange={[Function]}
placeholder="instagram username"
value="instagram"
/>
</div>
<div
className="w-1/2 flex justify-center items-center text-xxs sm:text-lg py-4 pr-2 sm:pr-0"
>
<img
alt="dribbble"
className="w-6 h-6 sm:w-8 sm:h-8 mr-1 sm:mr-4"
src="https://cdn.jsdelivr.net/npm/simple-icons@3.1.0/icons/dribbble.svg"
/>
<input
className="outline-none placeholder-gray-700 w-32 sm:w-1/2 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="dribbble"
onChange={[Function]}
placeholder="dribbble username"
/>
</div>
<div
className="w-1/2 flex justify-center items-center text-xxs sm:text-lg py-4 pr-2 sm:pr-0"
>
<img
alt="behance"
className="w-6 h-6 sm:w-8 sm:h-8 mr-1 sm:mr-4"
src="https://cdn.jsdelivr.net/npm/simple-icons@3.1.0/icons/behance.svg"
/>
<input
className="outline-none placeholder-gray-700 w-32 sm:w-1/2 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="behance"
onChange={[Function]}
placeholder="behance username"
value="behance"
/>
</div>
<div
className="w-1/2 flex justify-center items-center text-xxs sm:text-lg py-4 pr-2 sm:pr-0"
>
<img
alt="medium"
className="w-6 h-6 sm:w-8 sm:h-8 mr-1 sm:mr-4"
src="https://cdn.jsdelivr.net/npm/simple-icons@3.1.0/icons/medium.svg"
/>
<input
className="outline-none placeholder-gray-700 w-32 sm:w-1/2 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="medium"
onChange={[Function]}
placeholder="medium username (with @)"
value="medium"
/>
</div>
<div
className="w-1/2 flex justify-center items-center text-xxs sm:text-lg py-4 pr-2 sm:pr-0"
>
<img
alt="youtube"
className="w-6 h-6 sm:w-8 sm:h-8 mr-1 sm:mr-4"
src="https://cdn.jsdelivr.net/npm/simple-icons@3.1.0/icons/youtube.svg"
/>
<input
className="outline-none placeholder-gray-700 w-32 sm:w-1/2 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="youtube"
onChange={[Function]}
placeholder="youtube channel name"
value="youtube"
/>
</div>
<div
className="w-1/2 flex justify-center items-center text-xxs sm:text-lg py-4 pr-2 sm:pr-0"
>
<img
alt="codechef"
className="w-6 h-6 sm:w-8 sm:h-8 mr-1 sm:mr-4"
src="https://cdn.jsdelivr.net/npm/simple-icons@3.1.0/icons/codechef.svg"
/>
<input
className="outline-none placeholder-gray-700 w-32 sm:w-1/2 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="codechef"
onChange={[Function]}
placeholder="codechef username"
value="codechef"
/>
</div>
<div
className="w-1/2 flex justify-center items-center text-xxs sm:text-lg py-4 pr-2 sm:pr-0"
>
<img
alt="hackerrank"
className="w-6 h-6 sm:w-8 sm:h-8 mr-1 sm:mr-4"
src="https://cdn.jsdelivr.net/npm/simple-icons@3.1.0/icons/hackerrank.svg"
/>
<input
className="outline-none placeholder-gray-700 w-32 sm:w-1/2 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="hackerrank"
onChange={[Function]}
placeholder="hackerrank username"
/>
</div>
<div
className="w-1/2 flex justify-center items-center text-xxs sm:text-lg py-4 pr-2 sm:pr-0"
>
<img
alt="codeforces"
className="w-6 h-6 sm:w-8 sm:h-8 mr-1 sm:mr-4"
src="https://cdn.jsdelivr.net/npm/simple-icons@3.1.0/icons/codeforces.svg"
/>
<input
className="outline-none placeholder-gray-700 w-32 sm:w-1/2 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="codeforces"
onChange={[Function]}
placeholder="codeforces username"
value="codeforces"
/>
</div>
<div
className="w-1/2 flex justify-center items-center text-xxs sm:text-lg py-4 pr-2 sm:pr-0"
>
<img
alt="leetcode"
className="w-6 h-6 sm:w-8 sm:h-8 mr-1 sm:mr-4"
src="https://cdn.jsdelivr.net/npm/simple-icons@3.1.0/icons/leetcode.svg"
/>
<input
className="outline-none placeholder-gray-700 w-32 sm:w-1/2 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="leetcode"
onChange={[Function]}
placeholder="leetcode username"
value="leetcode"
/>
</div>
<div
className="w-1/2 flex justify-center items-center text-xxs sm:text-lg py-4 pr-2 sm:pr-0"
>
<img
alt="topcoder"
className="w-6 h-6 sm:w-8 sm:h-8 mr-1 sm:mr-4"
src="https://cdn.jsdelivr.net/npm/simple-icons@3.1.0/icons/topcoder.svg"
/>
<input
className="outline-none placeholder-gray-700 w-32 sm:w-1/2 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="topcoder"
onChange={[Function]}
placeholder="topcoder username"
value="topcoder"
/>
</div>
<div
className="w-1/2 flex justify-center items-center text-xxs sm:text-lg py-4 pr-2 sm:pr-0"
>
<img
alt="hackerearth"
className="w-6 h-6 sm:w-8 sm:h-8 mr-1 sm:mr-4"
src="https://cdn.jsdelivr.net/npm/simple-icons@3.1.0/icons/hackerearth.svg"
/>
<input
className="outline-none placeholder-gray-700 w-32 sm:w-1/2 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="hackerearth"
onChange={[Function]}
placeholder="hackerearth user (with @)"
value="@hackerearth"
/>
</div>
<div
className="w-1/2 flex justify-center items-center text-xxs sm:text-lg py-4 pr-2 sm:pr-0"
>
<img
alt="geeksforgeeks"
className="w-6 h-6 sm:w-8 sm:h-8 mr-1 sm:mr-4"
src="https://cdn.jsdelivr.net/npm/simple-icons@3.1.0/icons/geeksforgeeks.svg"
/>
<input
className="outline-none placeholder-gray-700 w-32 sm:w-1/2 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="geeksforgeeks"
onChange={[Function]}
placeholder="GFG (<username>/profile)"
value="geeks_for_geeks"
/>
</div>
<div
className="w-1/2 flex justify-center items-center text-xxs sm:text-lg py-4 pr-2 sm:pr-0"
>
<img
alt="discord"
className="w-6 h-6 sm:w-8 sm:h-8 mr-1 sm:mr-4"
src="https://cdn.jsdelivr.net/npm/simple-icons@3.1.0/icons/discord.svg"
/>
<input
className="outline-none placeholder-gray-700 w-32 sm:w-1/2 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="discord"
onChange={[Function]}
placeholder="discord invite (only code)"
value="discord"
/>
</div>
<div
className="w-1/2 flex justify-center items-center text-xxs sm:text-lg py-4 pr-2 sm:pr-0"
>
<img
alt="rssfeed"
className="w-6 h-6 sm:w-8 sm:h-8 mr-1 sm:mr-4"
src="https://cdn.jsdelivr.net/npm/simple-icons@3.1.0/icons/rss.svg"
/>
<input
className="outline-none placeholder-gray-700 w-32 sm:w-1/2 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="rssurl"
onChange={[Function]}
placeholder="RSS feed URL"
value="rssurl"
/>
</div>
</div>
</div>
`;
@@ -0,0 +1,19 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`Subtitle renders correctly 1`] = `
<div
className="flex justify-center items-start flex-col w-full px-2 sm:px-6 mb-10"
>
<div
className="text-xl sm:text-2xl font-bold font-title mt-2 mb-2"
>
Subtitle
</div>
<input
className="outline-none w-full text-xs sm:text-lg sm:w-1/2 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="subtitle"
onChange={[Function]}
value="A frontend developer"
/>
</div>
`;
@@ -0,0 +1,30 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`Title renders title component correctly 1`] = `
<div
className="flex justify-center items-start flex-col w-full px-2 sm:px-6 mb-10"
>
<div
className="text-xl sm:text-2xl font-bold font-title mt-2 mb-2"
>
Title
</div>
<div
className="flex justify-start items-center w-full text-regular text-xs sm:text-lg"
>
<input
className="outline-none w-24 sm:w-40 mr-10 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700 prefix"
id="title-prefix"
onChange={[Function]}
value="test_title"
/>
<input
className="outline-none placeholder-gray-700 w-1/2 sm:w-1/3 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="title-name"
onChange={[Function]}
placeholder="name"
value="test_data"
/>
</div>
</div>
`;
@@ -0,0 +1,184 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`Work renders work component correctly 1`] = `
<div
className="flex justify-center items-start flex-col w-full px-2 sm:px-6 mb-10"
>
<div
className="text-xl sm:text-2xl font-bold font-title mt-2 mb-2"
>
Work
</div>
<div
className="text-xs sm:text-lg flex flex-col sm:flex-row mb-10 justify-center sm:justify-start items-center sm:items-start w-full px-4 sm:px-0"
>
<input
className="outline-none placeholder-gray-700 mr-8 w-full sm:w-1/3 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="currentWork-prefix"
onChange={[Function]}
placeholder="Hi, I'm "
value="test_currentwork"
/>
<input
className="outline-none placeholder-gray-700 mr-8 w-full sm:w-1/4 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="currentWork"
onChange={[Function]}
placeholder="project name"
/>
<input
className="outline-none placeholder-gray-700 mr-8 sm:mr-0 text-blue-700 w-full sm:w-1/4 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="currentWork-link"
onChange={[Function]}
placeholder="project link"
value="test_currentwork"
/>
</div>
<div
className="text-xs sm:text-lg flex flex-col sm:flex-row mb-10 justify-center sm:justify-start items-center sm:items-start w-full px-4 sm:px-0"
>
<input
className="outline-none mr-8 w-full sm:w-1/3 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="collaborateOn-prefix"
onChange={[Function]}
/>
<input
className="outline-none placeholder-gray-700 mr-8 w-full sm:w-1/4 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="collaborateOn"
onChange={[Function]}
placeholder="project name"
/>
<input
className="outline-none placeholder-gray-700 mr-8 sm:mr-0 text-blue-700 w-full sm:w-1/4 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="collaborateOn-link"
onChange={[Function]}
placeholder="project link"
/>
</div>
<div
className="text-xs sm:text-lg flex flex-col sm:flex-row mb-10 justify-center sm:justify-start items-center sm:items-start w-full px-4 sm:px-0"
>
<input
className="outline-none placeholder-gray-700 mr-8 w-full sm:w-1/3 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="helpWith-prefix"
onChange={[Function]}
/>
<input
className="outline-none placeholder-gray-700 mr-8 w-full sm:w-1/4 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="helpWith"
onChange={[Function]}
placeholder="project name"
/>
<input
className="outline-none placeholder-gray-700 mr-8 sm:mr-0 text-blue-700 w-full sm:w-1/4 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="helpWith-link"
onChange={[Function]}
placeholder="project link"
/>
</div>
<div
className="text-xs sm:text-lg flex flex-col sm:flex-row mb-10 justify-center sm:justify-start items-center sm:items-start w-full px-4 sm:px-0"
>
<input
className="outline-none mr-8 w-full sm:w-1/3 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="currentLearn-prefix"
onChange={[Function]}
/>
<input
className="outline-none placeholder-gray-700 w-full sm:w-1/3 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="currentLearn"
onChange={[Function]}
placeholder="Frameworks, courses etc."
/>
</div>
<div
className="text-xs sm:text-lg flex flex-col sm:flex-row mb-10 justify-center sm:justify-start items-center sm:items-start w-full px-4 sm:px-0"
>
<input
className="outline-none mr-8 w-full sm:w-1/3 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="ama-prefix"
onChange={[Function]}
/>
<input
className="outline-none placeholder-gray-700 mr-8 sm:mr-0 w-full sm:w-1/3 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="ama"
onChange={[Function]}
placeholder="react, vue and gsap"
/>
</div>
<div
className="text-xs sm:text-lg flex flex-col sm:flex-row mb-10 justify-center sm:justify-start items-center sm:items-start w-full px-4 sm:px-0"
>
<input
className="outline-none mr-8 w-full sm:w-1/3 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="contact-prefix"
onChange={[Function]}
/>
<input
className="outline-none placeholder-gray-700 mr-8 sm:mr-0 w-full sm:w-1/3 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="contact"
onChange={[Function]}
placeholder="example@gmail.com"
/>
</div>
<div
className="text-xs sm:text-lg flex flex-col sm:flex-row mb-10 justify-center sm:justify-start items-center sm:items-start w-full px-4 sm:px-0"
>
<input
className="outline-none mr-8 w-full sm:w-1/3 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="portfolio-prefix"
onChange={[Function]}
/>
<input
className="outline-none placeholder-gray-700 mr-8 sm:mr-0 text-blue-700 w-full sm:w-1/3 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="portfolio"
onChange={[Function]}
placeholder="portfolio link"
/>
</div>
<div
className="text-xs sm:text-lg flex flex-col sm:flex-row mb-10 justify-center sm:justify-start items-center sm:items-start w-full px-4 sm:px-0"
>
<input
className="outline-none mr-8 w-full sm:w-1/3 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="blog-prefix"
onChange={[Function]}
/>
<input
className="outline-none placeholder-gray-700 mr-8 sm:mr-0 text-blue-700 w-full sm:w-1/3 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="blog"
onChange={[Function]}
placeholder="blog link"
/>
</div>
<div
className="text-xs sm:text-lg flex flex-col sm:flex-row mb-10 justify-center sm:justify-start items-center sm:items-start w-full px-4 sm:px-0"
>
<input
className="outline-none mr-8 w-full sm:w-1/3 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="resume-prefix"
onChange={[Function]}
/>
<input
className="outline-none placeholder-gray-700 mr-8 sm:mr-0 text-blue-700 w-full sm:w-1/3 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="resume"
onChange={[Function]}
placeholder="resume link"
/>
</div>
<div
className="text-xs sm:text-lg flex flex-col sm:flex-row mb-10 justify-center sm:justify-start items-center sm:items-start w-full px-4 sm:px-0"
>
<input
className="outline-none mr-8 w-full sm:w-1/3 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="funFact-prefix"
onChange={[Function]}
/>
<input
className="outline-none placeholder-gray-700 mr-8 sm:mr-0 w-full sm:w-1/3 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
id="funFact"
onChange={[Function]}
placeholder="I think I am funny"
/>
</div>
</div>
`;
+766
View File
@@ -0,0 +1,766 @@
import React from "react"
import toJson from "enzyme-to-json"
import { shallow, mount } from "enzyme"
import Addons from "../addons"
jest.useFakeTimers();
describe("Addons", () => {
const dataInput = {
title: "",
subtitle: "A passionate frontend developer from India",
currentWork: "",
currentLearn: "",
collaborateOn: "",
helpWith: "",
ama: "",
contact: "",
funFact: "",
twitterBadge: false,
visitorsBadge: false,
badgeStyle: "flat",
badgeColor: "0e75b6",
badgeLabel: "Profile views",
githubProfileTrophy: false,
githubStats: false,
githubStatsOptions: {
theme: "",
titleColor: "",
textColor: "",
bgColor: "",
hideBorder: false,
cacheSeconds: null,
locale: "en",
},
topLanguages: false,
topLanguagesOptions: {
theme: "",
titleColor: "",
textColor: "",
bgColor: "",
hideBorder: false,
cacheSeconds: null,
locale: "en",
},
devDynamicBlogs: false,
mediumDynamicBlogs: false,
rssDynamicBlogs: false,
};
const socialInput = {
github: "",
dev: "",
linkedin: "",
codepen: "",
stackoverflow: "",
kaggle: "",
codesandbox: "",
fb: "",
instagram: "",
twitter: "",
dribbble: "",
behance: "",
medium: "",
youtube: "",
codechef: "",
hackerrank: "",
codeforces: "",
leetcode: "",
topcoder: "",
hackerearth: "",
geeks_for_geeks: "",
discord: "",
rssurl: "",
};
let mockHandleCheckChange;
let mockHandleDataChange;
beforeEach(() => {
mockHandleCheckChange = jest.fn();
mockHandleDataChange = jest.fn();
});
afterEach(() => {
jest.clearAllMocks();
});
it("renders correctly", () => {
const addOnComponent = shallow(<Addons
data={dataInput}
social={socialInput}
handleCheckChange={mockHandleCheckChange}
handleDataChange={mockHandleDataChange}
/>);
expect(toJson(addOnComponent)).toMatchSnapshot();
});
it("should render Customize Badges", () => {
const newDataInput = {
...dataInput,
mediumDynamicBlogs: "some-medium-blogs-value"
};
const newSocialInput = {
medium: "@abcd",
};
const addOnComponent = mount(<Addons
data={newDataInput}
social={newSocialInput}
handleCheckChange={mockHandleCheckChange}
handleDataChange={mockHandleDataChange}
/>);
addOnComponent.find("#visitors-count-open-btn").simulate("click",{});
expect(addOnComponent).toMatchSnapshot();
});
it("should handle data change when badge style is changed", () => {
const mockEvent = { target: { value: "style-new" } }
const newDataInput = {
...dataInput,
mediumDynamicBlogs: "some-medium-blogs-value",
githubStatsOptions: {
theme: "theme-1",
titleColor: "title-abcd",
textColor: "some-color",
bgColor: "abcd",
hideBorder: false,
cacheSeconds: null,
locale: "en",
},
};
const newSocialInput = {
medium: "@abcd",
};
const addOnComponent = mount(<Addons
data={newDataInput}
social={newSocialInput}
handleCheckChange={mockHandleCheckChange}
handleDataChange={mockHandleDataChange}
/>);
addOnComponent.find("#visitors-count-open-btn").simulate("click",{});
addOnComponent.find("#badge-style").simulate("change",mockEvent);
jest.runAllTimers();
expect(mockHandleDataChange).toHaveBeenCalledTimes(1);
expect(mockHandleDataChange).toHaveBeenCalledWith('badgeStyle',{target: {value: "style-new" }});
});
it("should handle data change when badge color is changed", () => {
const mockEvent = { target: { value: "new-color-abcd" } }
const newDataInput = {
...dataInput,
mediumDynamicBlogs: "some-medium-blogs-value"
};
const newSocialInput = {
medium: "@abcd",
};
const addOnComponent = mount(<Addons
data={newDataInput}
social={newSocialInput}
handleCheckChange={mockHandleCheckChange}
handleDataChange={mockHandleDataChange}
/>);
addOnComponent.find("#visitors-count-open-btn").simulate("click",{});
addOnComponent.find("#badge-color").simulate("change",mockEvent);
jest.runAllTimers();
expect(mockHandleDataChange).toHaveBeenCalledTimes(1);
expect(mockHandleDataChange).toHaveBeenCalledWith('badgeColor',{target: {value: "new-color-abcd" }});
});
it("should handle data change when badge-label-text is changed", () => {
const mockEvent = { target: { value: "label-abcd-random" } }
const newDataInput = {
...dataInput,
mediumDynamicBlogs: "some-medium-blogs-value"
};
const newSocialInput = {
medium: "@abcd",
};
const addOnComponent = mount(<Addons
data={newDataInput}
social={newSocialInput}
handleCheckChange={mockHandleCheckChange}
handleDataChange={mockHandleDataChange}
/>);
addOnComponent.find("#visitors-count-open-btn").simulate("click",{});
addOnComponent.find("#badge-label-text").simulate("change",mockEvent);
jest.runAllTimers();
expect(mockHandleDataChange).toHaveBeenCalledTimes(1);
expect(mockHandleDataChange).toHaveBeenCalledWith('badgeLabel',{target: {value: "label-abcd-random" }});
});
it("should render Customize Github stats card", () => {
const newDataInput = {
...dataInput,
mediumDynamicBlogs: "some-medium-blogs-value"
};
const newSocialInput = {
medium: "@abcd",
};
const addOnComponent = mount(<Addons
data={newDataInput}
social={newSocialInput}
handleCheckChange={mockHandleCheckChange}
handleDataChange={mockHandleDataChange}
/>);
addOnComponent.find("#github-stats-open-btn").simulate("click",{});
expect(addOnComponent).toMatchSnapshot();
});
it("should handle data change when stats theme is changed", () => {
const mockEvent = { target: { value: "new-theme-for-stats" } }
const newDataInput = {
...dataInput,
mediumDynamicBlogs: "some-medium-blogs-value",
githubStatsOptions: {
titleColor: "title-abcd",
textColor: "some-color",
bgColor: "abcd",
hideBorder: false,
cacheSeconds: null,
theme: "new-theme-for-stats",
locale: "en",
}
};
const newSocialInput = {
medium: "@abcd",
};
const addOnComponent = mount(<Addons
data={newDataInput}
social={newSocialInput}
handleCheckChange={mockHandleCheckChange}
handleDataChange={mockHandleDataChange}
/>);
addOnComponent.find("#github-stats-open-btn").simulate("click",{});
addOnComponent.find("#stats-theme").simulate("change",mockEvent);
jest.runAllTimers();
expect(mockHandleDataChange).toHaveBeenCalledTimes(1);
expect(mockHandleDataChange).toHaveBeenCalledWith('githubStatsOptions', {
target: {
value: {
theme: "theme-1",
titleColor: "title-abcd",
textColor: "some-color",
bgColor: "abcd",
hideBorder: false,
cacheSeconds: null,
theme: "new-theme-for-stats",
locale: "en",
}
}
});
});
it("should handle data change when stats title color is changed", () => {
const mockEvent = { target: { value: "red-color" } }
const newDataInput = {
...dataInput,
mediumDynamicBlogs: "some-medium-blogs-value",
githubStatsOptions: {
theme: "theme-1",
textColor: "some-color",
bgColor: "abcd",
hideBorder: false,
cacheSeconds: null,
theme: "new-theme-for-stats",
locale: "en",
}
};
const newSocialInput = {
medium: "@abcd",
};
const addOnComponent = mount(<Addons
data={newDataInput}
social={newSocialInput}
handleCheckChange={mockHandleCheckChange}
handleDataChange={mockHandleDataChange}
/>);
addOnComponent.find("#github-stats-open-btn").simulate("click",{});
addOnComponent.find("#stats-title-color").simulate("change",mockEvent);
jest.runAllTimers();
expect(mockHandleDataChange).toHaveBeenCalledTimes(1);
expect(mockHandleDataChange).toHaveBeenCalledWith('githubStatsOptions', {
target: {
value: {
theme: "theme-1",
titleColor: "red-color",
textColor: "some-color",
bgColor: "abcd",
hideBorder: false,
cacheSeconds: null,
theme: "new-theme-for-stats",
locale: "en",
}
}
});
});
it("should handle data change when stats bg color is changed", () => {
const mockEvent = { target: { value: "random-color" } }
const newDataInput = {
...dataInput,
mediumDynamicBlogs: "some-medium-blogs-value",
githubStatsOptions: {
theme: "theme-1",
titleColor: "some-color",
textColor: "abcd",
hideBorder: false,
cacheSeconds: null,
theme: "new-theme-for-stats",
locale: "en",
}
};
const newSocialInput = {
medium: "@abcd",
};
const addOnComponent = mount(<Addons
data={newDataInput}
social={newSocialInput}
handleCheckChange={mockHandleCheckChange}
handleDataChange={mockHandleDataChange}
/>);
addOnComponent.find("#github-stats-open-btn").simulate("click",{});
addOnComponent.find("#stats-bg-color").simulate("change",mockEvent);
jest.runAllTimers();
expect(mockHandleDataChange).toHaveBeenCalledTimes(1);
expect(mockHandleDataChange).toHaveBeenCalledWith('githubStatsOptions', {
target: {
value: {
theme: "theme-1",
titleColor: "some-color",
textColor: "abcd",
bgColor: "random-color",
hideBorder: false,
cacheSeconds: null,
theme: "new-theme-for-stats",
locale: "en",
}
}
});
});
it("should handle data change when stats cache seconds is changed", () => {
const mockEvent = { target: { value: 1900 } }
const newDataInput = {
...dataInput,
mediumDynamicBlogs: "some-medium-blogs-value",
githubStatsOptions: {
theme: "theme-1",
titleColor: "some-color",
textColor: "abcd",
bgColor: "random-color",
hideBorder: false,
cacheSeconds: null,
theme: "new-theme-for-stats",
locale: "en",
}
};
const newSocialInput = {
medium: "@abcd",
};
const addOnComponent = mount(<Addons
data={newDataInput}
social={newSocialInput}
handleCheckChange={mockHandleCheckChange}
handleDataChange={mockHandleDataChange}
/>);
addOnComponent.find("#github-stats-open-btn").simulate("click",{});
addOnComponent.find("#stats-cache-seconds").simulate("change",mockEvent);
jest.runAllTimers();
expect(mockHandleDataChange).toHaveBeenCalledTimes(1);
expect(mockHandleDataChange).toHaveBeenCalledWith('githubStatsOptions', {
target: {
value: {
theme: "theme-1",
titleColor: "some-color",
textColor: "abcd",
bgColor: "random-color",
hideBorder: false,
cacheSeconds: 1900,
theme: "new-theme-for-stats",
locale: "en",
}
}
});
});
it("should handle data change when stats text color is changed", () => {
const mockEvent = { target: { value: "black-color" } }
const newDataInput = {
...dataInput,
mediumDynamicBlogs: "some-medium-blogs-value",
githubStatsOptions: {
theme: "theme-1",
titleColor: "some-color",
bgColor: "abcd",
hideBorder: false,
cacheSeconds: null,
theme: "new-theme-for-stats",
locale: "en",
}
};
const newSocialInput = {
medium: "@abcd",
};
const addOnComponent = mount(<Addons
data={newDataInput}
social={newSocialInput}
handleCheckChange={mockHandleCheckChange}
handleDataChange={mockHandleDataChange}
/>);
addOnComponent.find("#github-stats-open-btn").simulate("click",{});
addOnComponent.find("#stats-text-color").simulate("change",mockEvent);
jest.runAllTimers();
expect(mockHandleDataChange).toHaveBeenCalledTimes(1);
expect(mockHandleDataChange).toHaveBeenCalledWith('githubStatsOptions', {
target: {
value: {
theme: "theme-1",
titleColor: "some-color",
textColor: "black-color",
bgColor: "abcd",
hideBorder: false,
cacheSeconds: null,
theme: "new-theme-for-stats",
locale: "en",
}
}
});
});
it("should handle data change when stats local is changed", () => {
const mockEvent = { target: { value: 'uk' } }
const newDataInput = {
...dataInput,
mediumDynamicBlogs: "some-medium-blogs-value",
githubStatsOptions: {
theme: "theme-1",
titleColor: "some-color",
textColor: "abcd",
bgColor: "random-color",
hideBorder: false,
cacheSeconds: null,
theme: "new-theme-for-stats",
locale: "en",
}
};
const newSocialInput = {
medium: "@abcd",
};
const addOnComponent = mount(<Addons
data={newDataInput}
social={newSocialInput}
handleCheckChange={mockHandleCheckChange}
handleDataChange={mockHandleDataChange}
/>);
addOnComponent.find("#github-stats-open-btn").simulate("click", {});
addOnComponent.find("#stats-locale").simulate("change", mockEvent);
jest.runAllTimers();
expect(mockHandleDataChange).toHaveBeenCalledTimes(1);
expect(mockHandleDataChange).toHaveBeenCalledWith('githubStatsOptions', {
target: {
value: {
theme: "theme-1",
titleColor: "some-color",
textColor: "abcd",
bgColor: "random-color",
hideBorder: false,
cacheSeconds: null,
theme: "new-theme-for-stats",
locale: "uk",
}
}
});
});
it("should handle data change when stats local is changed", () => {
const mockEvent = { target: { checked: true } }
const newDataInput = {
...dataInput,
mediumDynamicBlogs: "some-medium-blogs-value",
githubStatsOptions: {
theme: "theme-1",
titleColor: "some-color",
textColor: "abcd",
bgColor: "random-color",
hideBorder: false,
cacheSeconds: null,
theme: "new-theme-for-stats",
locale: "en",
}
};
const newSocialInput = {
medium: "@abcd",
};
const addOnComponent = mount(<Addons
data={newDataInput}
social={newSocialInput}
handleCheckChange={mockHandleCheckChange}
handleDataChange={mockHandleDataChange}
/>);
addOnComponent.find("#github-stats-open-btn").simulate("click",{});
addOnComponent.find("#stats-hide-border").simulate("change",mockEvent);
jest.runAllTimers();
expect(mockHandleDataChange).toHaveBeenCalledTimes(1);
expect(mockHandleDataChange).toHaveBeenCalledWith('githubStatsOptions', {
target: {
value: {
theme: "theme-1",
titleColor: "some-color",
textColor: "abcd",
bgColor: "random-color",
hideBorder: true,
cacheSeconds: null,
theme: "new-theme-for-stats",
locale: "en",
}
}
});
})
it("should render Customize Top Skills Card", () => {
const newDataInput = {
...dataInput,
mediumDynamicBlogs: "some-medium-blogs-value"
};
const newSocialInput = {
medium: "@abcd",
};
const addOnComponent = mount(<Addons
data={newDataInput}
social={newSocialInput}
handleCheckChange={mockHandleCheckChange}
handleDataChange={mockHandleDataChange}
/>);
addOnComponent.find("#top-languages-open-btn").simulate("click",{});
expect(addOnComponent).toMatchSnapshot();
});
it("should handle data change when top skills theme is changed", () => {
const mockEvent = { target: { value: "theme-xyz" } }
const newDataInput = {
...dataInput,
mediumDynamicBlogs: "some-medium-blogs-value",
topLanguagesOptions : {
theme: "theme-2",
titleColor: "title-abcd-new",
textColor: "random-some-color",
bgColor: "1234",
hideBorder: false,
cacheSeconds: null,
theme: "theme-xyz",
locale: "us",
}
};
const newSocialInput = {
medium: "@abcd",
};
const addOnComponent = mount(<Addons
data={newDataInput}
social={newSocialInput}
handleCheckChange={mockHandleCheckChange}
handleDataChange={mockHandleDataChange}
/>);
addOnComponent.find("#top-languages-open-btn").simulate("click",{});
addOnComponent.find("#top-lang-theme").simulate("change",mockEvent);
jest.runAllTimers();
expect(mockHandleDataChange).toHaveBeenCalledTimes(1);
expect(mockHandleDataChange).toHaveBeenCalledWith('topLanguagesOptions', {
target: {
value: {
theme: "theme-2",
titleColor: "title-abcd-new",
textColor: "random-some-color",
bgColor: "1234",
hideBorder: false,
cacheSeconds: null,
theme: "theme-xyz",
locale: "us",
}
}
});
});
it("should handle check change when add on item inputs are changed", () => {
const mockEvent = { target: { value: "This is a mock event" } }
const addOnComponent = mount(<Addons
data={dataInput}
social={socialInput}
handleCheckChange={mockHandleCheckChange}
handleDataChange={mockHandleDataChange}
/>);
addOnComponent.find("#visitors-count").simulate("change", mockEvent);
addOnComponent.find("#github-profile-trophy").simulate("change", mockEvent);
addOnComponent.find("#github-stats").simulate("change", mockEvent);
addOnComponent.find("#top-languages").simulate("change", mockEvent);
addOnComponent.find("#twitter-badge").simulate("change", mockEvent);
addOnComponent.find("#dev-dynamic-blogs").simulate("change", mockEvent);
addOnComponent.find("#rss-dynamic-blogs").simulate("change", mockEvent);
addOnComponent.find("#medium-dynamic-blogs").simulate("change", mockEvent);
expect(mockHandleCheckChange).toHaveBeenCalledTimes(8);
expect(mockHandleCheckChange).toHaveBeenNthCalledWith(1,"visitorsBadge");
expect(mockHandleCheckChange).toHaveBeenNthCalledWith(2,"githubProfileTrophy");
expect(mockHandleCheckChange).toHaveBeenNthCalledWith(3,"githubStats");
expect(mockHandleCheckChange).toHaveBeenNthCalledWith(4,"topLanguages");
expect(mockHandleCheckChange).toHaveBeenNthCalledWith(5,"twitterBadge");
expect(mockHandleCheckChange).toHaveBeenNthCalledWith(6,"devDynamicBlogs");
expect(mockHandleCheckChange).toHaveBeenNthCalledWith(7,"rssDynamicBlogs");
expect(mockHandleCheckChange).toHaveBeenNthCalledWith(8,"mediumDynamicBlogs");
});
it("should display workflow details if devDynamicBlogs and dev social data are available", () => {
const newDataInput = {
...dataInput,
devDynamicBlogs: "some-value"
};
const newSocialInput = {
dev: "some-value-123",
};
const addOnComponent = shallow(<Addons
data={newDataInput}
social={newSocialInput}
handleCheckChange={mockHandleCheckChange}
handleDataChange={mockHandleDataChange}
/>);
const workflowElement = addOnComponent.find(".workflow");
expect(workflowElement).toMatchSnapshot();
});
it("should display workflow details if rssDynamicBlogs and rss url data are available", () => {
const newDataInput = {
...dataInput,
rssDynamicBlogs: "some-rss-value"
};
const newSocialInput = {
rssurl: "url-random",
};
const addOnComponent = shallow(<Addons
data={newDataInput}
social={newSocialInput}
handleCheckChange={mockHandleCheckChange}
handleDataChange={mockHandleDataChange}
/>);
const workflowElement = addOnComponent.find(".workflow");
expect(workflowElement).toMatchSnapshot();
});
it("should display workflow details if mediumDynamicBlogs, medium social data are available", () => {
const newDataInput = {
...dataInput,
mediumDynamicBlogs: "some-medium-blogs-value"
};
const newSocialInput = {
medium: "@abcd",
};
const addOnComponent = shallow(<Addons
data={newDataInput}
social={newSocialInput}
handleCheckChange={mockHandleCheckChange}
handleDataChange={mockHandleDataChange}
/>);
const workflowElement = addOnComponent.find(".workflow");
expect(workflowElement).toMatchSnapshot();
});
it("should call document create element when blog post workflow is clicked", () => {
let someElement = document.createElement("abcd");
document.createElement = jest.fn().mockReturnValueOnce(someElement);
const newDataInput = {
...dataInput,
mediumDynamicBlogs: "some-medium-blogs-value"
};
const newSocialInput = {
medium: "@abcd",
};
const addOnComponent = shallow(<Addons
data={newDataInput}
social={newSocialInput}
handleCheckChange={mockHandleCheckChange}
handleDataChange={mockHandleDataChange}
/>);
addOnComponent.find("#blog-post-worklow-span").simulate("click", {});
expect(document.createElement).toHaveBeenCalledTimes(1);
});
});
+12
View File
@@ -0,0 +1,12 @@
import React from "react"
import toJson from "enzyme-to-json"
import { shallow } from "enzyme"
import Donate from "../donate"
describe("Donate", () => {
it("renders correctly", () => {
const component = shallow(<Donate />)
expect(toJson(component)).toMatchSnapshot()
})
})
+13
View File
@@ -0,0 +1,13 @@
import React from "react"
import { shallow } from "enzyme"
import toJson from "enzyme-to-json"
import Footer from "../footer"
describe("Footer component", () => {
const component = shallow(<Footer />)
it("renders correctly", () => {
expect(toJson(component)).toMatchSnapshot()
})
})
+13
View File
@@ -0,0 +1,13 @@
import React from "react"
import { shallow } from "enzyme"
import toJson from "enzyme-to-json"
import Header from "../header"
describe("Header", () => {
const component = shallow(<Header heading="heading" />)
it("renders correctly", () => {
expect(toJson(component)).toMatchSnapshot()
})
})
+13
View File
@@ -0,0 +1,13 @@
import React from "react"
import { shallow } from "enzyme"
import toJson from "enzyme-to-json"
import Loader from "../loader"
describe("Loader", () => {
const component = shallow(<Loader />)
it("renders correctly", () => {
expect(toJson(component)).toMatchSnapshot()
})
})
+215
View File
@@ -0,0 +1,215 @@
import React from "react"
import { shallow } from "enzyme"
import toJson from "enzyme-to-json"
import Markdown from "../markdown"
describe("Markdown", () => {
const props = {
data: {
ama: '',
badgeColor: '0e75b6',
badgeLabel: 'Profile views',
badgeStyle: 'flat',
collaborateOn: '',
contact: '',
currentLearn: '',
currentWork: 'currentWork',
devDynamicBlogs: false,
funFact: '',
githubProfileTrophy: false,
githubStats: false,
githubStatsOptions: {
bgColor: '',
cacheSeconds: null,
hideBorder: false,
locale: 'en',
textColor: '',
theme: '',
titleColor: '',
},
helpWith: '',
mediumDynamicBlogs: false,
rssDynamicBlogs: false,
subtitle: 'A passionate frontend developer from India',
title: 'title',
topLanguages: false,
topLanguagesOptions: {
bgColor: '',
cacheSeconds: null,
hideBorder: false,
locale: 'en',
textColor: '',
theme: '',
titleColor: '',
},
twitterBadge: false,
visitorsBadge: false,
},
link: {
blog: 'blog',
collaborateOn: 'collaborateOn',
currentWork: 'currentWork',
helpWith: 'helpWith',
portfolio: 'portfolio',
resume: 'resume',
},
prefix: {
ama: '💬 Ask me about',
blog: '📝 I regularly write articles on',
collaborateOn: '👯 Im looking to collaborate on',
contact: '📫 How to reach me',
currentLearn: '🌱 Im currently learning',
currentWork: '🔭 Im currently working on',
funFact: '⚡ Fun fact',
helpWith: '🤝 Im looking for help with',
portfolio: '👨‍💻 All of my projects are available at',
resume: '📄 Know about my experiences',
title: "Hi 👋, I'm",
},
skills: {
javascript: true,
express: false,
},
social: {
dev: 'dev',
codechef: '',
},
};
it("renders without subtitle", () => {
const component = shallow(
<Markdown
{...props}
data={{
...props.data,
subtitle: '',
}}
/>
)
expect(toJson(component)).toMatchSnapshot()
})
it("renders without prefix.title and data.title", () => {
const component = shallow(
<Markdown
{...props}
data={{
...props.data,
title: '',
}}
prefix={{
...props.prefix,
title: '',
}}
/>
)
expect(toJson(component)).toMatchSnapshot()
})
it("renders topLanguages is true", () => {
const component = shallow(
<Markdown
{...props}
data={{
...props.data,
topLanguages: true,
}}
/>
)
expect(toJson(component)).toMatchSnapshot()
})
it("renders topLanguages is true and githubStats is true", () => {
const component = shallow(
<Markdown
{...props}
data={{
...props.data,
topLanguages: true,
githubStats: true,
}}
/>
)
expect(toJson(component)).toMatchSnapshot()
})
it("renders devDynamicBlogs is true", () => {
const component = shallow(
<Markdown
{...props}
data={{
...props.data,
devDynamicBlogs: true,
}}
/>
)
expect(toJson(component)).toMatchSnapshot()
})
it("renders without link.currentWork", () => {
const component = shallow(
<Markdown
{...props}
link={{
...props.data,
currentWork: '',
}}
/>
)
expect(toJson(component)).toMatchSnapshot()
})
it("renders visitorsBadge is true", () => {
const component = shallow(
<Markdown
{...props}
data={{
...props.data,
visitorsBadge: true,
}}
/>
)
expect(toJson(component)).toMatchSnapshot()
})
it("renders twitterBadge is true", () => {
const component = shallow(
<Markdown
{...props}
data={{
...props.data,
twitterBadge: true,
}}
/>
)
expect(toJson(component)).toMatchSnapshot()
})
it("renders githubProfileTrophy is true", () => {
const component = shallow(
<Markdown
{...props}
data={{
...props.data,
githubProfileTrophy: true,
}}
/>
)
expect(toJson(component)).toMatchSnapshot()
})
it("renders githubProfileTrophy is true", () => {
const component = shallow(
<Markdown
{...props}
data={{
...props.data,
githubProfileTrophy: true,
}}
/>
)
expect(toJson(component)).toMatchSnapshot()
})
})
@@ -0,0 +1,415 @@
import React from "react";
import { shallow, configure } from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';
import MarkdownPreview, { GithubProfileTrophyPreview, GitHubStatsPreview, SkillsPreview, SocialPreview, SubTitlePreview, TitlePreview, TopLanguagesPreview, TwitterBadgePreview, VisitorsBadgePreview, WorkPreview, SectionTitle, DisplayWork, DisplaySocial } from "../markdownPreview"
configure({ adapter: new Adapter() });
const DEFAULT_PREFIX = {
title: "Hi 👋, I'm",
currentWork: "🔭 Im currently working on",
currentLearn: "🌱 Im currently learning",
collaborateOn: "👯 Im looking to collaborate on",
helpWith: "🤝 Im looking for help with",
ama: "💬 Ask me about",
contact: "📫 How to reach me",
resume: "📄 Know about my experiences",
funFact: "⚡ Fun fact",
portfolio: "👨‍💻 All of my projects are available at",
blog: "📝 I regularly write articles on",
}
const DEFAULT_DATA = {
title: "dummy",
subtitle: "A passionate frontend developer from India",
currentWork: "readme-generator",
currentLearn: "",
collaborateOn: "",
helpWith: "",
ama: "",
contact: "",
funFact: "",
twitterBadge: false,
visitorsBadge: false,
badgeStyle: "flat",
badgeColor: "0e75b6",
badgeLabel: "Profile views",
githubProfileTrophy: false,
githubStats: false,
githubStatsOptions: {
theme: "",
titleColor: "",
textColor: "",
bgColor: "",
hideBorder: false,
cacheSeconds: null,
locale: "en",
},
topLanguages: false,
topLanguagesOptions: {
theme: "",
titleColor: "",
textColor: "",
bgColor: "",
hideBorder: false,
cacheSeconds: null,
locale: "en",
},
devDynamicBlogs: false,
mediumDynamicBlogs: false,
rssDynamicBlogs: false,
}
const DEFAULT_LINK = {
currentWork: "https://dummy.com",
collaborateOn: "",
helpWith: "",
portfolio: "",
blog: "",
resume: "",
}
const DEFAULT_SOCIAL = {
github: "",
dev: "",
linkedin: "",
codepen: "dummy",
stackoverflow: "",
kaggle: "",
codesandbox: "",
fb: "",
instagram: "",
twitter: "",
dribbble: "",
behance: "",
medium: "",
youtube: "",
codechef: "",
hackerrank: "",
codeforces: "",
leetcode: "",
topcoder: "",
hackerearth: "",
geeks_for_geeks: "",
discord: "",
rssurl: "",
}
const DUMMY_SKILLS = {
skills: {
unity: true,
android: false,
angularjs: false,
apachecordova: false,
}
}
describe("Markdown Preview", () => {
it("renders correctly", () => {
let prefix = DEFAULT_PREFIX;
let data = DEFAULT_DATA;
let link = DEFAULT_LINK;
let social = DEFAULT_SOCIAL;
let skills = {}
const tree = shallow(<MarkdownPreview
prefix={prefix}
data={data}
link={link}
social={social}
skills={skills} />)
expect(tree).toMatchSnapshot()
})
})
describe("Title Preview", () => {
it("renders correctly", () => {
let prefix = DEFAULT_PREFIX;
let data = DEFAULT_DATA;
const tree = shallow(<TitlePreview prefix={prefix.title} title={data.title} />)
expect(tree).toMatchSnapshot()
})
it("renders correctly with no prefix", () => {
let prefix = DEFAULT_PREFIX;
const tree = shallow(<TitlePreview prefix={prefix.title} title={""} />)
expect(tree).toMatchSnapshot()
})
it("renders correctly with no title", () => {
let data = DEFAULT_DATA;
const tree = shallow(<TitlePreview title={data.title} prefix={""} />)
expect(tree).toMatchSnapshot()
})
it("renders correctly with no title and prefix", () => {
const tree = shallow(<TitlePreview />)
expect(tree).toMatchSnapshot()
})
})
describe("SubTitle Preview", () => {
it("renders correctly", () => {
let data = DEFAULT_DATA;
const tree = shallow(<SubTitlePreview subtitle={data.subtitle} />)
expect(tree).toMatchSnapshot()
})
it("renders correctly with no subtitle", () => {
const tree = shallow(<SubTitlePreview subtitle={""} />)
expect(tree).toMatchSnapshot()
})
})
describe("SectionTitle Preview", () => {
it("renders correctly", () => {
const tree = shallow(<SectionTitle visible={true} label={"dummy"} />)
expect(tree).toMatchSnapshot()
})
it("renders correctly with no label", () => {
const tree = shallow(<SectionTitle visible={true} label={""} />)
expect(tree).toMatchSnapshot()
})
it("renders correctly with visible false", () => {
const tree = shallow(<SectionTitle visible={false} label={"dummy"} />)
expect(tree).toMatchSnapshot()
})
})
describe("DisplayWork Preview", () => {
it("renders correctly", () => {
let prefix = DEFAULT_PREFIX;
let data = DEFAULT_DATA;
let link = DEFAULT_LINK;
const tree = shallow(<DisplayWork prefix={prefix} project={data.currentWork} link={link.currentWork} />)
expect(tree).toMatchSnapshot()
})
it("renders correctly with no prefix, link and project", () => {
const tree = shallow(<DisplayWork prefix={undefined} project={undefined} link={undefined} />)
expect(tree).toMatchSnapshot()
})
it("renders correctly with no prefix", () => {
let data = DEFAULT_DATA;
let link = DEFAULT_LINK;
const tree = shallow(<DisplayWork prefix={undefined} project={data.currentWork} link={link.currentWork} />)
expect(tree).toMatchSnapshot()
})
it("renders correctly with no project", () => {
let prefix = DEFAULT_PREFIX;
let link = DEFAULT_LINK;
const tree = shallow(<DisplayWork prefix={prefix} project={undefined} link={link.currentWork} />)
expect(tree).toMatchSnapshot()
})
it("renders correctly with no link", () => {
let prefix = DEFAULT_PREFIX;
let data = DEFAULT_DATA;
const tree = shallow(<DisplayWork prefix={prefix} project={data.currentWork} link={undefined}/>)
expect(tree).toMatchSnapshot()
})
it("renders correctly with no prefix and link", () => {
let data = DEFAULT_DATA;
const tree = shallow(<DisplayWork project={data.currentWork} />)
expect(tree).toMatchSnapshot()
})
it("renders correctly with no project and link", () => {
let prefix = DEFAULT_PREFIX;
const tree = shallow(<DisplayWork prefix={prefix} />)
expect(tree).toMatchSnapshot()
})
it("renders correctly with no project and prefix", () => {
let link = DEFAULT_LINK;
const tree = shallow(<DisplayWork link={link.currentWork} />)
expect(tree).toMatchSnapshot()
})
})
describe("DisplaySocial Preview", () => {
it("renders correctly", () => {
let social = DEFAULT_SOCIAL;
const tree = shallow(<DisplaySocial
base="https://codepen.io"
icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/codepen.svg"
username={social.codepen}
/>
)
expect(tree).toMatchSnapshot()
})
it("renders correctly with no username", () => {
const tree = shallow(<DisplaySocial
base="https://codepen.io"
icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/codepen.svg"
username={""}
/>
)
expect(tree).toMatchSnapshot()
})
})
describe("VisitorsBadge Preview", () => {
it("renders correctly", () => {
let data = DEFAULT_DATA;
let social = DEFAULT_SOCIAL;
const tree = shallow(<VisitorsBadgePreview
show={data.visitorsBadge}
github={social.github}
badgeOptions={{
badgeLabel: encodeURI(data.badgeLabel),
badgeColor: data.badgeColor,
badgeStyle: data.badgeStyle,
}}
/>
)
expect(tree).toMatchSnapshot()
})
it("renders correctly with show true", () => {
let data = DEFAULT_DATA;
let social = DEFAULT_SOCIAL;
const tree = shallow(<VisitorsBadgePreview
show={true}
github={social.github}
badgeOptions={{
badgeLabel: encodeURI(data.badgeLabel),
badgeColor: data.badgeColor,
badgeStyle: data.badgeStyle,
}}
/>
)
expect(tree).toMatchSnapshot()
})
})
describe("GithubProfileTrophy Preview", () => {
it("renders correctly", () => {
let data = DEFAULT_DATA;
let social = DEFAULT_SOCIAL;
const tree = shallow(<GithubProfileTrophyPreview
show={data.githubProfileTrophy}
github={social.github}
/>)
expect(tree).toMatchSnapshot()
})
it("renders correctly with show true", () => {
let data = DEFAULT_DATA;
let social = DEFAULT_SOCIAL;
const tree = shallow(<GithubProfileTrophyPreview
show={true}
github={social.github}
/>)
expect(tree).toMatchSnapshot()
})
})
describe("TwitterBadgePreview Preview", () => {
it("renders correctly", () => {
let data = DEFAULT_DATA;
let social = DEFAULT_SOCIAL;
const tree = shallow(<TwitterBadgePreview
show={data.twitterBadge}
twitter={social.twitter}
/>)
expect(tree).toMatchSnapshot()
})
it("renders correctly with show true", () => {
let data = DEFAULT_DATA;
let social = DEFAULT_SOCIAL;
const tree = shallow(<TwitterBadgePreview
show={true}
twitter={social.twitter}
/>)
expect(tree).toMatchSnapshot()
})
})
describe("Work Preview", () => {
it("renders correctly", () => {
let data = DEFAULT_DATA;
let prefix = DEFAULT_PREFIX;
let link = DEFAULT_LINK;
let props = { data: data, prefix: prefix, link: link }
const tree = shallow(<WorkPreview work={props} />)
expect(tree).toMatchSnapshot()
})
})
describe("Social Preview", () => {
it("renders correctly", () => {
let social = DEFAULT_SOCIAL;
const tree = shallow(<SocialPreview social={social} />)
expect(tree).toMatchSnapshot()
})
})
describe("Skills Preview", () => {
it("renders correctly", () => {
let skills = DUMMY_SKILLS.skills
const tree = shallow(<SkillsPreview skills={skills} />)
expect(tree).toMatchSnapshot()
})
it("renders correctly with no skills", () => {
let skills = {}
const tree = shallow(<SkillsPreview skills={skills} />)
expect(tree).toMatchSnapshot()
})
})
describe("TopLanguages Preview", () => {
it("renders correctly", () => {
let data = DEFAULT_DATA;
let social = DEFAULT_SOCIAL;
const tree = shallow(<TopLanguagesPreview
show={data.topLanguages}
github={social.github}
options={data.topLanguagesOptions}
/>)
expect(tree).toMatchSnapshot()
})
it("renders correctly with show true", () => {
let data = DEFAULT_DATA;
let social = DEFAULT_SOCIAL;
const tree = shallow(<TopLanguagesPreview
show={true}
github={social.github}
options={data.topLanguagesOptions}
/>)
expect(tree).toMatchSnapshot()
})
})
describe("GitHubStats Preview", () => {
it("renders correctly", () => {
let data = DEFAULT_DATA;
let social = DEFAULT_SOCIAL;
const tree = shallow(<GitHubStatsPreview
show={data.githubStats}
github={social.github}
options={data.githubStatsOptions}
/>)
expect(tree).toMatchSnapshot()
})
it("renders correctly", () => {
let data = DEFAULT_DATA;
let social = DEFAULT_SOCIAL;
const tree = shallow(<GitHubStatsPreview
show={true}
github={social.github}
options={data.githubStatsOptions}
/>)
expect(tree).toMatchSnapshot()
})
})
+42
View File
@@ -0,0 +1,42 @@
import React from "react"
import { shallow } from "enzyme"
import toJson from "enzyme-to-json"
import Skills from "../skills"
jest.mock("../../constants/skills", () => ({
__esModule: true,
categorizedSkills: {
language: {
title: "Programming Languages",
skills: ["javascript"],
},
frontend_dev: {
title: "Frontend Development",
skills: ["react", "svelte"],
},
},
icons: {
javascript: "javascript.svg",
react: "react.svg",
svelte: "svelte.svg",
},
}))
describe("Skills", () => {
it("renders correctly", () => {
const component = shallow(<Skills skills={{ javascript: true }} />)
expect(toJson(component)).toMatchSnapshot()
})
it("calls handleSkillsChange prop when a skill is clicked", () => {
const mockFn = jest.fn()
const component = shallow(
<Skills skills={{ javascript: true }} handleSkillsChange={mockFn} />
)
component.find("#javascript").simulate("change")
expect(mockFn).toHaveBeenCalledTimes(1)
})
})
+44
View File
@@ -0,0 +1,44 @@
import React from "react"
import { shallow } from "enzyme"
import toJson from "enzyme-to-json"
import Social from "../social"
describe("Social", () => {
const mockEvent = { target: { value: "This is a mock event" } }
const props = {
social: {
github: "github ",
twitter: "twitter",
dev: "dev",
codepen: "codepen",
codesandbox: "codesandbodx",
stackoverflow: "stackoverflow",
linkedin: "linkedin",
kaggle: "kaggle",
fb: "fb",
instagram: "instagram",
dribble: "dribble",
behance: "behance",
medium: "medium",
youtube: "youtube",
codechef: "codechef",
hackerrack: "hackerranck",
codeforces: "codeforces",
leetcode: "leetcode",
topcoder: "topcoder",
hackerearth: "@hackerearth",
geeks_for_geeks: "geeks_for_geeks",
discord: "discord",
rssurl: "rssurl",
},
handleSocialChange: jest.fn().mockReturnValue({}),
}
it("renders correctly", () => {
const component = shallow(<Social {...props} />)
for (let i = 0; i < component.find("input").length; i++) {
component.find("input").at(i).simulate("change", mockEvent)
}
expect(toJson(component)).toMatchSnapshot()
})
})
+26
View File
@@ -0,0 +1,26 @@
import React from "react"
import { shallow } from "enzyme"
import toJson from "enzyme-to-json"
import Subtitle from "../subtitle"
describe("Subtitle", () => {
const mockEvent = { target: { value: "This is a mock event" } }
const props = {
data: {
subtitle: "A frontend developer",
},
handleDataChange: jest.fn().mockReturnValue({}),
}
const component = shallow(<Subtitle {...props} />)
it("renders correctly", () => {
expect(toJson(component)).toMatchSnapshot()
})
it("calls onChange", () => {
component.find("input").at(0).simulate("change", mockEvent)
expect(props.handleDataChange).toBeCalledWith("subtitle", mockEvent)
})
})
+27
View File
@@ -0,0 +1,27 @@
import React from "react"
import { shallow } from "enzyme"
import toJson from "enzyme-to-json"
import Title from "../title"
describe("Title", () => {
const mockEvent = { target: { value: "This is a mock event" } }
const props = {
prefix: {
title: "test_title",
currentWork: "test_currentwork",
},
data: { title: "test_data" },
link: { currentWork: "test_currentwork" },
handlePrefixChange: jest.fn().mockReturnValue({}),
handleLinkChange: jest.fn().mockReturnValue({}),
handleDataChange: jest.fn().mockReturnValue({}),
}
it("renders title component correctly", () => {
const component = shallow(<Title {...props} />)
component.find("input").at(0).simulate("change", mockEvent)
component.find("input").at(1).simulate("change", mockEvent)
expect(toJson(component)).toMatchSnapshot()
})
})
+28
View File
@@ -0,0 +1,28 @@
import React from "react"
import { shallow } from "enzyme"
import toJson from "enzyme-to-json"
import Work from "../work"
describe("Work", () => {
const mockEvent = { target: { value: "This is a mock event" } }
const props = {
prefix: {
title: "test_title",
currentWork: "test_currentwork",
},
data: { title: "test_data" },
link: { currentWork: "test_currentwork" },
handlePrefixChange: jest.fn().mockReturnValue({}),
handleLinkChange: jest.fn().mockReturnValue({}),
handleDataChange: jest.fn().mockReturnValue({}),
}
it("renders work component correctly", () => {
const component = shallow(<Work {...props} />)
for (let i = 0; i < component.find("input").length; i++) {
component.find("input").at(i).simulate("change", mockEvent)
}
expect(toJson(component)).toMatchSnapshot()
})
})
+421 -65
View File
@@ -1,9 +1,283 @@
import React from "react" import React, { useState, useEffect } from "react"
import { withPrefix } from "gatsby" import { withPrefix } from "gatsby"
import { latestBlogs } from "../utils/workflows" import { latestBlogs } from "../utils/workflows"
import links from "../constants/page-links" import links from "../constants/page-links"
import { isMediumUsernameValid } from "../utils/validation" import {
isMediumUsernameValid,
isGitHubUsernameValid,
} from "../utils/validation"
import { ToolsIcon, XCircleIcon } from "@primer/octicons-react"
const AddonsItem = ({
inputId,
inputChecked,
onInputChange,
Options,
onIconClick,
...props
}) => {
const [open, setOpen] = useState(false)
const Icon = open ? XCircleIcon : ToolsIcon
return (
<>
<div className="py-2 flex justify-start items-center text-sm sm:text-lg">
<label htmlFor={inputId} className="checkbox-label flex items-center">
<input
id={inputId}
type="checkbox"
className="checkbox-label__input"
checked={inputChecked}
onChange={onInputChange}
/>
<span class="checkbox-label__control" />
<span className="pl-4">{props.children}</span>
</label>
{Options && (
<button
id={`${inputId}-open-btn`}
onClick={() => setOpen(!open)}
className="flex ml-3 focus:bg-gray-400"
style={{ outline: "none" }}
>
<Icon className="transform scale-100 md:scale-125" />
</button>
)}
</div>
{Options && open && Options}
</>
)
}
const CustomizeOptions = ({ title, CustomizationOptions }) => (
<div
className={`border-2 border-solid border-gray-900 bg-gray-100 p-2 ml-8`}
style={{ maxWidth: "21rem" }}
>
<header className="text-base sm:text-lg">{title}</header>
<hr className="border-gray-500" />
<div className="text-sm sm:text-lg flex flex-col mt-2 ml-0 md:ml-4">
{CustomizationOptions}
</div>
</div>
)
const CustomizeBadge = ({ githubName, badgeOptions, onBadgeUpdate }) => {
return (
<>
<label htmlFor="badge-style">
Style:&nbsp;
<select
id="badge-style"
onChange={e => onBadgeUpdate("badgeStyle", e.target.value)}
value={badgeOptions.badgeStyle}
>
<option value="flat">Flat</option>
<option value="flat-square">Flat Square</option>
<option value="plastic">Plastic</option>
</select>
</label>
<label htmlFor="badge-color">
Color:&nbsp;
<input
type="color"
id="badge-color"
defaultValue={`#${badgeOptions.badgeColor}`}
className="w-6"
onChange={e =>
onBadgeUpdate("badgeColor", e.target.value.replace("#", ""))
}
/>
</label>
<label htmlFor="badge-label-text">
Label Text:&nbsp;
<input
type="text"
id="badge-label-text"
placeholder="Profile views"
className="w-2/4 bg-gray-300 pl-2"
onChange={e => onBadgeUpdate("badgeLabel", e.target.value.trim())}
defaultValue={badgeOptions.badgeLabel}
/>
</label>
<span className="mt-2 flex items-center">
Preview:&nbsp;
{isGitHubUsernameValid(githubName) ? (
<img
src={
`https://komarev.com/ghpvc/` +
`?username=${githubName}` +
`&label=${encodeURI(badgeOptions.badgeLabel)}` +
`&color=${badgeOptions.badgeColor}` +
`&style=${badgeOptions.badgeStyle}`
}
alt="profile-visitors-count"
/>
) : (
<span className="text-xxs md:text-sm text-red-600">
Invalid GitHub username
</span>
)}
</span>
</>
)
}
const CustomizeGithubStatsBase = ({ prefix, options, onUpdate }) => (
<>
<label htmlFor={`${prefix}-theme`}>
Theme:&nbsp;
<select
id={`${prefix}-theme`}
onChange={({ target: { value } }) => onUpdate("theme", value)}
defaultValue={options.theme}
>
<option value="none">none</option>
<option value="dark">Dark</option>
<option value="radical">Radical</option>
<option value="merko">Merko</option>
<option value="gruvbox">Gruvbox</option>
<option value="tokyonight">Tokyonight</option>
<option value="onedark">Onedark</option>
<option value="cobalt">Cobalt</option>
<option value="synthwave">Synthwave</option>
<option value="highcontrast">Highcontrast</option>
<option value="dracula">Dracula</option>
</select>
</label>
<label htmlFor={`${prefix}-title-color`}>
Title Color:&nbsp;
<input
type="color"
id={`${prefix}-title-color`}
defaultValue={`#${options.titleColor}`}
className="w-6"
onChange={e => onUpdate("titleColor", e.target.value.replace("#", ""))}
/>
</label>
<label htmlFor={`${prefix}-text-color`}>
Text Color:&nbsp;
<input
type="color"
id={`${prefix}-text-color`}
defaultValue={`#${options.textColor}`}
className="w-6"
onChange={e => onUpdate("textColor", e.target.value.replace("#", ""))}
/>
</label>
<label htmlFor={`${prefix}-bg-color`}>
Background Color:&nbsp;
<input
type="color"
id={`${prefix}-bg-color`}
defaultValue={`#${options.bgColor}`}
className="w-6"
onChange={e => onUpdate("bgColor", e.target.value.replace("#", ""))}
/>
</label>
<label htmlFor={`${prefix}-hide-border`} className="checkbox-label">
Hide border:&nbsp;
<input
id={`${prefix}-hide-border`}
type="checkbox"
className="checkbox-label__input"
checked={options.hideBorder}
onChange={e => onUpdate("hideBorder", e.target.checked)}
/>
<span class="checkbox-label__control" />
</label>
<label htmlFor={`${prefix}-cache-seconds`}>
Cache Seconds:&nbsp;
<input
id={`${prefix}-cache-seconds`}
type="number"
min={1800}
max={86400}
placeholder={1800}
defaultValue={options.cacheSeconds}
onChange={e => onUpdate("cacheSeconds", e.target.value)}
/>
</label>
<label htmlFor={`${prefix}-locale`}>
Locale:&nbsp;
<input
id={`${prefix}-locale`}
type="text"
placeholder="en"
defaultValue={options.locale}
onChange={e => onUpdate("locale", e.target.value)}
size="2"
/>
</label>
</>
)
const CustomizeStreakStats = ({ prefix, options, onUpdate }) => (
<>
<label htmlFor={`${prefix}-theme`}>
Theme:&nbsp;
<select
id={`${prefix}-theme`}
onChange={({ target: { value } }) => onUpdate("theme", value)}
defaultValue={options.theme}
>
<option value="default">default</option>
<option value="dark">dark</option>
<option value="highcontrast">highcontrast</option>
</select>
</label>
</>
)
const Addons = props => { const Addons = props => {
const [debounce, setDebounce] = useState(undefined)
const [badgeOptions, setBadgeOptions] = useState({
badgeStyle: props.data.badgeStyle,
badgeColor: props.data.badgeColor,
badgeLabel: props.data.badgeLabel,
})
useEffect(() => {
setBadgeOptions({
badgeStyle: props.data.badgeStyle,
badgeColor: props.data.badgeColor,
badgeLabel: props.data.badgeLabel,
})
}, [props.data.badgeStyle, props.data.badgeColor, props.data.badgeLabel])
const [githubStatsOptions, setGithubStatsOptions] = useState({
...props.data.githubStatsOptions,
})
useEffect(() => {
setGithubStatsOptions({
...props.data.githubStatsOptions,
})
}, [props.data.githubStatsOptions])
const [topLanguagesOptions, setTopLanguagesOptions] = useState({
...props.data.topLanguagesOptions,
})
useEffect(() => {
setTopLanguagesOptions({
...props.data.topLanguagesOptions,
})
}, [props.data.topLanguagesOptions])
const [streakStatsOptions, setStreakStatsOptions] = useState({
...props.data.streakStatsOptions,
})
useEffect(() => {
setStreakStatsOptions({
...props.data.streakStatsOptions,
})
}, [props.data.streakStatsOptions])
const blogPostPorkflow = () => { const blogPostPorkflow = () => {
let payload = { let payload = {
dev: { dev: {
@@ -31,78 +305,158 @@ const Addons = props => {
tempElement.click() tempElement.click()
document.body.removeChild(tempElement) document.body.removeChild(tempElement)
} }
const onBadgeUpdate = (option, value) => {
const callback = () => {
let newVal =
option === "badgeLabel" && value === "" ? "Profile views" : value
setBadgeOptions({ ...badgeOptions, [option]: newVal })
props.handleDataChange(option, { target: { value: newVal } })
}
clearTimeout(debounce)
setDebounce(setTimeout(callback, 300))
}
const onStatsUpdate = (option, value) => {
const newStatsOptions = { ...githubStatsOptions, [option]: value }
setGithubStatsOptions(newStatsOptions)
props.handleDataChange("githubStatsOptions", {
target: { value: newStatsOptions },
})
}
const onTopLangUpdate = (option, value) => {
const newLangOptions = { ...topLanguagesOptions, [option]: value }
setTopLanguagesOptions(newLangOptions)
props.handleDataChange("topLanguagesOptions", {
target: { value: newLangOptions },
})
}
const onStreakStatsUpdate = (option, value) => {
const newStreakStatsOptions = { ...streakStatsOptions, [option]: value }
setStreakStatsOptions(newStreakStatsOptions)
props.handleDataChange("streakStatsOptions", {
target: { value: newStreakStatsOptions },
})
}
return ( return (
<div className="flex justify-center items-start flex-col w-full px-2 sm:px-6 mb-10"> <div className="flex justify-center items-start flex-col w-full px-2 sm:px-6 mb-10">
<div className="text-xl sm:text-2xl font-bold font-title mt-2 mb-2"> <div className="text-xl sm:text-2xl font-bold font-title mt-2 mb-2">
Add-ons Add-ons
</div> </div>
<div className="py-2 flex justify-start items-center text-sm sm:text-lg"> <AddonsItem
<label htmlFor="visitors-count" className="cursor-pointer"> inputId="visitors-count"
<input inputChecked={props.data.visitorsBadge}
type="checkbox" onInputChange={() => props.handleCheckChange("visitorsBadge")}
id="visitors-count" Options={
checked={props.data.visitorsBadge} <CustomizeOptions
onChange={event => props.handleCheckChange("visitorsBadge")} title="Customize Badge"
CustomizationOptions={
<CustomizeBadge
githubName={props.social.github}
badgeOptions={badgeOptions}
onBadgeUpdate={onBadgeUpdate}
/>
}
/> />
&nbsp; display visitors count badge }
</label> >
</div> display visitors count badge
<div className="py-2 flex justify-start items-center text-sm sm:text-lg"> </AddonsItem>
<label htmlFor="github-stats" className="cursor-pointer"> <AddonsItem
<input inputId="github-profile-trophy"
id="github-stats" inputChecked={props.data.githubProfileTrophy}
type="checkbox" onInputChange={() => props.handleCheckChange("githubProfileTrophy")}
checked={props.data.githubStats} >
onChange={event => props.handleCheckChange("githubStats")} display github trophy
</AddonsItem>
<AddonsItem
inputId="github-stats"
inputChecked={props.data.githubStats}
onInputChange={() => props.handleCheckChange("githubStats")}
Options={
<CustomizeOptions
title="Customize Github Stats Card"
CustomizationOptions={
<CustomizeGithubStatsBase
prefix="stats"
options={githubStatsOptions}
onUpdate={onStatsUpdate}
/>
}
/> />
&nbsp; display github profile stats card }
</label> >
</div> display github profile stats card
<div className="py-2 flex justify-start items-center text-sm sm:text-lg"> </AddonsItem>
<label htmlFor="top-languages" className="cursor-pointer"> <AddonsItem
<input inputId="top-languages"
id="top-languages" inputChecked={props.data.topLanguages}
type="checkbox" onInputChange={() => props.handleCheckChange("topLanguages")}
checked={props.data.topLanguages} Options={
onChange={event => props.handleCheckChange("topLanguages")} <CustomizeOptions
title="Customize Top Skills Card"
CustomizationOptions={
<CustomizeGithubStatsBase
prefix="top-lang"
options={topLanguagesOptions}
onUpdate={onTopLangUpdate}
/>
}
/> />
&nbsp; display top skills }
</label> >
</div> display top skills
<div className="py-2 flex justify-start items-center text-sm sm:text-lg"> </AddonsItem>
<label htmlFor="dev-dynamic-blogs" className="cursor-pointer"> <AddonsItem
<input inputId="streak-stats"
id="dev-dynamic-blogs" inputChecked={props.data.streakStats}
type="checkbox" onInputChange={() => props.handleCheckChange("streakStats")}
checked={props.data.devDynamicBlogs} Options={
onChange={event => props.handleCheckChange("devDynamicBlogs")} <CustomizeOptions
title="Customize Streak Stats Card"
CustomizationOptions={
<CustomizeStreakStats
prefix="streak-stats"
options={streakStatsOptions}
onUpdate={onStreakStatsUpdate}
/>
}
/> />
&nbsp; display latest dev.to blogs dynamically (GitHub Action) }
</label> >
</div> display github streak stats
<div className="py-2 flex justify-start items-center text-sm sm:text-lg"> </AddonsItem>
<label htmlFor="medium-dynamic-blogs" className="cursor-pointer"> <AddonsItem
<input inputId="twitter-badge"
id="medium-dynamic-blogs" inputChecked={props.data.twitterBadge}
type="checkbox" onInputChange={() => props.handleCheckChange("twitterBadge")}
checked={props.data.mediumDynamicBlogs} >
onChange={event => props.handleCheckChange("mediumDynamicBlogs")} display twitter badge
/> </AddonsItem>
&nbsp; display latest medium blogs dynamically (GitHub Action) <AddonsItem
</label> inputId="dev-dynamic-blogs"
</div> inputChecked={props.data.devDynamicBlogs}
<div className="py-2 flex justify-start items-center text-sm sm:text-lg"> onInputChange={() => props.handleCheckChange("devDynamicBlogs")}
<label htmlFor="rss-dynamic-blogs" className="cursor-pointer"> >
<input display latest dev.to blogs dynamically (GitHub Action)
id="rss-dynamic-blogs" </AddonsItem>
type="checkbox" <AddonsItem
checked={props.data.rssDynamicBlogs} inputId="medium-dynamic-blogs"
onChange={event => props.handleCheckChange("rssDynamicBlogs")} inputChecked={props.data.mediumDynamicBlogs}
/> onInputChange={() => props.handleCheckChange("mediumDynamicBlogs")}
&nbsp; display latest blogs from your personal blog dynamically >
(GitHub Action) display latest medium blogs dynamically (GitHub Action)
</label> </AddonsItem>
</div> <AddonsItem
inputId="rss-dynamic-blogs"
inputChecked={props.data.rssDynamicBlogs}
onInputChange={() => props.handleCheckChange("rssDynamicBlogs")}
>
display latest blogs from your personal blog dynamically (GitHub Action)
</AddonsItem>
{(props.data.devDynamicBlogs && props.social.dev) || {(props.data.devDynamicBlogs && props.social.dev) ||
(props.data.rssDynamicBlogs && props.social.rssurl) || (props.data.rssDynamicBlogs && props.social.rssurl) ||
@@ -113,7 +467,9 @@ const Addons = props => {
<div> <div>
download download
<span <span
id="blog-post-worklow-span"
onClick={blogPostPorkflow} onClick={blogPostPorkflow}
onKeyDown={e => e.keyCode === 13 && blogPostPorkflow()}
role="button" role="button"
tabIndex="0" tabIndex="0"
style={{ cursor: "pointer", color: "#002ead" }} style={{ cursor: "pointer", color: "#002ead" }}
+16 -6
View File
@@ -2,7 +2,9 @@ import React from "react"
const Donate = () => { const Donate = () => {
return ( return (
<> <>
<div className="text-center text-4xl my-2">Support 🙏</div> <div className="text-center text-4xl my-2">Support&nbsp;
<span role="img" aria-label="praying hand emoji">🙏</span>
</div>
<div className="flex flex-col sm:flex-row items-start justify-between"> <div className="flex flex-col sm:flex-row items-start justify-between">
<div className="w-full sm:w-2/3"> <div className="w-full sm:w-2/3">
<div className="text-2xl mb-2"> <div className="text-2xl mb-2">
@@ -28,12 +30,13 @@ const Donate = () => {
</div> </div>
</div> </div>
<div className="w-full sm:w-1/3 flex flex-col justify-center items-center"> <div className="w-full sm:w-1/3 flex flex-col justify-center items-center">
Tip💰 <span>Tip<span role="img" aria-label="Dollar medal">💰</span></span>
{/* Ko-Fi */} {/* Ko-Fi */}
<a <a
href="https://ko-fi.com/A0A81XXSX" href="https://ko-fi.com/A0A81XXSX"
className="flex items-center justify-evenly bg-red-500 text-white py-2 px-4 my-2" className="flex items-center justify-evenly bg-red-500 text-white py-2 px-4 my-2"
target="_blank" target="_blank"
rel="noreferrer"
> >
<img <img
className="w-6 h-6 mr-2" className="w-6 h-6 mr-2"
@@ -45,21 +48,28 @@ const Donate = () => {
{/* Paypal */} {/* Paypal */}
<a <a
href="https://www.paypal.me/rahuldkjain/10" href="https://www.paypal.me/rahuldkjain/10"
className="flex items-center justify-evenly bg-blue-500 text-white py-2 px-4 my-2" className="flex items-center justify-evenly bg-white-500 text-white py-2 px-4 my-2 border border-solid"
target="_blank" target="_blank"
rel="noreferrer"
> >
<img <img
className="w-6 h-6 mr-2" className="w-32 h-4"
src="https://cdn.worldvectorlogo.com/logos/paypal-icon.svg" src="https://cdn.worldvectorlogo.com/logos/paypal-2.svg"
alt="Donate rahuldkjain via paypal" alt="Donate rahuldkjain via paypal"
/> />
Paypal {/* <img
className="w-6 h-6 mr-2"
src="https://www.vectorlogo.zone/logos/paypal/paypal-ar21.svg"
alt="Donate rahuldkjain via paypal"
/>
Paypal */}
</a> </a>
{/* BuyMeACoffee */} {/* BuyMeACoffee */}
<a <a
href="https://www.buymeacoffee.com/rahuldkjain" href="https://www.buymeacoffee.com/rahuldkjain"
className="flex items-center justify-evenly bg-orange-500 text-white py-2 px-4 my-2" className="flex items-center justify-evenly bg-orange-500 text-white py-2 px-4 my-2"
target="_blank" target="_blank"
rel="noreferrer"
> >
<img <img
className="w-6 h-6 mr-2" className="w-6 h-6 mr-2"
+100 -14
View File
@@ -1,27 +1,113 @@
import React from "react" import React from "react"
import links from "../constants/page-links" import links from "../constants/page-links"
import logo from "../images/mdg.png"
import discord from "../images/Discord-Logo.png"
import { Link } from "gatsby" import { Link } from "gatsby"
const Footer = () => { const Footer = () => {
return ( return (
<div className="bg-gray-100 p-4 flex flex-col justify-center items-center shadow-inner mt-2"> <div className="bg-gray-100 p-4 flex flex-col justify-center items-center shadow-inner mt-2">
<div className="w-full flex justify-evenly items-center py-2 text-orange-500"> <div className="w-full flex flex-col sm:flex-row justify-evenly py-2">
<div> <div className="sm:ml-0 sm:mr-6 order-last sm:order-none flex">
<Link to={links.about} activeStyle={{ color: "#002ead" }}> <h1 className="text-base font-bold font-title text-xl sm:text-2xl mt-3 sm:mt-0">
About <div className="flex sm:flex-col items-start mb-3 sm:mb-0">
</Link> <img
src={logo}
className="hidden sm:block h-24"
alt="github profile markdown generator logo"
/>
<div className="mr-2 sm:mr-0">
GitHub Profile{" "}
<img
src={logo}
className="inline sm:hidden h-12"
alt="github profile markdown generator logo"
/>
<span className="block sm:inline">README Generator</span>
</div>
</div>
</h1>
</div>
<div className="text-xl sm:text-base font-light sm:font-normal">
<div className="font-title font-bold mb-4 sm:mb-2">
<strong>Pages</strong>
</div>
<div className="ml-2 sm:ml-0">
<Link to={links.addons} activeStyle={{ color: "#002ead" }}>
Addons
</Link>
</div>
<div className="ml-2 sm:ml-0">
<Link to={links.support} activeStyle={{ color: "#002ead" }}>
Support
</Link>
</div>
<div className="ml-2 sm:ml-0">
<Link to={links.about} activeStyle={{ color: "#002ead" }}>
About
</Link>
</div>
</div>
<div className="text-xl sm:text-base font-light sm:font-normal">
<div className="font-title font-bold my-4 sm:my-0 sm:mb-2">
<strong>More</strong>
</div>
<div className="ml-2 sm:ml-0">
<a
href="https://github.com/rahuldkjain/github-profile-readme-generator"
aria-label="Github rahuldkjain/github-profile-readme-generator"
target="blank"
>
Github
</a>
</div>
<div className="ml-2 sm:ml-0">
<a
href="https://github.com/rahuldkjain/github-profile-readme-generator/releases"
aria-label="Releases on Github rahuldkjain/github-profile-readme-generator"
target="blank"
>
Releases
</a>
</div>
<div className="ml-2 sm:ml-0">
<a
href="https://github.com/rahuldkjain/github-profile-readme-generator/issues"
aria-label="Issues in rahuldkjain/github-profile-readme-generator"
target="blank"
>
Issues
</a>
</div>
<div className="ml-2 sm:ml-0">
<a
href="https://github.com/rahuldkjain/github-profile-readme-generator/pulls"
aria-label="Pull Requests in rahuldkjain/github-profile-readme-generator"
target="blank"
>
Pull Requests
</a>
</div>
</div> </div>
<div> <div>
<Link to={links.addons} activeStyle={{ color: "#002ead" }}> <div className="font-title font-bold text-xl sm:text-base my-4 sm:my-0 sm:mb-2">
Addons <strong>Join Community</strong>
</Link> </div>
</div> <div className="ml-2 sm:ml-0">
<div> <a
<Link to={links.support} activeStyle={{ color: "#002ead" }}> href="https://discord.gg/HHMs7Eg"
Support aria-label="Discord of the community"
</Link> target="blank"
>
<img
src={discord}
className="h-12"
alt="Discord of the community"
/>
</a>
</div>
</div> </div>
</div> </div>
<div className="py-2"> <div className="py-2 mt-2">
Developed in India{" "} Developed in India{" "}
<span role="img" aria-label="india"> <span role="img" aria-label="india">
{" "} {" "}
+20 -8
View File
@@ -5,19 +5,31 @@ import links from "../constants/page-links"
import gsap from "gsap" import gsap from "gsap"
import axios from "axios" import axios from "axios"
import { Link } from "gatsby" import { Link } from "gatsby"
import { act } from "react-dom/test-utils"
const Header = props => { const Header = props => {
const shouldRequestStats = () => {
const isFirstRequest = stats.starsCount === 0
const isVisible = window.document.visibilityState === "visible"
const hasFocus = window.document.hasFocus()
return isFirstRequest || (isVisible && hasFocus)
}
const fetchData = async () => { const fetchData = async () => {
var response = await axios.get( if (shouldRequestStats()) {
"https://api.github.com/repos/rahuldkjain/github-profile-readme-generator" var response = await axios.get(
) "https://api.github.com/repos/rahuldkjain/github-profile-readme-generator"
)
const { stargazers_count, forks_count } = response.data const { stargazers_count, forks_count } = response.data
setstats({ act(() =>
starsCount: stargazers_count, setstats({
forksCount: forks_count, starsCount: stargazers_count,
}) forksCount: forks_count,
})
)
}
} }
const [stats, setstats] = useState({ const [stats, setstats] = useState({
+333 -199
View File
@@ -1,202 +1,286 @@
import React from "react" import React from "react"
import { isMediumUsernameValid } from "../utils/validation" import { isMediumUsernameValid } from "../utils/validation"
import { icons, skills, skillWebsites } from "../constants/skills" import { icons, skills, skillWebsites } from "../constants/skills"
import {
const Markdown = props => { githubStatsLinkGenerator,
const Title = props => { topLanguagesLinkGenerator,
if (props.prefix && props.title) { streakStatsLinkGenerator,
return ( } from "../utils/link-generators"
<> const Title = props => {
{`<h1 align="center">${props.prefix + " " + props.title}</h1>`} if (props.prefix && props.title) {
<br />
</>
)
}
return ""
}
const SubTitle = props => {
if (props.subtitle) {
return (
<>
{`<h3 align="center">${props.subtitle}</h3>`}
<br />
<br />
</>
)
}
return ""
}
const SectionTitle = props => {
if (props.label) {
return (
<>
{`<h3 align="left">${props.label}</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="30" width="40" /></a>`}
<br />
</>
)
}
return ""
}
const VisitorsBadge = props => {
let link = "https://komarev.com/ghpvc/?username=" + 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>&nbsp;<img align="center" src="${link}" alt="${props.github}" /></p>`}
<br />
<br />
</>
)
}
return ""
}
const isSocial = social => {
return ( return (
social.dev || <>
social.twitter || {`<h1 align="center">${props.prefix + " " + props.title}</h1>`}
social.codepen || <br />
social.codesandbox || </>
social.stackoverflow ||
social.linkedin ||
social.kaggle ||
social.instagram ||
social.fb ||
social.dribbble ||
social.behance ||
social.medium ||
social.youtube ||
social.codechef ||
social.hackerrank ||
social.codeforces ||
social.leetcode ||
social.topcoder ||
social.hackerearth ||
social.geeks_for_geeks ||
social.rssurl
) )
} }
const DisplaySkills = props => { return ""
const listChosenSkills = [] }
skills.forEach(skill => { const SubTitle = props => {
if (props.skills[skill]) { if (props.subtitle) {
listChosenSkills.push( return (
`
<a href="${skillWebsites[skill]}" target="_blank">
<img src="${icons[skill]}" alt="${skill}" width="40" height="40"/>
</a>
`
)
}
})
return listChosenSkills.length > 0 ? (
<> <>
<SectionTitle label="Languages and Tools:" /> {`<h3 align="center">${props.subtitle}</h3>`}
{`<p align="left">${listChosenSkills.join(" ")}</p>`}
<br /> <br />
<br /> <br />
</> </>
) : (
""
) )
} }
const DisplayDynamicBlogs = props => { return ""
if (props.show) { }
const SectionTitle = props => {
if (props.label) {
return (
<>
{`<h3 align="left">${props.label}</h3>`}
<br />
</>
)
}
return ""
}
const DisplayWork = props => {
if (props.prefix && props.project) {
if (props.link) {
return ( return (
<> <>
{`### Blogs posts`} {`- ${props.prefix} [${props.project}](${props.link})`}
<br /> <br />
{`<!-- BLOG-POST-LIST:START -->`}
<br /> <br />
{`<!-- BLOG-POST-LIST:END -->`}
<br /> <br />
</> </>
) )
} } else {
return ""
}
const DisplayTopLanguages = props => {
let link =
"https://github-readme-stats.vercel.app/api/top-langs/?username=" +
props.github +
"&layout=compact"
if (props.show) {
if (!props.showStats) {
return (
<>
{`<p><img align="center" src="${link}" alt="${props.github}" /></p>`}
<br />
<br />
</>
)
}
return ( return (
<> <>
{`<p><img align="left" src="${link}" alt="${props.github}" /></p>`} {`- ${props.prefix} **${props.project}**`}
<br /> <br />
<br /> <br />
</> </>
) )
} }
return ""
} }
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="30" width="40" /></a>`}
<br />
</>
)
}
return ""
}
const VisitorsBadge = props => {
let link =
"https://komarev.com/ghpvc/?username=" +
props.github +
`&label=${props.badgeOptions.badgeLabel}` +
`&color=${props.badgeOptions.badgeColor}` +
`&style=${props.badgeOptions.badgeStyle}`
if (props.show) {
return (
<>
{`<p align="left"> <img src="${link}" alt="${props.github}" /> </p>`}
<br />
<br />
</>
)
}
return ""
}
const TwitterBadge = props => {
let link =
"https://img.shields.io/twitter/follow/" +
props.twitter +
"?logo=twitter&style=for-the-badge"
if (props.show) {
return (
<>
{`<p align="left"> <a href="${props.base}/${props.twitter}" target="blank"><img src="${link}" alt="${props.twitter}" /></a> </p>`}
<br />
<br />
</>
)
}
return ""
}
const GithubProfileTrophy = props => {
let link =
"https://github-profile-trophy.vercel.app/?username=" + props.github
if (props.show) {
return (
<>
{`<p align="left"> <a href="https://github.com/ryo-ma/github-profile-trophy"><img src="${link}" alt="${props.github}" /></a> </p>`}
<br />
<br />
</>
)
}
return ""
}
const GitHubStats = ({ show, github, options }) => {
if (show) {
return (
<>
{`<p>&nbsp;<img align="center" src="${githubStatsLinkGenerator({
github: github,
options,
})}" alt="${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 ||
social.dribbble ||
social.behance ||
social.medium ||
social.youtube ||
social.codechef ||
social.hackerrank ||
social.codeforces ||
social.leetcode ||
social.topcoder ||
social.hackerearth ||
social.geeks_for_geeks ||
social.discord ||
social.rssurl
)
}
const DisplaySkills = props => {
const listChosenSkills = []
skills.forEach(skill => {
if (props.skills[skill]) {
listChosenSkills.push(
`
<a href="${skillWebsites[skill]}" target="_blank" rel="noreferrer">
<img src="${icons[skill]}" alt="${skill}" width="40" height="40"/>
</a>
`
)
}
})
return listChosenSkills.length > 0 ? (
<>
<SectionTitle label="Languages and Tools:" />
{`<p align="left">${listChosenSkills.join(" ")}</p>`}
<br />
<br />
</>
) : (
""
)
}
const DisplayDynamicBlogs = props => {
if (props.show) {
return (
<>
{`### Blogs posts`}
<br />
{`<!-- BLOG-POST-LIST:START -->`}
<br />
{`<!-- BLOG-POST-LIST:END -->`}
<br /> <br />
</>
)
}
return ""
}
const DisplayTopLanguages = props => {
if (props.show) {
if (!props.showStats) {
return (
<>
{`<p><img align="center" src="${topLanguagesLinkGenerator({
github: props.github,
options: props.options,
})}" alt="${props.github}" /></p>`}
<br />
<br />
</>
)
}
return (
<>
{`<p><img align="left" src="${topLanguagesLinkGenerator({
github: props.github,
options: props.options,
})}" alt="${props.github}" /></p>`}
<br />
<br />
</>
)
}
return ""
}
const DisplayStreakStats = props => {
if (props.show) {
return (
<>
{`<p><img align="center" src="${streakStatsLinkGenerator({
github: props.github,
options: props.options,
})}" alt="${props.github}" /></p>`}
<br />
<br />
</>
)
}
return ""
}
const DisplaySupport = props => {
let viewSupport = false
Object.keys(props.support).forEach(key => {
if (props.support[key]) {
viewSupport = true
}
})
return viewSupport ? (
<div>
<SectionTitle label="Support:" />
{`<p>`}
{props.support.buyMeACoffee &&
`<a href="https://www.buymeacoffee.com/${props.support.buyMeACoffee}">
<img align="left" src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" height="50" width="210" alt="${props.support.buyMeACoffee}" /></a>`}
{props.support.buyMeAKofi &&
`<a href="https://ko-fi.com/${props.support.buyMeAKofi}">
<img align="left" src="https://cdn.ko-fi.com/cdn/kofi3.png?v=3" height="50" width="210" alt="${props.support.buyMeAKofi}" /></a>`}
{`</p><br><br>`}
<br />
<br />
</div>
) : (
""
)
}
const Markdown = props => {
const icon_base_url =
"https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/"
return ( return (
<div id="markdown-content" className="break-words"> <div id="markdown-content" className="break-words">
<> <>
@@ -209,6 +293,22 @@ const Markdown = props => {
<VisitorsBadge <VisitorsBadge
show={props.data.visitorsBadge} show={props.data.visitorsBadge}
github={props.social.github} github={props.social.github}
badgeOptions={{
badgeLabel: encodeURI(props.data.badgeLabel),
badgeColor: props.data.badgeColor,
badgeStyle: props.data.badgeStyle,
}}
/>
</>
<>
<GithubProfileTrophy
show={props.data.githubProfileTrophy}
github={props.social.github}
/>
<TwitterBadge
base="https://twitter.com"
show={props.data.twitterBadge}
twitter={props.social.twitter}
/> />
</> </>
<> <>
@@ -256,6 +356,9 @@ const Markdown = props => {
project={props.data.contact} project={props.data.contact}
/> />
</> </>
<>
<DisplayWork prefix={props.prefix.resume} link={props.link.resume} />
</>
<> <>
<DisplayWork <DisplayWork
prefix={props.prefix.funFact} prefix={props.prefix.funFact}
@@ -273,98 +376,103 @@ const Markdown = props => {
} }
/> />
</> </>
{isSocial(props.social) ? `<p align="left">` : ""} <br /> {isSocial(props.social) ? (
<> <>
<SectionTitle label="Connect with me:" /> <SectionTitle label="Connect with me:" />
</> {`<p align="left">`}
</>
) : (
""
)}
<br />
<> <>
<DisplaySocial <DisplaySocial
base="https://codepen.io" base="https://codepen.io"
icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/codepen.svg" icon={icon_base_url + "codepen.svg"}
username={props.social.codepen} username={props.social.codepen}
/> />
</> </>
<> <>
<DisplaySocial <DisplaySocial
base="https://dev.to" base="https://dev.to"
icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/dev-dot-to.svg" icon={icon_base_url + "devto.svg"}
username={props.social.dev} username={props.social.dev}
/> />
</> </>
<> <>
<DisplaySocial <DisplaySocial
base="https://twitter.com" base="https://twitter.com"
icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/twitter.svg" icon={icon_base_url + "twitter.svg"}
username={props.social.twitter} username={props.social.twitter}
/> />
</> </>
<> <>
<DisplaySocial <DisplaySocial
base="https://linkedin.com/in" base="https://linkedin.com/in"
icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/linkedin.svg" icon={icon_base_url + "linked-in-alt.svg"}
username={props.social.linkedin} username={props.social.linkedin}
/> />
</> </>
<> <>
<DisplaySocial <DisplaySocial
base="https://stackoverflow.com/users" base="https://stackoverflow.com/users"
icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/stackoverflow.svg" icon={icon_base_url + "stack-overflow.svg"}
username={props.social.stackoverflow} username={props.social.stackoverflow}
/> />
</> </>
<> <>
<DisplaySocial <DisplaySocial
base="https://codesandbox.com" base="https://codesandbox.com"
icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/codesandbox.svg" icon={icon_base_url + "codesandbox.svg"}
username={props.social.codesandbox} username={props.social.codesandbox}
/> />
</> </>
<> <>
<DisplaySocial <DisplaySocial
base="https://kaggle.com" base="https://kaggle.com"
icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/kaggle.svg" icon={icon_base_url + "kaggle.svg"}
username={props.social.kaggle} username={props.social.kaggle}
/> />
</> </>
<> <>
<DisplaySocial <DisplaySocial
base="https://fb.com" base="https://fb.com"
icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/facebook.svg" icon={icon_base_url + "facebook.svg"}
username={props.social.fb} username={props.social.fb}
/> />
</> </>
<> <>
<DisplaySocial <DisplaySocial
base="https://instagram.com" base="https://instagram.com"
icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/instagram.svg" icon={icon_base_url + "instagram.svg"}
username={props.social.instagram} username={props.social.instagram}
/> />
</> </>
<> <>
<DisplaySocial <DisplaySocial
base="https://dribbble.com" base="https://dribbble.com"
icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/dribbble.svg" icon={icon_base_url + "dribbble.svg"}
username={props.social.dribbble} username={props.social.dribbble}
/> />
</> </>
<> <>
<DisplaySocial <DisplaySocial
base="https://www.behance.net" base="https://www.behance.net"
icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/behance.svg" icon={icon_base_url + "behance.svg"}
username={props.social.behance} username={props.social.behance}
/> />
</> </>
<> <>
<DisplaySocial <DisplaySocial
base="https://medium.com" base="https://medium.com"
icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/medium.svg" icon={icon_base_url + "medium.svg"}
username={props.social.medium} username={props.social.medium}
/> />
</> </>
<> <>
<DisplaySocial <DisplaySocial
base="https://www.youtube.com/c" base="https://www.youtube.com/c"
icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/youtube.svg" icon={icon_base_url + "youtube.svg"}
username={props.social.youtube} username={props.social.youtube}
/> />
</> </>
@@ -378,71 +486,97 @@ const Markdown = props => {
<> <>
<DisplaySocial <DisplaySocial
base="https://www.hackerrank.com" base="https://www.hackerrank.com"
icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/hackerrank.svg" icon={icon_base_url + "hackerrank.svg"}
username={props.social.hackerrank} username={props.social.hackerrank}
/> />
</> </>
<> <>
<DisplaySocial <DisplaySocial
base="https://codeforces.com/profile" base="https://codeforces.com/profile"
icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/codeforces.svg" icon={icon_base_url + "codeforces.svg"}
username={props.social.codeforces} username={props.social.codeforces}
/> />
</> </>
<> <>
<DisplaySocial <DisplaySocial
base="https://www.leetcode.com" base="https://www.leetcode.com"
icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/leetcode.svg" icon={icon_base_url + "leet-code.svg"}
username={props.social.leetcode} username={props.social.leetcode}
/> />
</> </>
<> <>
<DisplaySocial <DisplaySocial
base="https://www.hackerearth.com" base="https://www.hackerearth.com"
icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/hackerearth.svg" icon={icon_base_url + "hackerearth.svg"}
username={props.social.hackerearth} username={props.social.hackerearth}
/> />
</> </>
<> <>
<DisplaySocial <DisplaySocial
base="https://auth.geeksforgeeks.org/user" base="https://auth.geeksforgeeks.org/user"
icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/geeksforgeeks.svg" icon={icon_base_url + "geeks-for-geeks.svg"}
username={props.social.geeks_for_geeks} username={props.social.geeks_for_geeks}
/> />
</> </>
<> <>
<DisplaySocial <DisplaySocial
base="https://www.topcoder.com/members" base="https://www.topcoder.com/members"
icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/topcoder.svg" icon={icon_base_url + "topcoder.svg"}
username={props.social.topcoder} username={props.social.topcoder}
/> />
</> </>
<>
<DisplaySocial
base="https://discord.gg"
icon={icon_base_url + "discord.svg"}
username={props.social.discord}
/>
</>
<> <>
<DisplaySocial <DisplaySocial
base="" base=""
icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/rss.svg" icon={icon_base_url + "rss.svg"}
username={props.social.rssurl} username={props.social.rssurl}
/> />
</> </>
{isSocial(props.social) ? <>{`</p>`}<br/><br/></> : ""} {isSocial(props.social) ? (
<>
{`</p>`}
<br />
<br />
</>
) : (
""
)}
<> <>
<DisplaySkills skills={props.skills} /> <DisplaySkills skills={props.skills} />
</> </>
<>
<DisplaySupport support={props.support} />
</>
<> <>
<DisplayTopLanguages <DisplayTopLanguages
show={props.data.topLanguages} show={props.data.topLanguages}
showStats={props.data.githubStats} showStats={props.data.githubStats}
github={props.social.github} github={props.social.github}
options={props.data.topLanguagesOptions}
/> />
</> </>
<> <>
<GitHubStats <GitHubStats
show={props.data.githubStats} show={props.data.githubStats}
github={props.social.github} github={props.social.github}
options={props.data.githubStatsOptions}
/>
</>
<>
<DisplayStreakStats
show={props.data.streakStats}
github={props.social.github}
options={props.data.streakStatsOptions}
/> />
</> </>
</div> </div>
) )
} }
export default Markdown export default Markdown
+450 -262
View File
@@ -1,54 +1,40 @@
import React from "react" import React from "react"
import { icons, skills, skillWebsites } from "../constants/skills" import { icons, skills, skillWebsites } from "../constants/skills"
import {
githubStatsLinkGenerator,
topLanguagesLinkGenerator,
streakStatsLinkGenerator,
} from "../utils/link-generators"
const MarkdownPreview = props => { export const TitlePreview = props => {
const TitlePreview = props => { if (props.prefix && props.title) {
if (props.prefix && props.title) { return (
return ( <h1 className="text-center text-xl font-bold">
<h1 className="text-center text-xl font-bold"> {props.prefix + " " + props.title}
{props.prefix + " " + props.title} </h1>
</h1> )
)
}
return null
} }
const SubTitlePreview = props => { return null
if (props.subtitle) { }
return <h3 className="text-center font-medium">{props.subtitle}</h3>
} export const SubTitlePreview = props => {
return null if (props.subtitle) {
return <h3 className="text-center font-medium">{props.subtitle}</h3>
} }
const SectionTitle = props => { return null
if (props.label) { }
return <h3 className="w-full text-lg sm:text-xl">{props.label}</h3>
} export const SectionTitle = props => {
return null if (!props.visible) return null
else if (props.label) {
return <h3 className="w-full text-lg sm:text-xl">{props.label}</h3>
} }
const DisplayWork = props => { return null
if (props.prefix && props.project) { }
if (props.link) {
return ( export const DisplayWork = props => {
<div className="my-2"> if (props.prefix && props.project) {
{props.prefix + " "} if (props.link) {
<a
href={props.link}
className="no-underline text-blue-700"
target="blank"
>
{props.project}
</a>
</div>
)
} else {
return (
<div className="my-2">
{props.prefix + " "}
<b>{props.project}</b>
</div>
)
}
}
if (props.prefix && props.link) {
return ( return (
<div className="my-2"> <div className="my-2">
{props.prefix + " "} {props.prefix + " "}
@@ -57,235 +43,416 @@ const MarkdownPreview = props => {
className="no-underline text-blue-700" className="no-underline text-blue-700"
target="blank" target="blank"
> >
{props.link} {props.project}
</a> </a>
</div> </div>
) )
} } else {
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.currentLearn} project={data.currentLearn} />
<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 ( return (
<div className="my-2">
{props.prefix + " "}
<b>{props.project}</b>
</div>
)
}
}
if (props.prefix && props.link) {
return (
<div className="my-2">
{props.prefix + " "}
<a <a
className="no-underline text-blue-700 m-2" href={props.link}
href={props.base + "/" + props.username} className="no-underline text-blue-700"
target="blank" target="blank"
> >
<img className="w-6 h-6" src={props.icon} alt="props.username" /> {props.link}
</a>
</div>
)
}
return null
}
export 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.currentLearn} project={data.currentLearn} />
<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.resume} link={link.resume} />
<DisplayWork prefix={prefix.contact} project={data.contact} />
<DisplayWork prefix={prefix.funFact} project={data.funFact} />
</>
)
}
export const DisplaySocial = props => {
if (props.username) {
return (
<a
className="no-underline text-blue-700 m-2"
href={props.base + "/" + props.username}
target="blank"
>
<img className="w-6 h-6" src={props.icon} alt="props.username" />
</a>
)
}
return null
}
export const SocialPreview = props => {
let viewSocial = false
const icon_base_url =
"https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/"
Object.keys(props.social).forEach(key => {
if (props.social[key] && key !== "github") viewSocial = true
})
return (
<div className="flex justify-start items-end flex-wrap">
<SectionTitle label="Connect with me:" visible={viewSocial} />
<>
<DisplaySocial
base="https://codepen.io"
icon={icon_base_url + "codepen.svg"}
username={props.social.codepen}
/>
</>
<>
<DisplaySocial
base="https://dev.to"
icon={icon_base_url + "devto.svg"}
username={props.social.dev}
/>
</>
<>
<DisplaySocial
base="https://twitter.com"
icon={icon_base_url + "twitter.svg"}
username={props.social.twitter}
/>
</>
<>
<DisplaySocial
base="https://linkedin.com/in"
icon={icon_base_url + "linked-in-alt.svg"}
username={props.social.linkedin}
/>
</>
<>
<DisplaySocial
base="https://stackoverflow.com/users"
icon={icon_base_url + "stack-overflow.svg"}
username={props.social.stackoverflow}
/>
</>
<>
<DisplaySocial
base="https://codesandbox.com"
icon={icon_base_url + "codesandbox.svg"}
username={props.social.codesandbox}
/>
</>
<>
<DisplaySocial
base="https://kaggle.com"
icon={icon_base_url + "kaggle.svg"}
username={props.social.kaggle}
/>
</>
<>
<DisplaySocial
base="https://fb.com"
icon={icon_base_url + "facebook.svg"}
username={props.social.fb}
/>
</>
<>
<DisplaySocial
base="https://instagram.com"
icon={icon_base_url + "instagram.svg"}
username={props.social.instagram}
/>
</>
<>
<DisplaySocial
base="https://dribbble.com"
icon={icon_base_url + "dribbble.svg"}
username={props.social.dribbble}
/>
</>
<>
<DisplaySocial
base="https://www.behance.net"
icon={icon_base_url + "behance.svg"}
username={props.social.behance}
/>
</>
<>
<DisplaySocial
base="https://medium.com"
icon={icon_base_url + "medium.svg"}
username={props.social.medium}
/>
</>
<>
<DisplaySocial
base="https://www.youtube.com/c"
icon={icon_base_url + "youtube.svg"}
username={props.social.youtube}
/>
</>
<>
<DisplaySocial
base="https://www.codechef.com/users"
icon="https://cdn.jsdelivr.net/npm/simple-icons@3.1.0/icons/codechef.svg"
username={props.social.codechef}
/>
</>
<>
<DisplaySocial
base="https://www.hackerrank.com"
icon={icon_base_url + "hackerrank.svg"}
username={props.social.hackerrank}
/>
</>
<>
<DisplaySocial
base="https://codeforces.com/profile"
icon={icon_base_url + "codeforces.svg"}
username={props.social.codeforces}
/>
</>
<>
<DisplaySocial
base="https://www.leetcode.com"
icon={icon_base_url + "leet-code.svg"}
username={props.social.leetcode}
/>
</>
<>
<DisplaySocial
base="https://www.hackerearth.com"
icon={icon_base_url + "hackerearth.svg"}
username={props.social.hackerearth}
/>
</>
<>
<DisplaySocial
base="https://auth.geeksforgeeks.org/user"
icon={icon_base_url + "geeks-for-geeks.svg"}
username={props.social.geeks_for_geeks}
/>
</>
<>
<DisplaySocial
base="https://www.topcoder.com/members"
icon={icon_base_url + "topcoder.svg"}
username={props.social.topcoder}
/>
</>
<>
<DisplaySocial
base="https://discord.gg"
icon={icon_base_url + "discord.svg"}
username={props.social.discord}
/>
</>
<>
<DisplaySocial
base=""
icon={icon_base_url + "rss.svg"}
username={props.social.rssurl}
/>
</>
</div>
)
}
export const VisitorsBadgePreview = props => {
let link =
"https://komarev.com/ghpvc/?username=" +
props.github +
`&label=${props.badgeOptions.badgeLabel}` +
`&color=${props.badgeOptions.badgeColor}` +
`&style=${props.badgeOptions.badgeStyle}`
if (props.show) {
return (
<div className="text-left my-2">
{" "}
<img className="h-4 sm:h-6" src={link} alt={props.github} />{" "}
</div>
)
}
return null
}
export const TwitterBadgePreview = props => {
let link =
"https://img.shields.io/twitter/follow/" +
props.twitter +
"?logo=twitter&style=for-the-badge"
if (props.show) {
return (
<div className="text-left my-2">
{" "}
<a
href="https://twitter.com/${props.twitter}"
target="_blank"
rel="noreferrer"
>
<img className="h-4 sm:h-6" src={link} alt={props.twitter} />
</a>{" "}
</div>
)
}
return null
}
export const GithubProfileTrophyPreview = props => {
let link =
"https://github-profile-trophy.vercel.app/?username=" + props.github
if (props.show) {
return (
<div className="text-left my-2">
{" "}
<a href="https://github.com/ryo-ma/github-profile-trophy">
<img src={link} alt={props.github} />
</a>{" "}
</div>
)
}
return null
}
export const GitHubStatsPreview = ({ github, options, show }) => {
if (show) {
return (
<div className="text-center mx-4 mb-4">
<img src={githubStatsLinkGenerator({ github, options })} alt={github} />
</div>
)
}
return null
}
export const TopLanguagesPreview = ({ github, options, show }) => {
if (show) {
return (
<div className="text-center mx-4 mb-4">
<img
src={topLanguagesLinkGenerator({ github, options })}
alt={github}
/>
</div>
)
}
return <div className="text-center mx-4 mb-4"> &nbsp;</div>
}
export const StreakStatsPreview = ({ github, options, show }) => {
if (show) {
return (
<div className="text-center mx-4 mb-4">
<img src={streakStatsLinkGenerator({ github, options })} alt={github} />
</div>
)
}
return null
}
export const SkillsPreview = props => {
var listSkills = []
skills.forEach(skill => {
if (props.skills[skill]) {
listSkills.push(
<a
href={skillWebsites[skill]}
key={skill}
target="_blank"
rel="noreferrer"
>
<img
className="mb-4 mr-4 h-6 w-6 sm:h-10 sm:w-10"
src={icons[skill]}
alt={skill}
/>
</a> </a>
) )
} }
return null })
} return listSkills.length > 0 ? (
const SocialPreview = props => { <div className="flex flex-wrap justify-start items-center">
return ( <SectionTitle label="Languages and Tools:" visible={true} />
<div className="flex justify-start items-end flex-wrap"> {listSkills}
<SectionTitle label="Connect with me:" /> </div>
<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/users"
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}
/>
<DisplaySocial
base="https://dribbble.com"
icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/dribbble.svg"
username={props.social.dribbble}
/>
<DisplaySocial
base="https://www.behance.net"
icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/behance.svg"
username={props.social.behance}
/>
<DisplaySocial
base="https://medium.com"
icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/medium.svg"
username={props.social.medium}
/>
<DisplaySocial
base="https://www.youtube.com/c"
icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/youtube.svg"
username={props.social.youtube}
/>
<DisplaySocial export const SupportPreview = props => {
base="https://www.codechef.com/users" let viewSupport = false
icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/codechef.svg" Object.keys(props.support).forEach(key => {
username={props.social.codechef} if (props.support[key]) {
/> viewSupport = true
<DisplaySocial
base="https://codeforces.com/profile"
icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/codeforces.svg"
username={props.social.codeforces}
/>
<DisplaySocial
base="https://www.hackerrank.com"
icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/hackerrank.svg"
username={props.social.hackerrank}
/>
<DisplaySocial
base="https://auth.geeksforgeeks.org/user"
icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/geeksforgeeks.svg"
username={props.social.geeks_for_geeks}
/>
<DisplaySocial
base="https://www.hackerearth.com"
icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/hackerearth.svg"
username={props.social.hackerearth}
/>
<DisplaySocial
base="https://www.topcoder.com/members"
icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/topcoder.svg"
username={props.social.topcoder}
/>
<DisplaySocial
base="https://www.leetcode.com"
icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/leetcode.svg"
username={props.social.leetcode}
/>
<DisplaySocial
base=""
icon="https://cdn.jsdelivr.net/npm/simple-icons@3.0.1/icons/rss.svg"
username={props.social.rssurl}
/>
</div>
)
}
const VisitorsBadgePreview = props => {
let link = "https://komarev.com/ghpvc/?username=" + props.github
if (props.show) {
return (
<div className="text-left my-2">
{" "}
<img className="h-4 sm:h-6" src={link} alt={props.github} />{" "}
</div>
)
} }
return null })
} return props.support.buyMeACoffee || props.support.buyMeAKofi ? (
const GitHubStatsPreview = props => { <div className="flex flex-wrap justify-start items-center">
let link = <SectionTitle label="Support:" visible={viewSupport} />
"https://github-readme-stats.vercel.app/api?username=" + {props.support.buyMeACoffee && (
props.github + <a
"&show_icons=true" href={`https://www.buymeacoffee.com/` + props.support.buyMeACoffee}
if (props.show) { target="_blank"
return ( rel="noreferrer"
<div className="text-center mx-4 mb-4"> >
<img src={link} alt={props.github} /> <img
</div> src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png"
) alt="Buy Me A Coffee"
} className="mb-4 mr-4 w-36 h-8 sm:w-52 sm:h-12"
return null />
} </a>
const TopLanguagesPreview = props => { )}
let link = {props.support.buyMeAKofi && (
"https://github-readme-stats.vercel.app/api/top-langs/?username=" + <a
props.github + href={`https://ko-fi.com/` + props.support.buyMeAKofi}
"&layout=compact" target="_blank"
if (props.show) { rel="noreferrer"
return ( >
<div className="text-center mx-4 mb-4"> <img
<img src={link} alt={props.github} /> src="https://cdn.ko-fi.com/cdn/kofi3.png?v=3"
</div> alt="Buy Me A Ko-fi"
) className="mb-4 mr-4 w-36 h-8 sm:w-52 sm:h-12"
} />
return <div className="text-center mx-4 mb-4"> &nbsp;</div> </a>
} )}
const SkillsPreview = props => { </div>
var listSkills = [] ) : (
skills.forEach(skill => { ""
if (props.skills[skill]) { )
listSkills.push( }
<a href={skillWebsites[skill]} target="_blank">
<img const MarkdownPreview = props => {
className="mb-4 mr-4 h-6 w-6 sm:h-10 sm:w-10"
key={skill}
src={icons[skill]}
alt={skill}
/>
</a>
)
}
})
return listSkills.length > 0 ? (
<div className="flex flex-wrap justify-start items-center">
<SectionTitle label="Languages and Tools:" />
{listSkills}
</div>
) : (
""
)
}
return ( return (
<div id="markdown-preview"> <div id="markdown-preview">
<TitlePreview prefix={props.prefix.title} title={props.data.title} /> <TitlePreview prefix={props.prefix.title} title={props.data.title} />
@@ -293,18 +460,39 @@ const MarkdownPreview = props => {
<VisitorsBadgePreview <VisitorsBadgePreview
show={props.data.visitorsBadge} show={props.data.visitorsBadge}
github={props.social.github} github={props.social.github}
badgeOptions={{
badgeLabel: encodeURI(props.data.badgeLabel),
badgeColor: props.data.badgeColor,
badgeStyle: props.data.badgeStyle,
}}
/>
<GithubProfileTrophyPreview
show={props.data.githubProfileTrophy}
github={props.social.github}
/>
<TwitterBadgePreview
show={props.data.twitterBadge}
twitter={props.social.twitter}
/> />
<WorkPreview work={props} /> <WorkPreview work={props} />
<SocialPreview social={props.social} /> <SocialPreview social={props.social} />
<SkillsPreview skills={props.skills} /> <SkillsPreview skills={props.skills} />
<SupportPreview support={props.support} />
<div className="block sm:flex sm:justify-center sm:items-start"> <div className="block sm:flex sm:justify-center sm:items-start">
<TopLanguagesPreview <TopLanguagesPreview
show={props.data.topLanguages} show={props.data.topLanguages}
github={props.social.github} github={props.social.github}
options={props.data.topLanguagesOptions}
/> />
<GitHubStatsPreview <GitHubStatsPreview
show={props.data.githubStats} show={props.data.githubStats}
github={props.social.github} github={props.social.github}
options={props.data.githubStatsOptions}
/>
<StreakStatsPreview
show={props.data.streakStats}
github={props.social.github}
options={props.data.streakStatsOptions}
/> />
</div> </div>
</div> </div>
+73 -16
View File
@@ -1,20 +1,27 @@
import React from "react" import React, {useState} from "react"
import { icons, categorizedSkills } from "../constants/skills" import { icons, categorizedSkills } from "../constants/skills"
import { SearchIcon, XIcon } from "@primer/octicons-react";
const Skills = props => { const Skills = props => {
const [search, setSearch] = useState('')
const [debounce, setDebounce] = useState(undefined);
const inputRef = React.createRef()
const createSkill = skill => { const createSkill = skill => {
return ( return (
<div className="w-1/3 sm:w-1/4 my-6" key={skill}> <div className="w-1/3 sm:w-1/4 my-6" key={skill}>
<label <label
htmlFor={skill} htmlFor={skill}
className="skillCheckboxLabel cursor-pointer flex items-center justify-start" className="checkbox-label flex items-center justify-start"
> >
<input <input
id={skill} id={skill}
type="checkbox" type="checkbox"
className="checkbox-label__input"
checked={props.skills[skill]} checked={props.skills[skill]}
onChange={event => props.handleSkillsChange(skill)} onChange={event => props.handleSkillsChange(skill)}
/> />
<span class="checkbox-label__control" />
<img <img
className="ml-4 w-8 h-8 sm:w-10 sm:h-10" className="ml-4 w-8 h-8 sm:w-10 sm:h-10"
src={icons[skill]} src={icons[skill]}
@@ -22,28 +29,78 @@ const Skills = props => {
/> />
<span className="tooltiptext">{skill}</span> <span className="tooltiptext">{skill}</span>
</label> </label>
</div> </div>
) )
} }
return ( const onSearchChange = (value) => {
<div className="px-2 sm:px-6 mb-10"> const callback = () => {
<div className="text-xl sm:text-2xl font-bold font-title mt-2 mb-2"> setSearch(value)
Skills }
</div> clearTimeout(debounce)
setDebounce(setTimeout(callback, 50))
}
{Object.keys(categorizedSkills).map(key => ( return (
<div key={key}> <div className="px-2 sm:px-6 mb-10 ">
<h4 className="text-sm sm:text-xl text-gray-900 text-center"> <div className="text-xl sm:text-2xl font-bold font-title mt-2 mb-4 flex justify-between">
{categorizedSkills[key].title} Skills
</h4> <div className="relative flex">
<input
type="text"
onChange={(e) => onSearchChange(e.target.value)}
className="leading:none text-xs my-0 py-1 px-2 pr-8 sm:text-xl border-2 border-gray-900 focus:border-blue-700 placeholder-gray-700"
placeholder="Search Skills"
ref = {inputRef}
/>
<span className="absolute" style={{right:"10px"}}>
{(search !== '')
?<button className="focus:outline-none" onClick={() => {
setSearch('')
inputRef.current.value = ''
}
}>
<XIcon size={16} className="mb-1 transform scale-100 md:scale-125"/>
</button>
:<SearchIcon size={16} className="mb-1 transform scale-100 md:scale-125"/>
}
</span>
</div>
</div>
{Object.keys(categorizedSkills)
.filter(key => {
let filtered = categorizedSkills[key].skills.filter(skill => {
return skill.includes(search.toLowerCase())
})
return filtered.length !== 0
})
.map(key => (
<div key={key} className="divide-y divide-gray-500">
<div className="text-sm sm:text-xl text-gray-900 text-left py-1">
{categorizedSkills[key].title}
</div>
<div className="flex justify-start items-center flex-wrap w-full mb-6 pl-4 sm:pl-10"> <div className="flex justify-start items-center flex-wrap w-full mb-6 pl-4 sm:pl-10">
{categorizedSkills[key].skills.map(skill => createSkill(skill))} {categorizedSkills[key].skills
.filter(skill => {
return skill.includes(search.toLowerCase())
})
.map(skill => createSkill(skill))}
</div> </div>
</div> </div>
))} ))}
<span className="flex justify-center text-gray-900">
{(Object.keys(categorizedSkills)
.filter(key => {
let filtered = categorizedSkills[key].skills.filter(skill => {
return skill.includes(search.toLowerCase())
})
return filtered.length !== 0
})
.length === 0)?"No Results Found":""}
</span>
</div> </div>
) )
} }
export default Skills export default Skills
+14
View File
@@ -303,6 +303,20 @@ const Social = props => {
} }
/> />
</div> </div>
<div className="w-1/2 flex justify-center items-center text-xxs sm:text-lg py-4 pr-2 sm:pr-0">
<img
src="https://cdn.jsdelivr.net/npm/simple-icons@3.1.0/icons/discord.svg"
className="w-6 h-6 sm:w-8 sm:h-8 mr-1 sm:mr-4"
alt="discord"
/>
<input
id="discord"
placeholder="discord invite (only code)"
className="outline-none placeholder-gray-700 w-32 sm:w-1/2 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
value={props.social.discord}
onChange={event => props.handleSocialChange("discord", event)}
/>
</div>
<div className="w-1/2 flex justify-center items-center text-xxs sm:text-lg py-4 pr-2 sm:pr-0"> <div className="w-1/2 flex justify-center items-center text-xxs sm:text-lg py-4 pr-2 sm:pr-0">
<img <img
src="https://cdn.jsdelivr.net/npm/simple-icons@3.1.0/icons/rss.svg" src="https://cdn.jsdelivr.net/npm/simple-icons@3.1.0/icons/rss.svg"
+43
View File
@@ -0,0 +1,43 @@
import React from "react"
const Support = props => {
return (
<div className="px-2 sm:px-6 mb-4">
<div className="text-xl sm:text-2xl font-bold font-title mt-2 mb-2">
Support
</div>
<div className="flex flex-wrap justify-start items-center">
<div className="w-1/2 flex justify-start items-center text-xxs sm:text-lg py-4 pr-2 sm:pr-0">
<img
src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png"
className="w-36 h-8 sm:w-52 sm:h-12 mr-1 sm:mr-4"
alt="buymeacoffee"
/>
<input
id="buy-me-a-coffee"
placeholder="buymeacoffee username"
className="outline-none placeholder-gray-700 w-32 sm:w-1/2 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-1 focus:border-blue-700"
value={props.support.buyMeACoffee || ""}
onChange={event => props.handleSupportChange("buyMeACoffee", event)}
/>
</div>
<div className="w-1/2 flex justify-start items-center text-xxs sm:text-lg py-4 pr-2 sm:pr-0">
<img
src="https://cdn.ko-fi.com/cdn/kofi3.png?v=3"
className="w-36 h-8 sm:w-52 sm:h-12 mr-1 sm:mr-4"
alt="buymeakofi"
/>
<input
id="buy-me-a-kofi"
placeholder="Ko-fi username"
className="outline-none placeholder-gray-700 w-32 sm:w-1/2 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-1 sm:px-2 ml-2 sm:ml-0 focus:border-blue-700"
value={props.support.buyMeAKofi || ""}
onChange={event => props.handleSupportChange("buyMeAKofi", event)}
/>
</div>
</div>
</div>
)
}
export default Support
+16
View File
@@ -151,6 +151,22 @@ const Work = props => {
onChange={event => props.handleLinkChange("blog", event)} onChange={event => props.handleLinkChange("blog", event)}
/> />
</div> </div>
<div className="text-xs sm:text-lg flex flex-col sm:flex-row mb-10 justify-center sm:justify-start items-center sm:items-start w-full px-4 sm:px-0">
<input
id="resume-prefix"
className="outline-none mr-8 w-full sm:w-1/3 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
value={props.prefix.resume}
onChange={event => props.handlePrefixChange("resume", event)}
/>
<input
id="resume"
placeholder="resume link"
className="outline-none placeholder-gray-700 mr-8 sm:mr-0 text-blue-700 w-full sm:w-1/3 border-t-0 border-l-0 border-r-0 border solid border-gray-900 py-1 px-2 focus:border-blue-700"
value={props.link.resume}
onChange={event => props.handleLinkChange("resume", event)}
/>
</div>
<div className="text-xs sm:text-lg flex flex-col sm:flex-row mb-10 justify-center sm:justify-start items-center sm:items-start w-full px-4 sm:px-0"> <div className="text-xs sm:text-lg flex flex-col sm:flex-row mb-10 justify-center sm:justify-start items-center sm:items-start w-full px-4 sm:px-0">
<input <input
id="funFact-prefix" id="funFact-prefix"
+97
View File
@@ -0,0 +1,97 @@
export const DEFAULT_PREFIX = {
title: "Hi 👋, I'm",
currentWork: "🔭 Im currently working on",
currentLearn: "🌱 Im currently learning",
collaborateOn: "👯 Im looking to collaborate on",
helpWith: "🤝 Im looking for help with",
ama: "💬 Ask me about",
contact: "📫 How to reach me",
resume: "📄 Know about my experiences",
funFact: "⚡ Fun fact",
portfolio: "👨‍💻 All of my projects are available at",
blog: "📝 I regularly write articles on",
}
export const DEFAULT_DATA = {
title: "",
subtitle: "A passionate frontend developer from India",
currentWork: "",
currentLearn: "",
collaborateOn: "",
helpWith: "",
ama: "",
contact: "",
funFact: "",
twitterBadge: false,
visitorsBadge: false,
badgeStyle: "flat",
badgeColor: "0e75b6",
badgeLabel: "Profile views",
githubProfileTrophy: false,
githubStats: false,
githubStatsOptions: {
theme: "",
titleColor: "",
textColor: "",
bgColor: "",
hideBorder: false,
cacheSeconds: null,
locale: "en",
},
topLanguages: false,
topLanguagesOptions: {
theme: "",
titleColor: "",
textColor: "",
bgColor: "",
hideBorder: false,
cacheSeconds: null,
locale: "en",
},
streakStats: false,
streakStatsOptions: {
theme: "",
},
devDynamicBlogs: false,
mediumDynamicBlogs: false,
rssDynamicBlogs: false,
}
export const DEFAULT_LINK = {
currentWork: "",
collaborateOn: "",
helpWith: "",
portfolio: "",
blog: "",
resume: "",
}
export const DEFAULT_SOCIAL = {
github: "",
dev: "",
linkedin: "",
codepen: "",
stackoverflow: "",
kaggle: "",
codesandbox: "",
fb: "",
instagram: "",
twitter: "",
dribbble: "",
behance: "",
medium: "",
youtube: "",
codechef: "",
hackerrank: "",
codeforces: "",
leetcode: "",
topcoder: "",
hackerearth: "",
geeks_for_geeks: "",
discord: "",
rssurl: "",
}
export const DEFAULT_SUPPORT = {
buyMeACoffee: ""
}
+210 -70
View File
@@ -1,4 +1,3 @@
//const baseURL = 'https://devicons.github.io/devicon/devicon.git/icons/';
const categorizedSkills = { const categorizedSkills = {
language: { language: {
title: "Programming Languages", title: "Programming Languages",
@@ -11,6 +10,7 @@ const categorizedSkills = {
"javascript", "javascript",
"typescript", "typescript",
"php", "php",
"perl",
"ruby", "ruby",
"scala", "scala",
"python", "python",
@@ -19,6 +19,10 @@ const categorizedSkills = {
"clojure", "clojure",
"rust", "rust",
"haskell", "haskell",
"coffeescript",
"elixir",
"erlang",
"nim",
], ],
}, },
@@ -29,6 +33,7 @@ const categorizedSkills = {
"react", "react",
"svelte", "svelte",
"angularjs", "angularjs",
"angular",
"backbonejs", "backbonejs",
"bootstrap", "bootstrap",
"vuetify", "vuetify",
@@ -56,11 +61,14 @@ const categorizedSkills = {
"nodejs", "nodejs",
"spring", "spring",
"express", "express",
"graphql",
"kafka", "kafka",
"solr", "solr",
"rabbitMQ", "rabbitMQ",
"hadoop", "hadoop",
"nginx", "nginx",
"openresty",
"nestjs",
], ],
}, },
@@ -75,12 +83,20 @@ const categorizedSkills = {
"xamarin", "xamarin",
"reactnative", "reactnative",
"ionic", "ionic",
"apachecordova",
], ],
}, },
ai: { ai: {
title: "AI/ML", title: "AI/ML",
skills: ["tensorflow", "pytorch", "opencv", "scikit_learn"], skills: [
"tensorflow",
"pytorch",
"pandas",
"seaborn",
"opencv",
"scikit_learn",
],
}, },
database: { database: {
@@ -96,12 +112,16 @@ const categorizedSkills = {
"hive", "hive",
"realm", "realm",
"mariadb", "mariadb",
"cockroachdb",
"elasticsearch",
"sqlite",
"mssql",
], ],
}, },
data_visualization: { data_visualization: {
title: "Data Visualization", title: "Data Visualization",
skills: ["d3js", "chartjs", "canvasjs"], skills: ["d3js", "chartjs", "canvasjs", "kibana", "grafana"],
}, },
devops: { devops: {
@@ -115,12 +135,14 @@ const categorizedSkills = {
"bash", "bash",
"azure", "azure",
"vagrant", "vagrant",
"circleci",
"travisci",
], ],
}, },
baas: { baas: {
title: "Backend as a Service(BaaS)", title: "Backend as a Service(BaaS)",
skills: ["firebase", "amplify"], skills: ["firebase", "appwrite", "amplify", "heroku"],
}, },
framework: { framework: {
@@ -134,6 +156,7 @@ const categorizedSkills = {
"codeigniter", "codeigniter",
"rails", "rails",
"flask", "flask",
"quasar",
], ],
}, },
@@ -155,121 +178,159 @@ const categorizedSkills = {
skills: [ skills: [
"illustrator", "illustrator",
"photoshop", "photoshop",
"xd",
"figma", "figma",
"blender", "blender",
"sketch", "sketch",
"invision", "invision",
"framer", "framer",
"matlab",
"postman",
], ],
}, },
static_site_generator: { static_site_generator: {
title: "Static Site Generators", title: "Static Site Generators",
skills: ["gatsby", "gridsome", "hugo", "jekyll", "nextjs", "nuxtjs"], skills: [
"gatsby",
"gridsome",
"hugo",
"jekyll",
"nextjs",
"nuxtjs",
"11ty",
"scully",
"sculpin",
"sapper",
"vuepress",
"hexo",
"middleman",
],
},
game_engines: {
title: "Game Engines",
skills: ["unity", "unreal"],
},
automation: {
title: "Automation",
skills: ["zapier", "ifttt"],
}, },
other: { other: {
title: "Other", title: "Other",
skills: ["linux", "git"], skills: ["linux", "git", "arduino"],
}, },
} }
const icons = { const icons = {
vuejs: vuejs:
"https://devicons.github.io/devicon/devicon.git/icons/vuejs/vuejs-original-wordmark.svg", "https://raw.githubusercontent.com/devicons/devicon/master/icons/vuejs/vuejs-original-wordmark.svg",
react: react:
"https://devicons.github.io/devicon/devicon.git/icons/react/react-original-wordmark.svg", "https://raw.githubusercontent.com/devicons/devicon/master/icons/react/react-original-wordmark.svg",
angularjs: angularjs:
"https://devicons.github.io/devicon/devicon.git/icons/angularjs/angularjs-original.svg", "https://raw.githubusercontent.com/devicons/devicon/master/icons/angularjs/angularjs-original-wordmark.svg",
angular: "https://angular.io/assets/images/logos/angular/angular.svg",
aws: aws:
"https://devicons.github.io/devicon/devicon.git/icons/amazonwebservices/amazonwebservices-original-wordmark.svg", "https://raw.githubusercontent.com/devicons/devicon/master/icons/amazonwebservices/amazonwebservices-original-wordmark.svg",
android: android:
"https://devicons.github.io/devicon/devicon.git/icons/android/android-original-wordmark.svg", "https://raw.githubusercontent.com/devicons/devicon/master/icons/android/android-original-wordmark.svg",
arduino: "https://cdn.worldvectorlogo.com/logos/arduino-1.svg",
backbonejs: backbonejs:
"https://devicons.github.io/devicon/devicon.git/icons/backbonejs/backbonejs-original-wordmark.svg", "https://raw.githubusercontent.com/devicons/devicon/master/icons/backbonejs/backbonejs-original-wordmark.svg",
bootstrap: bootstrap:
"https://devicons.github.io/devicon/devicon.git/icons/bootstrap/bootstrap-plain.svg", "https://raw.githubusercontent.com/devicons/devicon/master/icons/bootstrap/bootstrap-plain-wordmark.svg",
c: "https://devicons.github.io/devicon/devicon.git/icons/c/c-original.svg", c:
"https://raw.githubusercontent.com/devicons/devicon/master/icons/c/c-original.svg",
canvasjs: canvasjs:
"https://raw.githubusercontent.com/Hardik0307/Hardik0307/master/assets/canvasjs-charts.svg", "https://raw.githubusercontent.com/Hardik0307/Hardik0307/master/assets/canvasjs-charts.svg",
coffeescript: coffeescript:
"https://devicons.github.io/devicon/devicon.git/icons/coffeescript/coffeescript-original-wordmark.svg", "https://raw.githubusercontent.com/devicons/devicon/master/icons/coffeescript/coffeescript-original-wordmark.svg",
codeigniter: "https://cdn.worldvectorlogo.com/logos/codeigniter.svg", codeigniter: "https://cdn.worldvectorlogo.com/logos/codeigniter.svg",
cplusplus: cplusplus:
"https://devicons.github.io/devicon/devicon.git/icons/cplusplus/cplusplus-original.svg", "https://raw.githubusercontent.com/devicons/devicon/master/icons/cplusplus/cplusplus-original.svg",
css3: css3:
"https://devicons.github.io/devicon/devicon.git/icons/css3/css3-original-wordmark.svg", "https://raw.githubusercontent.com/devicons/devicon/master/icons/css3/css3-original-wordmark.svg",
csharp: csharp:
"https://devicons.github.io/devicon/devicon.git/icons/csharp/csharp-original.svg", "https://raw.githubusercontent.com/devicons/devicon/master/icons/csharp/csharp-original.svg",
d3js: d3js:
"https://devicons.github.io/devicon/devicon.git/icons/d3js/d3js-original.svg", "https://raw.githubusercontent.com/devicons/devicon/master/icons/d3js/d3js-original.svg",
django: django:
"https://devicons.github.io/devicon/devicon.git/icons/django/django-original.svg", "https://raw.githubusercontent.com/devicons/devicon/master/icons/django/django-original.svg",
docker: docker:
"https://devicons.github.io/devicon/devicon.git/icons/docker/docker-original-wordmark.svg", "https://raw.githubusercontent.com/devicons/devicon/master/icons/docker/docker-original-wordmark.svg",
dotnet: dotnet:
"https://devicons.github.io/devicon/devicon.git/icons/dot-net/dot-net-original-wordmark.svg", "https://raw.githubusercontent.com/devicons/devicon/master/icons/dot-net/dot-net-original-wordmark.svg",
electron: electron:
"https://devicons.github.io/devicon/devicon.git/icons/electron/electron-original.svg", "https://raw.githubusercontent.com/devicons/devicon/master/icons/electron/electron-original.svg",
express: express:
"https://devicons.github.io/devicon/devicon.git/icons/express/express-original-wordmark.svg", "https://raw.githubusercontent.com/devicons/devicon/master/icons/express/express-original-wordmark.svg",
go: "https://devicons.github.io/devicon/devicon.git/icons/go/go-original.svg", go:
"https://raw.githubusercontent.com/devicons/devicon/master/icons/go/go-original.svg",
graphql: "https://www.vectorlogo.zone/logos/graphql/graphql-icon.svg",
gulp: gulp:
"https://devicons.github.io/devicon/devicon.git/icons/gulp/gulp-plain.svg", "https://raw.githubusercontent.com/devicons/devicon/master/icons/gulp/gulp-plain.svg",
html5: html5:
"https://devicons.github.io/devicon/devicon.git/icons/html5/html5-original-wordmark.svg", "https://raw.githubusercontent.com/devicons/devicon/master/icons/html5/html5-original-wordmark.svg",
hugo: "https://api.iconify.design/logos-hugo.svg", hugo: "https://api.iconify.design/logos-hugo.svg",
java: java:
"https://devicons.github.io/devicon/devicon.git/icons/java/java-original-wordmark.svg", "https://raw.githubusercontent.com/devicons/devicon/master/icons/java/java-original.svg",
javascript: javascript:
"https://devicons.github.io/devicon/devicon.git/icons/javascript/javascript-original.svg", "https://raw.githubusercontent.com/devicons/devicon/master/icons/javascript/javascript-original.svg",
ionic: "https://upload.wikimedia.org/wikipedia/commons/d/d1/Ionic_Logo.svg", ionic: "https://upload.wikimedia.org/wikipedia/commons/d/d1/Ionic_Logo.svg",
laravel: laravel:
"https://devicons.github.io/devicon/devicon.git/icons/laravel/laravel-plain-wordmark.svg", "https://raw.githubusercontent.com/devicons/devicon/master/icons/laravel/laravel-plain-wordmark.svg",
meteor: meteor:
"https://devicons.github.io/devicon/devicon.git/icons/meteor/meteor-original-wordmark.svg", "https://devicons.github.io/devicon/devicon.git/icons/meteor/meteor-original-wordmark.svg",
mongodb: mongodb:
"https://devicons.github.io/devicon/devicon.git/icons/mongodb/mongodb-original-wordmark.svg", "https://raw.githubusercontent.com/devicons/devicon/master/icons/mongodb/mongodb-original-wordmark.svg",
mysql: mysql:
"https://devicons.github.io/devicon/devicon.git/icons/mysql/mysql-original-wordmark.svg", "https://raw.githubusercontent.com/devicons/devicon/master/icons/mysql/mysql-original-wordmark.svg",
nestjs:
"https://raw.githubusercontent.com/devicons/devicon/master/icons/nestjs/nestjs-plain.svg",
nginx: nginx:
"https://devicons.github.io/devicon/devicon.git/icons/nginx/nginx-original.svg", "https://raw.githubusercontent.com/devicons/devicon/master/icons/nginx/nginx-original.svg",
nodejs: nodejs:
"https://devicons.github.io/devicon/devicon.git/icons/nodejs/nodejs-original-wordmark.svg", "https://raw.githubusercontent.com/devicons/devicon/master/icons/nodejs/nodejs-original-wordmark.svg",
openresty: "https://openresty.org/images/logo.png",
oracle: oracle:
"https://devicons.github.io/devicon/devicon.git/icons/oracle/oracle-original.svg", "https://raw.githubusercontent.com/devicons/devicon/master/icons/oracle/oracle-original.svg",
photoshop: photoshop:
"https://devicons.github.io/devicon/devicon.git/icons/photoshop/photoshop-plain.svg", "https://raw.githubusercontent.com/devicons/devicon/master/icons/photoshop/photoshop-line.svg",
xd: "https://cdn.worldvectorlogo.com/logos/adobe-xd.svg",
php: php:
"https://devicons.github.io/devicon/devicon.git/icons/php/php-original.svg", "https://raw.githubusercontent.com/devicons/devicon/master/icons/php/php-original.svg",
perl: "https://api.iconify.design/logos-perl.svg",
postgresql: postgresql:
"https://devicons.github.io/devicon/devicon.git/icons/postgresql/postgresql-original-wordmark.svg", "https://raw.githubusercontent.com/devicons/devicon/master/icons/postgresql/postgresql-original-wordmark.svg",
python: python:
"https://devicons.github.io/devicon/devicon.git/icons/python/python-original.svg", "https://raw.githubusercontent.com/devicons/devicon/master/icons/python/python-original.svg",
rails: rails:
"https://devicons.github.io/devicon/devicon.git/icons/rails/rails-original-wordmark.svg", "https://raw.githubusercontent.com/devicons/devicon/master/icons/rails/rails-original-wordmark.svg",
redis: redis:
"https://devicons.github.io/devicon/devicon.git/icons/redis/redis-original-wordmark.svg", "https://raw.githubusercontent.com/devicons/devicon/master/icons/redis/redis-original-wordmark.svg",
ruby: ruby:
"https://devicons.github.io/devicon/devicon.git/icons/ruby/ruby-original-wordmark.svg", "https://raw.githubusercontent.com/devicons/devicon/master/icons/ruby/ruby-original.svg",
rust: rust:
"https://devicons.github.io/devicon/devicon.git/icons/rust/rust-plain.svg", "https://raw.githubusercontent.com/devicons/devicon/master/icons/rust/rust-plain.svg",
sass: sass:
"https://devicons.github.io/devicon/devicon.git/icons/sass/sass-original.svg", "https://raw.githubusercontent.com/devicons/devicon/master/icons/sass/sass-original.svg",
scala: scala:
"https://devicons.github.io/devicon/devicon.git/icons/scala/scala-original-wordmark.svg", "https://raw.githubusercontent.com/devicons/devicon/master/icons/scala/scala-original.svg",
solidworks: "https://cdn.worldvectorlogo.com/logos/solidworks.svg",
symfony: "https://symfony.com/logos/symfony_black_03.svg", symfony: "https://symfony.com/logos/symfony_black_03.svg",
spring: "https://www.vectorlogo.zone/logos/springio/springio-icon.svg", spring: "https://www.vectorlogo.zone/logos/springio/springio-icon.svg",
swift: swift:
"https://devicons.github.io/devicon/devicon.git/icons/swift/swift-original-wordmark.svg", "https://raw.githubusercontent.com/devicons/devicon/master/icons/swift/swift-original.svg",
typescript: typescript:
"https://devicons.github.io/devicon/devicon.git/icons/typescript/typescript-original.svg", "https://raw.githubusercontent.com/devicons/devicon/master/icons/typescript/typescript-original.svg",
linux: linux:
"https://devicons.github.io/devicon/devicon.git/icons/linux/linux-original.svg", "https://raw.githubusercontent.com/devicons/devicon/master/icons/linux/linux-original.svg",
redux: redux:
"https://devicons.github.io/devicon/devicon.git/icons/redux/redux-original.svg", "https://raw.githubusercontent.com/devicons/devicon/master/icons/redux/redux-original.svg",
webpack: webpack:
"https://devicons.github.io/devicon/devicon.git/icons/webpack/webpack-original.svg", "https://raw.githubusercontent.com/devicons/devicon/d00d0969292a6569d45b06d3f350f463a0107b0d/icons/webpack/webpack-original-wordmark.svg",
flutter: "https://www.vectorlogo.zone/logos/flutterio/flutterio-icon.svg", flutter: "https://www.vectorlogo.zone/logos/flutterio/flutterio-icon.svg",
dart: "https://www.vectorlogo.zone/logos/dartlang/dartlang-icon.svg", dart: "https://www.vectorlogo.zone/logos/dartlang/dartlang-icon.svg",
kotlin: "https://www.vectorlogo.zone/logos/kotlinlang/kotlinlang-icon.svg", kotlin: "https://www.vectorlogo.zone/logos/kotlinlang/kotlinlang-icon.svg",
@@ -292,6 +353,9 @@ const icons = {
"https://www.vectorlogo.zone/logos/apache_hadoop/apache_hadoop-icon.svg", "https://www.vectorlogo.zone/logos/apache_hadoop/apache_hadoop-icon.svg",
bash: "https://www.vectorlogo.zone/logos/gnu_bash/gnu_bash-icon.svg", bash: "https://www.vectorlogo.zone/logos/gnu_bash/gnu_bash-icon.svg",
pytorch: "https://www.vectorlogo.zone/logos/pytorch/pytorch-icon.svg", pytorch: "https://www.vectorlogo.zone/logos/pytorch/pytorch-icon.svg",
pandas:
"https://raw.githubusercontent.com/devicons/devicon/2ae2a900d2f041da66e950e4d48052658d850630/icons/pandas/pandas-original.svg",
seaborn: "https://seaborn.pydata.org/_images/logo-mark-lightbg.svg",
opencv: "https://www.vectorlogo.zone/logos/opencv/opencv-icon.svg", opencv: "https://www.vectorlogo.zone/logos/opencv/opencv-icon.svg",
illustrator: illustrator:
"https://www.vectorlogo.zone/logos/adobe_illustrator/adobe_illustrator-icon.svg", "https://www.vectorlogo.zone/logos/adobe_illustrator/adobe_illustrator-icon.svg",
@@ -326,9 +390,10 @@ const icons = {
gridsome: "https://www.vectorlogo.zone/logos/gridsome/gridsome-icon.svg", gridsome: "https://www.vectorlogo.zone/logos/gridsome/gridsome-icon.svg",
nuxtjs: "https://www.vectorlogo.zone/logos/nuxtjs/nuxtjs-icon.svg", nuxtjs: "https://www.vectorlogo.zone/logos/nuxtjs/nuxtjs-icon.svg",
jekyll: "https://www.vectorlogo.zone/logos/jekyllrb/jekyllrb-icon.svg", jekyll: "https://www.vectorlogo.zone/logos/jekyllrb/jekyllrb-icon.svg",
nextjs: "https://cdn.worldvectorlogo.com/logos/nextjs-3.svg", nextjs: "https://cdn.worldvectorlogo.com/logos/nextjs-2.svg",
reactnative: "https://reactnative.dev/img/header_logo.svg", reactnative: "https://reactnative.dev/img/header_logo.svg",
mariadb: "https://www.vectorlogo.zone/logos/mariadb/mariadb-icon.svg", mariadb: "https://www.vectorlogo.zone/logos/mariadb/mariadb-icon.svg",
cockroachdb: "https://cdn.worldvectorlogo.com/logos/cockroachdb.svg",
objectivec: objectivec:
"https://www.vectorlogo.zone/logos/apple_objectivec/apple_objectivec-icon.svg", "https://www.vectorlogo.zone/logos/apple_objectivec/apple_objectivec-icon.svg",
clojure: clojure:
@@ -353,15 +418,54 @@ const icons = {
wx_widgets: wx_widgets:
"https://upload.wikimedia.org/wikipedia/commons/b/bb/WxWidgets.svg", "https://upload.wikimedia.org/wikipedia/commons/b/bb/WxWidgets.svg",
ember: ember:
"https://devicons.github.io/devicon/devicon.git/icons/ember/ember-original-wordmark.svg", "https://raw.githubusercontent.com/devicons/devicon/master/icons/ember/ember-original-wordmark.svg",
scikit_learn: scikit_learn:
"https://upload.wikimedia.org/wikipedia/commons/0/05/Scikit_learn_logo_small.svg", "https://upload.wikimedia.org/wikipedia/commons/0/05/Scikit_learn_logo_small.svg",
quasar: "https://cdn.quasar.dev/logo/svg/quasar-logo.svg",
kibana:
"https://www.vectorlogo.zone/logos/elasticco_kibana/elasticco_kibana-icon.svg",
grafana: "https://www.vectorlogo.zone/logos/grafana/grafana-icon.svg",
elasticsearch: "https://www.vectorlogo.zone/logos/elastic/elastic-icon.svg",
circleci: "https://www.vectorlogo.zone/logos/circleci/circleci-icon.svg",
scully:
"https://raw.githubusercontent.com/scullyio/scully/main/assets/logos/SVG/scullyio-icon.svg",
"11ty":
"https://gist.githubusercontent.com/vivek32ta/c7f7bf583c1fb1c58d89301ea40f37fd/raw/f4c85cce5790758286b8f155ef9a177710b995df/11ty.svg",
sculpin:
"https://gist.githubusercontent.com/vivek32ta/c7f7bf583c1fb1c58d89301ea40f37fd/raw/1782aef8672484698c0dd407f900c4a329ed5bc4/sculpin.svg",
sapper:
"https://raw.githubusercontent.com/bestofjs/bestofjs-webui/master/public/logos/sapper.svg",
vuepress:
"https://raw.githubusercontent.com/AliasIO/wappalyzer/master/src/drivers/webextension/images/icons/VuePress.svg",
unity: "https://www.vectorlogo.zone/logos/unity3d/unity3d-icon.svg",
unreal:
"https://raw.githubusercontent.com/kenangundogan/fontisto/036b7eca71aab1bef8e6a0518f7329f13ed62f6b/icons/svg/brand/unreal-engine.svg",
elixir: "https://www.vectorlogo.zone/logos/elixir-lang/elixir-lang-icon.svg",
heroku: "https://www.vectorlogo.zone/logos/heroku/heroku-icon.svg",
appwrite: "https://www.vectorlogo.zone/logos/appwriteio/appwriteio-icon.svg",
hexo: "https://www.vectorlogo.zone/logos/hexoio/hexoio-icon.svg",
travisci: "https://www.vectorlogo.zone/logos/travis-ci/travis-ci-icon.svg",
apachecordova:
"https://www.vectorlogo.zone/logos/apache_cordova/apache_cordova-icon.svg",
zapier: "https://www.vectorlogo.zone/logos/zapier/zapier-icon.svg",
ifttt: "https://www.vectorlogo.zone/logos/ifttt/ifttt-ar21.svg",
postman: "https://www.vectorlogo.zone/logos/getpostman/getpostman-icon.svg",
erlang: "https://www.vectorlogo.zone/logos/erlang/erlang-official.svg",
nim: "https://www.vectorlogo.zone/logos/nim-lang/nim-lang-icon.svg",
sqlite: "https://www.vectorlogo.zone/logos/sqlite/sqlite-icon.svg",
mssql: "https://www.svgrepo.com/show/303229/microsoft-sql-server-logo.svg",
middleman:
"https://raw.githubusercontent.com/leungwensen/svg-icon/b84b3f3a3da329b7c1d02346865f8e98beb05413/dist/svg/logos/middleman.svg",
matlab: "https://upload.wikimedia.org/wikipedia/commons/2/21/Matlab_Logo.png",
} }
const skillWebsites = { const skillWebsites = {
arduino: "https://www.arduino.cc/",
solidworks: "https://www.solidworks.com/",
vuejs: "https://vuejs.org/", vuejs: "https://vuejs.org/",
react: "https://reactjs.org/", react: "https://reactjs.org/",
angularjs: "https://angular.io", angularjs: "https://angular.io",
angular: "https://angular.io",
aws: "https://aws.amazon.com", aws: "https://aws.amazon.com",
android: "https://developer.android.com", android: "https://developer.android.com",
backbonejs: "https://backbonejs.org", backbonejs: "https://backbonejs.org",
@@ -380,6 +484,7 @@ const skillWebsites = {
electron: "https://www.electronjs.org", electron: "https://www.electronjs.org",
express: "https://expressjs.com", express: "https://expressjs.com",
go: "https://golang.org", go: "https://golang.org",
graphql: "https://graphql.org",
gulp: "https://gulpjs.com", gulp: "https://gulpjs.com",
html5: "https://www.w3.org/html/", html5: "https://www.w3.org/html/",
hugo: "https://gohugo.io/", hugo: "https://gohugo.io/",
@@ -387,14 +492,19 @@ const skillWebsites = {
javascript: "https://developer.mozilla.org/en-US/docs/Web/JavaScript", javascript: "https://developer.mozilla.org/en-US/docs/Web/JavaScript",
ionic: "https://ionicframework.com", ionic: "https://ionicframework.com",
laravel: "https://laravel.com/", laravel: "https://laravel.com/",
matlab: "https://www.mathworks.com/",
meteor: "https://www.meteor.com/", meteor: "https://www.meteor.com/",
mongodb: "https://www.mongodb.com/", mongodb: "https://www.mongodb.com/",
mysql: "https://www.mysql.com/", mysql: "https://www.mysql.com/",
nestjs: "https://nestjs.com/",
nginx: "https://www.nginx.com", nginx: "https://www.nginx.com",
nodejs: "https://nodejs.org", nodejs: "https://nodejs.org",
openresty: "https://openresty.org/",
oracle: "https://www.oracle.com/", oracle: "https://www.oracle.com/",
photoshop: "https://www.photoshop.com/en", photoshop: "https://www.photoshop.com/en",
xd: "https://www.adobe.com/products/xd.html",
php: "https://www.php.net", php: "https://www.php.net",
perl: "https://www.perl.org/",
postgresql: "https://www.postgresql.org", postgresql: "https://www.postgresql.org",
python: "https://www.python.org", python: "https://www.python.org",
rails: "https://rubyonrails.org", rails: "https://rubyonrails.org",
@@ -404,8 +514,8 @@ const skillWebsites = {
sass: "https://sass-lang.com", sass: "https://sass-lang.com",
scala: "https://www.scala-lang.org", scala: "https://www.scala-lang.org",
symfony: "https://symfony.com", symfony: "https://symfony.com",
spring: "", spring: "https://spring.io/",
swift: "", swift: "https://developer.apple.com/swift/",
typescript: "https://www.typescriptlang.org/", typescript: "https://www.typescriptlang.org/",
linux: "https://www.linux.org/", linux: "https://www.linux.org/",
redux: "https://redux.js.org", redux: "https://redux.js.org",
@@ -427,36 +537,40 @@ const skillWebsites = {
hadoop: "https://hadoop.apache.org/", hadoop: "https://hadoop.apache.org/",
bash: "https://www.gnu.org/software/bash/", bash: "https://www.gnu.org/software/bash/",
pytorch: "https://pytorch.org/", pytorch: "https://pytorch.org/",
pandas: "https://pandas.pydata.org/",
seaborn: "https://seaborn.pydata.org/",
opencv: "https://opencv.org/", opencv: "https://opencv.org/",
illustrator: "https://www.adobe.com/in/products/illustrator.html", illustrator: "https://www.adobe.com/in/products/illustrator.html",
figma: "https://www.figma.com/", figma: "https://www.figma.com/",
blender: "", blender: "https://www.blender.org/",
babel: "https://babeljs.io/", babel: "https://babeljs.io/",
sketch: "https://www.sketch.com/", sketch: "https://www.sketch.com/",
flask: "", flask: "https://flask.palletsprojects.com/",
nativescript: "https://nativescript.org/", nativescript: "https://nativescript.org/",
xamarin: "https://dotnet.microsoft.com/apps/xamarin", xamarin: "https://dotnet.microsoft.com/apps/xamarin",
vagrant: "", vagrant: "https://www.vagrantup.com/",
tailwind: "https://tailwindcss.com/", tailwind: "https://tailwindcss.com/",
materialize: "https://materializecss.com/", materialize: "https://materializecss.com/",
invision: "https://www.invisionapp.com/", invision: "https://www.invisionapp.com/",
framer: "", framer: "https://www.framer.com/",
bulma: "https://bulma.io/", bulma: "https://bulma.io/",
couchdb: "", couchdb: "https://couchdb.apache.org/",
firebase: "https://firebase.google.com/", firebase: "https://firebase.google.com/",
amplify: "https://aws.amazon.com/amplify/", amplify: "https://aws.amazon.com/amplify/",
hive: "", hive: "https://hive.apache.org/",
realm: "", realm: "https://realm.io/",
gatsby: "https://www.gatsbyjs.com/", gatsby: "https://www.gatsbyjs.com/",
gridsome: "", gridsome: "https://gridsome.org/",
nuxtjs: "https://nuxtjs.org/", nuxtjs: "https://nuxtjs.org/",
jekyll: "https://jekyllrb.com/", jekyll: "https://jekyllrb.com/",
nextjs: "https://nextjs.org/", nextjs: "https://nextjs.org/",
reactnative: "https://reactnative.dev/", reactnative: "https://reactnative.dev/",
mariadb: "https://mariadb.org/", mariadb: "https://mariadb.org/",
objectivec: "", cockroachdb: "https://www.cockroachlabs.com/product/cockroachdb/",
clojure: "", objectivec:
haskell: "", "https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html",
clojure: "https://clojure.org/",
haskell: "https://www.haskell.org/",
svelte: "https://svelte.dev", svelte: "https://svelte.dev",
vuetify: "https://vuetifyjs.com/en/", vuetify: "https://vuetifyjs.com/en/",
pug: "https://pugjs.org", pug: "https://pugjs.org",
@@ -467,11 +581,37 @@ const skillWebsites = {
puppeteer: "https://github.com/puppeteer/puppeteer", puppeteer: "https://github.com/puppeteer/puppeteer",
karma: "https://karma-runner.github.io/latest/index.html", karma: "https://karma-runner.github.io/latest/index.html",
jasmine: "https://jasmine.github.io/", jasmine: "https://jasmine.github.io/",
gtk: "", gtk: "https://www.gtk.org/",
qt: "", qt: "https://www.qt.io/",
wx_widgets: "", wx_widgets: "https://www.wxwidgets.org/",
ember: "", ember: "https://emberjs.com/",
scikit_learn: "", scikit_learn: "https://scikit-learn.org/",
quasar: "https://quasar.dev/",
kibana: "https://www.elastic.co/kibana",
grafana: "https://grafana.com",
elasticsearch: "https://www.elastic.co",
circleci: "https://circleci.com",
scully: "https://scully.io/",
sculpin: "https://sculpin.io/",
"11ty": "https://www.11ty.dev/",
sapper: "https://sapper.svelte.dev/",
vuepress: "https://vuepress.vuejs.org/",
unity: "https://unity.com/",
unreal: "https://unrealengine.com/",
hexo: "hexo.io/",
heroku: "https://heroku.com",
appwrite: "https://appwrite.io",
zapier: "https://zapier.com",
ifttt: "https://ifttt.com/",
elixir: "https://elixir-lang.org",
travisci: "https://travis-ci.org",
apachecordova: "https://cordova.apache.org/",
sqlite: "https://www.sqlite.org/",
mssql: "https://www.microsoft.com/en-us/sql-server",
postman: "https://postman.com",
erlang: "https://www.erlang.org/",
nim: "https://nim-lang.org/",
middleman: "https://middlemanapp.com/",
} }
const initialSkillState = {} const initialSkillState = {}
Binary file not shown.

After

Width:  |  Height:  |  Size: 395 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 419 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 968 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 48 48" height="64" width="64"><defs><path d="M-69.65 120.638a139.301 139.301 120 1 1 139.301 0L27.71 47.993a55.418 55.418 120 1 0-55.418 0z" id="A"/></defs><g transform="matrix(1.275322 0 0 1.275322 -38.047246 -14.965624)"><use transform="matrix(.063405 0 0 .063405 29.66229 12.95855)" y="140" x="298" xlink:href="#A" fill="#ff0101"/><use transform="matrix(-.063405 0 0 -.063405 87.614835 65.58504)" y="415" x="457" xlink:href="#A" fill="#0101ff"/><use transform="matrix(-.031703 -.054911 .054911 -.031703 20.379704 60.225737)" y="415" x="142" xlink:href="#A" fill="#01ff01"/></g></svg>

After

Width:  |  Height:  |  Size: 682 B

+13
View File
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
<style type="text/css">
.st0{fill:#EE4C2C;}
</style>
<g transform="matrix(2.21262 0 0 2.21262 -39.453867 -1.770085)">
<path class="st0" d="M35,7.2l-1.6,1.6c2.6,2.6,2.6,6.9,0,9.5c-2.6,2.6-6.9,2.6-9.5,0s-2.6-6.9,0-9.5l4.2-4.2L28.7,4V0.8l-6.4,6.4
c-3.5,3.5-3.5,9.1-0.1,12.6c0,0,0,0,0.1,0.1c3.5,3.5,9.1,3.5,12.6,0.1c0,0,0,0,0.1-0.1C38.6,16.3,38.6,10.6,35,7.2z"/>
<circle class="st0" cx="31.9" cy="5.5" r="1.2"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 770 B

+1
View File
@@ -0,0 +1 @@
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0" y="0" viewBox="0 0 48 48" xml:space="preserve"><style>.st2{fill:#010101}</style><g id="g3" transform="translate(-120.60861 -220.26017)"><path id="path5" d="M157.4 253.3c5.9-5.9 6.8-14.4 2.2-19.1-4.7-4.7-13.2-3.7-19.1 2.2-5.9 5.9-4.2 17.1-2.2 19.1 1.7 1.6 13.3 3.7 19.1-2.2z" fill="#f89939"/><path id="path7" d="M133.4 244.8c-3.4-3.4-8.4-4-11.1-1.3-2.7 2.7-2.1 7.7 1.3 11.1 3.4 3.4 9.9 2.4 11.1 1.3.9-.9 2.1-7.7-1.3-11.1z" fill="#3499cd"/></g><g id="g9" transform="translate(-120.60861 -220.26017)"><g id="g11"><path id="path13" class="st2" d="M145.1 251.9c-.6.6-1.1 1-1.6 1.2-.5.3-.9.4-1.3.4-.5 0-.9-.2-1.1-.6-.3-.4-.4-.9-.4-1.5 0-.9.2-2 .6-3.3.4-1.3.9-2.5 1.5-3.6l1.7-.6h.1c.1 0 .2.1.3.3.1.2.1.4.1.8 0 .9-.2 1.8-.6 2.6-.4.8-1.1 1.7-1.9 2.7 0 .5-.1.8-.1.9 0 .4.1.7.2.9.1.2.3.3.6.3.2 0 .5-.1.8-.3.3-.2.7-.5 1.2-1.1l-.1.9zm-2.5-2.6c.6-.6 1-1.3 1.4-2.1.3-.8.5-1.4.5-2 0-.2 0-.3-.1-.4 0-.1-.1-.1-.2-.1-.2 0-.4.4-.7 1.2-.3.8-.6 1.9-.9 3.4z"/><path id="path15" class="st2" d="M150.1 251.9c-.6.6-1.1 1-1.5 1.2-.4.3-.9.4-1.5.4s-1.1-.2-1.5-.6c-.4-.4-.6-.9-.6-1.5 0-.9.3-1.8 1-2.5.6-.8 1.4-1.1 2.2-1.1.4 0 .7.1 1 .3.2.2.4.5.4.8 0 .9-1 1.7-2.9 2.2.2.9.6 1.3 1.4 1.3.3 0 .6-.1.8-.2.3-.2.7-.5 1.2-1v.7zm-3.5-1.2c1.1-.3 1.7-.9 1.7-1.8 0-.4-.2-.6-.5-.6s-.6.2-.8.7c-.3.4-.4.9-.4 1.7z"/><path id="path17" class="st2" d="M157.1 251.9c-.7.7-1.2 1.1-1.5 1.3-.3.2-.6.3-.9.3-.7 0-1-.6-1-1.8-.4.6-.8 1.1-1.2 1.4-.4.3-.8.5-1.2.5-.4 0-.7-.2-1-.5s-.4-.8-.4-1.3c0-.7.2-1.3.5-1.9.4-.6.8-1.1 1.4-1.5.6-.4 1.1-.6 1.5-.6.6 0 .9.3 1.2.8l1.4-.7h.4l-.6 1.9c-.3 1-.5 1.6-.5 2 0 .4.1.6.4.6.2 0 .4-.1.6-.3.2-.2.5-.5.9-.8v.6zm-4.8.3c.4 0 .9-.4 1.3-1.1.4-.8.6-1.4.6-2.1 0-.2-.1-.4-.2-.6-.1-.1-.3-.2-.4-.2-.4 0-.9.4-1.3 1.1-.4.8-.6 1.4-.6 2.1 0 .2.1.4.2.6.1.2.2.2.4.2z"/><path id="path19" class="st2" d="M162.1 251.9c-1.1 1.1-2 1.6-2.6 1.6-.3 0-.5-.1-.7-.3-.2-.2-.3-.5-.3-.8 0-.6.3-1.5 1-2.5-.3.2-.7.3-1.1.4-.3.5-.7 1.1-1.4 1.7v-.6c.3-.4.7-.7.9-1.2-.4-.2-.6-.4-.6-.7 0-.3.1-.7.3-1.1.2-.4.6-.6 1-.6.3 0 .5.2.5.5s-.1.7-.3 1.2c.7-.1 1.4-.6 1.9-1.7h.6l-.6 1.7c-.3.7-.4 1.2-.5 1.5-.1.3-.1.5-.1.7 0 .2 0 .3.1.4.1.1.2.2.3.2.2 0 .3-.1.5-.2.1-.1.5-.4 1-.9l.1.7z"/><path id="path21" class="st2" d="M168.6 251.9c-1 1.1-1.9 1.6-2.6 1.6-.3 0-.5-.1-.7-.3-.2-.2-.3-.5-.3-.8 0-.5.2-1.2.6-2.2.2-.5.3-.9.3-1 0-.1-.1-.2-.2-.2s-.1 0-.2.1-.2.1-.3.3l-.4.4c-.1.1-.2.3-.4.4l-.4.4c-.2.2-.3.4-.3.6-.1.4-.1.7-.1 1v.9l-1.5.3c0-.6-.1-1-.1-1.3 0-.7.1-1.4.2-2 .2-.6.4-1.4.8-2.1l1.6-.3c-.3.9-.6 1.6-.7 2.2.7-.8 1.3-1.4 1.7-1.7.4-.3.8-.5 1.1-.5.2 0 .4.1.6.3.2.2.2.4.2.6 0 .4-.2 1.1-.6 2.1-.3.7-.4 1.1-.4 1.3 0 .3.1.4.3.4.3 0 .8-.4 1.6-1.3v.8z"/></g></g><text id="text25" transform="translate(26.54 25.2403)" font-size="3.9947" font-family="HelveticaNeue-BlackExt" fill="#fff">scikit</text></svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

+18
View File
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
<style type="text/css">
.st0{fill:#F6BD3A;}
.st1{fill:#EB8C23;}
.st2{fill:#E35A2B;}
</style>
<g>
<path class="st0" d="M20.8,25.9l6.5-3.8l6.4,3.8l-6.4,3.7L20.8,25.9L20.8,25.9z M1.3,14.7L27.3,0l19.3,10.9L40.2,22l-12.9-7.3
l-19.4,11L1.3,14.7z"/>
<path class="st1" d="M20.8,40.6v-7.4l6.4-3.7l6.5-3.7v7.4l-6.4,3.7v7.4L20.8,48V40.6z M20.8,25.9l-6.5-3.7l-6.5,3.6v-7.3L27.3,7.3
V22L20.8,25.9z M40.1,18.4v-3.7l6.4-3.8l0.1,7.4L40.1,22L40.1,18.4z"/>
<path class="st2" d="M14.3,44.1v-22l6.4-3.6l0.1,7.3l6.5,3.6v7.4l-6.5-3.5V48L14.3,44.1z M4.6,23.8l-3.2-2v-7.2l6.4,3.7v7.4
L4.6,23.8z M27.3,14.7V7.3l12.8,7.3l0.1,7.4L27.3,14.7L27.3,14.7z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 996 B

+9
View File
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 24 12" style="enable-background:new 0 0 24 12;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FF4A00;}
</style>
<path d="M.837 2.756h6.488v4.062H.837z" fill="#09f"/><path d="M.837 6.818H4.9v2.427H.837z" fill="#f1422a"/><path d="M4.9 6.818h2.427v2.427H4.9z" fill="#333"/><path d="M8.168 3.96h1.298v4.08H8.168zm7.418 0H13.36v1.298h.927V8.04h1.298V5.258h.927V3.96zm3.524 0h-2.226v1.298h.927V8.04H19.1V5.258h.927V3.96zm3.524 0h-2.226v1.298h.927V8.04h1.298V5.258h.927V3.96zM13 5.258V3.96h-2.967v4.08h1.298V6.927h1.113V5.63H11.32v-.37z" fill="#09f"/>
</svg>

After

Width:  |  Height:  |  Size: 839 B

+14
View File
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FF4A00;}
</style>
<path class="st0" d="M47.6,19.8H33.4l10-10c-0.8-1.2-1.5-1.9-2.3-3.1C40,5.9,38.9,5,38,4.1L28,14V0.2c-1.3-0.3-2.5-0.4-3.8-0.4
c-1.3-0.1-2.6,0-3.8,0.4v14.2L10,4.1C8.8,4.7,7.8,5.6,6.9,6.7C6.2,7.9,5,8.7,4.2,9.8l10,10H0.4L0,23.6c-0.1,1.3,0,2.6,0.4,3.8h14.2
L4.2,37.8c1.5,2.3,3.5,4.2,5.8,5.8l10-10v14.2c1.3,0.3,2.5,0.4,3.8,0.4c1.3,0.1,2.6,0,3.8-0.4V33.6l10,10c1.2-0.7,2.2-1.6,3.1-2.7
c1-0.9,1.9-2,2.7-3.1l-10-10h14.2c0.3-1.3,0.4-2.5,0.4-3.8C48.1,22.6,47.9,21.2,47.6,19.8L47.6,19.8z M29.9,23.6
c0,1.7-0.3,3.4-0.8,5c-1.6,0.6-3.3,0.9-5,0.8c-1.7,0-3.4-0.3-5-0.8c-0.6-1.6-0.9-3.3-0.8-5c0-1.7,0.3-3.4,0.8-5
c1.6-0.6,3.3-0.9,5-0.8c1.7,0,3.4,0.3,5,0.8C29.6,20.3,29.9,21.9,29.9,23.6z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

+18
View File
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
<style type="text/css">
.st0{fill:url(#Fill-1_1_);}
</style>
<desc>Created with Sketch.</desc>
<g id="Page-1">
<linearGradient id="Fill-1_1_" gradientUnits="userSpaceOnUse" x1="-266.2616" y1="433.4901" x2="-267.2616" y2="432.9336" gradientTransform="matrix(48 0 0 -35.8095 12831 15540.3857)">
<stop offset="0" style="stop-color:#FF9900"/>
<stop offset="1" style="stop-color:#FFC300"/>
</linearGradient>
<path id="Fill-1" class="st0" d="M10.4,35.8H24l3.5,6.1h-0.1H0l9.6-16.7l4-7l3.5,6L10.4,35.8z M15.5,15.1l3.3-5.8l18.8,32.6H31
L15.5,15.1z M20.7,6.1h6.7L48,41.9h-6.7L20.7,6.1z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 951 B

+17
View File
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FFA000;}
.st1{fill:#F57F17;}
.st2{fill:#FFCA28;}
</style>
<g>
<path class="st0" d="M29.4,17.3l-4.8,4.5l-4.5-9l2.3-5.2c0.6-1,1.5-1,2.1,0L29.4,17.3z"/>
<path class="st1" d="M20.2,12.8l4.5,9l-18,16.7L20.2,12.8z"/>
<path class="st2" d="M34.7,10.5c0.9-0.8,1.7-0.5,2,0.6l4.7,27.2l-15.5,9.3c-0.5,0.3-2,0.4-2,0.4s-1.3-0.2-1.8-0.4L6.7,38.5
L34.7,10.5z"/>
<path class="st0" d="M20.2,12.8L6.7,38.5l6-37.6c0.2-1.2,0.9-1.3,1.5-0.3L20.2,12.8z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 833 B

+13
View File
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 5.1 5.1" style="enable-background:new 0 0 5.1 5.1;" xml:space="preserve">
<style type="text/css">
.st0{fill:#6762A6;}
.st1{fill:#FFFFFF;}
</style>
<path class="st0" d="M4.1,5.1H1c-0.3,0-0.5-0.2-0.5-0.5V0.5C0.5,0.2,0.7,0,1,0h3.2c0.3,0,0.5,0.2,0.5,0.5v4.1
C4.6,4.9,4.4,5.1,4.1,5.1z"/>
<path class="st1" d="M3,4.4v-2c0,0,0.1-0.5-1.6,0.2c0,0,0-1.9,0-1.9l0.6,0v1.2c0,0,1.6-0.6,1.6,0.5v2L3,4.4L3,4.4z M3.3,1.4H2.7
c0.2-0.3,0.4-0.7,0.4-0.7h0.6C3.8,0.7,3.7,1,3.3,1.4L3.3,1.4z M1.4,4.4V3.3l0.6,0.6L1.4,4.4L1.4,4.4z"/>
</svg>

After

Width:  |  Height:  |  Size: 795 B

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
<path d="M48,37.2c-1.7,0.4-2.8,0-3.8-1.4l-6.9-9.5l-1-1.3l-8,10.9c-0.9,1.3-1.9,1.9-3.6,1.4L35,23.4l-9.6-12.5
c1.6-0.3,2.8-0.2,3.8,1.3l7.1,9.7l7.2-9.6c0.9-1.3,1.9-1.8,3.6-1.3l-3.7,4.9l-5,6.6c-0.6,0.8-0.5,1.3,0,2L48,37.2z M0,23.1L0.9,19
C3.1,10.8,12.6,7.4,19,12.5c3.8,3,4.7,7.2,4.5,11.9H2.2C1.9,32.9,8,38,15.8,35.4c2.7-0.9,4.4-3.1,5.2-5.7c0.4-1.3,1.1-1.6,2.4-1.2
c-0.6,3.4-2.1,6.2-5.2,7.9C13.6,39,7,38.2,3.6,34.5c-2.1-2.1-2.9-4.8-3.3-7.7c-0.1-0.5-0.2-0.9-0.3-1.4C0,24.7,0,23.9,0,23.1L0,23.1
z M2.3,22.6h19.3c-0.1-6.1-4-10.5-9.2-10.6C6.6,12,2.5,16.2,2.3,22.6z"/>
</svg>

After

Width:  |  Height:  |  Size: 915 B

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
<style type="text/css">
.st0{fill:#E10098;}
</style>
<g>
<path class="st0" d="M6.5,36.6l-1.8-1l19.6-34l1.8,1L6.5,36.6z"/>
<path class="st0" d="M4.4,32.8h39.3v2H4.4V32.8z"/>
<path class="st0" d="M24.8,45.3L5.1,34l1-1.8l19.6,11.3L24.8,45.3z M41.8,15.8L22.2,4.4l1-1.8L42.9,14L41.8,15.8z"/>
<path class="st0" d="M6.2,15.8l-1-1.8L24.8,2.7l1,1.8L6.2,15.8z"/>
<path class="st0" d="M41.5,36.6l-19.6-34l1.8-1l19.6,34L41.5,36.6z M5.9,12.7h2v22.7h-2V12.7z M40,12.7h2v22.7h-2V12.7z"/>
<path class="st0" d="M24.4,44.5l-0.9-1.5l17.1-9.9l0.9,1.5L24.4,44.5z"/>
<path class="st0" d="M44.8,36c-1.2,2-3.8,2.7-5.8,1.6c-2-1.2-2.7-3.8-1.6-5.8c1.2-2,3.8-2.7,5.8-1.6C45.3,31.3,46,34,44.8,36
M10.6,16.3c-1.2,2-3.8,2.7-5.8,1.6C2.7,16.7,2,14,3.2,12c1.2-2,3.8-2.7,5.8-1.6C11.1,11.6,11.8,14.2,10.6,16.3 M3.2,36
c-1.2-2-0.5-4.7,1.6-5.8c2-1.2,4.7-0.5,5.8,1.6c1.2,2,0.5,4.7-1.6,5.8C7,38.7,4.4,38,3.2,36 M37.4,16.3c-1.2-2-0.5-4.7,1.6-5.8
c2-1.2,4.7-0.5,5.8,1.6c1.2,2,0.5,4.7-1.6,5.8C41.2,19,38.6,18.3,37.4,16.3 M24,48c-2.4,0-4.3-1.9-4.3-4.3c0-2.4,1.9-4.3,4.3-4.3
s4.3,1.9,4.3,4.3c0,0,0,0,0,0C28.3,46.1,26.4,48,24,48 M24,8.6c-2.4,0-4.3-1.9-4.3-4.3c0,0,0,0,0,0C19.7,1.9,21.6,0,24,0
s4.3,1.9,4.3,4.3C28.3,6.6,26.4,8.6,24,8.6C24,8.6,24,8.6,24,8.6"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

@@ -0,0 +1,115 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FFFF00;}
.st1{fill:#FFFFCC;}
.st2{fill:#CCCC00;}
</style>
<path class="st0" d="M17.7,13.9l-3.2,0.5l-2.9,1.3l-2.5,1.6l-2.4,2.9l-1.3,1.4L4.1,22l-0.3-0.8l0.6-0.9l0.1-1.2l0.4,0l0.4,0.4
l-0.1-1.2l-0.5-0.3l0-0.5l-1.1,0.6l-1,1.2l-0.2,1.1l0.4,0.9l0.4,1.5l0.8,0.4l0.9,0l0.8-0.5l-0.6,2.8l0.6,3.2l-0.6,1.5l-2,2.2
l0.4,1.3l1,1.5l1.8,1.3l1,0.1l1.1,0l-0.7,2.7l2.4,1l3,0.4l1-0.7l0.1-1.8l1.2-1.9l0.1-1.5l2.8,0.2l2.6-0.2l-2.6,1.6l0.4,1.9l1.6,2.6
l1.6,0.7l1.3-0.5l0.5-1l2.7-2l0.5,0.4l4.2,0.2l0.8-0.7l0.1-1.2l-0.3-0.5l-0.2-3.2l-1.4-2.8l0.2-1.2l0.8,0.4l2.4,2.2l1.2,0.1l1.3-0.5
l1.3-1l0.6-2.1l3.7,0.2l2.3-0.9l1.8-1.7l1.3-2.5l0.3-2.9l-0.3-3.4l-0.7-3l-0.7-1l-1-0.3l-1.8,1.9l-1.6,0.6l-1.4-2.3l-1.4-1.3
l-0.8-0.5l-3-2.5l-2.4-1.3l-2.4-0.2l-2.8,0.5l-2.5,0.9l-1.7,1.4l-1.4,1.6l-1.4,0.4L17.7,13.9"/>
<path class="st1" d="M8.4,21.1c-2.7,3.2-2.1,7.1-1.4,10.8c-0.4-1-0.8-2-1.2-3.1L5.4,26c0-1,0.1-1.9,0.1-2.9l1.1-2.7l1.7-2.6l2.7-2.2
l2.9-1.2l3.4-0.4l-3.2,3.6C11.7,18.4,10.2,19,8.4,21.1"/>
<path class="st1" d="M21.3,11.4c-1.9,1.9-2.9,3.3-4.1,5.4c-0.9,1.6-1.8,3-2.7,4.6c-0.5,0.8-0.5,1.4-0.6,2.3l-1.3-1.6
c0.2-0.6,0.4-1.3,0.6-1.9l2.2-3.9l4.6-4.5C20.3,11.6,20.8,11.5,21.3,11.4 M30.7,6.8c-1.5,0.6-4,0.8-4.2,2.5
c-0.1,1.2,0.1,1.9,0.8,3.2c-1.8-1.9-2.3-1.6-5.9-1L23,9.3l2.7-1.7l3.4-0.8L30.7,6.8"/>
<path class="st2" d="M34.9,30.4c0.5,0.3,0.5,0.5,0.4,0.8c0.4-0.2,0.8-0.3,1.2-0.5l0.8-1l0.6-1.5l-0.7-0.6L33.9,28
c-0.1,0.2-0.2,0.4-0.2,0.7c0,0.3,0,0.6,0.1,0.9c0.1,0.2,0.2,0.4,0.3,0.5c0.2,0.1,0.3,0.2,0.5,0.2C34.6,30.4,34.8,30.4,34.9,30.4
M34.6,24.9c-1.6,0.5-1.6,0.6-2.1,2.2C33.1,26.1,33.6,25.6,34.6,24.9 M45.3,12.9c-0.3,0.1-0.6,0.2-0.7,0.5c-0.4,0.6-0.7,1-1.4,1.4
c-0.3,0.2-0.7,0.3-1,0.4c-0.3,0.1-0.5,0-0.7,0.2c0.1,0,0.3,0,0.4,0.1h0.9l1.2-0.7l0.7-0.7L45.3,12.9 M19.6,16.5
c-0.6,1.7-1.2,3.2-2.2,4.8c1.2-1.3,2-2.5,2.7-4c0.3-0.6,0.3-1.3,1.1-1c0,0.6,0.2,1.2,0.2,1.7c0.4-3,1.6-4.2,4.3-5.3L23.4,13
l-2.2,0.5L20.2,15L19.6,16.5 M24.8,16.4c0.6,2.7,1.4,5.4,1.8,8.2c0.2,1.8,0.3,2.7-0.6,4.2c-1-0.1-1.6,0-2.6,0.4
c-3.8,1.3-6,3.1-8.6-0.6l2.5,1.2c0.6-0.1,1.2-0.2,1.8-0.3c1-0.6,2.1-1.2,3.1-1.8l2.4-0.5l0.8-3.3l-0.6-4.4c0-0.7,0-1.4-0.1-2.1
C24.8,17.1,24.8,16.7,24.8,16.4 M31.5,33.4c-0.3,2.2,0.7,3.4,0.3,4c-0.1,0.2-0.3,0.5-0.5,0.6c-0.7,0.3-1.6-0.1-1.7,0.1h-2.2
l-0.9-0.4l1.4-1.6c0.4-1,0.9-1.9,1.3-2.9l0.9-2.9h0.4L31.5,33.4"/>
<path class="st2" d="M27.7,26.9c0.2,1,0.5,1.3,1,2.2c-0.3,1.6-0.8,3.5-1.4,4.9c-0.3,0.6-0.5,0.9-0.9,1.4c-0.8,0.8-1.5,1.5-2.4,2.1
c-0.6,0.5-1.1,0.2-1.8,0.1c-0.3,0.6-0.4,0.9-1,1.2c-0.9,0.5-1.8-0.5-2.5-1.1c0.5,0.8,1.1,1.7,1.6,2.5c0.4,0.3,0.7,0.7,1.1,1l0.9,0.1
l1.2-0.8c0.2-0.4,0.4-0.8,0.7-1.2c0.5-0.3,0.9-0.7,1.4-1c0.6-0.5,1.1-1,1.7-1.4l1.1-1.5l1-1.8c0.4-1.2,0.8-2.5,1.2-3.7
c0-0.5,0.1-0.9,0.1-1.4c-0.5-0.2-1-0.5-1.5-0.7C28.5,27.6,28.1,27.3,27.7,26.9 M15.4,34.1c1.7,0,3.6-0.1,5.1-0.8
c0.4-0.7,0.9-1.2,1.4-1.8c-0.5,0.9-0.7,1.5-0.8,2.5l-0.5,0.8c-1.3,0-2.6,0.1-3.9,0.1c-0.4,0-0.8-0.1-1.3-0.1c0,0-0.1-0.1-0.1-0.1
C15.4,34.4,15.4,34.2,15.4,34.1 M15.2,32.9L15,31.6c-0.3,1.8-0.2,3-1,4.6c-0.6,0.7-1.4,1.4-2.2,1.7c0.1,0.4,0.1,0.7,0.1,1
c-0.2,1.2-2.5,0.6-3.4,0.6l4.6,1.2l1-0.4c0.1-0.7,0.2-1.3,0.3-2l1-1.8l0.2-1.1L15.2,32.9 M12.6,22.8c0,0.9-0.1,1.2,0.3,2
c0.5,1,1.1,1.9,1.6,2.8l0.2-1.9C14,24.8,13.3,23.8,12.6,22.8 M5.6,29.3c-0.1,0.3-0.3,0.6-0.4,0.9c0.4,1.4,0.8,2.2,1.5,3.4
c-0.1,0.5-0.2,0.7-0.5,1.1c-0.7-0.1-1.3-0.1-2-0.1c0.8,0.6,1.5,1.2,2.3,1.8c0.4-0.1,0.8-0.1,1.1-0.2l1.1-1.1l-1.6-2.5
C6.6,31.5,6.1,30.4,5.6,29.3 M45.3,12.4c0.5,2.1,1.1,4,1,6.2c-0.1,2.6-0.6,6-3,7.5c-2.7,1.8-5.9,0.9-8.9,0.2l3.7,1.5
c1.1,0.1,2.3,0.1,3.4,0.2c0.8-0.2,1.6-0.5,2.3-0.7c0.6-0.5,1.2-1,1.8-1.5L47,23l0.5-3.3c-0.1-1.1-0.3-2.2-0.4-3.3l-0.8-3.2
C46,12.9,45.7,12.7,45.3,12.4 M4.5,18.7c-1.2,0.8-1.7,1.2-1.6,2.7l0.4,1.3l0.5,0.4l0.6,0.2L5.7,23c0.2-0.6,0.4-1.2,0.6-1.9l-1.7,0.8
H4.2c-0.1-0.2-0.3-0.4-0.4-0.7l0.5-0.8L4.6,19c0.1,0,0.2,0.1,0.4,0.1c0.1,0.1,0.3,0.2,0.4,0.3l-0.1-0.8L5,18.2
C4.9,18.1,4.8,18,4.7,18L4.5,18.7 M32.4,6.9c1.1,1,2.5,1.9,3.3,3.2c0.3,0.5,0.7,0.7,0,1.4c0.8-0.2,1.1-0.2,1.7-0.1
c1.1,0.1,2.2,1.7,2.2,2.9c0,0.1-0.3,0.3-1.2,0.6c0,0-0.5-0.1-0.5,0c0.1,0.2,0.2,0.3,0.4,0.4c0,0.3,0.1,0.7,0.3,1
c0.5,0,1.1,0,1.6,0.2c0.2,0.3,0.2,0.6,0.1,0.9l0.6-0.1c-0.1-0.5-0.1-0.9-0.2-1.4c0.2-0.3,0.4-0.6,0.5-0.9L40.5,13
c-0.5-0.5-1-1-1.5-1.4l-0.1,0c-0.6-0.3-1.1-0.7-1.7-1l-2.8-2.3L32.4,6.9 M34.2,15.3c-0.1,0.1-0.1,0.3-0.3,0.4
c0.5,0.4,0.7,0.7,0.8,1.3c-0.5,0.3-1,0.5-1.6,0.8l-1.3,1.3c-0.6-0.3-0.7-0.5-1-1.1C30.6,18,30.3,18.1,30,18c0.2,0,0.3,0,0.4-0.1
l0.8-0.9c0.5-0.4,1-0.7,1.5-1.1l1-0.3C33.9,15.5,34.1,15.4,34.2,15.3"/>
<path class="st2" d="M35.7,16.9c-1.6,0.9-3.2,1.8-4.1,3.5C31.6,18.2,33.7,17.3,35.7,16.9 M31.3,12.7c-1.2,0.8-2.1,2.5-2,4.2
c-0.4-1.4-0.3-2.8,1-3.7c0.2-0.1,0.4-0.2,0.6-0.3C31,12.7,31.1,12.7,31.3,12.7"/>
<path d="M47.7,16.6c-0.2-1.4-0.6-2.8-1.1-3.7c-0.1-0.1-0.2-0.2-0.3-0.4c-0.3-0.3-0.6-0.5-1-0.6c-0.4-0.1-0.8-0.2-1.2,0
c-0.1,0-0.2,0.1-0.2,0.2c-0.2,0.2-0.4,0.5-0.6,0.8c-0.2,0.3-0.4,0.6-0.7,0.8c-0.3,0.2-0.7,0.4-1,0.5c-0.1-0.4-0.3-0.7-0.5-1
c-0.2-0.4-0.5-0.7-0.8-1.1c-0.2-0.3-0.5-0.5-0.7-0.7c-0.3-0.2-0.5-0.4-0.8-0.5c-0.8-0.5-1.5-1.1-2.2-1.7c-0.3-0.3-0.6-0.6-1-0.8
c-1.7-1.4-3.3-2.1-4.9-2.2C29,6,27.2,6.5,25.1,7.3c-1,0.4-1.7,0.9-2.4,1.5c-0.6,0.6-1.1,1.2-1.7,2c-0.3,0-0.6,0.1-0.9,0.2
c-0.3,0.1-0.7,0.4-1.1,0.7c-0.3,0.2-0.6,0.5-0.8,0.8c-0.2,0.2-0.5,0.5-0.7,0.7c-1.9,0.3-3.4,0.6-4.8,1.2c-1.4,0.5-2.7,1.3-3.9,2.4
c-0.5,0.4-1,0.9-1.4,1.5c-0.4,0.5-0.7,1-1,1.6c-0.3,0.3-0.5,0.6-0.8,0.8c-0.3,0.2-0.6,0.4-0.9,0.6l0,0c-0.2,0.1-0.3,0.1-0.3,0.1
c0,0,0,0,0-0.1c0.5-0.4,0.5-1.1,0.6-1.7C5,19.7,5,19.8,5.1,19.9c0.1,0.1,0.1,0.2,0.2,0.3l0.3,0.4l0.1-0.5c0.1-0.4,0.2-1,0.1-1.4
c-0.1-0.3-0.2-0.6-0.5-0.8c0-0.1,0-0.1,0.1-0.2c0.1-0.2,0.2-0.4,0.2-0.6l0.1-0.4l-0.4,0.1c-0.5,0.1-1.7,0.7-2.5,1.6
c-0.3,0.3-0.6,0.7-0.7,1c-0.2,0.4-0.3,0.8-0.2,1.2c0.1,0.3,0.2,0.7,0.6,1c0.1,0.2,0.1,0.4,0.2,0.6c0.1,0.2,0.1,0.4,0.2,0.6
c0.2,0.5,0.6,0.8,1.1,0.9c0.4,0.1,0.7,0.1,1.1,0c-0.1,0.5-0.1,0.9-0.1,1.4c0,0.6,0,1.4,0.1,2.2c0,0.2,0,0.4,0.1,0.6
C5,28,5,28.2,5.1,28.4C5,28.6,4.9,28.8,4.9,29l-0.3,0.9l-0.7,0.7c-0.2,0.2-0.5,0.5-0.7,0.7c0,0-0.1,0.1-0.2,0.2
c-0.5,0.4-0.6,0.5-0.4,1.3c0.1,0.5,0.2,1,0.5,1.4c0.2,0.4,0.5,0.9,0.9,1.2c0.5,0.5,1.3,1.1,2.1,1.4c0.5,0.2,1,0.3,1.4,0.2
c0,0.1,0,0.1-0.1,0.2c-0.1,0.2-0.2,0.4-0.2,0.6c-0.6,1.2,0,1.9,0.9,2.3c0.5,0.2,1,0.3,1.5,0.5c0.1,0,0.2,0.1,0.3,0.1
c0.6,0.2,1.6,0.5,2.6,0.5c1,0.1,1.9-0.1,2.2-1.1c0.1-0.4,0.2-0.6,0.2-0.9c0-0.3,0-0.5,0-0.8c0.3-0.6,0.4-0.8,0.6-1.1
c0-0.1,0.1-0.1,0.1-0.2c0.2-0.3,0.3-0.6,0.4-0.9c0-0.3,0-0.5,0-0.9c0,0,0-0.1,0-0.2c0.6,0.1,1.2,0.1,1.8,0.1c0.3,0,0.6,0,0.9,0
c-0.1,0-0.2,0.1-0.2,0.1l-0.1,0.1c-0.8,0.4-0.8,1.2-0.6,2c0.2,0.7,0.7,1.4,1,1.9c0.6,0.9,1.2,1.7,1.9,2.2c0.7,0.5,1.6,0.5,2.7-0.1
c0.6-0.3,0.7-0.6,1-1c0.1-0.1,0.2-0.3,0.2-0.4c0.2-0.2,0.8-0.6,1.4-1.1c0.2-0.2,0.4-0.3,0.6-0.5c0.1,0.1,0.3,0.2,0.5,0.2
c0.3,0.1,0.6,0.1,1,0.1c0.3,0,1.3,0,1.9,0c0.2,0,0.4,0,0.5,0c0.6,0,1.2,0,1.6-0.3c0.4-0.2,0.7-0.7,0.7-1.4c0-0.3,0-0.5,0-0.8
c0-0.2-0.1-0.4-0.3-0.6c0-0.3,0-0.7,0-1c0-0.3,0-0.7,0-1c0-0.4-0.1-0.7-0.1-1.1c-0.1-0.3-0.2-0.6-0.4-1c-0.1-0.2-0.2-0.5-0.3-0.7
l-0.2,0.1l0,0l0.2-0.1v0c-0.1-0.4-0.3-0.7-0.5-1.1c0-0.1,0-0.2,0-0.2l0.4,0.3l0.5,0.5c0.4,0.4,0.8,0.7,1.2,1c0.5,0.3,1,0.4,1.6,0.4
c0.7,0,1.4-0.3,2-0.8c0.6-0.4,1.1-1,1.3-1.7l0.2-0.6l0.1-0.4c1,0.2,2,0.2,3,0.1c1-0.1,1.9-0.3,2.7-0.8c1.2-0.6,2.1-1.6,2.7-2.7h0
c0.7-1.2,1.1-2.7,1.3-4.2C48.1,19.8,48,18.1,47.7,16.6z M35.2,26.6c-0.6-0.2-0.9-0.5-1.4-0.8c0.1,0.6,0.2,1.2,0,1.8
c-0.3,0.9-0.7,2.5,0.6,2.8c0.5,0.1,0.7,0.1,1.4-0.3c-0.6,0.1-0.8,0.1-1.2,0c-0.3-0.1-0.5-0.3-0.6-0.5c0.1,0.1,0.3,0.1,0.7,0.2
c1,0.2,1.9-0.2,2-0.9c0.1-0.4,0.1-0.6,0.3-1.1c0.2,0.1,0.4,0.1,0.6,0.2l-0.4,1.2c-0.3,1-1.5,1.8-2.6,1.8c-1,0-1.6-0.6-2.3-1.2
c-0.5-0.4-0.9-0.8-1.4-1.2c-1.2-0.4-2.2-0.8-3.3-1.7c0.8,0.9,1.3,1.5,2.5,1.9c-0.2,1.7-0.7,2.9-1.2,4.5c-0.2,0.7-2,3.6-2.5,3.9
c-0.3,0.2-2.5,2-2.9,2.3c-0.3,0.4-0.6,1-1,1.2c-1.4,0.7-2.3-0.7-3-1.9c-0.3-0.5-1.3-2.1-0.5-2.5c0.8-0.4,1.2-0.7,2-1.2
c0.1,0.2,0.3,0.4,0.4,0.6l-0.1-0.7c-0.1-0.4-0.1-0.8,0-1.2c0-0.4,0.1-0.8,0.1-1.2c-0.1,0.4-0.4,0.8-0.5,1.3c0,0.2-0.1,0.3-0.1,0.4
c-1.8,0.4-3.6,0.4-5.4,0.1c-0.1-0.7-0.3-1.4-0.4-1.9c0,0.6,0,2.1,0,3c0,0.7,0,0.9-0.4,1.5c-0.3,0.5-0.5,0.7-0.9,1.5
c0,0.6,0,0.9-0.1,1.5c-0.2,0.9-2.8,0.2-3.4,0c-0.8-0.2-2.5-0.6-2.1-1.6c0.4-1,0.6-2,0.8-3.3c-1.5-2.2-2.9-5.1-3.2-7.7
c-0.2-2-0.1-3.3,0.4-4.5c0.7-2,1.7-3.7,3.2-5.1c2.1-1.9,4.1-2.6,7.2-3.1c-0.7,0.8-1.5,1.7-2.3,2.7c-0.8,1-1.3,1.9-1.8,3
c-0.7,1.4-0.7,2,0.2,3.3c0.8,1.1,1.3,1.6,1.6,2.7c-0.3,0.6-0.4,1.1-0.5,1.9c1,1.1,1.7,1.8,2.7,2.1c0.9,0.2,1.7,0.2,2.6-0.3
c1.9-1,3.6-2.2,5.8-2.3c1-2.4,0.9-4.4,0.4-6.8c-0.3-1.6-0.5-3.1-0.6-4.7c-0.4,1.7-0.5,3.2-0.2,4.8c0.4,2,0.6,4.2-0.4,6
c-1.9,0.1-3.6,1.3-5.3,2.2c-0.7,0.4-1.4,0.4-2.2,0.2c-0.7-0.2-1.2-0.7-2-1.6c0-0.9,0.2-1.3,0.6-2.1c0.7-1.3,1.4-2.5,2.2-3.8
c-1,1.2-1.9,2.2-2.7,3.4c-0.3-0.8-0.7-1.3-1.4-2.2c-0.7-0.9-0.8-1.3-0.2-2.4c0.5-1.1,0.9-2,1.8-3c1.5-1.6,2.9-3.4,4.5-5
c0.9-0.9,1.3-0.8,2.4-1c1.1-0.2,2.1-0.4,3.2-0.6c-1.1,0.1-2.1,0.1-3.1,0.2l0,0c1-1.3,1.6-2,3.2-2.7c4-1.8,6.6-1.9,9.8,0.7
c0.8,0.7,1.5,1.4,2.4,2c-0.3,0-0.6,0.1-0.9,0.2c0.4-0.1,0.9,0,1.3,0.1c0.1,0.1,0.2,0.2,0.4,0.2c0.6,0.3,0.9,0.5,1.3,1.1
c0.4,0.6,0.8,1.2,1.1,1.8c-0.2-0.1-0.4-0.1-0.5-0.2c-0.3-0.2-0.7-0.1-1.1,0.1l0,0c-0.3,0.2-0.8,0.3-1.2,0.4c0.2,0.1,0.6,0.1,0.7,0
c0,0,0,0,0.1,0c-0.1,0.1-0.1,0.3-0.2,0.5c0,0.2,0,0.4,0.1,0.6l0,0c0,0.1,0.1,0.1,0.1,0.2c-0.2,0.1-0.3,0.1-0.5,0.2
c0.8-0.1,1.4-0.1,2.2,0c0,0.2,0.1,0.5,0.1,0.7l-0.3,0c0,0,0,0,0,0c-0.3-0.3-0.7-0.2-1.3-0.1c-1.6,0.4-1.2,1.3-2,2.6
c0.8-0.9,0.7-1.9,2-2.2c0.3-0.1,0.5-0.2,0.7-0.1c-0.4,0.2-0.7,0.5-0.8,0.8c-0.3,1-0.1,1.8-0.5,2.7c0.5-0.8,0.5-1.6,0.9-2.5
c0.2-0.3,0.7-0.8,1.1-0.8l0.3,0c0.1,0.5,0.1,1.1,0.1,1.5c-0.1,0.8-0.3,2-0.4,2.5c0.4-0.5,0.6-1.7,0.8-2.5c0.2-0.8,0.1-1.9,0-2.8
c-0.2-1.2,1.1-1,1.8-1.6c0.5-0.4,0.9-1.1,1.4-1.6c0.5-0.5,1.3,0.2,1.5,0.7c0.9,2.1,1.2,5.3,1,7.4c-0.3,2.3-1.4,4.9-3.4,6
C40.9,28.4,37.8,27.5,35.2,26.6L35.2,26.6z M31.5,37c-0.1,1-0.4,1-1.3,1c-0.4,0-1.9,0-2.3,0c-0.5,0-0.9-0.1-1-0.2
c0.9-0.6,2.3-3.2,2.6-4.1c0.3-0.9,0.6-1.8,0.9-2.7c0.1,0.4,0.2,0.7,0.4,1.1c0.3,0.7,0.4,1.1,0.4,1.7l0.1,2.2
C31.5,36.4,31.6,36.5,31.5,37L31.5,37z M5.6,29.7c0.5,1.9,1.5,3.7,2.5,5.3v0c-0.1,0.3-0.1,0.5-0.3,0.7c-0.7,1-2.6-0.5-3.2-1
c-0.6-0.6-1-1.3-1.1-2c-0.1-0.5,0-0.5,0.3-0.9l1.4-1.4C5.3,30.5,5.6,29.7,5.6,29.7z M4.6,17.8c-0.1,0.3-0.2,0.5-0.3,0.8
c-0.3,1,0.1,1.9-0.8,2.7c0.4,0.9,0.4,1.2,1.4,0.8c0.4-0.2,0.7-0.4,1-0.6c-0.1,0.4-0.3,0.7-0.4,1.1c0,0.1,0,0.1-0.1,0.2
c-0.7,0.3-1.7,0.5-2-0.3c-0.2-0.4-0.3-0.7-0.4-1.2C1.8,20,3.6,18.4,4.6,17.8z M5.2,19.1C5,19,4.9,18.9,4.7,18.9c0-0.1,0-0.2,0.1-0.4
c0-0.1,0-0.1,0-0.2C5.1,18.5,5.1,18.8,5.2,19.1L5.2,19.1z M40.8,14.5c0,0.1,0.1,0.2,0.1,0.3c0,0-0.1,0.1-0.1,0.1
c-0.1-0.1-0.1-0.3-0.2-0.4C40.6,14.5,40.7,14.5,40.8,14.5L40.8,14.5z M6.5,20.1L6.5,20.1L6.5,20.1L6.5,20.1z M15.6,35L15.6,35
L15.6,35z M26.3,38.2L26.3,38.2L26.3,38.2z M30.7,29.9L30.7,29.9L30.7,29.9L30.7,29.9z M4.7,21.6L4.7,21.6L4.7,21.6L4.7,21.6
L4.7,21.6z M46.5,25L46.5,25L46.5,25z M0.5,21.3c0.2-2.1,0.6-3.1,2.1-4.7C0.7,17.9,0.3,18.6,0.5,21.3"/>
<path d="M0,19.5c0.2-1,0.4-1.3,1-2.1C0.1,18.1-0.1,18.4,0,19.5 M22.4,6.1c-1.1,0.3-1.4,0.5-1.7,1.6C21.2,6.9,21.5,6.6,22.4,6.1"/>
<path d="M24.2,5.9c-2.3,0.6-2.9,1-3.7,3.6C21.5,7.6,22.2,6.9,24.2,5.9 M29.1,15.5c0.2-1.1,0.7-2.1,2.3-2.9
C29.2,13.2,28.8,14.1,29.1,15.5 M43.1,15.6c1.3-0.5,1.9-1.5,2.2-2.7c-0.5,1-1.3,1.9-2.4,2.4c-0.6,0.3-0.9,0.2-1.6,0.1
C42,15.6,42.4,15.8,43.1,15.6 M34.2,16.6c-0.2-0.4-0.5-0.6-0.8-0.8c0.3-0.2,0.6-0.4,0.9-0.6c-0.7,0.3-1.6,0.3-2.2,0.7
c-0.5,0.4-1.3,1.5-1.8,2c0.4-0.2,0.8-0.4,1.1-0.7c0,0.5,0.3,1,0.8,1.3c-0.2,0.3-0.4,0.6-0.5,0.9c1-1.2,2.6-2.2,4-2.6
c-0.4,0-0.9,0.1-1.4,0.2C34.3,16.9,34.3,16.8,34.2,16.6 M32.7,26c-0.1,0.3-0.1,0.7-0.2,1c0.1-0.4,0.3-0.8,0.5-1.1
c0.2-0.4,0.3-0.4,0.6-0.6c0.3-0.1,0.7-0.3,1-0.5c-0.3,0-0.7,0.1-1,0.2C32.9,25.2,32.8,25.4,32.7,26 M20.8,13.6
c-0.8,0.8-1.6,3.5-1.8,4.6c0.4-0.9,1.4-3.5,2.1-4.1c0.2-0.2,0.4-0.3,0.5-0.4c-0.5,0.9-0.5,1.1-0.3,2.4c0.2-1.2,0.6-1.7,1.3-2.6
c0.8-0.2,1.5-0.4,2.3-0.7c-0.9,0.1-1.8,0.2-2.7,0.3C21.5,13.1,21.3,13.1,20.8,13.6"/>
<path class="st1" d="M31.8,18.3c-0.1-0.3,0-0.7,0.3-0.8c0.3-0.1,0.7,0,0.8,0.3c0,0,0,0.1,0,0.1c-0.3,0.2-0.6,0.5-0.8,0.8
C32,18.5,31.9,18.4,31.8,18.3 M38.7,15.6c0-0.3,0.2-0.4,0.5-0.4c0.3,0,0.4,0.3,0.4,0.5c0,0.1,0,0.1,0,0.2c-0.2,0-0.5,0.1-0.7,0.2
C38.8,15.9,38.7,15.7,38.7,15.6"/>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 20 KiB

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128"><path fill="#DF234F" d="M75.4.3c-.9 0-1.8.2-2.6.5 1.7 1.1 2.6 2.6 3.1 4.3 0 .2.1.4.1.6 0 .2.1.4.1.6.1 2.9-.8 3.3-1.4 5-1 2.2-.7 4.6.5 6.5.1.2.2.5.4.7-1.3-8.4 5.7-9.6 7-12.2.1-2.3-1.8-3.8-3.3-4.9C77.8.5 76.6.3 75.4.3zm10.5 1.8c-.1.8 0 .6-.1 1 0 .3 0 .6-.1.9-.1.3-.1.5-.2.8-.1.3-.2.5-.3.8-.1.2-.2.4-.3.7-.1.1-.2.3-.3.4-.1.1-.1.2-.2.3-.2.2-.3.5-.5.7l-.6.6c-.2.2-.4.4-.6.5-.7.5-1.5.9-2.2 1.4-.2.2-.5.3-.7.5-.2.2-.4.3-.6.5l-.6.6c-.2.2-.4.4-.5.7-.2.2-.3.5-.5.7-.1.3-.2.5-.4.8-.1.3-.2.5-.3.8-.1.3-.2.6-.2.8 0 .1 0 .3-.1.4 0 .1 0 .3-.1.4v1.4c0 .3 0 .5.1.8 0 .3.1.5.2.8.1.3.2.5.3.8.1.2.2.3.2.5l-7.6-2.9c-1.3-.4-2.5-.7-3.8-1-.7-.2-1.4-.3-2.1-.5-2-.4-4-.7-6-.9h-.2c-2-.2-3.9-.3-5.9-.3-1.5 0-2.9.1-4.3.2-2 .1-4 .4-6 .7l-1.5.3c-1 .2-2 .4-3 .7-.5.1-1 .3-1.5.4-.5.2-1 .4-1.4.6-.4.2-.7.3-1.1.5-.1 0-.1 0-.2.1-.3.2-.6.3-.9.5-.1 0-.2.1-.2.1-.4.2-.7.4-1 .5-.2.1-.5.2-.7.3-.1.1-.2.1-.3.2-.3.2-.6.3-.9.5-.3.2-.6.3-.8.5-.2.2-.5.3-.7.5 0 0-.1 0-.1.1-.2.1-.4.3-.6.5l-.1.1c-.2.1-.3.3-.5.4-.1 0-.1.1-.2.1-.2.1-.3.3-.5.4 0 .1-.1.1-.1.1l-.6.6-.1.1-.6.6s0 .1-.1.1l-.5.5c-.1.1-.2.1-.2.2l-.6.6c0 .1-.1.1-.1.2l-.8.8-.1.1c-.5.6-1.1 1.1-1.7 1.6-.6.5-1.2 1-1.9 1.5s-1.3.9-2 1.3-1.4.7-2.1 1c-.7.3-1.4.6-2.1.8-1.4.3-2.8.9-4 1 0-.5-.3-.4-.6-.4-.3.1-.6.1-.8.2-.3.1-.5.2-.8.3-.3.1-.5.2-.8.4-.2.2-.5.3-.7.5-.2.2-.5.4-.7.6-.2.2-.5.4-.7.6-.2.2-.4.4-.6.7-.2.3-.4.5-.5.8-.2.2-.3.5-.5.8-.1.3-.3.6-.4.9l-.3.9c-.1.3-.1.5-.2.8v.1c-.1.3-.1.7-.1.9.1-.1.1.1.1.3v.4c0 .2.1.4.1.6.1.2.1.4.2.6.1.2.2.4.4.6.1.2.3.4.4.6.2.2.4.4.6.5.2.2.4.4.6.5.8.7 1 .9 2 1.5.2.1.3.2.5.3h.1v.2c0 .3.1.5.2.8.1.3.2.6.3.8l.3.6c0 .1.1.1.1.2.1.3.3.5.4.7.2.2.3.5.5.7l.6.6.6.6H8c.2.2.4.3.6.5.2.2.5.3.7.4.2.1.5.3.8.4.2.1.4.2.7.2 0 0 .1 0 .1.1.1 0 .3.1.4.1-.1 1.8-.1 3.5.1 4.1.3.7 1.8-1.4 3.2-3.7-.2 2.3-.3 5 0 5.8.4.8 2.3-1.8 4.1-4.6 23.4-5.4 44.8 10.8 47.1 33.7-.4-3.6-4.8-5.6-6.9-5.1-1 2.4-2.7 5.6-5.4 7.5.2-2.2.1-4.4-.3-6.6-.7 3-2.1 5.9-4.1 8.3-3.1.2-6.3-1.3-7.9-3.6-.1-.1-.2-.3-.3-.4-.1-.2-.2-.5-.3-.7-.1-.2-.2-.5-.2-.7v-.7-.5c0-.2.1-.5.2-.7.1-.2.1-.5.2-.7.1-.2.2-.5.4-.7.6-1.6.6-2.9-.5-3.6l-.6-.3c-.1 0-.3-.1-.4-.1-.1 0-.2-.1-.3-.1-.2-.1-.5-.1-.7-.2-.2-.1-.5-.1-.7-.1-.2 0-.5-.1-.7-.1h-.5c-.3 0-.5 0-.7.1-.2 0-.5.1-.7.1-.2.1-.5.1-.7.2-.2.1-.4.2-.7.3l-.6.3c-7.7 5-3.1 16.8 2.1 20.2-2 .4-4 .8-4.6 1.2l-.1.1c1.4.9 2.9 1.6 4.5 2.2 2.1.7 4.4 1.3 5.4 1.6 2.7.6 5.5.8 8.3.6 14.6-1 26.6-12.2 28.8-26.8.1.3.1.6.2.9.1.6.2 1.2.3 1.9.1.3.1.6.1.9v.1c0 .3.1.6.1.9 0 .4.1.7.1 1.1V91.6c0 .3-.1.5-.1.8v.3c0 .3-.1.6-.1 1-.1.3-.1.6-.2.9v.1c-.1.3-.1.6-.2.9v.1c-.1.3-.1.6-.2.9v.1l-.3.9v.1c-.1.3-.2.7-.3 1-.1.3-.2.6-.4 1-.1.3-.2.7-.4 1-.1.3-.3.6-.4 1-.1.3-.3.6-.4.9 0 .1-.1.2-.1.2s0 .1-.1.1c-2.1 4.3-5.3 8.1-9.3 11.1-.3.2-.5.4-.8.6-.1.1-.2.1-.2.2-.2.2-.5.3-.7.5l.1.2c.5-.1.9-.1 1.4-.2.9-.1 1.7-.3 2.6-.5.2 0 .5-.1.7-.2.2 0 .3-.1.5-.1s.5-.1.7-.1c.2-.1.4-.1.6-.2 3.3-.8 6.5-1.9 9.6-3.2-5.3 7.2-12.3 13-20.5 16.8 3.8-.3 7.6-.9 11.3-2 13.3-3.9 24.5-12.9 31.2-25-1.4 7.6-4.4 14.9-8.9 21.3 3.2-2.1 6.1-4.6 8.8-7.3 7.4-7.7 12.3-17.6 13.9-28.1 1.1 5.2 1.5 10.6 1 15.9 23.9-33.3 2-67.8-7.2-76.9 0-.1-.1-.1-.1-.2v0c0 .4 0 .8-.1 1.2-.1.8-.2 1.5-.3 2.2-.2.7-.4 1.5-.6 2.2-.2.7-.5 1.4-.8 2.1-.3.7-.6 1.4-1 2-.4.6-.8 1.3-1.2 1.9-.4.6-.9 1.2-1.4 1.8-.5.6-1 1.1-1.6 1.7-.3.3-.6.6-1 .8-.3.2-.5.4-.8.7-.6.5-1.2.9-1.9 1.3-.6.4-1.3.8-2 1.1l-2.1.9c-.7.3-1.4.5-2.1.7-.7.2-1.5.4-2.2.5-.8.1-1.5.2-2.2.3-.5 0-1.1.1-1.6.1-.8 0-1.5-.1-2.2-.1-.8-.1-1.5-.2-2.2-.3-.8-.1-1.5-.3-2.2-.6.7-.1 1.5-.1 2.2-.3.8-.1 1.5-.3 2.2-.5.7-.2 1.5-.4 2.1-.7l2.1-.9c.7-.3 1.3-.7 2-1.1.6-.4 1.3-.9 1.9-1.3.6-.5 1.2-1 1.7-1.5.6-.5 1.1-1.1 1.6-1.6.5-.6 1-1.2 1.4-1.8.1-.1.1-.2.2-.3.3-.5.7-1.1 1-1.6.4-.7.7-1.3 1-2 .3-.7.6-1.4.8-2.1l.6-2.1c.1-.8.3-1.5.3-2.2.1-.8.1-1.5.1-2.2 0-.5 0-1.1-.1-1.6-.1-.8-.2-1.5-.3-2.2-.1-.8-.3-1.5-.5-2.2-.2-.7-.5-1.4-.7-2.1-.3-.7-.6-1.4-.9-2-.4-.7-.7-1.3-1.1-2-.4-.6-.9-1.2-1.3-1.8-.5-.6-1-1.1-1.5-1.7-.3-.3-.6-.6-.9-.8-1.5-1.2-3-2.2-4.6-3.2-.2-.1-.4-.2-.7-.3-1.3-1.1-2.3-1.4-3.3-1.8z"/></svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
<style type="text/css">
.st0{fill:#009438;}
.st1{fill:#FEFEFE;}
</style>
<path class="st0" d="M3,24V12.6c0-0.4,0.2-0.8,0.6-1L23.3,0.2c0.4-0.2,0.8-0.3,1.1,0l19.8,11.5c0.3,0.2,0.6,0.6,0.5,1v22.9
c0,0.4-0.2,0.8-0.5,1l-17.1,9.9c-0.9,0.5-1.8,1.1-2.7,1.6c-0.4,0.2-0.8,0.2-1.2,0L3.5,36.4C3.2,36.2,3,35.9,3,35.5V24L3,24z"/>
<path class="st1" d="M17.2,19.8v13.4c0,1.5-1.2,2.8-2.8,2.8c-1,0-1.7-0.4-2.2-1.3c-0.3-0.4-0.4-0.8-0.4-1.3V14.8
c0-1.2,0.8-2.1,1.7-2.5s2-0.3,2.9,0c0.9,0.3,1.6,0.8,2.2,1.6L30.5,28c0,0,0.1,0.1,0.2,0.2V14.7c0-1.4,1-2.5,2.4-2.7
c1.7-0.2,2.9,1,3.1,2.3v18.9c0,1.1-0.5,1.8-1.4,2.3c-0.7,0.4-1.4,0.4-2.1,0.4c-1.1-0.1-2.1-0.5-2.9-1.2c-0.4-0.4-0.8-0.9-1.2-1.3
L17.2,19.9C17.2,19.9,17.2,19.8,17.2,19.8L17.2,19.8z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
<style type="text/css">
.st0{fill:#539E43;}
</style>
<g>
<path class="st0" d="M24,47.9c-0.7,0-1.3-0.2-1.8-0.5l-5.9-3.5c-0.9-0.5-0.4-0.7-0.2-0.7c1.2-0.4,1.4-0.5,2.6-1.2
c0.1-0.1,0.3,0,0.4,0l4.5,2.7c0.2,0.1,0.4,0.1,0.5,0l17.6-10.2c0.2-0.1,0.3-0.3,0.3-0.5V13.8c0-0.2-0.1-0.4-0.3-0.5L24.2,3.2
c-0.2-0.1-0.4-0.1-0.5,0L6.1,13.3c-0.2,0.1-0.3,0.3-0.3,0.5v20.3c0,0.2,0.1,0.4,0.3,0.5l4.8,2.8c2.6,1.3,4.2-0.2,4.2-1.8v-20
c0-0.3,0.2-0.5,0.5-0.5h2.2c0.3,0,0.5,0.2,0.5,0.5v20c0,3.5-1.9,5.5-5.2,5.5c-1,0-1.8,0-4-1.1l-4.6-2.6c-1.1-0.7-1.8-1.9-1.8-3.2
V13.8c0-1.3,0.7-2.6,1.8-3.2L22.2,0.5c1.1-0.6,2.6-0.6,3.7,0l17.6,10.2c1.1,0.7,1.8,1.9,1.8,3.2v20.3c0,1.3-0.7,2.6-1.8,3.2
L25.8,47.5C25.3,47.8,24.6,47.9,24,47.9L24,47.9z M29.4,34c-7.7,0-9.3-3.5-9.3-6.5c0-0.3,0.2-0.5,0.5-0.5h2.3
c0.3,0,0.5,0.2,0.5,0.4c0.4,2.3,1.4,3.5,6,3.5c3.7,0,5.3-0.8,5.3-2.8c0-1.1-0.4-2-6.2-2.6c-4.8-0.5-7.8-1.5-7.8-5.4
c0-3.6,3-5.7,8-5.7c5.6,0,8.4,1.9,8.8,6.2c0,0.1,0,0.3-0.1,0.4c-0.1,0.1-0.2,0.2-0.4,0.2h-2.3c-0.2,0-0.4-0.2-0.5-0.4
c-0.5-2.4-1.9-3.2-5.5-3.2c-4,0-4.5,1.4-4.5,2.5c0,1.3,0.6,1.7,6,2.4c5.4,0.7,8,1.7,8,5.5C38.2,31.8,35,34,29.4,34L29.4,34z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
<style type="text/css">
.st0{fill-rule:evenodd;clip-rule:evenodd;fill:#B1DB9E;stroke:#B1DB9E;stroke-width:0.5;stroke-linecap:round;}
.st1{fill-rule:evenodd;clip-rule:evenodd;fill:#85CB65;stroke:#85CB65;stroke-width:0.5;stroke-linecap:round;}
.st2{fill-rule:evenodd;clip-rule:evenodd;fill:#75B35B;stroke:#75B35B;stroke-width:0.5;stroke-linecap:round;}
.st3{fill-rule:evenodd;clip-rule:evenodd;fill:#6FB950;stroke:#6FB950;stroke-width:0.5;stroke-linecap:round;}
.st4{fill-rule:evenodd;clip-rule:evenodd;fill:#6FB850;stroke:#6FB850;stroke-width:0.5;stroke-linecap:round;}
.st5{fill-rule:evenodd;clip-rule:evenodd;fill:#77C656;stroke:#77C656;stroke-width:0.5;stroke-linecap:round;}
.st6{fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
</style>
<symbol id="A" viewBox="-45.2 -46.2 90.5 92.5">
<g>
<path class="st0" d="M-40.4-0.6c12.6,0.3,17,0.9,26.3,1.8C-9,11.6-9.2,9.4-7,21.7c-8.3-9.5-20.9-19.5-33.8-22.3"/>
<path class="st1" d="M-39-46c11.1,5.7,38.8,24.2,46.4,27.9c4-1,9.8-3.6,17.8-0.5C16.3-17.6,8.7-7.7-0.2-0.9
c-8-20.3-21.4-32-27.2-38.3"/>
<path class="st2" d="M-44.8-19.4c15.4,3.1,20.6,4.9,31.7,8C-6,3.5-8,10.5-9.5,19.9C-16.7,2.7-29.8-13.2-45-19.4"/>
<path class="st3" d="M-38.8-45.9c8.9,5.2,20.7,21,25.6,34c1.8,5.2,4.5,17.7,3.6,31.8C-8,28.7,3.4,54.3,28.8,43.3
c-12.9,0-19.2-4.9-25.9-15.9C2.5,27.2-3.8,8.9-0.2-0.9C-8.7-29.1-32.1-42.9-39-46"/>
<path class="st0" d="M24.3,36.6c10.3,0,18.5-7,20.5-18.2c0.1-0.7,1.6,8.3-8.2,19.3c-0.7,0.7-6.7,1.6-12.1-1"/>
</g>
<g>
<path class="st4" d="M31.5-3c2.2,1.6,3.6,2.9,4.9,4.4c1.3,1-0.9-3.6-1.3-4.2c0.7-3.4-1.4-8.5-1.7-8.6c-1.6-1.6-30,9.4-20.2,35.4
C12.3,2.2,22.5-2,31.5-3L31.5-3z"/>
<path class="st5" d="M28.8,43.3c3.1-1.3,5.1-3.6,7.8-5.7c0.1-0.1-18.1,2.5-23.4-13.7c-1.8-2.9-8.3-26.7,20.1-35.5
c-1.3-2.9-6.7-6.6-8.1-7.1c-8.9,1-19,6.1-25.2,17.2C-5,7.5-2.4,45.1,28.8,43.3L28.8,43.3z"/>
</g>
<ellipse class="st6" cx="31" cy="-8.8" rx="1.3" ry="1.6"/>
</symbol>
<use xlink:href="#A" width="90.5" height="92.5" x="-45.2" y="-46.2" transform="matrix(0.5162 0 0 0.5162 24.004 24.0041)" style="overflow:visible;"/>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FF6600;}
</style>
<path class="st0" d="M44.8,19.2H29.7c-0.8,0-1.4-0.6-1.4-1.4l0,0V2.1c0-1.2-0.9-2.1-2.1-2.1h-5.4c-1.2,0-2.1,0.9-2.1,2.1v15.6
c0,0.8-0.7,1.5-1.5,1.5l-4.9,0c-0.8,0-1.5-0.7-1.5-1.5l0-15.6C10.9,0.9,10,0,8.8,0H3.4C2.2,0,1.3,0.9,1.3,2.1v44
c0,1,0.8,1.9,1.9,1.9h41.6c1,0,1.9-0.8,1.9-1.9v-25C46.7,20,45.9,19.2,44.8,19.2C44.8,19.2,44.8,19.2,44.8,19.2L44.8,19.2z
M37.7,35.7c0,1.3-1.1,2.4-2.4,2.4H31c-1.3,0-2.4-1.1-2.4-2.4v-4.3c0-1.3,1.1-2.4,2.4-2.4h4.3c1.3,0,2.4,1.1,2.4,2.4L37.7,35.7z"/>
</svg>

After

Width:  |  Height:  |  Size: 887 B

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
<style type="text/css">
.st0{fill:#C7402B;}
</style>
<path class="st0" d="M41.5,7.6L17.8,33.1l29.7-13.7C46.7,15,44.6,10.9,41.5,7.6L41.5,7.6z M23.9,0c-3.2,0-6.3,0.6-9.2,1.8l-3.2,26.7
L27.4,0.3C26.3,0.1,25.1,0,23.9,0L23.9,0z M47.8,20.9L19.6,36.7L46,33.5c1.3-3,2-6.2,1.9-9.5C48,23,47.9,22,47.8,20.9L47.8,20.9z
M37.4,44c3.2-2.1,5.8-5,7.6-8.3l-24.8,4.9L37.4,44z M28.8,0.5L15.1,30.4L40.6,6.7C37.4,3.6,33.3,1.4,28.8,0.5L28.8,0.5z M26,48
c2.6-0.2,5.1-0.9,7.5-1.9l-13.9-1.6L26,48L26,48z M2,14.2c-1.1,2.4-1.8,5.1-2,7.7l3.7,6.6L2,14.2z M12.6,2.8
c-3.4,1.8-6.3,4.4-8.5,7.6l3.5,17.5L12.6,2.8z"/>
</svg>

After

Width:  |  Height:  |  Size: 941 B

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
<style type="text/css">
.st0{fill:#6DB33F;}
</style>
<g id="Layer_2_1_">
<g id="logos">
<path class="st0" d="M43.7,2.8c-0.7,1.6-1.5,3.1-2.6,4.5C31.9-2.2,16.8-2.5,7.3,6.7s-9.8,24.4-0.6,33.9c0.3,0.3,0.6,0.6,1,1
l0.9,0.8c10.1,8.5,25.2,7.2,33.7-2.9c3.3-3.9,5.2-8.7,5.6-13.7C48.5,19.7,46.7,12,43.7,2.8z M11.1,41.7c-0.7,0.9-2,1-2.9,0.3
c-0.9-0.7-1-2-0.3-2.9c0.7-0.9,2-1,2.9-0.3C11.7,39.6,11.8,40.9,11.1,41.7z M43.6,34.6C37.7,42.4,25,39.8,17,40.2
c0,0-1.4,0.1-2.9,0.3c0,0,0.5-0.2,1.2-0.5c5.7-2,8.4-2.4,11.8-4.2c6.5-3.3,13-10.6,14.2-18.1c-2.5,7.2-10,13.4-16.8,16
c-4.7,1.7-13.1,3.4-13.1,3.4l-0.3-0.2c-5.7-2.8-5.9-15.3,4.5-19.3c4.6-1.8,8.9-0.8,13.9-2c5.3-1.2,11.4-5.2,13.9-10.4
C46.2,13.6,49.6,26.6,43.6,34.6z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

@@ -0,0 +1,97 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FFFFFF;}
.st1{fill:#221F1F;}
.st2{fill:#5077B6;}
.st3{fill:#DE4032;}
.st4{fill:#30A14E;}
.st5{fill:#ECB215;}
</style>
<rect y="14.1" class="st0" width="48" height="19.8"/>
<g>
<g>
<g>
<path class="st1" d="M15,25.6c-0.2,0.3-0.5,0.5-0.8,0.6c-0.3,0.1-0.7,0.2-1,0.2c-0.3,0-0.7-0.1-1-0.2c-0.3-0.1-0.6-0.3-0.8-0.5
S11,25.3,10.9,25c-0.1-0.3-0.2-0.6-0.2-1c0-0.3,0.1-0.7,0.2-1c0.1-0.3,0.3-0.6,0.5-0.8c0.2-0.2,0.5-0.4,0.8-0.5
c0.3-0.1,0.6-0.2,1-0.2c0.4,0,0.7,0.1,1,0.2c0.3,0.1,0.6,0.3,0.8,0.6l-0.8,0.8c-0.1-0.2-0.3-0.3-0.4-0.4
c-0.2-0.1-0.4-0.2-0.6-0.2c-0.2,0-0.3,0-0.5,0.1s-0.3,0.2-0.4,0.3c-0.1,0.1-0.2,0.3-0.3,0.4c-0.1,0.2-0.1,0.4-0.1,0.5
c0,0.2,0,0.4,0.1,0.5c0.1,0.2,0.2,0.3,0.3,0.4c0.1,0.1,0.3,0.2,0.4,0.3c0.2,0.1,0.3,0.1,0.5,0.1c0.2,0,0.4-0.1,0.6-0.2
c0.2-0.1,0.3-0.2,0.4-0.4L15,25.6z"/>
<path class="st1" d="M19.4,26.3h-1.2v-0.2c-0.2,0.1-0.4,0.2-0.6,0.3c-0.2,0.1-0.5,0.1-0.7,0.1c-0.2,0-0.4,0-0.6-0.1
c-0.2-0.1-0.3-0.2-0.5-0.3s-0.2-0.3-0.3-0.4s-0.1-0.4-0.1-0.6c0-0.3,0.1-0.5,0.2-0.7c0.1-0.2,0.3-0.4,0.5-0.5
c0.2-0.1,0.4-0.2,0.7-0.3c0.3-0.1,0.5-0.1,0.9-0.1h0.7c0-0.3-0.1-0.5-0.3-0.6c-0.2-0.2-0.4-0.2-0.8-0.2c-0.2,0-0.3,0-0.5,0.1
c-0.2,0.1-0.3,0.2-0.5,0.3l-0.7-0.7c0.2-0.2,0.5-0.4,0.9-0.5c0.3-0.1,0.7-0.2,1-0.2c0.3,0,0.6,0.1,0.9,0.2
c0.3,0.1,0.5,0.2,0.6,0.4c0.2,0.2,0.3,0.4,0.4,0.7c0.1,0.3,0.1,0.6,0.1,1L19.4,26.3L19.4,26.3z M18.2,25.1v-0.9h-0.5
c-0.2,0-0.3,0-0.5,0c-0.1,0-0.3,0.1-0.4,0.1c-0.1,0.1-0.2,0.1-0.2,0.2c-0.1,0.1-0.1,0.2-0.1,0.3c0,0.2,0.1,0.3,0.2,0.4
c0.1,0.1,0.3,0.2,0.5,0.2c0.2,0,0.3,0,0.5-0.1C17.9,25.3,18,25.2,18.2,25.1z"/>
<path class="st1" d="M24.5,26.3h-1.2v-2.8c0-0.2,0-0.3-0.1-0.4c-0.1-0.1-0.1-0.2-0.2-0.3c-0.1-0.1-0.2-0.1-0.3-0.2
c-0.1,0-0.2-0.1-0.3-0.1c-0.2,0-0.4,0-0.5,0.1s-0.3,0.2-0.5,0.3v3.4h-1.2v-4.6h1.2l0,0.3c0.1-0.1,0.2-0.1,0.3-0.2
c0.1-0.1,0.2-0.1,0.3-0.1c0.1,0,0.2-0.1,0.3-0.1c0.1,0,0.2,0,0.3,0c0.2,0,0.5,0,0.7,0.1c0.2,0.1,0.4,0.2,0.6,0.3
c0.2,0.2,0.3,0.4,0.4,0.6c0.1,0.2,0.2,0.5,0.2,0.9L24.5,26.3L24.5,26.3z"/>
<path class="st1" d="M29.6,21.7l-1.7,4.6h-1.1L25,21.7h1.3l1,3.1l1-3.1H29.6z"/>
<path class="st1" d="M33.9,26.3h-1.2v-0.2c-0.2,0.1-0.4,0.2-0.6,0.3c-0.2,0.1-0.5,0.1-0.7,0.1c-0.2,0-0.4,0-0.6-0.1
c-0.2-0.1-0.3-0.2-0.5-0.3c-0.1-0.1-0.2-0.3-0.3-0.4s-0.1-0.4-0.1-0.6c0-0.3,0.1-0.5,0.2-0.7c0.1-0.2,0.3-0.4,0.5-0.5
c0.2-0.1,0.4-0.2,0.7-0.3c0.3-0.1,0.5-0.1,0.9-0.1h0.7c0-0.3-0.1-0.5-0.3-0.6c-0.2-0.2-0.4-0.2-0.8-0.2c-0.2,0-0.3,0-0.5,0.1
c-0.2,0.1-0.3,0.2-0.5,0.3L30,22.3c0.2-0.2,0.5-0.4,0.9-0.5c0.3-0.1,0.7-0.2,1-0.2c0.3,0,0.6,0.1,0.9,0.2
c0.2,0.1,0.5,0.2,0.6,0.4c0.2,0.2,0.3,0.4,0.4,0.7c0.1,0.3,0.1,0.6,0.1,1L33.9,26.3L33.9,26.3z M32.8,25.1v-0.9h-0.5
c-0.2,0-0.3,0-0.5,0c-0.1,0-0.3,0.1-0.4,0.1c-0.1,0.1-0.2,0.1-0.2,0.2c-0.1,0.1-0.1,0.2-0.1,0.3c0,0.2,0.1,0.3,0.2,0.4
c0.1,0.1,0.3,0.2,0.5,0.2c0.2,0,0.3,0,0.5-0.1C32.4,25.3,32.6,25.2,32.8,25.1z"/>
<path class="st1" d="M38.2,25c0,0.2-0.1,0.4-0.2,0.6c-0.1,0.2-0.2,0.3-0.4,0.4c-0.2,0.1-0.4,0.2-0.6,0.3
c-0.2,0.1-0.4,0.1-0.6,0.1c-0.4,0-0.7-0.1-1-0.2c-0.3-0.1-0.6-0.3-0.8-0.6l0.7-0.7c0.1,0.2,0.3,0.3,0.5,0.4
c0.2,0.1,0.4,0.1,0.6,0.1c0.2,0,0.3,0,0.5-0.1c0.1-0.1,0.2-0.2,0.2-0.3c0-0.1-0.1-0.3-0.3-0.3c-0.2-0.1-0.4-0.2-0.7-0.3
c-0.2-0.1-0.4-0.1-0.5-0.2c-0.2-0.1-0.3-0.2-0.5-0.3c-0.1-0.1-0.2-0.3-0.3-0.4c-0.1-0.2-0.1-0.3-0.1-0.5c0-0.2,0.1-0.4,0.2-0.6
c0.1-0.2,0.2-0.3,0.4-0.4c0.2-0.1,0.4-0.2,0.6-0.3c0.2-0.1,0.4-0.1,0.7-0.1c0.7,0,1.3,0.3,1.7,0.8L37.5,23
c-0.1-0.2-0.3-0.3-0.5-0.4c-0.2-0.1-0.4-0.1-0.6-0.1c-0.1,0-0.1,0-0.2,0c-0.1,0-0.1,0-0.2,0.1c-0.1,0-0.1,0.1-0.2,0.1
c0,0.1-0.1,0.1-0.1,0.2c0,0.1,0.1,0.2,0.2,0.3c0.2,0.1,0.4,0.2,0.7,0.3c0.2,0.1,0.4,0.1,0.6,0.2c0.2,0.1,0.3,0.2,0.5,0.3
c0.1,0.1,0.2,0.3,0.3,0.4C38.2,24.6,38.2,24.8,38.2,25z"/>
<path class="st1" d="M42.6,24.2c0,0.4-0.1,0.8-0.2,1.1c-0.2,0.3-0.3,0.5-0.6,0.7c-0.2,0.2-0.5,0.3-0.7,0.4
c-0.2,0.1-0.5,0.1-0.7,0.1c-0.4,0-0.7-0.1-1-0.3c-0.3-0.2-0.6-0.4-0.8-0.7l0.8-0.8c0.1,0.2,0.2,0.3,0.4,0.4
c0.2,0.1,0.3,0.1,0.5,0.1c0.1,0,0.2,0,0.4-0.1c0.1,0,0.2-0.1,0.3-0.2c0.1-0.1,0.2-0.2,0.2-0.3c0.1-0.1,0.1-0.3,0.1-0.4v-4.3h1.3
L42.6,24.2L42.6,24.2z"/>
<path class="st1" d="M48,24.6c0,0.2-0.1,0.5-0.2,0.7c-0.1,0.2-0.2,0.4-0.4,0.6c-0.2,0.2-0.4,0.3-0.7,0.4
c-0.3,0.1-0.5,0.1-0.8,0.1c-0.3,0-0.5,0-0.7,0c-0.2,0-0.4-0.1-0.6-0.2c-0.2-0.1-0.4-0.2-0.6-0.3c-0.2-0.1-0.4-0.2-0.6-0.4
l0.9-0.9c0.3,0.2,0.5,0.4,0.8,0.5c0.2,0.1,0.5,0.1,0.8,0.1c0.1,0,0.2,0,0.3-0.1c0.1,0,0.2-0.1,0.3-0.1c0.1-0.1,0.1-0.1,0.2-0.2
c0-0.1,0.1-0.2,0.1-0.3c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.2-0.2-0.2c-0.1-0.1-0.2-0.2-0.4-0.2c-0.2-0.1-0.4-0.2-0.7-0.3
c-0.2-0.1-0.5-0.2-0.7-0.3c-0.2-0.1-0.4-0.2-0.6-0.4c-0.2-0.2-0.3-0.3-0.4-0.5c-0.1-0.2-0.1-0.5-0.1-0.7c0-0.3,0.1-0.5,0.2-0.8
c0.1-0.2,0.3-0.4,0.4-0.6c0.2-0.2,0.4-0.3,0.7-0.4c0.3-0.1,0.5-0.1,0.8-0.1c0.5,0,0.9,0.1,1.2,0.2c0.3,0.1,0.6,0.3,0.9,0.6
L47,21.4c-0.2-0.2-0.3-0.3-0.5-0.4c-0.2-0.1-0.4-0.1-0.7-0.1c-0.1,0-0.2,0-0.3,0.1c-0.1,0-0.2,0.1-0.3,0.1
c-0.1,0.1-0.1,0.1-0.2,0.2c0,0.1-0.1,0.2-0.1,0.3c0,0.1,0,0.2,0.1,0.3s0.1,0.2,0.2,0.2c0.1,0.1,0.2,0.2,0.4,0.2
c0.2,0.1,0.4,0.2,0.6,0.3c0.3,0.1,0.6,0.2,0.8,0.4c0.2,0.1,0.4,0.3,0.6,0.4c0.1,0.2,0.3,0.3,0.3,0.5C48,24.1,48,24.4,48,24.6z"/>
</g>
</g>
<g>
<path class="st2" d="M10.8,16.1c0,0-0.3,0.1-0.5,0.2c-0.1,0-0.3,0.1-0.3,0.1c-0.1,0-0.2,0.1-0.2,0.1l1.6,3.6
c0.2-0.1,0.3-0.1,0.5-0.2L10.8,16.1z"/>
<path class="st2" d="M13,17.5c0,0-0.1,0-0.1,0c-0.1,0-0.2,0-0.3,0c-0.2,0-0.4,0.1-0.4,0.1l0.4,2.2c0.2,0,0.4,0,0.6-0.1L13,17.5z"
/>
<path class="st2" d="M15.4,14.3c0,0-0.1,0-0.2,0c-0.1,0-0.3,0-0.4-0.1c-0.2,0-0.3,0-0.4-0.1c-0.1,0-0.2,0-0.2,0l-0.5,5.6
c0.2,0,0.4,0,0.6,0.1L15.4,14.3z"/>
<path class="st2" d="M16.9,16.7c0,0-0.2-0.1-0.5-0.2c-0.1-0.1-0.2-0.1-0.3-0.1c-0.1,0-0.2-0.1-0.2-0.1l-1.3,3.6
c0.2,0.1,0.3,0.1,0.5,0.2L16.9,16.7z"/>
<path class="st3" d="M14.7,28l1.2,3.2c0,0,0.1,0,0.2-0.1c0.1,0,0.2-0.1,0.3-0.1c0.1-0.1,0.2-0.1,0.3-0.1c0.1,0,0.1-0.1,0.1-0.1
l-1.6-3C15.1,27.9,14.9,28,14.7,28z"/>
<path class="st3" d="M14,32.5c0,0,0.3,0,0.6-0.1c0.1,0,0.3-0.1,0.4-0.1c0.1,0,0.2,0,0.2,0l-1-4.1c-0.2,0-0.4,0.1-0.6,0.1L14,32.5z
"/>
<path class="st3" d="M12.2,29.9c0,0,0,0,0.1,0c0.1,0,0.2,0,0.3,0c0.2,0,0.4,0,0.4,0l0-1.6c-0.2,0-0.4,0-0.6-0.1L12.2,29.9z"/>
<path class="st3" d="M9,33.4c0,0,0.1,0,0.2,0.1c0.1,0,0.3,0.1,0.4,0.2c0.2,0.1,0.3,0.1,0.4,0.2c0.1,0,0.2,0.1,0.2,0.1l1.6-5.7
c-0.2-0.1-0.4-0.1-0.5-0.2L9,33.4z"/>
<path class="st4" d="M6.1,32.9c0,0,0.3,0.2,0.6,0.5c0.1,0.1,0.3,0.2,0.4,0.3c0.1,0.1,0.2,0.1,0.2,0.1l3.6-6.1
c-0.2-0.1-0.3-0.2-0.5-0.3L6.1,32.9z"/>
<path class="st4" d="M7.1,28.5c0,0,0.7,0.8,0.7,0.8l2.3-2.3c-0.1-0.1-0.3-0.3-0.4-0.4L7.1,28.5z"/>
<path class="st4" d="M4.7,27.4c0,0,0.1,0.3,0.2,0.5c0.1,0.1,0.1,0.3,0.2,0.4c0.1,0.1,0.1,0.2,0.1,0.2l4.1-2.4
c-0.1-0.2-0.2-0.3-0.2-0.5L4.7,27.4z"/>
<path class="st4" d="M2.1,25.4c0,0,0,0.1,0,0.2c0,0.1,0,0.3,0.1,0.5c0.1,0.4,0.2,0.7,0.2,0.7L9,25.1c0-0.2-0.1-0.4-0.1-0.6
L2.1,25.4z"/>
<path class="st5" d="M0.1,22.3c0,0,0,0.1,0,0.3c0,0.2,0,0.4,0,0.6c0,0.2,0,0.4,0,0.6C0,23.9,0,24,0,24L8.9,24c0-0.2,0-0.4,0-0.6
L0.1,22.3z"/>
<path class="st5" d="M6.2,21.2c0,0-0.1,0.2-0.2,0.5C6,21.7,6,21.9,6,21.9c0,0.1,0,0.1,0,0.1L9,22.9c0-0.2,0.1-0.4,0.2-0.5
L6.2,21.2z"/>
<path class="st5" d="M4.8,17.7c0,0-0.1,0.1-0.1,0.2c-0.1,0.1-0.2,0.2-0.3,0.4C4.2,18.6,4,18.9,4,18.9l5.4,3
c0.1-0.2,0.2-0.3,0.3-0.5L4.8,17.7z"/>
<path class="st5" d="M6.5,14.5c0,0-0.3,0.2-0.6,0.5c-0.3,0.2-0.6,0.5-0.6,0.5l5,5.4c0.1-0.1,0.3-0.3,0.5-0.4L6.5,14.5z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.7 KiB

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
<style type="text/css">
.st0{fill:#36A2EB;}
.st1{fill:#FFCE56;}
.st2{opacity:0.8;fill:#FE6184;enable-background:new ;}
.st3{fill:#E7E9ED;}
</style>
<path class="st0" d="M43.6,24.2c-6.7,0.1-5.3,4.4-10,5.5c-4.8,1.1-5.6-11.7-10.4-11.7c-4.8,0-5.9,12.5-11.9,21l-0.2,0.2L24,46.6
l19.6-11.3V24.2z"/>
<path class="st1" d="M43.6,23.8c-2.2-2.9-3.8-6.2-7-6.2c-5.8,0-4.3,9.5-10.7,9.5c-6.4,0-7.1-10.2-14.3-0.6c-2.3,3-4.2,6.4-5.6,9.7
L24,46.6l19.6-11.3V23.8z"/>
<path class="st2" d="M4.4,27.7c2.2-6.1,3.2-11,7.4-11c6.4,0,7.9,18,13.4,16.2c5.5-1.8,4.9-11.6,13.4-11.6c1.6,0,3.3,1,4.9,2.6v11.4
L24,46.6L4.4,35.3L4.4,27.7L4.4,27.7z"/>
<path class="st3" d="M24,48L3.2,36V12L24,0l20.8,12v24L24,48z M5.7,34.6L24,45.2l18.3-10.6V13.4L24,2.8L5.7,13.4V34.6z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
<style type="text/css">
.st0{clip-path:url(#SVGID_2_);}
.st1{fill:url(#SVGID_3_);}
.st2{fill:url(#SVGID_4_);}
.st3{fill:none;stroke:url(#SVGID_5_);stroke-width:16.5517;stroke-miterlimit:1.6552;}
</style>
<g>
<defs>
<path id="SVGID_1_" d="M0,1.3h3.9c12.6,0,22.7,10.2,22.7,22.7S16.4,46.7,3.9,46.7H0v-10h3.9c7,0,12.7-5.7,12.7-12.7
S10.9,11.3,3.9,11.3H0V1.3z M18.1,1.3h16C41.8,1.3,48,7.5,48,15.1c0,3.2-1.1,6.4-3.2,8.9c4.9,5.9,4.1,14.6-1.8,19.5
c-2.5,2.1-5.6,3.2-8.9,3.2h-16c3.9-2.5,7.2-5.9,9.4-10h6.6c2.1,0,3.9-1.7,3.9-3.9S36.3,29,34.1,29h-3.9c0.6-3.3,0.6-6.7,0-10h3.9
c2.1,0,3.9-1.7,3.9-3.9s-1.7-3.9-3.9-3.9h-6.6C25.3,7.2,22.1,3.7,18.1,1.3z"/>
</defs>
<clipPath id="SVGID_2_">
<use xlink:href="#SVGID_1_" style="overflow:visible;"/>
</clipPath>
<g class="st0">
<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="337.4835" y1="-678.44" x2="389.4399" y2="-730.3964" gradientTransform="matrix(0.4138 0 0 -0.4138 -165.8965 -217.7353)">
<stop offset="0" style="stop-color:#F9A03C"/>
<stop offset="1" style="stop-color:#F7974E"/>
</linearGradient>
<path class="st1" d="M-64-49.7v150H86L-64-49.7z"/>
<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="530.8096" y1="-441.6156" x2="606.9317" y2="-517.7377" gradientTransform="matrix(0.4138 0 0 -0.4138 -165.8965 -217.7353)">
<stop offset="0" style="stop-color:#B84E51"/>
<stop offset="1" style="stop-color:#F68E48"/>
</linearGradient>
<path class="st2" d="M-36-49.7h150v150L-36-49.7z"/>
<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="402.4705" y1="-527.6592" x2="505.1709" y2="-631.5679" gradientTransform="matrix(0.4138 0 0 -0.4138 -165.8965 -217.7353)">
<stop offset="0" style="stop-color:#F26D58"/>
<stop offset="1" style="stop-color:#F9A03C"/>
</linearGradient>
<path class="st3" d="M-50-49.7l150,150"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

@@ -0,0 +1,59 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
<style type="text/css">
.st0{clip-path:url(#SVGID_2_);fill:url(#SVGID_3_);}
</style>
<g>
<defs>
<path id="SVGID_1_" d="M21.6,5.5c0,0,0,0.1,0,0.2c-0.2,0.1-0.4,0.1-0.6,0.2c-0.3,0.1-0.5,0.2-0.8,0.3c-0.3,0.1-0.5,0.2-0.8,0.3
c-0.5,0.2-1.1,0.5-1.6,0.8c-0.5,0.3-1,0.6-1.5,0.9c-0.1,0-0.1-0.1-0.1-0.1c-5-1.9-9.4,0.4-9.4,0.4c-0.4,5.3,2,8.7,2.5,9.3
c-0.1,0.3-0.2,0.7-0.3,1C8.4,20,8.1,21.2,8,22.5c0,0.2,0,0.4-0.1,0.6c-4.6,2.3-6,7-6,7c3.9,4.4,8.3,4.7,8.3,4.7c0,0,0,0,0,0
c0.6,1,1.2,2,2,2.9c0.3,0.4,0.6,0.7,1,1.1c-1.4,4,0.2,7.4,0.2,7.4c4.3,0.2,7.1-1.9,7.7-2.3c0.4,0.1,0.9,0.3,1.3,0.4
c1.3,0.3,2.7,0.5,4,0.6c0.3,0,0.7,0,1,0h0.2l0.1,0l0.2,0l0.2,0l0,0c2,2.9,5.6,3.3,5.6,3.3c2.5-2.7,2.7-5.3,2.7-5.9c0-0.6,0,0,0,0
c0,0,0-0.1,0-0.1c0,0,0-0.1,0-0.1c0.5-0.4,1-0.8,1.5-1.2c1-0.9,1.9-2,2.6-3.1c0.1-0.1,0.1-0.2,0.2-0.3c2.9,0.2,4.9-1.8,4.9-1.8
c-0.5-3-2.2-4.4-2.5-4.7s0,0,0,0c0,0,0,0,0,0c0,0,0,0-0.1,0c0-0.2,0-0.4,0-0.5c0-0.3,0-0.6,0-1l0-0.2l0-0.1v-0.1
c0-0.1,0-0.1,0-0.1l0-0.2l0-0.3c0-0.1,0-0.2,0-0.3c0-0.1,0-0.2,0-0.2l0-0.2l0-0.2c0-0.3-0.1-0.7-0.2-1c-0.3-1.3-0.8-2.5-1.5-3.6
c-0.7-1.1-1.5-2.1-2.4-2.9c-0.9-0.8-2-1.5-3.1-2c-1.1-0.5-2.2-0.8-3.4-1c-0.6-0.1-1.1-0.1-1.7-0.1l-0.2,0l-0.1,0c0,0-0.1,0-0.1,0
l-0.1,0l-0.2,0c-0.1,0-0.2,0-0.2,0c-0.3,0-0.6,0.1-0.9,0.1c-1.1,0.2-2.2,0.6-3.1,1.2c-0.9,0.6-1.8,1.3-2.4,2.1
c-0.7,0.8-1.2,1.7-1.5,2.6c-0.4,0.9-0.6,1.9-0.6,2.8c0,0.2,0,0.5,0,0.7c0,0.1,0,0.1,0,0.2l0,0.2c0,0.1,0,0.2,0,0.3
c0,0.5,0.1,0.9,0.3,1.3c0.2,0.9,0.6,1.6,1.1,2.3c0.5,0.7,1.1,1.2,1.7,1.6c0.6,0.4,1.3,0.7,2,0.9c0.7,0.2,1.3,0.3,1.9,0.3
c0.1,0,0.2,0,0.2,0c0,0,0.1,0,0.1,0l0.1,0c0.1,0,0.1,0,0.2,0c0,0,0,0,0.1,0l0.1,0c0,0,0.1,0,0.1,0c0.1,0,0.2,0,0.2,0
c0.1,0,0.1,0,0.2,0c0.1,0,0.3-0.1,0.4-0.1c0.3-0.1,0.5-0.2,0.8-0.3c0.2-0.1,0.5-0.3,0.7-0.4c0.1,0,0.1-0.1,0.2-0.1
c0.2-0.2,0.3-0.5,0.1-0.7c-0.2-0.2-0.4-0.2-0.6-0.1c-0.1,0-0.1,0.1-0.2,0.1c-0.2,0.1-0.4,0.2-0.6,0.2c-0.2,0.1-0.4,0.1-0.6,0.2
c-0.1,0-0.2,0-0.3,0c-0.1,0-0.1,0-0.2,0c-0.1,0-0.1,0-0.2,0c-0.1,0-0.1,0-0.2,0c-0.1,0-0.1,0-0.2,0c0,0,0,0,0,0l0,0l0,0
c0,0-0.1,0-0.1,0c-0.1,0-0.1,0-0.2,0c-0.5-0.1-1-0.2-1.4-0.4c-0.5-0.2-0.9-0.5-1.3-0.9c-0.4-0.4-0.8-0.8-1-1.3
c-0.3-0.5-0.5-1.1-0.6-1.6c0-0.3-0.1-0.6-0.1-0.9c0-0.1,0-0.2,0-0.2c0,0,0,0,0,0l0,0l0-0.1c0,0,0-0.1,0-0.1c0-0.2,0-0.3,0.1-0.5
c0.2-1.3,0.9-2.5,1.8-3.5c0.2-0.2,0.5-0.5,0.8-0.6c0.3-0.2,0.6-0.4,0.9-0.5s0.6-0.3,1-0.4c0.3-0.1,0.7-0.1,1-0.2
c0.2,0,0.3,0,0.5,0c0,0,0.1,0,0.1,0l0.1,0l0.1,0c0,0,0,0,0,0l0,0l0.1,0c0.4,0,0.8,0.1,1.1,0.2c0.7,0.2,1.5,0.4,2.1,0.8
c1.3,0.7,2.5,1.9,3.2,3.3c0.4,0.7,0.6,1.5,0.7,2.2c0,0.2,0.1,0.4,0.1,0.6l0,0.1l0,0.1c0,0.1,0,0.1,0,0.1c0,0,0,0.1,0,0.1v0.1
l0,0.1c0,0.1,0,0.3,0,0.3c0,0.2,0,0.4-0.1,0.6c0,0.2-0.1,0.4-0.1,0.6c0,0.2-0.1,0.4-0.1,0.6c-0.1,0.4-0.2,0.8-0.4,1.2
c-0.3,0.8-0.7,1.6-1.2,2.3c-1,1.4-2.4,2.5-4,3.3c-0.8,0.4-1.6,0.6-2.5,0.8c-0.4,0.1-0.9,0.1-1.3,0.1l-0.1,0H28l-0.1,0h-0.2h-0.1
c0.1,0,0,0,0,0l0,0c-0.2,0-0.5,0-0.7,0c-0.9-0.1-1.8-0.2-2.7-0.5c-0.9-0.3-1.8-0.6-2.6-1c-1.6-0.9-3.1-2.1-4.2-3.5
c-0.6-0.7-1.1-1.5-1.5-2.3c-0.4-0.8-0.7-1.7-1-2.5c-0.2-0.9-0.4-1.8-0.4-2.7l0-0.2l0,0v0l0-0.1l0-0.1l0,0v-0.1v-0.1l0-0.2v0
c0,0,0,0,0,0V25c0-0.1,0-0.2,0-0.3c0-0.4,0.1-0.9,0.1-1.4c0.1-0.5,0.1-0.9,0.2-1.4c0.1-0.5,0.2-0.9,0.3-1.3
c0.3-0.9,0.6-1.7,0.9-2.6c0.7-1.6,1.7-3.1,2.9-4.2c0.3-0.3,0.6-0.6,0.9-0.8c0.3-0.3,0.6-0.5,1-0.7c0.3-0.2,0.7-0.4,1-0.6
c0.2-0.1,0.4-0.2,0.5-0.3c0.1,0,0.2-0.1,0.3-0.1s0.2-0.1,0.3-0.1c0.4-0.2,0.8-0.3,1.1-0.4c0.1,0,0.2-0.1,0.3-0.1
c0.1,0,0.2-0.1,0.3-0.1c0.2-0.1,0.4-0.1,0.6-0.2c0.1,0,0.2,0,0.3-0.1c0.1,0,0.2,0,0.3-0.1c0.1,0,0.2,0,0.3-0.1l0.2,0l0.2,0
c0.1,0,0.2,0,0.3,0c0.1,0,0.2,0,0.3,0c0.1,0,0.2,0,0.3,0c0.1,0,0.1,0,0.2,0l0.1,0l0.1,0l0.1,0c0.1,0,0.2,0,0.3,0l0.2,0
c0,0,0.1,0,0,0l0,0l0.1,0c0.1,0,0.2,0,0.3,0c0.4,0,0.8,0,1.2,0c0.8,0,1.5,0.1,2.3,0.3c1.5,0.3,2.8,0.7,4.1,1.4
c1.3,0.6,2.4,1.4,3.3,2.2c0.1,0.1,0.1,0.1,0.2,0.2c0.1,0.1,0.1,0.1,0.2,0.2c0.1,0.1,0.2,0.2,0.3,0.3c0.1,0.1,0.2,0.2,0.3,0.3
c0.1,0.1,0.2,0.2,0.3,0.3c0.4,0.4,0.8,0.9,1.1,1.3c0.7,0.9,1.2,1.8,1.7,2.6c0,0.1,0.1,0.1,0.1,0.2s0.1,0.1,0.1,0.2
c0.1,0.1,0.1,0.2,0.1,0.3c0,0.1,0.1,0.2,0.1,0.3c0,0.1,0.1,0.2,0.1,0.3c0.2,0.4,0.3,0.8,0.4,1.1c0.2,0.6,0.3,1.1,0.5,1.5
c0,0.2,0.2,0.3,0.4,0.3c0.2,0,0.3-0.2,0.3-0.4c0-0.5,0-1.1-0.1-1.7c-0.1-0.8-0.2-1.7-0.5-2.8c-0.3-1-0.7-2.1-1.2-3.3
c-0.6-1.2-1.3-2.4-2.3-3.5c-0.4-0.5-0.8-0.9-1.3-1.4c0.7-2.7-0.8-5-0.8-5C37.3,5,35.7,6,35.1,6.4c-0.1,0-0.2-0.1-0.3-0.1
c-0.4-0.2-0.9-0.3-1.4-0.5S32.5,5.5,32,5.4c-0.5-0.1-1-0.2-1.5-0.3c-0.1,0-0.2,0-0.3,0C29.1,1.5,25.9,0,25.9,0
C22.3,2.3,21.6,5.5,21.6,5.5"/>
</defs>
<clipPath id="SVGID_2_">
<use xlink:href="#SVGID_1_" style="overflow:visible;"/>
</clipPath>
<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="-1157.1758" y1="-7712.5269" x2="-1150.0594" y2="-7712.5269" gradientTransform="matrix(0 -6.1635 6.1635 0 47560.4922 -7073.5063)">
<stop offset="0" style="stop-color:#FFF200"/>
<stop offset="1" style="stop-color:#F15A29"/>
</linearGradient>
<path class="st0" d="M1.9,0h44.2v48H1.9L1.9,0z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.2 KiB

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
<style type="text/css">
.st0{fill:#E9478B;}
.st1{fill:#3EBEB0;}
.st2{fill:#37A595;}
.st3{fill:#353535;}
</style>
<path class="st0" d="M6.2,18c6.4,0,12.4,1.7,17.6,4.5L42.5,0h-37v44.5V18C5.5,18,6.2,18,6.2,18z"/>
<path class="st1" d="M23.8,22.4L5.5,44.5V48h36.9C40.3,37,33.3,27.7,23.8,22.4z"/>
<path class="st2" d="M23.8,22.4L5.5,44.5V48H12l17.8-21.5c0,0-1.2-1-2.9-2.2C25.7,23.5,23.8,22.4,23.8,22.4z"/>
<path class="st3" d="M6.2,18H5.5v26.5l18.3-22.1C18.6,19.6,12.6,18,6.2,18z"/>
</svg>

After

Width:  |  Height:  |  Size: 833 B

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 10 KiB

+22
View File
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
<style type="text/css">
.st0{fill:#151F34;}
.st1{fill:#348540;}
.st2{fill:#7DBC42;}
</style>
<g>
<path class="st0" d="M29.3,13.8c-1.7,0.4-3.5,0.6-5.3,0.6c-1.8,0-3.5-0.2-5.3-0.6c1.4-2.2,3.2-4.2,5.3-5.9
C26.1,9.5,27.9,11.5,29.3,13.8z M45.1,0.9C43,0.3,40.8,0,38.5,0C33.4,0,28.3,1.5,24,4.4C19.7,1.5,14.7,0,9.5,0C7.2,0,5,0.3,2.8,0.9
C1.9,1.1,1,1.4,0.1,1.7c0,0,0,0.1,0,0.1c0.4,0.8,0.8,1.6,1.2,2.4c0,0,0.1,0,0.1,0c0.9-0.3,1.8-0.6,2.7-0.8C10.2,2,16.4,3,21.6,6.2
c-2.3,1.9-4.2,4.2-5.7,6.7c-0.3,0.5-0.6,1-0.8,1.5s-0.3,0.7-0.5,1c-0.2,0.4-0.5,1.1-0.7,1.6c-3.6,9.8-1.1,20.8,6.4,28.1
c0.4,0.4,0.8,0.7,1.2,1.1c0.4,0.4,0.7,0.6,1,0.8s0.9,0.7,1.3,1c0,0,0.1,0,0.1,0c0.4-0.3,0.9-0.6,1.3-1c0.4-0.3,0.7-0.5,1-0.8
c0.3-0.3,0.8-0.7,1.2-1.1c5.2-4.9,8.1-11.8,8.1-18.9c0-3.1-0.5-6.2-1.6-9.1c-0.2-0.6-0.4-1.1-0.7-1.6c-0.2-0.5-0.3-0.7-0.5-1
s-0.5-1-0.8-1.5c-1.5-2.5-3.4-4.8-5.7-6.7C31.6,3,37.9,2,43.8,3.4c0.9,0.2,1.8,0.5,2.7,0.8c0,0,0.1,0,0.1,0
c0.4-0.8,0.8-1.5,1.2-2.3c0,0,0-0.1,0-0.1C47,1.4,46.1,1.1,45.1,0.9z"/>
<path class="st1" d="M32.9,26.2c0,6-2.3,11.7-6.4,16c-0.7-2.3-1.1-4.6-1.1-7c0-6,2.3-11.7,6.4-16C32.5,21.5,32.9,23.8,32.9,26.2"/>
<path class="st2" d="M22.6,35.2c0,2.4-0.4,4.7-1.1,7c-5.8-6.2-7.9-15-5.3-23.1C20.4,23.5,22.7,29.3,22.6,35.2"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

+13
View File
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
<style type="text/css">
.st0{fill:#E42528;}
</style>
<path class="st0" d="M39,29.3c0,2-1.1,3-3,3.1H12c-2,0-3-1-3-3.1c0-2,1.1-3,3-3.1H36C38,26.3,39,27.3,39,29.3z M36,33.9H12
c-2,0-3,1-3,3.1c0,2,1.1,3,3,3.1H36c2,0,3-1,3-3.1C39,34.8,38,33.9,36,33.9z M43.5,17L43.5,17c-2,0-3,1-3,3v16.8c0,2,1.1,3,3,3.1
l0,0c3-0.1,4.5-3.1,4.5-9.2v-7.6C48,19.1,46.4,17.1,43.5,17z M4.5,17L4.5,17c-3,0.1-4.5,2.1-4.5,6.2v7.6c0,6.1,1.6,9.1,4.5,9.2l0,0
c2,0,3-1,3-3.1V20.1C7.5,18.1,6.5,17.1,4.5,17z M43.5,15.5c0-5.1-2.6-7.5-7.4-7.6H12C7.1,8,4.5,10.6,4.5,15.5l0,0
c3,0,4.5,1.6,4.5,4.6s1.6,4.6,4.5,4.6h21c2.9,0,4.5-1.6,4.5-4.6C39,17,40.6,15.6,43.5,15.5z"/>
</svg>

After

Width:  |  Height:  |  Size: 984 B

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
<style type="text/css">
.st0{fill:#00A9E5;}
.st1{fill:#353535;}
.st2{fill:#00BFB3;}
.st3{fill:#019B8F;}
.st4{fill:#F9B110;}
.st5{fill:#FED10A;}
</style>
<g id="Elasticsearch_1_">
<g>
<path class="st0" d="M35,16.8H22.5c0.1,0.3,0.2,0.6,0.2,0.8c0.4,1.4,0.7,2.9,0.8,4.5c0.1,0.6,0.1,1.3,0.1,1.9c0,0.6,0,1.3-0.1,1.9
c-0.1,1.6-0.4,3.1-0.8,4.5c-0.1,0.3-0.2,0.6-0.2,0.8H35c4,0,7.1-3.2,7.1-7.2S39,16.8,35,16.8z"/>
<path class="st1" d="M23.5,25.9c0.1-0.6,0.1-1.3,0.1-1.9c0-0.6,0-1.3-0.1-1.9c-0.1-1.6-0.4-3.1-0.8-4.5c-0.1-0.3-0.2-0.6-0.2-0.8
H3.1C2.4,19.1,2,21.5,2,24c0,2.5,0.4,4.9,1.1,7.2h19.4c0.1-0.3,0.2-0.6,0.2-0.8C23.2,28.9,23.4,27.4,23.5,25.9z"/>
</g>
<g>
<path class="st2" d="M37.2,33.6H21.6c-0.5,1.1-1,2.1-1.6,3.1c-0.9,1.5-2,2.8-3.2,4.1c-0.4,0.4-0.8,0.8-1.3,1.2
c-0.8,0.8-1.8,1.4-2.8,2.1c3.8,2.5,8.3,4,13.2,4c8.3,0,15.7-4.3,20-10.7C43.7,35,40.6,33.6,37.2,33.6z"/>
<path class="st3" d="M20,36.7c0.6-1,1.1-2,1.6-3.1H4c1.9,4.3,4.9,7.9,8.8,10.4c1-0.7,1.9-1.3,2.8-2.1c0.4-0.4,0.8-0.8,1.3-1.2
C18,39.5,19.1,38.2,20,36.7z"/>
</g>
<g>
<path class="st4" d="M16.8,7.3c-0.4-0.4-0.8-0.8-1.3-1.2c-0.8-0.8-1.8-1.4-2.8-2.1C8.9,6.5,5.9,10.1,4,14.4h17.6
c-0.5-1.1-1-2.1-1.6-3.1C19.1,9.8,18,8.5,16.8,7.3z"/>
<path class="st5" d="M26,0c-4.9,0-9.4,1.4-13.2,4c1,0.7,1.9,1.3,2.8,2.1c0.4,0.4,0.8,0.8,1.3,1.2c1.2,1.3,2.3,2.6,3.2,4.1
c0.6,1,1.1,2,1.6,3.1h15.6c3.4,0,6.5-1.4,8.8-3.7C41.6,4.3,34.3,0,26,0z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

+95
View File
@@ -0,0 +1,95 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
<style type="text/css">
.st0{fill-rule:evenodd;clip-rule:evenodd;fill:#FDEE21;}
.st1{fill-rule:evenodd;clip-rule:evenodd;fill:#C8C037;}
.st2{fill-rule:evenodd;clip-rule:evenodd;fill:#FCF6A0;}
.st3{fill-rule:evenodd;clip-rule:evenodd;}
.st4{fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
.st5{fill-rule:evenodd;clip-rule:evenodd;stroke:#000000;stroke-width:8.298515e-03;stroke-miterlimit:10;}
</style>
<g transform="matrix(.072794 0 0 .072794 -.000407 .634153)">
<path class="st0" d="M377.3,87.6C371.6,71.8,172.6-5.6,170.1,2.9c-36.5,9.5-51.4,51.6-76.5,78.3L37.8,78
c-24.6,31.6-37.5,63.9-28.7,97.5c31.5,42.7,68.1,79,90.9,132.6c1.8,25.3,109.4,2.6,132.4-2.4c-31.5,22.5-58.9,57.5-47.1,158.1
c10.8,47.3,18.1,100,113.6,153.5c12.6,7,38.6,15.2,54.6,21.1c15.4,7.1,33.3,9.9,84.1-5.6c29.3-12.6,61-20.3,89.7-32.9l-34.5,1.6
c-47.5,1-84.2,4.6-95.5-8.7l-43.7-75.5l25.5-49.5c35.3,3.6,47,32.2,78.1,43.1l36.7-27.2c106.5,62.9,148.9-39.8,161-119.8
c-1.3-32.5-70.5,10.2-66.3-5c1.6-35-26.9-80.8-45.3-116.4l21.3-82.5c9.7-8.6-44.8-100.4-89.3-111.8
C436.2,38.2,377.3,87.6,377.3,87.6L377.3,87.6z"/>
<g>
<path class="st1" d="M552.3,263c0.4,8.9,0.3,19.6,1.2,26.4c-0.1,5.1-4,5.3-7.2,6.4l20.7,7.6c4.1,6.9,7.4,13.8,10.8,20.8
c3.9,17,1,17.5-1.6,18.8c-7.5,0.1-15,0.1-22-1.4c3.1,1.7,3.8,2.9,4.2,5c0.6,3.9-1.9,9.2-6.1,14.4c6.1,3.4,17.3,6.7,25.6,9.9
l9.5-21.1C583.1,318.7,570.1,290.2,552.3,263L552.3,263z M591,366.8c11.5,4.8,27.4,3.4,49.4-8c3.3-2.3,6.3-0.9,0.5,2.9
C611.9,387.6,598.1,374.7,591,366.8L591,366.8z"/>
<path class="st1" d="M642.6,355.4c3.4,6.5,1.3,11.9,0.2,17.4c-3.6,28.1-12.3,50.3-29.5,73.5c-55.9,89.8-112.3,33.6-157.2-3
L437.4,490c-1,4.1-5.1,7.3,24,20.1l29.6-20.9C603.8,575,683.8,368.9,642.6,355.4L642.6,355.4z M469.7,435.7
c-7.6,0.5-30.3,8.2-31.3,12.7l10.4-15.5L469.7,435.7z M454.9,340.5c1.4,0,8.1,1.8,7.4,1.4c-1-0.6-0.1,9.4,2,14.6l-8.2,17.8
c15.6-18,40.4-16.8,63.4-19.2l-11-6.8c1.9-6.3-0.3-11.4-1.4-16.8L454.9,340.5z M493.3,286.9c-16.8,5.1-32.9,13.6-43.7,31.5
c8.2-29.5,9.9-28.4,12.6-29.9C473.7,283.4,483.2,286.6,493.3,286.9z"/>
</g>
<path class="st2" d="M403.6,633.3c-20.3,22.4-65.6-1.7-103.2-14c-95.6-60.8-114.3-118-115.6-174.2c-4.9-80.4,19.8-127.1,51-138.2
c-20.7,39.9-30.3,111.4-20.7,164.6c7.7,29.6,7.9,79.5,57.4,106.2c24.2,13.7,17.7,24.3,34.1,37.1
C324.6,628.8,374.7,642.1,403.6,633.3L403.6,633.3z M434,261.6c-34.4-48.8-82.7-67-137.2-69c10.9-3.6,21.9-5.4,32.8-10.7
c2.7-2.8,1.8-7.8,0.8-12.8c-52.5-13.7-85.6-30.6-127.5-46.3L316,149.9C392.4,152.8,385.8,171.7,434,261.6L434,261.6z M470.8,238.1
c-25.4-36.3-50-80.3-83.5-108.3c-80.7-36.4-160.6-63.5-254.2-88.1L163,3.3C262.3,26,355.6,63.9,439.1,126.5
C453.3,162.2,462.7,198,470.8,238.1L470.8,238.1z M522,174c0,0-14.2-32-21.2-44.2c-16.1-17.8-24.2-51-57.2-66.7
c10.4,2.8,17.6-0.5,38.8,18.7l33.5,63.6L522,174z M539.7,229.4c3.3-27.7,9.5-72.1,2.4-89.6l-60-80c-3.3-3.1-5.7-7.3-8.3-10.6
c28.2,7.3,57.6,26.9,97.4,104.4L539.7,229.4z"/>
<path class="st3" d="M421.1,232.6c-11.2-8.9-21.2-40.1-38.3-46.6c-15.8-1.3-21.5-6.3-42.3-2.1c7.5-3.8,14.6-8.6,22.6-11.2
c5.4-1.3,10.5,0.1,15.7,0.8c1.3-0.6,2.1-1.4,1.8-2.5c-20.9-12.9-63.7-13.1-92.5-20.4c33.5,1.1,70.6-0.7,95.8,7.4
C404.2,176.1,410.7,209.9,421.1,232.6L421.1,232.6z M482.5,81.8c4.7,0.4,29.7,40,30.9,46.6c2.1,14.4,7.2,30.5,8.6,45.6
c-4.1-14.5-8.6-28.9-14.2-43.4c-1.7-4-5.8-13-17.3-25.7C485.1,96,483.9,89,482.5,81.8L482.5,81.8z M567.4,297.5h-10.7l11.8,3.1
L567.4,297.5z M494.3,286.8c-10.8-1.3-21.8-1.5-32.6,0.9c-4.4,5.9-4.7,11.9-6.6,17.4C468.2,290.7,473.4,289.8,494.3,286.8
L494.3,286.8z M641.2,361.2c-6,4.8-6.6,9.3-24.3,14.7c-12.9,3.1-20.2-2.1-26.3-9.1c9.2,2.6,10.7,9.6,35.4,1.8L641.2,361.2z
M587.5,364.2c-4.3,11.9-9,23.9-13.7,35c-11.2,13.1-6.4,5.6-23.1,26c5.3-8.2,12.3-16.2,15.9-24.8c2.6-5.7,5.7-11.7,7.1-16.7
c-4.4-2.2-13.5-2.4-14.7-1.6c-14.9,8.8-17.5,18-26.3,27.1c6.3-10.1,11.8-21.2,19.1-30.4c0.8-1.2,6.3-1.4,9.6-2.1
c-5.2-0.9-14.8-2.8-15.6-2.7c-9.7,2.3-15.1,10.8-22.3,16.4c5.2-7.6,10.1-15.5,16.7-22c0.7-0.8,18.7,0.8,28,4.5l0.2,3.7l5.3,2.1
l4-10L587.5,364.2z M469.9,435.7c-2.4-0.8-23.5-3.5-23.5-2.9c-8.1,5.8-9.3,11.3-9.2,16.1C450.7,435.7,450.2,435.6,469.9,435.7
L469.9,435.7z M453.8,340.3c0,0,15.2-2.2,14.9-0.8c-1.1,5.3,1.9,18.2,2.2,16.4l-8.6,7c17.9-9,36.8-7.2,56-8.6
c0,0-16.1-4.5-15.1-4.6c3.6-0.5-1-16.8-2.2-17.2c3.1-1,6.1-1.8,9.2-2.6C487.2,323.8,473.8,327.4,453.8,340.3L453.8,340.3z"/>
<path class="st3" d="M585.8,351.7l-3.4,1.7c-0.5-9.9-11.1-9.2-20.1-9.3l-7.4-1.8c2.3,2.1,9.2,1.9,6.4,6.4
c-2.4,1.3-3.4,6.7-4.8,11.2l-4,0.2l21.3,8.4l4.6,0.7l11-5.9L585.8,351.7z"/>
<path class="st4" d="M484.7,345c-1.7-3.4-10.3-2.9-12.2-0.7c-1.5,1.8-0.1,13.2,1.8,11.3c2.8-2.5,6.5-3.5,10.9-3.3
C485.8,350.1,485.6,347.9,484.7,345L484.7,345z M567.5,362c0.8-0.6,2.5-6.3,2-8.1c-1.1-4.1-9.2-3.2-9.2-3.2c-2,1.2-3.7,7.5-3,9.6
C557.7,362.1,566.2,362.7,567.5,362L567.5,362z"/>
<path class="st3" d="M224.3,560.1l5.1,0.5c30.1,14.8,79.5,36.6,151.2,24.9l11.2,17.7c-31.6,15.3-65.5,11.8-97.3,12.9L224.3,560.1z
M181.2,443.4l15.1,63.2c40.3,25.2,109.2,54.1,166.6,51.7l-12.7-29.1C230.3,503.8,220.2,471.6,181.2,443.4L181.2,443.4z
M218.6,313.9c7.4,49,17.2,86.1,59.8,117.2c26.1,18.8,52,37.5,83.5,52.9c0,0-2.8,14.4-5.1,14.1c-93.8-10.4-162.5-88.2-170.8-123.7
C194.1,347.2,205.7,330.2,218.6,313.9L218.6,313.9z M263.7,286.2c12.5,54.3,42.3,109.3,71.9,159.1c10.9,13.8,13.7,19.9,30.4,28.2
c22.6,7.2,38.6,5.3,55,4.3c-4.5-8.3-8.5-17-13.7-24.9c-36.8-29.1-19.8-55.5-10-72.3c-20.4-5.2-47.5-16.1-51.3-30.6
c-6-46.7-3-61.5,3.1-85.5C321.5,270.4,293.5,276.2,263.7,286.2L263.7,286.2z"/>
<path class="st5" d="M162.2-2.2c-9.1,5.9-17.9,14.4-27.3,24.1c-15.6,16.2-26,32-41.9,43.7c-3.2,2.7-12.1,7.2-23.3,7.8
c-5.3,0.3-8.7,1.1-18.5-0.1c-8.6-4.6-16.7-1.6-24.7,7.9c-8.7,12.5-19.8,36.3-24.3,51.3c-9.5,38.2,14.7,69.7,37.8,93.9
c20.6,20.1,32.4,32.7,40.9,51.1c6.4,12,11.1,28.4,16.3,39.9c1.8,3.6,1.5,3.6,6.5,4.7c10.8,2.3,25.7,2.3,38.9,3.5
c5.7,0.1,13.6-0.1,21.1-0.9c10.3-1.9,22.4-3.9,32.5-7.4c9.9-2.4,18.7-5.8,26.7-8.9c-1,3.5-8.6,6.8-11.5,11.3
c-27,38.6-34.4,73-29.7,127.2c2.7,24,8.2,44,16.5,66.8c3.8,10.4,11.9,27,19.7,37.9c23.1,32.6,74.8,74.5,146.7,90.7
c12.5,1.7,26.8,0.8,40.2-2.8c35.5-10.8,107.8-36.2,107.8-36.2s-64.2,5.3-93.6,2.4c-6.8-1.1-14.3-1.4-19.1-6.1
c-0.8-1-3.7-6.8-1.8-6.9c2.5-0.1,9.9-3.1,21.2-4.1c-24.1-2.6-23.8-2.6-25.5-7c-2.7-6.8-6.9-16.1-11.2-24.3c10.6,0.9,34,2.2,42-6
c0,0-13.9,1.6-26.1,0.2c-4.1-0.5-11.2-3-13.3-3.8c-5.5-2.1-10-2.8-11.1-4.2c-1.9-4.9-3.2-6.5-5.5-13c-3.1-8.6-3.4-18.3-4-27.1
c8,9.9,18.2,18.2,31.8,22.5c0.2-0.4,17.6,7.6,30.2,3.5l2.6-0.8c0,0.2-8.4,0.7-11.4-0.8c-25.7-10.9-29.5-20.5-33.7-25.2l-11.1-16.6
c3.4-6.7,5.3-7,9.8-7c13.5,1.5,19.4,2.7,27.6,0.7c5.6,11.4,7.1,22.9,19.7,31.2c42.1,12.5,51.3-3.7,61.5-18
c30.3,22.2,79.7,29.1,113.9,0.4c43.6-50.4,57.4-129.9,53.5-134.4c-5.4-9.2-12.6-18.8-18.7-17.4c-21.8,6-29.9,17-51.6,14.5
c2.6-0.1,6.9-0.2,6.9-0.5c1.7-18.3-0.1-27.2-0.9-28.7c-6.6-14.5-15.2-29.7-21.2-41.2c-1.6-2.4-6.1-20.4-13.7-27.5
c-3.3-2.8-11.3-10.2-11.3-10.2l-0.7,7.8c0,0,3.1,0.5,4.3,5.3c4.5,18.4,27.5,61.9,29.2,64c8.2,13.2,0.8,29.6,7,38.7
c0.6,1.2,12.6-0.1,22,0.5c15.4-3.3,14.7-10.1,28-11.1c8.9-0.7,9.8,16.1,9.7,17.4c-1.7,18.5-7.3,40.1-15.9,59.7
c-17.9,34.6-38,65.6-66.5,69.9c-34.7,6.1-52.8-9.1-71.6-18.8l-7.2,6.1c-24.5,24.4-53.6,22.2-65.4-9.6
c-5.9-12.4-13.6-19.9-20.2-30.5l-35,25.2c-2.9,6-6.5,15.4-10.9,25.9c-3,7.3-5.6,19.9-5.4,30.3c-4.5,7.6,15.5,38.7,28.2,57.5
l11,15.9c2.5,6.5,8,12.3,8.3,13c23.5,30.7-29.6,23.6-40.6,21.8c-21.7-3.5-42.8-12.5-62.8-24.6l-3.5-2.1c-23.7-14.9-45.4-34-64-52.8
c-11-12.5-21.6-38.1-29.3-56.3c-11.6-43.7-28.3-119.4,16.9-176.7c2.9-3.3,6-8.7,8.6-9.8c13.4-9.1,28-15.3,43.7-18.7l-1.6-10.2
c-7.8,1.8-34.2,11.4-41.7,15.5c-17,4.9-31,10.1-52.7,15.5c-7,0.9-13.9,0.9-20.7,0c-15.6-2.1-42.1-0.2-43.8-1.8
c-10.5-14.7-13.4-41-23-55.1l-0.1-0.1l-0.1-0.1c-5.6-7.5-12.1-13.7-18.6-20.1c-23-22.9-42.8-45-48.3-68.5c-1.4-6.9-5-14.1-3.1-34.6
l0-0.1l0-0.1c5.5-19.1,14.6-34.7,29.9-50.4c15.9,0.3,31.7,0.6,44,3c5.6,0.9,17.3,2.5,29.4,7c30.6,11.4,71.1,30.2,71.1,30.2
c-30.4-16.7-64.3-38.3-85.8-42.7c-3.2-0.5-5.2-1.9-6.1-4.4c32.3-18.9,38.2-41.3,59.4-61.3c9.7-4.2,13.5-6.4,21.7-7.3
c76.2,12,124.1,42.4,162.1,62.7c15.4,8.4,29.4,14.7,42.8,22.3c11.7,3.9,47.1,30.6,57.4,44.9c10.5,22.2,18.2,46.2,25.2,69.3
c5,23.5,9.4,33.1,9.4,33.1s-4.3-19.7-3.6-23.2c4.4,1.7,14.9,4.9,19.2,4.4c0,0-19.4-10-21.9-18.9c-8.1-28.4-16.3-72.6-18.5-74.9
c-6.2-7.8-32.1-27.6-48-36.8c-6-3.5-9.3-5.6-9.5-7.1c5.1-5.1,11.3-11.9,16.9-16.2c5.4-4.1,10.3-8.8,17.8-11.6
c33-14.9,51.8,5.7,56.3,1.5c0,0-7.1-8.1-3.9-6.8c3.2,1.7,13.7,3.8,14.9,4.9c12,9.4,43.4,43.8,62.4,80c4.5,8.9,6.4,14.7,4.3,25.4
c-2.1,10.7-3.8,16.6-6.1,23.7c-2.1,4.8-13.9,37.5-13.8,41.9c-2.4,18,7.7,40.4,7.7,40.4c0.1-6.1-0.4-9.4,0.2-13.7l0.7-7.8
c0,0-0.4-2.1-0.4-2.9c0.5-5.4,1.8-9.9,2.2-13c3.8-23.4,10.4-40.3,17.8-60.9c2.2-5.2,5.1-8.1,5-12c0.1-7-6.2-16.4-10.7-25.6
c-4.6-9.3-10.1-19.7-17.2-30.6c-16.4-23.5-30.3-41.9-55.9-53.5c-7.1-3.1-35.3-6.2-45-4.4c-11.8,2.5-21.9,4.9-30,10
c-12.7,8.1-22.7,20.7-34.4,28.2c-25.9-13-38.4-22.7-40.8-24c-15.4-8.3-33.9-17.8-53.8-26.9C275.7,23.3,216.4,2,162.2-2.2L162.2-2.2
z M493.7,481.3c-16-12.5-29.4-25.4-38.3-38.6c-2.9,15.6-13.4,26.7-21.5,37.6c-1.6,2.6-2.8,6,5.2,17.2c2.1,3,9.9,3.5,15.1,3.2
c-5.3-4-13.4-8.3-14.7-12c9.4,6.4,18.1,8.2,25.9,7.2c1.8-0.2,4-2.1,5.7-5c3.5-7.5,6.2-9.3,9-11.3l6.4,8L493.7,481.3z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 9.4 KiB

+30
View File
@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
<style type="text/css">
.st0{clip-path:url(#SVGID_2_);fill:#444B5E;}
</style>
<g>
<defs>
<rect id="SVGID_1_" y="8.1" width="106.1" height="31.8"/>
</defs>
<clipPath id="SVGID_2_">
<use xlink:href="#SVGID_1_" style="overflow:visible;"/>
</clipPath>
<path class="st0" d="M41.7,11.1c-1,0-1.7,0.5-1.9,1.3c0.3,0.2,0.6,0.3,1,0.3c0.8,0,1.6-0.6,1.3-1.6C42,11.1,41.8,11.1,41.7,11.1
M47,8.1L47,8.1c-0.8,0-0.9,0.4-2.5,0.8c-1.6,0.4-3.2,0-4.9,0.7c-5.2,2.2-6.3,9.7-11,12.4c-3.5,2-6.9,2.9-10.1,3.9
c-2.1,0.7-4.2,1.4-6.1,3.1c-1.5,1.3-1.9,2.3-3.4,3.9c-1.6,1.6-6.4-1.3-8.8,0.9c-0.2,0.2-0.2,0.5,0,0.7c0,0,0,0,0,0
c0.5,0.4,1.5,1.5,2.4,1.8c-0.3,0.6-1.9,2.2-1.6,3c0.4,0.9,4.5,0.3,8.3-2c1.8-1.1,3.2-2.6,5.9-3c3.6-0.5,7.7,0.3,11.8,0.9
c-0.6,1.8-1.8,3-2.8,4.5c-0.3,0.3,0.6,0.4,1.7,0.2c1.9-0.5,3.2-0.8,4.7-1.7c1.7-1,2-3.6,4.1-4.2c1,1.6,3.6,2.1,5.6,1.3
c0.1,0,0.2-0.1,0.3-0.2c0.2-0.2,0.1-0.5,0-0.6c-0.1-0.1-0.1-0.1-0.2-0.2c-1.1-1.2-1.4-4-0.9-5.4c0.6-1.6,1.1-4.1,1.7-6.1
c0.6-2.2,0.8-5,1.6-6.2c1.1-1.7,2.3-2.3,3.4-3.2c1.1-1,2-1.9,2-4.1C48,8.5,47.7,8.1,47,8.1 M47.2,10.4c-0.2,1.5-1.2,2.3-2.3,3.2
c-1,0.7-2.1,1.4-2.8,2.5c-0.7,1.1-1.2,5-2.3,8.8c-0.9,3.2-2.3,6.3-4.7,7.8c-0.2,0.1-0.4,0-0.4-0.2c-0.2-0.9-0.1-2.5-0.4-2
c-0.3,1-0.7,1.9-1.2,2.8c-1.4,2.7-3.4,4.7-6.7,5.5c-0.2,0-0.3-0.1-0.4-0.2c0-0.1,0-0.2,0-0.2c1.5-2.1,2.9-4.3,3-7.8
c0-0.3-0.4-0.4-0.5-0.2c-0.7,0.9-0.9,3-1.9,3.6c-0.8,0.1-1.6,0.1-2.5,0c-3.4-0.2-6.9-1.2-10.1-0.2c-2.2,0.7-4.5,2.7-6.3,3.5
c-2.2,0.9-3.2,1.8-5.9,1.8c-0.3-0.4,1.1-2,1.6-2.7c0.2-0.2-0.2-0.5-0.5-0.6c-0.7-0.3-1.5-1.3-2.3-1.6c0.1-0.2,0.5-0.4,0.7-0.5
c1.8-1,6.6,1.2,7.8-0.1c0.8-0.8,1.3-1.5,1.9-2.2c0.5-0.8,1.3-1.6,2.1-2.2c0.3-0.3,0.7-0.5,1.1-0.8c1.4-1,2.2-1,4-1.7
c2.3-0.9,5.2-1.6,7.6-2.6c1.5-0.6,3.2-1.3,4.5-2.3c0.3-0.2,0.6-0.5,0.9-0.8c3.9-3.8,4.6-10.4,10.6-11c0.7-0.1,1.2-0.1,1.8-0.1
c0.6,0,1.2-0.2,1.8-0.5c0.2-0.1,1.3-0.7,1.7-0.4C47.3,9.1,47.2,10.3,47.2,10.4"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

+60
View File
@@ -0,0 +1,60 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
<style type="text/css">
.st0{fill-rule:evenodd;clip-rule:evenodd;fill:#439934;}
.st1{fill-rule:evenodd;clip-rule:evenodd;fill:#45A538;}
.st2{fill-rule:evenodd;clip-rule:evenodd;fill:#46A037;}
.st3{fill-rule:evenodd;clip-rule:evenodd;fill:#409433;}
.st4{fill-rule:evenodd;clip-rule:evenodd;fill:#4FAA41;}
.st5{fill-rule:evenodd;clip-rule:evenodd;fill:#4AA73C;}
.st6{fill-rule:evenodd;clip-rule:evenodd;fill:#57AE47;}
.st7{fill-rule:evenodd;clip-rule:evenodd;fill:#60B24F;}
.st8{fill-rule:evenodd;clip-rule:evenodd;fill:#A9AA88;}
.st9{fill-rule:evenodd;clip-rule:evenodd;fill:#B6B598;}
.st10{fill-rule:evenodd;clip-rule:evenodd;fill:#C2C1A7;}
.st11{fill-rule:evenodd;clip-rule:evenodd;fill:#CECDB7;}
.st12{fill-rule:evenodd;clip-rule:evenodd;fill:#DBDAC7;}
.st13{fill-rule:evenodd;clip-rule:evenodd;fill:#EBE9DC;}
</style>
<path class="st0" d="M33.5,15.7c0.6,1.8,1.1,3.7,1.2,5.6c0.2,2.4,0.1,4.8-0.4,7.1c0,0.1,0,0.1-0.1,0.2c-0.2,0-0.3,0-0.5,0
c-1.3,0.2-2.6,0.4-3.9,0.6c-1.4,0.2-2.7,0.4-4.1,0.7c-0.5,0.1-1.1,0-1.3,0.6c0,0-0.1,0-0.1,0l0.1-4c0-3.2,0-6.4-0.1-9.5L25,17
c1-0.2,2.1-0.3,3.1-0.5c1.2-0.2,2.5-0.4,3.7-0.6C32.4,15.8,32.9,15.7,33.5,15.7z"/>
<path class="st1" d="M23.1,42.1c-0.7-0.6-1.4-1.1-2-1.7c-3.4-3.2-5.9-7-7.2-11.6c-0.3-1.3-0.6-2.5-0.6-3.9c-0.1-0.9-0.1-1.8-0.1-2.7
c0.2-2.4,0.5-4.8,1.2-7.1l0-0.1c0.1,0.1,0.2,0.2,0.2,0.3c0.7,2,1.4,4.1,2.1,6.1c2.1,6.4,4.3,12.8,6.4,19.2c0,0.1,0.2,0.2,0.2,0.3
C23.4,41,23.1,42.1,23.1,42.1z"/>
<path class="st2" d="M33.5,15.7c-0.5,0.1-1.1,0.2-1.6,0.2c-1.2,0.2-2.5,0.4-3.7,0.6c-1,0.2-2.1,0.3-3.1,0.5l-0.6,0.1l0-0.4
c0-0.3-0.1-0.7-0.1-1c0-2.2,0-4.3-0.1-6.5c0-1.3,0-2.7-0.1-4c0-0.8,0-1.7-0.1-2.5c0-0.4-0.1-0.9-0.1-1.3c0-0.3,0-0.5,0-0.8
c0.3,0.6,0.6,1.3,1,1.9c0.5,1,1.4,1.7,2.1,2.5C30,8,32.1,11.6,33.5,15.7z"/>
<path class="st3" d="M24.4,30.6C24.4,30.6,24.5,30.6,24.4,30.6c0.3-0.7,0.9-0.6,1.4-0.7c1.4-0.2,2.7-0.4,4.1-0.7
c1.3-0.2,2.6-0.4,3.9-0.6c0.2,0,0.3,0,0.5,0c-0.2,0.9-0.4,1.8-0.7,2.6c-0.4,1-0.8,1.9-1.2,2.8c-0.7,1.4-1.5,2.7-2.5,3.8
c-0.8,0.9-1.6,1.7-2.4,2.6c-0.5,0.5-1,0.8-1.5,1.2l-0.1-0.1l-0.5-0.4l-0.5-1.1c-0.3-1.3-0.5-2.6-0.5-3.9l0-0.2l0.1-1
c0-0.3,0.1-0.7,0.1-1C24.3,32.9,24.4,31.8,24.4,30.6z"/>
<path class="st4" d="M24.4,30.6c0,1.2-0.1,2.3-0.1,3.5c0,0.3,0,0.7-0.1,1l-0.3,0.1c-0.7-2-1.3-3.9-2-5.9c-1.1-3.2-2.2-6.5-3.2-9.7
c-0.9-2.6-1.8-5.2-2.6-7.8c0-0.1-0.2-0.2-0.2-0.3L17.7,8c0.1,0.1,0.2,0.2,0.2,0.3c0.9,2.6,1.8,5.3,2.7,7.9c1.1,3.4,2.3,6.9,3.4,10.3
c0,0.1,0.1,0.3,0.2,0.4l0.3-0.3C24.5,28,24.4,29.3,24.4,30.6z"/>
<path class="st5" d="M15.8,11.5c0.1,0.1,0.2,0.2,0.2,0.3c0.9,2.6,1.8,5.2,2.6,7.8c1.1,3.2,2.1,6.5,3.2,9.7c0.7,2,1.3,3.9,2,5.9
l0.3-0.1l-0.1,1l-0.1,0.2c-0.1,1-0.2,2.1-0.3,3.1c-0.1,0.5-0.2,1-0.3,1.6c-0.1-0.1-0.2-0.2-0.2-0.3c-2.2-6.4-4.3-12.8-6.4-19.2
c-0.7-2-1.4-4.1-2.1-6.1c0-0.1-0.1-0.2-0.2-0.3C14.9,13.8,15.4,12.7,15.8,11.5z"/>
<path class="st6" d="M24.5,26.6l-0.3,0.3c-0.1-0.2-0.1-0.3-0.2-0.4c-1.1-3.4-2.3-6.9-3.4-10.3c-0.9-2.6-1.8-5.3-2.7-7.9
c0-0.1-0.1-0.2-0.2-0.3l2.4-3.1c0.1,0.1,0.2,0.2,0.2,0.3c0.7,1.9,1.3,3.9,2,5.8c0.6,1.8,1.2,3.6,1.8,5.4c0,0.1,0.2,0.2,0.3,0.3
l0,0.4C24.4,20.3,24.5,23.5,24.5,26.6z"/>
<path class="st7" d="M24.4,16.7c-0.1-0.1-0.2-0.2-0.3-0.3c-0.6-1.8-1.2-3.6-1.8-5.4c-0.7-1.9-1.3-3.9-2-5.8c0-0.1-0.1-0.2-0.2-0.3
c0.8-0.8,1.5-1.5,2.3-2.3c0.7-0.6,1.3-1.3,1.3-2.3c0,0,0-0.1,0.1-0.2L24,0.5c0,0.3,0,0.5,0,0.8c0,0.4,0.1,0.9,0.1,1.3
c0,0.8,0.1,1.7,0.1,2.5c0,1.3,0.1,2.7,0.1,4c0,2.2,0,4.3,0.1,6.5C24.3,16,24.4,16.3,24.4,16.7z"/>
<path class="st8" d="M23.4,41c0.1-0.5,0.2-1,0.3-1.6c0.1-1,0.2-2.1,0.3-3.1l0,0l0,0c0,1.3,0.2,2.6,0.5,3.9c-0.1,0.1-0.2,0.2-0.2,0.3
c-0.3,0.8-0.6,1.6-0.8,2.4c0,0.1-0.1,0.2-0.2,0.3l-0.3-1C23.1,42.1,23.4,41,23.4,41z"/>
<path class="st9" d="M23.4,43.1c0.1-0.1,0.2-0.2,0.2-0.3c0.3-0.8,0.6-1.6,0.8-2.4c0-0.1,0.1-0.2,0.2-0.3l0.5,1.1
c-0.1,0.1-0.2,0.3-0.3,0.4l-0.9,2.8c0,0.1-0.2,0.2-0.3,0.3C23.7,44.7,23.4,43.1,23.4,43.1z"/>
<path class="st10" d="M23.7,44.7c0.1-0.1,0.2-0.2,0.3-0.3l0.9-2.8c0.1-0.2,0.2-0.3,0.3-0.4l0.5,0.4c-0.2,0.2-0.4,0.5-0.3,0.8
l-0.1,0.5c-0.1,0.1-0.2,0.2-0.2,0.2c-0.3,0.9-0.6,1.9-1,2.8c0,0.1-0.2,0.2-0.2,0.3C23.8,45.8,23.7,45.2,23.7,44.7z"/>
<path class="st11" d="M23.8,46.3c0.1-0.1,0.2-0.2,0.2-0.3c0.3-0.9,0.6-1.9,1-2.8c0-0.1,0.1-0.2,0.2-0.2L25,45.1
c-0.1,0.1-0.1,0.1-0.2,0.2c-0.2,0.6-0.4,1.3-0.7,1.9c0,0.1-0.1,0.2-0.2,0.4c-0.1-0.1-0.2-0.2-0.2-0.2C23.8,47,23.8,46.7,23.8,46.3z"
/>
<path class="st12" d="M24,47.6c0.1-0.1,0.2-0.2,0.2-0.4c0.2-0.6,0.4-1.3,0.7-1.9c0-0.1,0.1-0.1,0.2-0.2l0,1.4l-0.5,1.2
C24.5,47.8,24,47.6,24,47.6z"/>
<path class="st13" d="M24.5,47.8l0.5-1.2l0.1,1.5L24.5,47.8z"/>
<path class="st11" d="M25.4,42.5c-0.1-0.3,0.1-0.6,0.3-0.8l0.1,0.1L25.4,42.5z"/>
<path class="st4" d="M24.1,36.3L24.1,36.3L24.1,36.3l0-0.2C24.1,36,24.1,36.3,24.1,36.3z"/>
</svg>

After

Width:  |  Height:  |  Size: 4.9 KiB

+27
View File
@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
<style type="text/css">
.st0{fill:#00546B;}
</style>
<g>
<path class="st0" d="M44.2,36.9c-2.6-0.1-4.6,0.2-6.3,0.9c-0.5,0.2-1.3,0.2-1.3,0.8c0.3,0.3,0.3,0.7,0.5,1c0.4,0.7,1.1,1.5,1.7,2
c0.7,0.5,1.4,1,2.1,1.5c1.3,0.8,2.7,1.2,3.9,2c0.7,0.5,1.4,1,2.2,1.5c0.4,0.3,0.6,0.7,1,0.8v-0.1c-0.2-0.3-0.3-0.7-0.5-1
c-0.3-0.3-0.7-0.6-1-0.9c-0.9-1.3-2.1-2.4-3.4-3.3c-1-0.7-3.3-1.7-3.8-2.9c0,0,0,0-0.1-0.1c0.7-0.1,1.6-0.3,2.3-0.5
c1.1-0.3,2.1-0.2,3.3-0.5c0.5-0.1,1-0.3,1.6-0.5v-0.3c-0.6-0.6-1-1.4-1.6-1.9c-1.7-1.4-3.5-2.8-5.4-4c-1-0.7-2.3-1.1-3.4-1.6
c-0.4-0.2-1-0.3-1.3-0.6c-0.6-0.7-0.9-1.7-1.3-2.5c-0.9-1.8-1.9-3.8-2.7-5.7c-0.6-1.3-0.9-2.5-1.7-3.7c-3.4-5.5-7-8.9-12.6-12.2
c-1.2-0.7-2.6-1-4.2-1.3c-0.8,0-1.6-0.1-2.4-0.1c-0.5-0.2-1-0.8-1.5-1.1c-1.9-1.2-6.7-3.7-8-0.4c-0.9,2.1,1.3,4.2,2.1,5.3
C2.8,8.2,3.5,9,3.9,9.9c0.2,0.6,0.3,1.1,0.5,1.7c0.5,1.4,1,3,1.7,4.4c0.4,0.7,0.8,1.4,1.2,2c0.3,0.4,0.7,0.5,0.8,1.1
c-0.5,0.7-0.5,1.6-0.8,2.4c-1.2,3.7-0.7,8.3,0.9,11c0.5,0.8,1.8,2.6,3.4,1.9c1.5-0.6,1.1-2.4,1.6-4.1c0.1-0.4,0-0.7,0.2-0.9v0.1
c0.5,0.9,0.9,1.8,1.3,2.7c1,1.6,2.8,3.3,4.2,4.4c0.8,0.6,1.4,1.6,2.4,2v-0.1h-0.1c-0.2-0.3-0.5-0.4-0.8-0.7c-0.6-0.6-1.2-1.3-1.7-2
c-1.4-1.8-2.6-3.8-3.7-5.9c-0.5-1-1-2.1-1.4-3.1c-0.2-0.4-0.2-1-0.5-1.2c-0.5,0.7-1.2,1.3-1.6,2.2c-0.6,1.4-0.7,3.1-0.9,4.9
c-0.1,0-0.1,0-0.1,0.1c-1-0.3-1.4-1.3-1.8-2.3c-1-2.3-1.1-6-0.3-8.7C9,21.2,10,19,9.6,18.3c-0.2-0.6-0.8-1-1.2-1.5
c-0.4-0.6-0.9-1.4-1.2-2.1C6.4,13,6,10.9,5.2,9.1C4.8,8.3,4.1,7.4,3.5,6.6C2.9,5.7,2.2,5.1,1.7,4.1C1.6,3.7,1.4,3.1,1.6,2.7
c0.1-0.3,0.2-0.4,0.5-0.4c0.4-0.4,1.6,0.1,2.1,0.3c1.2,0.5,2.2,0.9,3.2,1.6c0.5,0.3,0.9,0.9,1.5,1.1h0.7c1,0.2,2.2,0.1,3.2,0.4
c1.7,0.6,3.3,1.4,4.7,2.3c4.3,2.7,7.8,6.6,10.2,11.2c0.4,0.8,0.6,1.4,0.9,2.2c0.7,1.6,1.5,3.2,2.2,4.8c0.7,1.5,1.3,3.1,2.3,4.4
c0.5,0.7,2.4,1,3.3,1.4c0.7,0.3,1.7,0.6,2.3,0.9c1.1,0.7,2.2,1.5,3.3,2.2C42.5,35.4,44.1,36.2,44.2,36.9z"/>
<path class="st0" d="M10.9,8.5c-0.6,0-0.9,0.1-1.3,0.2v0.1h0.1c0.3,0.5,0.7,0.9,1,1.3c0.3,0.5,0.5,1,0.8,1.6c0,0,0.1-0.1,0.1-0.1
c0.5-0.3,0.7-0.8,0.7-1.6C12,9.7,12,9.5,11.8,9.3C11.6,8.9,11.2,8.8,10.9,8.5z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

+12
View File
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
<style type="text/css">
.st0{fill:#C74634;}
</style>
<g>
<path class="st0" d="M15.1,39.1C6.7,39.1,0,32.4,0,24S6.7,8.9,15.1,8.9h17.7C41.3,8.9,48,15.6,48,24s-6.7,15.1-15.1,15.1H15.1
M32.4,33.8c5.5,0,9.8-4.4,9.8-9.8c0-5.5-4.4-9.8-9.8-9.8H15.6c-5.5,0-9.8,4.4-9.8,9.8s4.4,9.8,9.8,9.8H32.4"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 649 B

+49
View File
@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
<style type="text/css">
.st0{fill:#336791;}
.st1{fill:#FFFFFF;}
</style>
<path d="M46.4,28.7c-0.3-0.8-1-1.4-2-1.6c-0.4-0.1-1,0-1.6,0.1c-1.1,0.2-1.8,0.3-2.4,0.3c2.2-3.6,3.9-7.8,4.9-11.7
c1.6-6.3,0.8-9.2-0.3-10.5C42.4,2,38.5,0.1,33.7,0.1c-2.5,0-4.7,0.5-5.9,0.8c-1.1-0.2-2.2-0.3-3.5-0.3c-2.3,0-4.3,0.5-6,1.5
c-1-0.3-2.5-0.8-4.2-1.1C10,0.3,6.6,0.8,4.2,2.6c-3,2.1-4.3,5.7-4.1,10.8c0.1,1.6,1,6.5,2.4,11.2c0.8,2.7,1.7,4.9,2.6,6.6
c1.3,2.4,2.6,3.8,4.2,4.4c0.9,0.3,2.4,0.5,4.1-0.9c0.2,0.3,0.5,0.5,0.9,0.7c0.5,0.3,1,0.5,1.6,0.7c2.1,0.5,4,0.4,5.6-0.3
c0,0.3,0,0.6,0,0.8c0,0.4,0,0.8,0,1.1c0.1,2.4,0.3,4.3,0.8,5.6c0,0.1,0.1,0.2,0.1,0.3c0.2,0.7,0.7,2,1.7,3c1.1,1,2.4,1.3,3.6,1.3
c0.6,0,1.2-0.1,1.7-0.2c1.8-0.4,3.8-1,5.3-3.1c1.4-2,2.1-4.9,2.2-9.6c0-0.1,0-0.3,0-0.4l0-0.2l0.3,0l0.1,0c1.8,0.1,4-0.3,5.4-0.9
C43.7,33,47.2,31.2,46.4,28.7"/>
<path class="st0" d="M43.3,29.2c-5.4,1.1-5.8-0.7-5.8-0.7c5.7-8.5,8.1-19.2,6-21.9C37.9-0.5,28.2,2.9,28,3L28,3
c-1.1-0.2-2.3-0.4-3.6-0.4c-2.4,0-4.3,0.6-5.7,1.7c0,0-17.4-7.1-16.5,9c0.2,3.4,4.9,26,10.6,19.2c2.1-2.5,4.1-4.6,4.1-4.6
c1,0.7,2.2,1,3.4,0.9l0.1-0.1c0,0.3,0,0.6,0,1c-1.5,1.6-1,1.9-3.9,2.5c-3,0.6-1.2,1.7-0.1,2c1.4,0.3,4.5,0.8,6.7-2.2l-0.1,0.3
c0.6,0.5,1,3,0.9,5.3c-0.1,2.3-0.1,3.9,0.3,5.1c0.5,1.2,0.9,4,4.7,3.2c3.2-0.7,4.9-2.5,5.1-5.4c0.2-2.1,0.5-1.8,0.6-3.7l0.3-0.9
c0.3-2.9,0.1-3.8,2-3.4l0.5,0c1.5,0.1,3.4-0.2,4.5-0.8C44.2,30.6,45.6,28.7,43.3,29.2L43.3,29.2"/>
<path class="st1" d="M19.7,14.8c-0.5-0.1-0.9,0-1.2,0.2c-0.1,0.1-0.2,0.2-0.2,0.3c0,0.2,0.1,0.4,0.2,0.5c0.2,0.3,0.6,0.5,1,0.6
c0.1,0,0.1,0,0.2,0c0.6,0,1.1-0.5,1.2-0.8C20.9,15.2,20.2,14.9,19.7,14.8 M35.8,14.8c0-0.3-0.6-0.4-1.2-0.3
c-0.6,0.1-1.1,0.3-1.1,0.7c0,0.3,0.5,0.7,1.1,0.7c0,0,0.1,0,0.1,0c0.4-0.1,0.6-0.3,0.8-0.4C35.7,15.2,35.8,15,35.8,14.8"/>
<path class="st1" d="M45.1,29.1c-0.2-0.6-0.9-0.8-2-0.6c-3.3,0.7-4.4,0.2-4.8-0.1c2.5-3.9,4.6-8.6,5.8-12.9c0.5-2.1,0.8-4,0.9-5.6
c0-1.7-0.3-3-0.9-3.8c-2.4-3.1-6-4.8-10.3-4.8c-3,0-5.5,0.7-6,0.9c-1-0.3-2.1-0.4-3.4-0.4c-2.2,0-4.2,0.5-5.8,1.6
c-0.7-0.3-2.5-0.9-4.7-1.2c-3.8-0.6-6.8-0.1-9,1.4c-2.6,1.8-3.8,5.1-3.5,9.7c0.1,1.5,1,6.3,2.3,10.9c1.8,6,3.8,9.4,5.9,10.1
c0.2,0.1,0.5,0.1,0.8,0.1c0.8,0,1.7-0.3,2.7-1.5c1.2-1.4,2.4-2.8,3.7-4.2c0.8,0.4,1.7,0.7,2.7,0.7c0,0,0,0,0,0.1
c-0.2,0.2-0.3,0.4-0.5,0.6c-0.6,0.8-0.8,1-2.8,1.4C15.6,31.5,14,31.9,14,33c0,1.2,1.8,1.7,2.1,1.7c0.7,0.2,1.5,0.3,2.1,0.3
c1.7,0,3.1-0.5,4.3-1.6c0,4.3,0.1,8.4,0.7,9.7c0.4,1,1.4,3.6,4.7,3.6c0.5,0,1-0.1,1.6-0.2c3.4-0.7,4.8-2.2,5.4-5.5
c0.3-1.8,0.8-5.9,1.1-8.2c0.5,0.2,1.2,0.2,1.9,0.2c1.5,0,3.2-0.3,4.3-0.8C43.3,31.7,45.5,30.3,45.1,29.1z M37,13.9
c0,0.7-0.1,1.3-0.2,1.9c-0.1,0.7-0.2,1.4-0.2,2.2c0,0.8,0.1,1.7,0.2,2.5c0.2,1.7,0.4,3.4-0.4,5.1c-0.1-0.2-0.3-0.5-0.4-0.7
c-0.1-0.2-0.3-0.6-0.6-1.2c-1.2-2.1-3.9-7-2.5-9C33.3,14.2,34.4,13.6,37,13.9z M33.8,2.7c3.9,0.1,6.9,1.5,9.1,4.3
c1.7,2.1-0.2,11.8-5.5,20.2c-0.1-0.1-0.1-0.1-0.2-0.2l-0.1-0.1c1.4-2.3,1.1-4.5,0.9-6.5c-0.1-0.8-0.2-1.6-0.2-2.3
c0-0.8,0.1-1.4,0.2-2.1c0.1-0.8,0.2-1.6,0.2-2.6c0-0.1,0-0.2,0-0.4c-0.1-0.9-1.1-3.7-3.3-6.1C34,5.6,32.3,4.1,29.9,3
C30.9,2.8,32.3,2.6,33.8,2.7z M12.1,32c-1.1,1.3-1.8,1-2.1,1C8.5,32.4,6.6,29,5,23.7c-1.4-4.6-2.2-9.2-2.3-10.5
c-0.2-4.1,0.8-7,3-8.5c3.5-2.5,9.3-1,11.7-0.2c0,0-0.1,0.1-0.1,0.1c-3.8,3.9-3.7,10.5-3.7,10.9c0,0.2,0,0.4,0,0.7
c0.1,1.1,0.2,3.2-0.1,5.5c-0.3,2.2,0.4,4.3,1.8,5.8c0.2,0.2,0.3,0.3,0.5,0.4C15.1,28.6,13.6,30.1,12.1,32z M16.2,26.5
c-1.2-1.2-1.7-3-1.5-4.7c0.3-2.5,0.2-4.6,0.1-5.8c0-0.2,0-0.3,0-0.4c0.6-0.5,3.1-1.9,5-1.5c0.8,0.2,1.4,0.8,1.6,1.8
c1.1,5.1,0.1,7.2-0.6,9c-0.2,0.4-0.3,0.7-0.4,1l-0.1,0.3c-0.3,0.7-0.5,1.3-0.6,1.9C18.4,28,17.1,27.5,16.2,26.5L16.2,26.5z
M16.4,33.4c-0.4-0.1-0.7-0.3-0.9-0.4c0.2-0.1,0.5-0.2,1-0.3c2.4-0.5,2.8-0.9,3.6-1.9c0.2-0.2,0.4-0.5,0.7-0.8l0,0
c0.4-0.5,0.6-0.4,1-0.3c0.3,0.1,0.6,0.5,0.7,0.9c0.1,0.2,0.1,0.6-0.1,0.8C20.7,33.9,18.2,33.8,16.4,33.4z M29.1,45.2
c-3,0.6-4-0.9-4.7-2.6c-0.4-1.1-0.7-6.2-0.5-11.7c0-0.1,0-0.1,0-0.2c0-0.1,0-0.3-0.1-0.4c-0.2-0.8-0.8-1.5-1.5-1.8
c-0.3-0.1-0.8-0.3-1.4-0.2c0.1-0.5,0.3-1.1,0.6-1.7l0.1-0.3c0.1-0.3,0.3-0.6,0.4-0.9c0.8-1.8,1.9-4.2,0.7-9.8
c-0.4-2.1-1.9-3.1-4.2-2.9c-1.4,0.1-2.6,0.7-3.2,1c-0.1,0.1-0.3,0.1-0.4,0.2c0.2-2.1,0.8-6,3.3-8.5c1.5-1.6,3.6-2.3,6.1-2.3
c4.9,0.1,8.1,2.6,9.9,4.7c1.5,1.8,2.4,3.7,2.7,4.6c-2.5-0.3-4.2,0.2-5.1,1.5c-1.9,2.7,1,7.9,2.4,10.4c0.3,0.5,0.5,0.9,0.5,1
c0.5,1.1,1,1.8,1.5,2.4c0.1,0.2,0.3,0.3,0.4,0.5c-0.8,0.2-2.1,0.7-2,3.2c-0.1,1.3-0.8,7.2-1.2,9.3C33,43.6,32,44.6,29.1,45.2
L29.1,45.2z M41.5,31c-0.8,0.4-2.1,0.6-3.3,0.7c-1.4,0.1-2.1-0.2-2.2-0.3c-0.1-1.6,0.5-1.7,1.1-1.9c0.1,0,0.2-0.1,0.3-0.1
c0.1,0,0.1,0.1,0.2,0.1c1.1,0.7,3,0.8,5.8,0.2l0,0C43,30.2,42.4,30.6,41.5,31z"/>
</svg>

After

Width:  |  Height:  |  Size: 4.8 KiB

+53
View File
@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FFFFFF;}
.st1{filter:url(#Adobe_OpacityMaskFilter);}
.st2{mask:url(#mask-2_1_);}
.st3{fill:#FCC397;}
.st4{fill:#FC9F95;}
.st5{fill:#F77C88;}
.st6{fill:#F25192;}
.st7{fill:#D34CA3;}
.st8{fill:#9A50A5;}
.st9{fill:#59569E;}
.st10{fill:#39477F;}
</style>
<g>
<g>
<circle id="path-1_1_" class="st0" cx="24" cy="24" r="24"/>
</g>
<defs>
<filter id="Adobe_OpacityMaskFilter" filterUnits="userSpaceOnUse" x="-0.4" y="-0.2" width="48.6" height="48.4">
<feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/>
</filter>
</defs>
<mask maskUnits="userSpaceOnUse" x="-0.4" y="-0.2" width="48.6" height="48.4" id="mask-2_1_">
<g class="st1">
<circle id="path-1_2_" class="st0" cx="24" cy="24" r="24"/>
</g>
</mask>
<g class="st2">
<g transform="translate(-2.000000, -1.000000)">
<path class="st3" d="M36.4,3.2C33.3,1.7,29.7,0.8,26,0.8c-6.5,0-12.4,2.6-16.8,6.7C4.6,12,44.6,7.1,36.4,3.2z"/>
<path class="st4" d="M45,9.9c0,0-2,2.7-8,3.5C24.8,15,3.9,15.1,3.9,15.1C5.2,12.2,7,9.7,9.3,7.5c2.6,0.8,5.5,1,8.2,0.5
c4.5-0.8,8.4-3.4,12.9-4.5c2-0.5,4.1-0.6,6.1-0.4C39.8,4.8,42.7,7.1,45,9.9z"/>
<path class="st5" d="M50,21.3c0,0.1-27.5,2.7-40.9,1.9c-4.4-0.2-6.9-2.9-6.9-3c0.4-1.8,0.9-3.5,1.7-5.1c3.9-2.1,8.4-3.3,12.8-3.3
c5.5,0.1,11,1.9,16.5,1.8c4.1-0.1,8.3-1.4,11.8-3.6C47.5,13.2,49.3,17.1,50,21.3z"/>
<path class="st6" d="M50.2,25c0,0.1,0,0.4,0,0.4s-7.6,1.9-17.5,1.8C19,27,1.6,24.8,1.6,24.8c0-1.6,0.2-3.2,0.5-4.7
c3.3,2,7.3,3,11.2,2.6c3.1-0.3,6-1.5,8.8-2.7s5.7-2.5,8.7-3.2c4.4-1,9.1-0.7,13.3,1c2,0.8,4.1,2,5.8,3.4
C50.1,22.4,50.2,23.7,50.2,25z"/>
<path class="st7" d="M22.7,32.9c-7.3,1.3-19.8-0.2-19.8-0.3C2,30.2,1.6,27.6,1.6,25c0-0.1,0-0.1,0-0.2c1.1-0.9,2.4-1.7,3.7-2.3
c3.1-1.5,6.7-2.1,10.1-1.8c3.4,0.3,6.7,1.6,9.8,3c2.7,1.1,5.3,2.4,8.1,3.2C33.5,27,30.7,31.4,22.7,32.9z"/>
<path class="st8" d="M49.4,31.5c-0.5,0.9-5.3,3.8-11.9,4.3c-8.7,0.7-19-2-15.5-3.3c5.4-2.1,10-5.9,15.5-7.5
c4.1-1.2,8.7-1,12.8,0.4C50.2,27.6,49.9,29.6,49.4,31.5z"/>
<path class="st9" d="M47.1,37.1c-4.2,7.3-34.6,9.1-39.1,4.2c-2.3-2.5-4-5.5-5.1-8.7c3.7-2.1,8.1-3,12.3-2.5
c5.4,0.7,10.3,3.8,15.7,5c4.3,1,8.9,0.7,13.1-0.9c1.9-0.7,3.8-1.6,5.4-2.7C48.9,33.5,48.1,35.4,47.1,37.1z"/>
<path class="st10" d="M47,37c-4.2,7.3-12.1,12.2-21.1,12.2c-7.1,0-13.6-3.1-18-8c0.7,0.3,1.6,0.5,2.3,0.7c4.2,1.2,8.8,1.1,13-0.1
c2.7-0.8,5.2-2.1,7.9-3C36.1,37.1,41.7,36.4,47,37z"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

+30
View File
@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
<style type="text/css">
.st0{fill:#A41E11;}
.st1{fill:#D82C20;}
.st2{fill:#FFFFFF;}
.st3{fill:#7A0C00;}
.st4{fill:#AD2115;}
</style>
<path class="st0" d="M46.1,35.1c-2.6,1.3-15.8,6.8-18.7,8.3c-2.8,1.5-4.4,1.5-6.6,0.4c-2.2-1.1-16.3-6.7-18.9-8
C0.7,35.2,0,34.7,0,34.2v-4.9c0,0,18.4-4,21.3-5.1c3-1.1,4-1.1,6.5-0.2s17.6,3.6,20.1,4.6v4.8C48,33.9,47.4,34.5,46.1,35.1z"/>
<path class="st1" d="M46.1,30.3c-2.6,1.3-15.8,6.8-18.7,8.3S23,40,20.8,39S4.5,32.2,1.9,31c-2.5-1.2-2.6-2.1-0.1-3
c2.5-1,16.5-6.5,19.5-7.5c3-1.1,4-1.1,6.5-0.2c2.5,0.9,15.7,6.2,18.2,7.1C48.6,28.2,48.7,29,46.1,30.3z"/>
<path class="st0" d="M46.1,27.3c-2.6,1.3-15.8,6.8-18.7,8.3C24.6,37,23,37,20.8,35.9c-2.2-1.1-16.3-6.8-18.9-8
C0.7,27.3,0,26.8,0,26.3v-4.9c0,0,18.4-4,21.3-5.1c3-1.1,4-1.1,6.5-0.2c2.5,0.9,17.6,3.6,20.1,4.6v4.8C48,26,47.4,26.6,46.1,27.3z"
/>
<path class="st1" d="M46.1,22.4c-2.6,1.3-15.8,6.8-18.7,8.3c-2.8,1.5-4.4,1.5-6.6,0.4C18.6,30,4.5,24.3,1.9,23
c-2.6-1.2-2.6-2.1-0.1-3c2.5-1,16.5-6.5,19.5-7.5c3-1.1,4-1.1,6.5-0.2c2.5,0.9,15.7,6.2,18.2,7.1C48.6,20.3,48.7,21.1,46.1,22.4z"/>
<path class="st0" d="M46.1,19c-2.6,1.3-15.8,6.8-18.7,8.3c-2.8,1.5-4.4,1.5-6.6,0.4c-2.2-1-16.3-6.7-18.9-8c-1.3-0.6-2-1.1-2-1.6
v-4.9c0,0,18.4-4,21.3-5.1c3-1.1,4-1.1,6.5-0.2c2.5,0.9,17.6,3.6,20.1,4.6v4.8C48,17.8,47.4,18.3,46.1,19z"/>
<path class="st1" d="M46.1,14.2c-2.6,1.3-15.8,6.8-18.7,8.3c-2.8,1.5-4.4,1.5-6.6,0.4c-2.2-1.1-16.3-6.7-18.9-8s-2.6-2.1-0.1-3
c2.5-1,16.5-6.5,19.5-7.5c3-1.1,4-1.1,6.5-0.2s15.7,6.2,18.2,7.1C48.6,12.1,48.7,12.9,46.1,14.2z"/>
<path class="st2" d="M30.3,9.5L26.1,10l-1,2.2l-1.5-2.5l-4.8-0.4L22.5,8l-1.1-2l3.4,1.3l3.1-1l-0.8,2.1L30.3,9.5z M25,20.4l-7.8-3.2
l11.1-1.7L25,20.4z"/>
<ellipse class="st2" cx="14.2" cy="13.1" rx="5.9" ry="2.3"/>
<path class="st3" d="M35.2,10.1l6.6,2.6l-6.6,2.6V10.1z"/>
<path class="st4" d="M27.9,13l7.3-2.9v5.2l-0.7,0.3L27.9,13z"/>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 6.554 6.555" preserveAspectRatio="xMidYMid"><defs><linearGradient x1="2.983" y1=".53" x2="2.983" y2="4.744" id="A" gradientUnits="userSpaceOnUse"><stop stop-color="#97d9f6" offset="0%"/><stop stop-color="#0f80cc" offset="92.024%"/><stop stop-color="#0f80cc" offset="100%"/></linearGradient></defs><path d="M4.96.29H.847c-.276 0-.5.226-.5.5v4.536c0 .276.226.5.5.5h2.71c-.03-1.348.43-3.964 1.404-5.54z" fill="#0f80cc"/><path d="M4.81.437H.847c-.196 0-.355.16-.355.355v4.205c.898-.345 2.245-.642 3.177-.628A28.93 28.93 0 0 1 4.811.437z" fill="url(#A)"/><path d="M5.92.142c-.282-.25-.623-.15-.96.148l-.15.146c-.576.61-1.1 1.742-1.276 2.607a2.38 2.38 0 0 1 .148.426l.022.1.022.102s-.005-.02-.026-.08l-.014-.04a.461.461 0 0 0-.009-.022c-.038-.087-.14-.272-.187-.352a8.789 8.789 0 0 0-.103.321c.132.242.212.656.212.656s-.007-.027-.04-.12c-.03-.083-.176-.34-.21-.4-.06.22-.083.368-.062.404.04.07.08.2.115.324a7.52 7.52 0 0 1 .132.666l.005.062a6.11 6.11 0 0 0 .015.75c.026.313.075.582.137.726l.042-.023c-.09-.284-.128-.655-.112-1.084.025-.655.175-1.445.454-2.268C4.548 1.938 5.2.94 5.798.464c-.545.492-1.282 2.084-1.502 2.673-.247.66-.422 1.28-.528 1.873.182-.556.77-.796.77-.796s.29-.356.626-.865l-.645.172-.208.092s.53-.323.987-.47c.627-.987 1.31-2.39.622-3.002" fill="#003b57"/></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

+39
View File
@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
<style type="text/css">
.st0{fill:#252F3E;}
.st1{fill-rule:evenodd;clip-rule:evenodd;fill:#FF9900;}
</style>
<g>
<path class="st0" d="M13.5,20.1c0,0.6,0.1,1.1,0.2,1.4c0.1,0.4,0.3,0.7,0.5,1.1c0.1,0.1,0.1,0.3,0.1,0.4c0,0.2-0.1,0.3-0.3,0.5
l-1,0.7c-0.1,0.1-0.3,0.1-0.4,0.1c-0.2,0-0.3-0.1-0.5-0.2c-0.2-0.2-0.4-0.5-0.6-0.8c-0.2-0.3-0.3-0.6-0.5-0.9
c-1.2,1.5-2.8,2.2-4.7,2.2c-1.3,0-2.4-0.4-3.2-1.1C2.4,22.7,2,21.7,2,20.4c0-1.4,0.5-2.5,1.5-3.3c1-0.8,2.3-1.2,3.9-1.2
c0.5,0,1.1,0,1.7,0.1c0.6,0.1,1.2,0.2,1.8,0.4v-1.2c0-1.2-0.3-2.1-0.8-2.6c-0.5-0.5-1.4-0.7-2.6-0.7c-0.6,0-1.1,0.1-1.7,0.2
c-0.6,0.1-1.2,0.3-1.7,0.5c-0.3,0.1-0.4,0.2-0.6,0.2c-0.1,0-0.2,0-0.3,0c-0.2,0-0.3-0.2-0.3-0.5v-0.8c0-0.3,0-0.4,0.1-0.6
c0.1-0.1,0.2-0.2,0.4-0.3c0.6-0.3,1.2-0.5,2-0.7C6.3,9.8,7.1,9.7,8,9.7c1.9,0,3.3,0.4,4.2,1.3c0.9,0.9,1.3,2.2,1.3,3.9L13.5,20.1
L13.5,20.1z M7,22.5c0.5,0,1.1-0.1,1.6-0.3c0.6-0.2,1.1-0.5,1.5-1c0.3-0.3,0.4-0.6,0.5-1c0.1-0.4,0.2-0.8,0.2-1.4v-0.7
c-0.5-0.1-1-0.2-1.5-0.3c-0.5-0.1-1-0.1-1.5-0.1c-1.1,0-1.9,0.2-2.4,0.6s-0.8,1-0.8,1.8c0,0.8,0.2,1.3,0.6,1.7
C5.8,22.3,6.3,22.5,7,22.5z M19.9,24.2c-0.3,0-0.5,0-0.6-0.2c-0.1-0.1-0.2-0.3-0.3-0.6l-3.8-12.3c-0.1-0.3-0.1-0.5-0.1-0.6
c0-0.3,0.1-0.4,0.4-0.4H17c0.3,0,0.5,0,0.6,0.2c0.1,0.1,0.2,0.3,0.3,0.6l2.7,10.6l2.5-10.6c0.1-0.3,0.2-0.5,0.3-0.6
c0.1-0.1,0.4-0.2,0.6-0.2h1.3c0.3,0,0.5,0,0.6,0.2c0.1,0.1,0.2,0.3,0.3,0.6l2.5,10.7l2.8-10.7c0.1-0.3,0.2-0.5,0.3-0.6
c0.1-0.1,0.3-0.2,0.6-0.2H34c0.3,0,0.4,0.1,0.4,0.4c0,0.1,0,0.2,0,0.3s0,0.2-0.1,0.4l-3.8,12.3c-0.1,0.3-0.2,0.5-0.3,0.6
s-0.3,0.2-0.6,0.2h-1.4c-0.3,0-0.5,0-0.6-0.2s-0.2-0.3-0.3-0.6l-2.5-10.3l-2.5,10.3c-0.1,0.3-0.2,0.5-0.3,0.6
c-0.1,0.1-0.4,0.2-0.6,0.2H19.9z M40.4,24.7c-0.8,0-1.7-0.1-2.5-0.3c-0.8-0.2-1.4-0.4-1.8-0.6c-0.3-0.1-0.4-0.3-0.5-0.4
c-0.1-0.1-0.1-0.3-0.1-0.4V22c0-0.3,0.1-0.5,0.4-0.5c0.1,0,0.2,0,0.3,0c0.1,0,0.2,0.1,0.4,0.2c0.5,0.2,1.1,0.4,1.8,0.6
c0.6,0.1,1.3,0.2,1.9,0.2c1,0,1.8-0.2,2.3-0.5c0.5-0.4,0.8-0.9,0.8-1.5c0-0.4-0.1-0.8-0.4-1.1c-0.3-0.3-0.8-0.6-1.6-0.8L39,17.8
c-1.2-0.4-2-0.9-2.6-1.6c-0.5-0.7-0.8-1.5-0.8-2.3c0-0.7,0.1-1.3,0.4-1.8c0.3-0.5,0.7-1,1.1-1.3c0.5-0.4,1-0.6,1.7-0.8
c0.6-0.2,1.3-0.3,2-0.3c0.4,0,0.7,0,1.1,0.1c0.4,0,0.7,0.1,1,0.2c0.3,0.1,0.6,0.2,0.9,0.3c0.3,0.1,0.5,0.2,0.7,0.3
c0.2,0.1,0.4,0.3,0.5,0.4c0.1,0.1,0.1,0.3,0.1,0.5v0.8c0,0.3-0.1,0.5-0.4,0.5c-0.1,0-0.3-0.1-0.6-0.2c-0.9-0.4-1.9-0.6-3.1-0.6
c-0.9,0-1.6,0.1-2.1,0.4c-0.5,0.3-0.8,0.8-0.8,1.4c0,0.4,0.2,0.8,0.5,1.1c0.3,0.3,0.9,0.6,1.8,0.9l2.3,0.7c1.1,0.4,2,0.9,2.5,1.5
c0.5,0.7,0.7,1.4,0.7,2.2c0,0.7-0.1,1.3-0.4,1.9c-0.3,0.5-0.7,1-1.2,1.4c-0.5,0.4-1.1,0.7-1.8,0.9C41.9,24.5,41.2,24.7,40.4,24.7z"
/>
<g>
<path class="st1" d="M43.4,32.4c-5.3,3.9-12.9,5.9-19.4,5.9c-9.2,0-17.5-3.4-23.7-9.1c-0.5-0.4,0-1.1,0.5-0.7
c6.8,3.9,15.1,6.3,23.8,6.3c5.8,0,12.2-1.2,18.1-3.7C43.5,30.8,44.3,31.8,43.4,32.4z"/>
<path class="st1" d="M45.6,29.9c-0.7-0.9-4.4-0.4-6.1-0.2c-0.5,0.1-0.6-0.4-0.1-0.7c3-2.1,7.9-1.5,8.5-0.8c0.6,0.7-0.2,5.7-3,8
c-0.4,0.4-0.8,0.2-0.7-0.3C44.8,34.3,46.3,30.8,45.6,29.9z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

+11
View File
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
<style type="text/css">
.st0{fill-rule:evenodd;clip-rule:evenodd;fill:#035BDA;}
</style>
<g>
<path class="st0" d="M29.8,10.9l-7.1,14.3l12.5,14.5L12,42.3l36,0.4L29.8,10.9z M28.4,5.3L12.1,18.9L0,39.3l10.3-1L28.4,5.3z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 577 B

+21
View File
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
<style type="text/css">
.st0{fill-rule:evenodd;clip-rule:evenodd;fill:#1B1B1F;}
</style>
<g>
<path class="st0" d="M42.1,9.8l-15.2-9c-1.8-1.1-4-1.1-5.8,0L6,9.8C4.1,10.9,3,12.9,3,15v18c0,2.1,1.1,4.1,2.9,5.2l15.2,9
c1.8,1.1,4,1.1,5.8,0l15.2-9c1.8-1.1,2.9-3.1,2.9-5.2V15C45,12.9,43.9,10.9,42.1,9.8L42.1,9.8z M30.4,37.9v1.3
c0,0.2-0.1,0.3-0.2,0.4L29.4,40c-0.1,0.1-0.2,0-0.2-0.2v-1.3c-0.5,0.3-1.2,0.3-1.7,0.2c-0.1-0.1-0.1-0.2-0.1-0.3l0.3-1.2
c0-0.1,0.1-0.2,0.2-0.3c0,0,0,0,0.1-0.1c0,0,0.1,0,0.1,0c0.5,0.1,1.1,0.1,1.6-0.2c0.7-0.3,1.2-1,1.2-1.8c0-0.7-0.4-0.9-1.2-0.9
c-1.1,0-2.1-0.2-2.1-1.8c0-1.4,0.7-2.7,1.8-3.6v-1.3c0-0.2,0.1-0.3,0.2-0.4l0.7-0.5c0.1-0.1,0.2,0,0.2,0.2v1.3
c0.5-0.2,1-0.3,1.5-0.2c0.1,0.1,0.1,0.2,0.1,0.3l-0.3,1.2c0,0.1-0.1,0.2-0.1,0.2c0,0,0,0-0.1,0.1c0,0-0.1,0-0.1,0
c-0.5-0.1-1,0-1.4,0.2c-0.6,0.3-1,0.9-1.1,1.6c0,0.6,0.3,0.8,1.4,0.8c1.4,0,2,0.6,2,2C32.2,35.6,31.5,36.9,30.4,37.9L30.4,37.9z
M38.3,35.7c0,0.1,0,0.2-0.1,0.3l-3.8,2.3c0,0-0.1,0-0.1,0c0,0-0.1-0.1,0-0.1v-1c0-0.1,0.1-0.2,0.2-0.2l3.8-2.3c0,0,0.1,0,0.1,0
c0,0,0.1,0.1,0,0.1L38.3,35.7L38.3,35.7z M40.9,13.6l-14.3,8.9c-1.8,1.1-3.1,2.2-3.1,4.4v17.7c0,1.3,0.5,2.1,1.3,2.4
c-0.3,0-0.5,0.1-0.8,0.1c-0.8,0-1.7-0.2-2.4-0.7l-15.2-9C5,36.4,4.1,34.7,4.1,33V15c0-1.8,0.9-3.4,2.4-4.3l15.2-9
c1.5-0.9,3.3-0.9,4.8,0l15.2,9c1.2,0.8,2.1,2,2.3,3.4C43.4,13.1,42.3,12.8,40.9,13.6L40.9,13.6L40.9,13.6z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

+15
View File
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
<style type="text/css">
.st0{fill:#161616;}
</style>
<g transform="matrix(2.791226 0 0 2.791226 71.368826 91.588681)">
<circle class="st0" cx="-17.1" cy="-24.2" r="2"/>
<path class="st0" d="M-17.1-32.8c-4,0-7.4,2.7-8.3,6.4c0,0,0,0.1,0,0.1c0,0.2,0.2,0.4,0.4,0.4h3.5c0.2,0,0.3-0.1,0.4-0.2
c0,0,0,0,0,0c0.7-1.5,2.3-2.6,4.1-2.6c2.5,0,4.5,2,4.5,4.5s-2,4.5-4.5,4.5c-1.8,0-3.4-1.1-4.1-2.6c0,0,0,0,0,0
c-0.1-0.1-0.2-0.2-0.4-0.2H-25c-0.2,0-0.4,0.2-0.4,0.4c0,0,0,0.1,0,0.1c1,3.7,4.3,6.4,8.3,6.4c4.7,0,8.6-3.8,8.6-8.6
S-12.3-32.8-17.1-32.8L-17.1-32.8z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 910 B

Some files were not shown because too many files have changed in this diff Show More