diff --git a/.github/scripts/icomoon_peek.py b/.github/scripts/icomoon_peek.py index 445ef9588..b4c993cb0 100644 --- a/.github/scripts/icomoon_peek.py +++ b/.github/scripts/icomoon_peek.py @@ -24,7 +24,7 @@ def main(): if len(filtered_icons) == 0: message = "No icons found matching the icon name in the PR's title.\n" \ "Ensure that a new icon entry is added in the devicon.json and the PR title matches the convention here: \n" \ - "https://github.com/devicons/devicon/blob/master/CONTRIBUTING.md#overview.\n" \ + "https://github.com/devicons/devicon/blob/master/CONTRIBUTING.md#overview\n" \ "Ending script...\n" sys.exit(message) diff --git a/.github/workflows/build_icons.yml b/.github/workflows/build_icons.yml index f4ebb5297..2bcb1745f 100644 --- a/.github/workflows/build_icons.yml +++ b/.github/workflows/build_icons.yml @@ -51,7 +51,7 @@ jobs: I'm Devicon's Build Bot and I just built some new font files and devicon.min.css file. - Here are all the files that were built into icons: + Here are all the files that were built into icons (the new ones are those without highlight): ![Files Built]({0}) @@ -65,8 +65,7 @@ jobs: Adios, Build Bot :sunglasses: with: - branch: 'master-build-result' - base: 'master' + branch: 'bot/build-result' commit-message: 'Built new icons, icomoon.json and devicon.css' title: 'bot:build new icons, icomoon.json and devicon.css' body: ${{ format(env.MESSAGE, fromJSON(steps.imgur_step.outputs.imgur_urls)[0] ) }} diff --git a/.github/workflows/peek_icons.yml b/.github/workflows/peek_icons.yml index ac5062bdb..20f3455f1 100644 --- a/.github/workflows/peek_icons.yml +++ b/.github/workflows/peek_icons.yml @@ -3,7 +3,10 @@ on: pull_request: types: [labeled] jobs: - build: + peek: + # four outcomes: successful check and upload, + # unsuccessful check (fail due to user), + # fail due to system, skipped name: Peek Icons if: github.event.label.name == 'bot:peek' runs-on: windows-2019 @@ -20,6 +23,18 @@ jobs: python -m pip install --upgrade pip pip install -r ./.github/scripts/requirements.txt + - name: Save the PR number in an artifact + shell: bash + env: + PR_NUM: ${{ github.event.number }} + run: echo $PR_NUM > pr_num.txt + + - name: Upload the PR number + uses: actions/upload-artifact@v2 + with: + name: pr_num + path: ./pr_num.txt + - name: Run icomoon_peek.py env: PR_TITLE: ${{ github.event.pull_request.title }} @@ -36,21 +51,9 @@ jobs: name: screenshots path: ./screenshots/*.png - - name: Save the pr num in an artifact - shell: bash - env: - PR_NUM: ${{ github.event.number }} - run: echo $PR_NUM > pr_num.txt - - - name: Upload the pr num - uses: actions/upload-artifact@v2 - with: - name: pr_num - path: ./pr_num.txt - - name: Upload geckodriver.log for debugging purposes uses: actions/upload-artifact@v2 if: failure() with: name: geckodriver-log - path: ./geckodriver.log \ No newline at end of file + path: ./geckodriver.log diff --git a/.github/workflows/post_check_svgs_comment.yml b/.github/workflows/post_check_svgs_comment.yml index cce4eba31..25dcacf68 100644 --- a/.github/workflows/post_check_svgs_comment.yml +++ b/.github/workflows/post_check_svgs_comment.yml @@ -35,21 +35,21 @@ jobs: with: path: ./svg_err_messages/svg_err_messages.txt - - name: Comment on the PR about the result - Success - uses: jungwinter/comment@v1 # let us comment on a specific PR - if: success() && steps.err_message_reader.outputs.content == '1' - env: - MESSAGE: | - Hi! - I'm Devicons' SVG-Checker Bot and everything looks great. Good job! + # - name: Comment on the PR about the result - Success + # uses: jungwinter/comment@v1 # let us comment on a specific PR + # if: success() && steps.err_message_reader.outputs.content == '1' + # env: + # MESSAGE: | + # Hi! + # I'm Devicons' SVG-Checker Bot and everything looks great. Good job! - Have a nice day, - SVG-Checker Bot :grin: - with: - type: create - issue_number: ${{ steps.pr_num_reader.outputs.content }} - token: ${{ secrets.GITHUB_TOKEN }} - body: ${{ env.MESSAGE }} + # Have a nice day, + # SVG-Checker Bot :grin: + # with: + # type: create + # issue_number: ${{ steps.pr_num_reader.outputs.content }} + # token: ${{ secrets.GITHUB_TOKEN }} + # body: ${{ env.MESSAGE }} - name: Comment on the PR about the result - SVG Error uses: jungwinter/comment@v1 # let us comment on a specific PR @@ -79,6 +79,11 @@ jobs: token: ${{ secrets.GITHUB_TOKEN }} body: ${{ format(env.MESSAGE, steps.err_message_reader.outputs.content) }} + # if we posted error messages before, we fail this entire workflow + - name: Fail workflow is there is an error. + uses: cutenode/action-always-fail@v1.0.1 + if: success() && (steps.err_message_reader.outputs.content != '0' && steps.err_message_reader.outputs.content != '1') + - name: Comment on the PR about the result - Failure uses: jungwinter/comment@v1 # let us comment on a specific PR if: failure() diff --git a/.github/workflows/post_peek_screenshot.yml b/.github/workflows/post_peek_screenshot.yml index 541441f37..15ae7ea71 100644 --- a/.github/workflows/post_peek_screenshot.yml +++ b/.github/workflows/post_peek_screenshot.yml @@ -8,10 +8,16 @@ jobs: post_screenshots_in_comment: name: Post the screenshot runs-on: ubuntu-18.04 + if: github.event.action == 'completed' && github.event.workflow_run.conclusion != 'skipped' + env: + # three possible values: 'skipped', 'success', 'failure' + # have to print github.event to console to see these values + # note: can't use this env variable up in the if statement above for some reason. + # I don't think it's an ordering issue cause it seems 'if' is auto evaluate first + PEEK_STATUS: ${{ github.event.workflow_run.conclusion }} steps: - - name: Check if the trigger run worked. If not, fail the current run. - if: github.event.workflow_run.conclusion != 'success' - uses: cutenode/action-always-fail@v1.0.1 + - name: Check state of last run + run: echo $PEEK_STATUS - name: Download workflow artifact uses: dawidd6/action-download-artifact@v2.11.0 @@ -21,7 +27,6 @@ jobs: run_id: ${{ github.event.workflow_run.id }} - name: Read the pr_num file - if: success() id: pr_num_reader uses: juliangruber/read-file-action@v1.0.0 with: @@ -29,6 +34,7 @@ jobs: - name: Upload screenshot of the newly made icons gotten from the artifacts id: icons_overview_img_step + if: env.PEEK_STATUS == 'success' && success() uses: devicons/public-upload-to-imgur@v2.2.1 with: path: ./screenshots/new_icons.png @@ -37,22 +43,20 @@ jobs: - name: Upload zoomed in screenshot of the newly made icons gotten from the artifacts id: icons_detailed_img_step uses: devicons/public-upload-to-imgur@v2.2.1 - if: success() + if: env.PEEK_STATUS == 'success' && success() with: path: ./screenshots/screenshot_*.png client_id: ${{secrets.IMGUR_CLIENT_ID}} - name: Comment on the PR about the result - Success uses: jungwinter/comment@v1 # let us comment on a specific PR - if: success() + if: env.PEEK_STATUS == 'success' && success() env: - OVERVIEW_IMG_MARKDOWN: ${{ fromJSON(steps.icons_overview_img_step.outputs.markdown_urls)[0] }} - DETAILED_IMGS_MARKDOWN: ${{ join(fromJSON(steps.icons_detailed_img_step.outputs.markdown_urls), '') }} MESSAGE: | Hi there, I'm Devicons' Peek Bot and I just peeked at the icons that you wanted to add using [icomoon.io](https://icomoon.io/app/#/select). - Here is the result below: + Here is the result below (top right): {0} @@ -71,10 +75,13 @@ jobs: type: create issue_number: ${{ steps.pr_num_reader.outputs.content }} token: ${{ secrets.GITHUB_TOKEN }} - body: ${{format(env.MESSAGE, env.OVERVIEW_IMG_MARKDOWN, env.DETAILED_IMGS_MARKDOWN)}} + body: > + ${{ format(env.MESSAGE, + fromJSON(steps.icons_overview_img_step.outputs.markdown_urls)[0], + join(fromJSON(steps.icons_detailed_img_step.outputs.markdown_urls), '')) }} - name: Comment on the PR about the result - Failure - if: failure() || cancelled() + if: failure() || env.PEEK_STATUS == 'failure' uses: jungwinter/comment@v1 # let us comment on a specific PR env: MESSAGE: | @@ -88,7 +95,7 @@ jobs: - Your icon information has been added to the `devicon.json` as seen [here](https://github.com/devicons/devicon/blob/master/CONTRIBUTING.md#updateDevicon) - Your PR title follows the format seen [here](https://github.com/devicons/devicon/blob/master/CONTRIBUTING.md#overview) - Once everything is fixed, I will try. If I still fail (sorry!), the maintainers will investigate further. + I will retry once everything is fixed. If I still fail (sorry!) or there are other erros, the maintainers will investigate. Best of luck, Peek Bot :relaxed: diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml new file mode 100644 index 000000000..859b053da --- /dev/null +++ b/.github/workflows/stale.yml @@ -0,0 +1,22 @@ +name: 'Stale' +on: + schedule: + - cron: '30 1 * * *' + +jobs: + stale: + runs-on: ubuntu-latest + steps: + - uses: actions/stale@main + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + stale-pr-message: 'Hello there, + we noticed that this PR has been inactive for a while now. If there are any changes which are suitable for our repository, + we would love to have it. It would be great if you can continue with this PR, but if you cannot, we might fork your changes and merge the changes ourselves. + + Since GitHub tracks contributions by commits, you will still be credited. + + Let us know what you think 😃' + stale-pr-label: 'stale' + days-before-pr-stale: 30 + days-before-pr-close: -1 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 153cc06de..b86006dd9 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,6 +1,6 @@
-First of all, thanks for taking the time to contribute! This project can only grow and live by your countless contributions. To keep this project maintable we developed some guidelines for contributions. +First of all, thanks for taking the time to contribute! This project can only grow and live by your countless contributions. To keep this project maintainable, we have developed some guidelines for our contributors.
Here are some terms that we will use in this repo:
.svg
" refers to the svg
versions of the Icons.svg
" refers to the svg
versions of the Icons.Here is an overview of what you have to do to submit your icons to the repo.
+Here is what you have to do to submit your icons to the repo.
/icons
For the technology name, make the file and folder name lowercase and concatenate them. For example:
+angularjs
or just angular
amazonwebservices
microsoftsqlserver
Each icon/svg can come in different versions. So far, we have:
devicon.json
so they can be found with either the "original" or "plain" naming convention. Note: this only applies to font icon versions only, not the SVG versions.
-
Before you submit your logos/svgs, please ensure that they meet the following standard:
(Icon name)-(original|plain|line)(-wordmark?).
(Technology name)-(original|plain|line)(-wordmark?).
.svg
file contains one version of an icon in a 0 0 128 128
viewbox. You can use a service like resize-image for scaling the svg.svg
element does not need the height
and width
attributes. However, if you do use it, ensure their values are either "128"
or "128px"
. Ex: height="128"
.svg
must use the fill
attribute instead of using classes
for colors. See here for more details.(Icon name)-(original|plain|line)(-wordmark?).
(Technology name)-(original|plain|line)(-wordmark?).
+We are running a Discord server. You can go here to talk, discuss, and more with the maintainers and other people, too. Here's the invitation: https://discord.gg/hScy8KWACQ. If you don't have a GitHub account but want to suggest ideas or new icons, you can do that here in our Discord channel. +Note that the Discord server is unofficial, and Devicons is still being maintained via GitHub. +
+ +Devicon does not follow a strict release plan. A new release is depended on current amount of contributions, required bugfixes/patches and will be discussed by the team of maintainers.
+Generally speaking: A new release will be published when new icons are added or a bug was fixed. When it's predictable that multiple icons are added in a foreseeable amount of time they are usually wrapped together.
+The version naming follows the rules of Semantic Versioning. Given a version number MAJOR.MINOR.PATCH, increment the:
+development
as draft-release
branchnpm version vMAJOR.MINOR.PATCH -m "bump npm version to vMAJOR.MINOR.PATCH"
(see #487
)draft-release
build_icons.yml
(which has a workflow_dispatch
event trigger) and select the branch draft-release
as target branch. This will build a font version of all icons using icomoon and automatically creates a pull request to merge the build result back into draft-release
development
. Mention the release number in the pull request title and add information about all new icons, fixes, features and enhancements in the description of the pull request. Take the commits as a guideline. It's also a good idea to mention and thank all contributions who participated in the release (take description of #504
as an example).master
and HEAD development
. Copy the description of the earlier pull request.npm publish
leading to a updated npm package (vMAJOR.MINOR.PATCH).+After a pull request has been open for over 30 days with no activity or response from the author, it'll be automatically marked as stale. We might fork your changes and merge the changes ourselves. Since GitHub tracks contributions by commits, you will be credited. +
+ ++We are running a Discord server. You can go here to talk, discuss, and more with the maintainers and other people, too. Here's the invitation: https://discord.gg/hScy8KWACQ. +Note that the Discord server is unofficial, and Devicons is still being maintained via GitHub. +
+Feel free to follow those steps when you want to build the font diff --git a/devicon.css b/devicon.css index 5d7c32c97..09f502bdf 100755 --- a/devicon.css +++ b/devicon.css @@ -1,10 +1,10 @@ @font-face { font-family: 'devicon'; - src: url('fonts/devicon.eot?e4qd2c'); - src: url('fonts/devicon.eot?e4qd2c#iefix') format('embedded-opentype'), - url('fonts/devicon.ttf?e4qd2c') format('truetype'), - url('fonts/devicon.woff?e4qd2c') format('woff'), - url('fonts/devicon.svg?e4qd2c#devicon') format('svg'); + src: url('fonts/devicon.eot?jsodij'); + src: url('fonts/devicon.eot?jsodij#iefix') format('embedded-opentype'), + url('fonts/devicon.ttf?jsodij') format('truetype'), + url('fonts/devicon.woff?jsodij') format('woff'), + url('fonts/devicon.svg?jsodij#devicon') format('svg'); font-weight: normal; font-style: normal; font-display: block; @@ -25,6 +25,81 @@ -moz-osx-font-smoothing: grayscale; } +.devicon-weblate-plain-wordmark:before { + content: "\e999"; +} +.devicon-weblate-plain:before { + content: "\e99a"; +} +.devicon-thealgorithms-plain-wordmark:before { + content: "\e99b"; +} +.devicon-thealgorithms-plain:before { + content: "\e99c"; +} +.devicon-spring-plain-wordmark:before { + content: "\e99d"; +} +.devicon-spring-plain:before { + content: "\e99e"; +} +.devicon-rails-plain-wordmark:before { + content: "\e99f"; +} +.devicon-rails-plain:before { + content: "\e9a0"; +} +.devicon-phoenix-plain-wordmark:before { + content: "\e9a1"; +} +.devicon-phoenix-plain:before { + content: "\e9a2"; +} +.devicon-nextjs-original-wordmark:before { + content: "\e9a3"; +} +.devicon-nextjs-line:before { + content: "\e9a4"; +} +.devicon-nextjs-original:before { + content: "\e9a5"; +} +.devicon-lua-plain-wordmark:before { + content: "\e9a6"; +} +.devicon-lua-plain:before { + content: "\e9a7"; +} +.devicon-graphql-plain-wordmark:before { + content: "\e9a8"; +} +.devicon-graphql-plain:before { + content: "\e9a9"; +} +.devicon-gitter-plain-wordmark:before { + content: "\e9aa"; +} +.devicon-gitter-plain:before { + content: "\e9ab"; +} +.devicon-figma-plain:before { + content: "\e9ac"; +} +.devicon-digitalocean-plain-wordmark:before { + content: "\e9ad"; +} +.devicon-digitalocean-plain:before { + content: "\e9ae"; +} +.devicon-dotnetcore-plain:before { + content: "\e9af"; +} +.devicon-dart-plain-wordmark:before { + content: "\e9b0"; +} +.devicon-dart-plain:before { + content: "\e9b1"; +} .devicon-r-plain:before { content: "\e98e"; } @@ -862,12 +937,6 @@ .devicon-python-plain:before { content: "\eb89"; } -.devicon-rails-plain-wordmark:before { - content: "\eba2"; -} -.devicon-rails-plain:before { - content: "\eba3"; -} .devicon-ruby-plain-wordmark:before { content: "\ebc9"; } diff --git a/devicon.json b/devicon.json index b5af57657..ace8ef8cd 100644 --- a/devicon.json +++ b/devicon.json @@ -772,6 +772,27 @@ "color": "#f7974e", "aliases": [] }, + { + "name": "dart", + "tags": [ + "programming", + "language" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#00A8E1", + "aliases": [] + }, { "name": "debian", "tags": [ @@ -904,6 +925,23 @@ "color": "#1384c8", "aliases": [] }, + { + "name": "dotnetcore", + "tags": [ + "framework" + ], + "versions": { + "svg": [ + "original", + "plain" + ], + "font": [ + "plain" + ] + }, + "color": "#623697", + "aliases": [] + }, { "name": "drupal", "tags": [ @@ -924,6 +962,29 @@ "color": "#0073BA", "aliases": [] }, + { + "name": "digitalocean", + "tags": [ + "cloud", + "hosting", + "database", + "storage" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#0080FF", + "aliases": [] + }, { "name": "electron", "tags": [ @@ -1061,6 +1122,23 @@ } ] }, + { + "name": "figma", + "tags": [ + "design" + ], + "versions": { + "svg": [ + "original", + "plain" + ], + "font": [ + "plain" + ] + }, + "color": "#f24e1e", + "aliases": [] + }, { "name": "firebase", "tags": [ @@ -1308,6 +1386,25 @@ "color": "#E24329", "aliases": [] }, + { + "name": "gitter", + "tags": [ + "social", + "chat" + ], + "versions": { + "svg": [ + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#000000", + "aliases": [] + }, { "name": "go", "tags": [ @@ -1412,6 +1509,26 @@ "color": "#feb672", "aliases": [] }, + { + "name": "graphql", + "tags": [ + "language", + "data", + "query" + ], + "versions": { + "svg": [ + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#e434aa", + "aliases": [] + }, { "name": "groovy", "tags": [ @@ -1970,6 +2087,32 @@ "color": "#0076b2", "aliases": [] }, + { + "name": "lua", + "tags": [ + "programming", + "language", + "object-oriented", + "scripting", + "procedural", + "prototype-based", + "functional" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#000080", + "aliases": [] + }, { "name": "linux", "tags": [ @@ -2139,6 +2282,37 @@ "color": "#DF234F", "aliases": [] }, + { + "name": "nextjs", + "tags": [ + "framework" + ], + "versions": { + "svg": [ + "original", + "line", + "original-wordmark" + ], + "font": [ + "original", + "plain", + "line", + "original-wordmark", + "plain-wordmark" + ] + }, + "color": "#000000", + "aliases": [ + { + "base": "original", + "alias": "plain" + }, + { + "base": "original-wordmark", + "alias": "plain-wordmark" + } + ] + }, { "name": "nginx", "tags": [ @@ -2445,6 +2619,26 @@ "color": "#ffd845", "aliases": [] }, + { + "name": "phoenix", + "tags": [ + "framework" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#F15524", + "aliases": [] + }, { "name": "r", "tags": [ @@ -2480,7 +2674,7 @@ "plain-wordmark" ] }, - "color": "#a62c46", + "color": "#CC0000", "aliases": [] }, { @@ -2835,6 +3029,26 @@ } ] }, + { + "name": "spring", + "tags": [ + "framework" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#5FB832", + "aliases": [] + }, { "name": "microsoftsqlserver", "tags": [ @@ -2983,6 +3197,27 @@ "color": "#bb2031", "aliases": [] }, + { + "name": "thealgorithms", + "tags": [ + "organization", + "algorithms" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#00BCB4", + "aliases": [] + }, { "name": "trello", "tags": [ @@ -3181,6 +3416,26 @@ "color": "#41B883", "aliases": [] }, + { + "name": "weblate", + "tags": [ + "localization" + ], + "versions": { + "svg": [ + "original", + "plain", + "original-wordmark", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#2eccaa", + "aliases": [] + }, { "name": "webpack", "tags": [ diff --git a/devicon.min.css b/devicon.min.css index 856ee9d6f..430ed6360 100644 --- a/devicon.min.css +++ b/devicon.min.css @@ -1 +1 @@ -@font-face{font-family:"devicon";src:url("fonts/devicon.eot?e4qd2c");src:url("fonts/devicon.eot?e4qd2c#iefix") format("embedded-opentype"),url("fonts/devicon.ttf?e4qd2c") format("truetype"),url("fonts/devicon.woff?e4qd2c") format("woff"),url("fonts/devicon.svg?e4qd2c#devicon") format("svg");font-weight:normal;font-style:normal;font-display:block}[class^=devicon-],[class*=" devicon-"]{font-family:"devicon" !important;speak:never;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.devicon-r-plain:before{content:""}.devicon-r-original:before{content:""}.devicon-ocaml-plain-wordmark:before{content:""}.devicon-ocaml-plain:before{content:""}.devicon-matlab-plain:before{content:""}.devicon-jupyter-plain-wordmark:before{content:""}.devicon-jupyter-plain:before{content:""}.devicon-fsharp-plain:before{content:""}.devicon-elixir-plain-wordmark:before{content:""}.devicon-elixir-plain:before{content:""}.devicon-aarch64-plain:before{content:""}.devicon-xd-line:before{content:""}.devicon-xd-plain:before{content:""}.devicon-uwsgi-plain:before{content:""}.devicon-microsoftsqlserver-plain-wordmark:before{content:""}.devicon-microsoftsqlserver-plain:before{content:""}.devicon-sqlalchemy-original-wordmark:before,.devicon-sqlalchemy-plain-wordmark:before{content:""}.devicon-sqlalchemy-plain:before{content:""}.devicon-rocksdb-plain:before{content:""}.devicon-objectivec-plain:before{content:""}.devicon-kubernetes-plain-wordmark:before{content:""}.devicon-kubernetes-plain:before{content:""}.devicon-googlecloud-plain-wordmark:before{content:""}.devicon-googlecloud-plain:before{content:""}.devicon-flask-original-wordmark:before,.devicon-flask-plain-wordmark:before{content:""}.devicon-flask-original:before,.devicon-flask-plain:before{content:""}.devicon-firebase-plain-wordmark:before{content:""}.devicon-firebase-plain:before{content:""}.devicon-eleventy-plain:before{content:""}.devicon-appwrite-plain-wordmark:before,.devicon-appwrite-original-wordmark:before{content:""}.devicon-appwrite-plain:before,.devicon-appwrite-original:before{content:""}.devicon-bash-plain:before{content:""}.devicon-woocommerce-plain-wordmark:before{content:""}.devicon-woocommerce-plain:before{content:""}.devicon-typo3-plain-wordmark:before{content:""}.devicon-typo3-plain:before{content:""}.devicon-premierepro-plain:before{content:""}.devicon-nestjs-plain-wordmark:before{content:""}.devicon-nestjs-plain:before{content:""}.devicon-materialui-plain:before{content:""}.devicon-kotlin-plain-wordmark:before{content:""}.devicon-kotlin-plain:before{content:""}.devicon-jenkins-plain:before{content:""}.devicon-jenkins-line:before{content:""}.devicon-haxe-plain:before{content:""}.devicon-gatsby-plain-wordmark:before{content:""}.devicon-gatsby-plain:before{content:""}.devicon-flutter-plain:before{content:""}.devicon-composer-line-wordmark:before,.devicon-composer-plain-wordmark:before{content:""}.devicon-composer-line:before,.devicon-composer-plain:before{content:""}.devicon-aftereffects-plain:before{content:""}.devicon-yunohost-plain:before{content:""}.devicon-redux-original:before,.devicon-redux-plain:before{content:""}.devicon-clojurescript-plain:before{content:""}.devicon-clojure-line:before,.devicon-clojure-plain:before{content:""}.devicon-mocha-plain:before{content:""}.devicon-haskell-plain:before{content:""}.devicon-haskell-plain-wordmark:before{content:""}.devicon-codepen-original-wordmark:before{content:""}.devicon-codepen-plain:before,.devicon-codepen-original:before{content:""}.devicon-groovy-plain:before{content:""}.devicon-rust-plain:before{content:""}.devicon-scala-plain-wordmark:before{content:""}.devicon-scala-plain:before{content:""}.devicon-grails-plain:before{content:""}.devicon-sketch-line-wordmark:before{content:""}.devicon-sketch-line:before{content:""}.devicon-npm-original-wordmark:before{content:""}.devicon-ionic-original-wordmark:before{content:""}.devicon-ionic-original:before{content:""}.devicon-ember-original-wordmark:before,.devicon-ember-plain-wordmark:before{content:""}.devicon-electron-original-wordmark:before{content:""}.devicon-electron-original:before{content:""}.devicon-vagrant-plain-wordmark:before{content:""}.devicon-vagrant-plain:before{content:""}.devicon-yarn-plain-wordmark:before{content:""}.devicon-yarn-plain:before{content:""}.devicon-handlebars-plain-wordmark:before{content:""}.devicon-handlebars-plain:before{content:""}.devicon-couchdb-plain-wordmark:before{content:""}.devicon-couchdb-plain:before{content:""}.devicon-behance-plain-wordmark:before{content:""}.devicon-behance-plain:before{content:""}.devicon-linkedin-plain-wordmark:before{content:""}.devicon-linkedin-plain:before{content:""}.devicon-ceylon-plain:before{content:""}.devicon-elm-plain-wordmark:before{content:""}.devicon-elm-plain:before{content:""}.devicon-cakephp-plain-wordmark:before{content:""}.devicon-cakephp-plain:before{content:""}.devicon-stylus-original:before{content:""}.devicon-express-original-wordmark:before{content:""}.devicon-express-original:before{content:""}.devicon-devicon-plain-wordmark:before{content:""}.devicon-devicon-plain:before{content:""}.devicon-intellij-plain-wordmark:before{content:""}.devicon-intellij-plain:before{content:""}.devicon-pycharm-plain-wordmark:before{content:""}.devicon-pycharm-plain:before{content:""}.devicon-rubymine-plain-wordmark:before{content:""}.devicon-rubymine-plain:before{content:""}.devicon-webstorm-plain-wordmark:before{content:""}.devicon-webstorm-plain:before{content:""}.devicon-tomcat-line-wordmark:before{content:""}.devicon-tomcat-line:before{content:""}.devicon-vuejs-line-wordmark:before{content:""}.devicon-vuejs-line:before{content:""}.devicon-vuejs-plain-wordmark:before{content:""}.devicon-vuejs-plain:before{content:""}.devicon-swift-plain-wordmark:before{content:""}.devicon-swift-plain:before{content:""}.devicon-webpack-plain-wordmark:before{content:""}.devicon-webpack-plain:before{content:""}.devicon-visualstudio-plain-wordmark:before{content:""}.devicon-visualstudio-plain:before{content:""}.devicon-slack-plain-wordmark:before{content:""}.devicon-slack-plain:before{content:""}.devicon-sequelize-plain-wordmark:before{content:""}.devicon-sequelize-plain:before{content:""}.devicon-typescript-plain:before,.devicon-typescript-original:before{content:""}.devicon-babel-plain:before,.devicon-babel-original:before{content:""}.devicon-facebook-plain:before,.devicon-facebook-original:before{content:""}.devicon-google-plain-wordmark:before,.devicon-google-original-wordmark:before{content:""}.devicon-google-plain:before,.devicon-google-original:before{content:""}.devicon-twitter-original:before,.devicon-twitter-plain:before{content:""}.devicon-mocha:before{content:""}.devicon-jasmine-plain:before{content:""}.devicon-jasmine-wordmark:before{content:""}.devicon-gatling-plain:before{content:""}.devicon-gatling-plain-wordmark:before{content:""}.devicon-phpstorm-plain:before{content:""}.devicon-phpstorm-plain-wordmark:before{content:""}.devicon-sourcetree-original:before,.devicon-sourcetree-plain:before{content:""}.devicon-sourcetree-original-wordmark:before,.devicon-sourcetree-plain-wordmark:before{content:""}.devicon-ssh-original:before,.devicon-ssh-plain:before{content:""}.devicon-ssh-original-wordmark:before,.devicon-ssh-plain-wordmark:before{content:""}.devicon-jeet-plain:before{content:""}.devicon-jeet-plain-wordmark:before{content:""}.devicon-gitlab-plain:before{content:""}.devicon-gitlab-plain-wordmark:before{content:""}.devicon-github-original:before,.devicon-github-plain:before{content:""}.devicon-github-original-wordmark:before{content:""}.devicon-d3js-plain:before{content:""}.devicon-d3js-original:before{content:""}.devicon-confluence-original:before,.devicon-confluence-plain:before{content:""}.devicon-confluence-original-wordmark:before,.devicon-confluence-plain-wordmark:before{content:""}.devicon-bitbucket-original:before,.devicon-bitbucket-plain:before{content:""}.devicon-bitbucket-original-wordmark:before,.devicon-bitbucket-plain-wordmark:before{content:""}.devicon-gradle-plain:before{content:""}.devicon-gradle-plain-wordmark:before{content:""}.devicon-cucumber-plain:before{content:""}.devicon-cucumber-plain-wordmark:before{content:""}.devicon-protractor-plain:before{content:""}.devicon-protractor-plain-wordmark:before{content:""}.devicon-safari-line-wordmark:before{content:""}.devicon-safari-line:before{content:""}.devicon-safari-plain-wordmark:before{content:""}.devicon-safari-plain:before{content:""}.devicon-jetbrains-plain:before,.devicon-jetbrains-line:before,.devicon-jetbrains-line-wordmark:before,.devicon-jetbrains-plain-wordmark:before{content:""}.devicon-django-line:before,.devicon-django-line-wordmark:before{content:""}.devicon-django-plain:before,.devicon-django-plain-wordmark:before{content:""}.devicon-gimp-plain:before{content:""}.devicon-redhat-plain-wordmark:before{content:""}.devicon-redhat-plain:before{content:""}.devicon-cplusplus-line:before,.devicon-cplusplus-line-wordmark:before{content:""}.devicon-cplusplus-plain:before,.devicon-cplusplus-plain-wordmark:before{content:""}.devicon-csharp-line:before,.devicon-csharp-line-wordmark:before{content:""}.devicon-csharp-plain:before,.devicon-csharp-plain-wordmark:before{content:""}.devicon-c-line:before,.devicon-c-line-wordmark:before{content:""}.devicon-c-plain:before,.devicon-c-plain-wordmark:before{content:""}.devicon-nodewebkit-line-wordmark:before{content:""}.devicon-nodewebkit-line:before{content:""}.devicon-nodewebkit-plain-wordmark:before{content:""}.devicon-nodewebkit-plain:before{content:""}.devicon-nginx-original:before,.devicon-nginx-original-wordmark:before,.devicon-nginx-plain:before,.devicon-nginx-plain-wordmark:before{content:""}.devicon-erlang-plain-wordmark:before{content:""}.devicon-erlang-plain:before{content:""}.devicon-doctrine-line-wordmark:before{content:""}.devicon-doctrine-line:before{content:""}.devicon-doctrine-plain-wordmark:before{content:""}.devicon-doctrine-plain:before{content:""}.devicon-apache-line-wordmark:before{content:""}.devicon-apache-line:before{content:""}.devicon-apache-plain-wordmark:before{content:""}.devicon-apache-plain:before{content:""}.devicon-go-line:before{content:""}.devicon-redis-plain-wordmark:before{content:""}.devicon-redis-plain:before{content:""}.devicon-meteor-plain-wordmark:before{content:""}.devicon-meteor-plain:before{content:""}.devicon-heroku-line-wordmark:before,.devicon-heroku-original-wordmark:before{content:""}.devicon-heroku-line:before,.devicon-heroku-original:before{content:""}.devicon-heroku-plain-wordmark:before{content:""}.devicon-heroku-plain:before{content:""}.devicon-go-plain:before{content:""}.devicon-docker-plain-wordmark:before{content:""}.devicon-docker-plain:before{content:""}.devicon-symfony-original-wordmark:before,.devicon-symfony-plain-wordmark:before{content:""}.devicon-symfony-original:before,.devicon-symfony-plain:before{content:""}.devicon-react-original-wordmark:before,.devicon-react-plain-wordmark:before{content:""}.devicon-react-original:before,.devicon-react-plain:before{content:""}.devicon-amazonwebservices-original:before,.devicon-amazonwebservices-plain:before{content:""}.devicon-amazonwebservices-plain-wordmark:before{content:""}.devicon-android-plain-wordmark:before{content:""}.devicon-android-plain:before{content:""}.devicon-angularjs-plain-wordmark:before{content:""}.devicon-angularjs-plain:before{content:""}.devicon-appcelerator-original:before,.devicon-appcelerator-plain:before{content:""}.devicon-appcelerator-plain-wordmark:before{content:""}.devicon-apple-original:before,.devicon-apple-plain:before{content:""}.devicon-atom-original-wordmark:before,.devicon-atom-plain-wordmark:before{content:""}.devicon-atom-original:before,.devicon-atom-plain:before{content:""}.devicon-backbonejs-plain-wordmark:before{content:""}.devicon-backbonejs-plain:before{content:""}.devicon-bootstrap-plain-wordmark:before{content:""}.devicon-bootstrap-plain:before{content:""}.devicon-bower-line-wordmark:before{content:""}.devicon-bower-line:before{content:""}.devicon-bower-plain-wordmark:before{content:""}.devicon-bower-plain:before{content:""}.devicon-chrome-plain-wordmark:before{content:""}.devicon-chrome-plain:before{content:""}.devicon-codeigniter-plain-wordmark:before{content:""}.devicon-codeigniter-plain:before{content:""}.devicon-coffeescript-original-wordmark:before,.devicon-coffeescript-plain-wordmark:before{content:""}.devicon-coffeescript-original:before,.devicon-coffeescript-plain:before{content:""}.devicon-css3-plain-wordmark:before{content:""}.devicon-css3-plain:before{content:""}.devicon-debian-plain-wordmark:before{content:""}.devicon-debian-plain:before{content:""}.devicon-dot-net-plain-wordmark:before{content:""}.devicon-dot-net-plain:before{content:""}.devicon-drupal-plain-wordmark:before{content:""}.devicon-drupal-plain:before{content:""}.devicon-firefox-plain-wordmark:before{content:""}.devicon-firefox-plain:before{content:""}.devicon-foundation-plain-wordmark:before{content:""}.devicon-foundation-plain:before{content:""}.devicon-git-plain-wordmark:before{content:""}.devicon-git-plain:before{content:""}.devicon-grunt-line-wordmark:before{content:""}.devicon-grunt-line:before{content:""}.devicon-grunt-plain-wordmark:before{content:""}.devicon-grunt-plain:before{content:""}.devicon-gulp-plain:before{content:""}.devicon-html5-plain-wordmark:before{content:""}.devicon-html5-plain:before{content:""}.devicon-ie10-original:before,.devicon-ie10-plain:before{content:""}.devicon-illustrator-line:before{content:""}.devicon-illustrator-plain:before{content:""}.devicon-inkscape-plain-wordmark:before{content:""}.devicon-inkscape-plain:before{content:""}.devicon-java-plain-wordmark:before{content:""}.devicon-java-plain:before{content:""}.devicon-javascript-plain:before{content:""}.devicon-jquery-plain-wordmark:before{content:""}.devicon-jquery-plain:before{content:""}.devicon-krakenjs-plain-wordmark:before{content:""}.devicon-krakenjs-plain:before{content:""}.devicon-laravel-plain-wordmark:before{content:""}.devicon-laravel-plain:before{content:""}.devicon-less-plain-wordmark:before{content:""}.devicon-linux-plain:before{content:""}.devicon-mongodb-plain-wordmark:before{content:""}.devicon-mongodb-plain:before{content:""}.devicon-moodle-plain-wordmark:before{content:""}.devicon-moodle-plain:before{content:""}.devicon-mysql-plain-wordmark:before{content:""}.devicon-mysql-plain:before{content:""}.devicon-nodejs-plain-wordmark:before{content:""}.devicon-nodejs-plain:before{content:""}.devicon-oracle-original:before,.devicon-oracle-plain:before{content:""}.devicon-photoshop-line:before{content:""}.devicon-photoshop-plain:before{content:""}.devicon-php-plain:before{content:""}.devicon-postgresql-plain-wordmark:before{content:""}.devicon-postgresql-plain:before{content:""}.devicon-python-plain-wordmark:before{content:""}.devicon-python-plain:before{content:""}.devicon-rails-plain-wordmark:before{content:""}.devicon-rails-plain:before{content:""}.devicon-ruby-plain-wordmark:before{content:""}.devicon-ruby-plain:before{content:""}.devicon-sass-original:before,.devicon-sass-plain:before{content:""}.devicon-travis-plain-wordmark:before{content:""}.devicon-travis-plain:before{content:""}.devicon-trello-plain-wordmark:before{content:""}.devicon-trello-plain:before{content:""}.devicon-ubuntu-plain-wordmark:before{content:""}.devicon-ubuntu-plain:before{content:""}.devicon-vim-plain:before{content:""}.devicon-windows8-original-wordmark:before,.devicon-windows8-plain-wordmark:before{content:""}.devicon-windows8-original:before,.devicon-windows8-plain:before{content:""}.devicon-wordpress-plain-wordmark:before{content:""}.devicon-wordpress-plain:before{content:""}.devicon-yii-plain-wordmark:before{content:""}.devicon-yii-plain:before{content:""}.devicon-zend-plain-wordmark:before{content:""}.devicon-zend-plain:before{content:""}.devicon-aftereffects-plain.colored{color:#1f0740}.devicon-amazonwebservices-original.colored,.devicon-amazonwebservices-plain-wordmark.colored,.devicon-amazonwebservices-plain.colored{color:#f7a80d}.devicon-android-plain.colored,.devicon-android-plain-wordmark.colored{color:#a4c439}.devicon-aarch64-plain.colored{color:#16358c}.devicon-angularjs-plain.colored,.devicon-angularjs-plain-wordmark.colored{color:#c4473a}.devicon-apache-plain.colored,.devicon-apache-plain-wordmark.colored,.devicon-apache-line.colored,.devicon-apache-line-wordmark.colored{color:#303284}.devicon-appcelerator-original.colored,.devicon-appcelerator-plain-wordmark.colored,.devicon-appcelerator-plain.colored{color:#ac162c}.devicon-apple-original.colored,.devicon-apple-plain.colored{color:#000}.devicon-appwrite-plain.colored,.devicon-appwrite-plain-wordmark.colored,.devicon-appwrite-original.colored,.devicon-appwrite-original-wordmark.colored{color:#f02e65}.devicon-atom-original.colored,.devicon-atom-original-wordmark.colored,.devicon-atom-plain.colored,.devicon-atom-plain-wordmark.colored{color:#67595d}.devicon-babel-plain.colored,.devicon-babel-original.colored{color:#f9dc3e}.devicon-backbonejs-plain.colored,.devicon-backbonejs-plain-wordmark.colored{color:#002a41}.devicon-bash-plain.colored{color:#293138}.devicon-behance-plain.colored,.devicon-behance-plain-wordmark.colored{color:#0071e0}.devicon-bitbucket-original.colored,.devicon-bitbucket-original-wordmark.colored,.devicon-bitbucket-plain.colored,.devicon-bitbucket-plain-wordmark.colored{color:#205081}.devicon-bootstrap-plain.colored,.devicon-bootstrap-plain-wordmark.colored{color:#59407f}.devicon-bower-plain.colored,.devicon-bower-plain-wordmark.colored,.devicon-bower-line.colored,.devicon-bower-line-wordmark.colored{color:#ef5734}.devicon-c-plain.colored,.devicon-c-plain-wordmark.colored,.devicon-c-line.colored,.devicon-c-line-wordmark.colored,.devicon-c-plain-wordmark.colored,.devicon-c-line-wordmark.colored{color:#03599c}.devicon-cakephp-plain.colored,.devicon-cakephp-plain-wordmark.colored{color:#d43d44}.devicon-ceylon-plain.colored{color:#ab710a}.devicon-chrome-plain.colored,.devicon-chrome-plain-wordmark.colored{color:#ce4e4e}.devicon-clojure-line.colored,.devicon-clojure-plain.colored,.devicon-clojure-plain.colored{color:#5881d8}.devicon-clojurescript-plain.colored{color:#96ca4b}.devicon-codeigniter-plain.colored,.devicon-codeigniter-plain-wordmark.colored{color:#ee4323}.devicon-codepen-plain.colored,.devicon-codepen-plain-wordmark.colored,.devicon-codepen-original.colored{color:#231f20}.devicon-coffeescript-original.colored,.devicon-coffeescript-original-wordmark.colored,.devicon-coffeescript-plain.colored,.devicon-coffeescript-plain-wordmark.colored{color:#28334c}.devicon-composer-line.colored,.devicon-composer-line-wordmark.colored,.devicon-composer-plain.colored,.devicon-composer-plain-wordmark.colored{color:#000}.devicon-confluence-original.colored,.devicon-confluence-original-wordmark.colored,.devicon-confluence-plain.colored,.devicon-confluence-plain-wordmark.colored{color:#205081}.devicon-couchdb-plain.colored,.devicon-couchdb-plain-wordmark.colored{color:#e42528}.devicon-cplusplus-plain.colored,.devicon-cplusplus-plain-wordmark.colored,.devicon-cplusplus-line.colored,.devicon-cplusplus-line-wordmark.colored,.devicon-cplusplus-plain-wordmark.colored,.devicon-cplusplus-line-wordmark.colored{color:#9c033a}.devicon-csharp-plain.colored,.devicon-csharp-plain-wordmark.colored,.devicon-csharp-line.colored,.devicon-csharp-line-wordmark.colored,.devicon-csharp-plain-wordmark.colored,.devicon-csharp-line-wordmark.colored{color:#68217a}.devicon-css3-plain.colored,.devicon-css3-plain-wordmark.colored{color:#3d8fc6}.devicon-cucumber-plain.colored,.devicon-cucumber-plain-wordmark.colored{color:#00a818}.devicon-d3js-plain.colored{color:#f7974e}.devicon-debian-plain.colored,.devicon-debian-plain-wordmark.colored{color:#a80030}.devicon-devicon-plain.colored,.devicon-devicon-plain-wordmark.colored{color:#60be86}.devicon-django-plain.colored,.devicon-django-plain-wordmark.colored,.devicon-django-line.colored,.devicon-django-line-wordmark.colored,.devicon-django-plain-wordmark.colored,.devicon-django-line-wordmark.colored{color:#003a2b}.devicon-docker-plain.colored,.devicon-docker-plain-wordmark.colored{color:#019bc6}.devicon-doctrine-plain.colored,.devicon-doctrine-plain-wordmark.colored,.devicon-doctrine-line.colored,.devicon-doctrine-line-wordmark.colored{color:#f56d39}.devicon-dot-net-plain.colored,.devicon-dot-net-plain-wordmark.colored{color:#1384c8}.devicon-drupal-plain.colored,.devicon-drupal-plain-wordmark.colored{color:#0073ba}.devicon-electron-original.colored,.devicon-electron-original-wordmark.colored{color:#47848f}.devicon-eleventy-plain.colored{color:#1f1f1f}.devicon-elixir-plain.colored,.devicon-elixir-plain-wordmark.colored{color:#380a4d}.devicon-elm-plain.colored,.devicon-elm-plain-wordmark.colored{color:#34495e}.devicon-ember-original-wordmark.colored,.devicon-ember-plain-wordmark.colored{color:#dd3f24}.devicon-erlang-plain.colored,.devicon-erlang-plain-wordmark.colored{color:#a90533}.devicon-express-original.colored,.devicon-express-original-wordmark.colored{color:#444}.devicon-facebook-plain.colored,.devicon-facebook-original.colored{color:#3d5a98}.devicon-firebase-plain.colored,.devicon-firebase-plain-wordmark.colored{color:#f58220}.devicon-firefox-plain.colored,.devicon-firefox-plain-wordmark.colored{color:#dd732a}.devicon-flask-original.colored,.devicon-flask-original-wordmark.colored,.devicon-flask-plain.colored,.devicon-flask-plain-wordmark.colored{color:#010101}.devicon-flutter-plain.colored{color:#3fb6d3}.devicon-foundation-plain.colored,.devicon-foundation-plain-wordmark.colored{color:#008cba}.devicon-fsharp-plain.colored{color:#378bba}.devicon-gatling-plain.colored,.devicon-gatling-plain-wordmark.colored{color:#e77500}.devicon-gatsby-plain.colored,.devicon-gatsby-plain-wordmark.colored{color:#64328b}.devicon-gimp-plain.colored{color:#716955}.devicon-git-plain.colored,.devicon-git-plain-wordmark.colored{color:#f34f29}.devicon-github-original.colored,.devicon-github-original-wordmark.colored,.devicon-github-plain.colored{color:#181616}.devicon-gitlab-plain.colored,.devicon-gitlab-plain-wordmark.colored{color:#e24329}.devicon-go-plain.colored,.devicon-go-line.colored{color:#000}.devicon-google-plain.colored,.devicon-google-plain-wordmark.colored,.devicon-google-original.colored,.devicon-google-original-wordmark.colored{color:#587dbd}.devicon-googlecloud-plain.colored,.devicon-googlecloud-plain-wordmark.colored{color:#557ebf}.devicon-gradle-plain.colored,.devicon-gradle-plain-wordmark.colored{color:#02303a}.devicon-grails-plain.colored{color:#feb672}.devicon-groovy-plain.colored{color:#619cbc}.devicon-grunt-plain.colored,.devicon-grunt-plain-wordmark.colored,.devicon-grunt-line.colored,.devicon-grunt-line-wordmark.colored{color:#fcaa1a}.devicon-gulp-plain.colored{color:#eb4a4b}.devicon-haskell-plain.colored,.devicon-haskell-plain-wordmark.colored{color:#5e5185}.devicon-handlebars-plain.colored,.devicon-handlebars-plain-wordmark.colored{color:#000}.devicon-haxe-plain.colored{color:#ea8220}.devicon-heroku-original.colored,.devicon-heroku-original-wordmark.colored,.devicon-heroku-plain.colored,.devicon-heroku-plain-wordmark.colored,.devicon-heroku-line.colored,.devicon-heroku-line-wordmark.colored,.devicon-heroku-original.colored,.devicon-heroku-original-wordmark.colored{color:#6762a6}.devicon-html5-plain.colored,.devicon-html5-plain-wordmark.colored{color:#e54d26}.devicon-ie10-original.colored,.devicon-ie10-plain.colored{color:#1ebbee}.devicon-illustrator-plain.colored,.devicon-illustrator-line.colored{color:#faa625}.devicon-inkscape-plain.colored,.devicon-inkscape-plain-wordmark.colored{color:#000}.devicon-intellij-plain.colored,.devicon-intellij-plain-wordmark.colored{color:#136ba2}.devicon-ionic-original.colored,.devicon-ionic-original-wordmark.colored{color:#4e8ef7}.devicon-jasmine-plain.colored,.devicon-jasmine-plain-wordmark.colored{color:#8a4182}.devicon-java-plain.colored,.devicon-java-plain-wordmark.colored{color:#ea2d2e}.devicon-javascript-plain.colored{color:#f0db4f}.devicon-jeet-plain.colored,.devicon-jeet-plain-wordmark.colored{color:#ff664a}.devicon-jenkins-line.colored,.devicon-jenkins-plain.colored{color:#f0d6b7}.devicon-jetbrains-plain.colored,.devicon-jetbrains-plain-wordmark.colored,.devicon-jetbrains-line.colored,.devicon-jetbrains-line-wordmark.colored,.devicon-jetbrains-line.colored,.devicon-jetbrains-line-wordmark.colored,.devicon-jetbrains-plain-wordmark.colored{color:#f68b1f}.devicon-jquery-plain.colored,.devicon-jquery-plain-wordmark.colored{color:#0769ad}.devicon-jupyter-plain.colored,.devicon-jupyter-plain-wordmark.colored{color:#f37726}.devicon-kotlin-plain.colored,.devicon-kotlin-plain-wordmark.colored{color:#7c6db2}.devicon-krakenjs-plain.colored,.devicon-krakenjs-plain-wordmark.colored{color:#0081c2}.devicon-kubernetes-plain.colored,.devicon-kubernetes-plain-wordmark.colored{color:#486bb3}.devicon-laravel-plain.colored,.devicon-laravel-plain-wordmark.colored{color:#fd4f31}.devicon-less-plain-wordmark.colored{color:#2a4d80}.devicon-linkedin-plain.colored,.devicon-linkedin-plain-wordmark.colored{color:#0076b2}.devicon-linux-plain.colored{color:#000}.devicon-materialui-plain.colored{color:#1fa6ca}.devicon-meteor-plain.colored,.devicon-meteor-plain-wordmark.colored{color:#df5052}.devicon-mocha-plain.colored{color:#8d6748}.devicon-mongodb-plain.colored,.devicon-mongodb-plain-wordmark.colored{color:#4faa41}.devicon-moodle-plain.colored,.devicon-moodle-plain-wordmark.colored{color:#f7931e}.devicon-mysql-plain.colored,.devicon-mysql-plain-wordmark.colored{color:#00618a}.devicon-matlab-plain.colored{color:#6dd0c7}.devicon-nestjs-plain.colored,.devicon-nestjs-plain-wordmark.colored{color:#df234f}.devicon-nginx-original.colored,.devicon-nginx-original-wordmark.colored,.devicon-nginx-plain.colored,.devicon-nginx-plain-wordmark.colored,.devicon-nginx-original-wordmark.colored,.devicon-nginx-plain.colored,.devicon-nginx-plain-wordmark.colored{color:#090}.devicon-nodejs-plain.colored,.devicon-nodejs-plain-wordmark.colored{color:#83cd29}.devicon-nodewebkit-plain.colored,.devicon-nodewebkit-plain-wordmark.colored,.devicon-nodewebkit-line.colored,.devicon-nodewebkit-line-wordmark.colored{color:#3d3b47}.devicon-npm-original-wordmark.colored{color:#cb3837}.devicon-objectivec-plain.colored{color:#0b5a9d}.devicon-oracle-original.colored,.devicon-oracle-plain.colored{color:#ea1b22}.devicon-ocaml-plain.colored,.devicon-ocaml-plain-wordmark.colored{color:#f18803}.devicon-photoshop-plain.colored,.devicon-photoshop-line.colored{color:#80b5e2}.devicon-php-plain.colored{color:#6181b6}.devicon-phpstorm-plain.colored,.devicon-phpstorm-plain-wordmark.colored{color:#5058a6}.devicon-postgresql-plain.colored,.devicon-postgresql-plain-wordmark.colored{color:#336791}.devicon-premierepro-plain.colored{color:#2a0634}.devicon-protractor-plain.colored,.devicon-protractor-plain-wordmark.colored{color:#b7111d}.devicon-pycharm-plain.colored,.devicon-pycharm-plain-wordmark.colored{color:#4d8548}.devicon-python-plain.colored,.devicon-python-plain-wordmark.colored{color:#ffd845}.devicon-r-original.colored,.devicon-r-plain.colored{color:#2369bc}.devicon-rails-plain.colored,.devicon-rails-plain-wordmark.colored{color:#a62c46}.devicon-react-original.colored,.devicon-react-original-wordmark.colored,.devicon-react-plain.colored,.devicon-react-plain-wordmark.colored{color:#61dafb}.devicon-redhat-plain.colored,.devicon-redhat-plain-wordmark.colored{color:#e93442}.devicon-redis-plain.colored,.devicon-redis-plain-wordmark.colored{color:#d82c20}.devicon-redux-original.colored,.devicon-redux-plain.colored{color:#764abc}.devicon-rocksdb-plain.colored{color:#f5be17}.devicon-ruby-plain.colored,.devicon-ruby-plain-wordmark.colored{color:#d91404}.devicon-rubymine-plain.colored,.devicon-rubymine-plain-wordmark.colored{color:#c12c4c}.devicon-rust-plain.colored{color:#000}.devicon-safari-plain.colored,.devicon-safari-plain-wordmark.colored,.devicon-safari-line-wordmark.colored,.devicon-safari-line.colored{color:#1b88ca}.devicon-sass-original.colored,.devicon-sass-plain.colored{color:#c69}.devicon-scala-plain.colored,.devicon-scala-plain-wordmark.colored{color:#de3423}.devicon-sequelize-plain.colored,.devicon-sequelize-plain-wordmark.colored,.devicon-sequelize-plain.colored,.devicon-sequelize-plain-wordmark.colored{color:#3b4b72}.devicon-sketch-line.colored,.devicon-sketch-line-wordmark.colored{color:#fdad00}.devicon-slack-plain.colored,.devicon-slack-plain-wordmark.colored{color:#2d333a}.devicon-sourcetree-original.colored,.devicon-sourcetree-original-wordmark.colored,.devicon-sourcetree-plain.colored,.devicon-sourcetree-plain-wordmark.colored{color:#205081}.devicon-sqlalchemy-plain.colored,.devicon-sqlalchemy-original-wordmark.colored,.devicon-sqlalchemy-plain-wordmark.colored{color:#333}.devicon-microsoftsqlserver-plain.colored,.devicon-microsoftsqlserver-plain-wordmark.colored{color:#909daa}.devicon-ssh-original.colored,.devicon-ssh-original-wordmark.colored,.devicon-ssh-plain.colored,.devicon-ssh-plain-wordmark.colored{color:#231f20}.devicon-stylus-original.colored{color:#333}.devicon-swift-plain.colored,.devicon-swift-plain-wordmark.colored{color:#f05138}.devicon-symfony-original.colored,.devicon-symfony-original-wordmark.colored,.devicon-symfony-plain.colored,.devicon-symfony-plain-wordmark.colored{color:#1a171b}.devicon-tomcat-line.colored,.devicon-tomcat-line-wordmark.colored{color:#d1a41a}.devicon-travis-plain.colored,.devicon-travis-plain-wordmark.colored{color:#bb2031}.devicon-trello-plain.colored,.devicon-trello-plain-wordmark.colored{color:#23719f}.devicon-twitter-original.colored,.devicon-twitter-plain.colored{color:#1da1f2}.devicon-typescript-plain.colored,.devicon-typescript-original.colored{color:#007acc}.devicon-typo3-plain.colored,.devicon-typo3-plain-wordmark.colored{color:#f49700}.devicon-ubuntu-plain.colored,.devicon-ubuntu-plain-wordmark.colored{color:#dd4814}.devicon-uwsgi-plain.colored{color:#bad05e}.devicon-vagrant-plain.colored,.devicon-vagrant-plain-wordmark.colored{color:#127eff}.devicon-vim-plain.colored{color:#179a33}.devicon-visualstudio-plain.colored,.devicon-visualstudio-plain-wordmark.colored{color:#68217a}.devicon-vuejs-plain.colored,.devicon-vuejs-plain-wordmark.colored,.devicon-vuejs-line.colored,.devicon-vuejs-line-wordmark.colored{color:#41b883}.devicon-webpack-plain.colored,.devicon-webpack-plain-wordmark.colored{color:#1c78c0}.devicon-webstorm-plain.colored,.devicon-webstorm-plain-wordmark.colored{color:#2788b5}.devicon-windows8-original.colored,.devicon-windows8-original-wordmark.colored,.devicon-windows8-plain.colored,.devicon-windows8-plain-wordmark.colored{color:#00adef}.devicon-woocommerce-plain.colored,.devicon-woocommerce-plain-wordmark.colored{color:#7f54b3}.devicon-wordpress-plain.colored,.devicon-wordpress-plain-wordmark.colored{color:#494949}.devicon-xd-plain.colored,.devicon-xd-line.colored{color:#dd80bc}.devicon-yarn-plain.colored,.devicon-yarn-plain-wordmark.colored{color:#2c8ebb}.devicon-yii-plain.colored,.devicon-yii-plain-wordmark.colored{color:#0073bb}.devicon-yunohost-plain.colored{color:#fff}.devicon-zend-plain.colored,.devicon-zend-plain-wordmark.colored{color:#68b604} \ No newline at end of file +@font-face{font-family:"devicon";src:url("fonts/devicon.eot?jsodij");src:url("fonts/devicon.eot?jsodij#iefix") format("embedded-opentype"),url("fonts/devicon.ttf?jsodij") format("truetype"),url("fonts/devicon.woff?jsodij") format("woff"),url("fonts/devicon.svg?jsodij#devicon") format("svg");font-weight:normal;font-style:normal;font-display:block}[class^=devicon-],[class*=" devicon-"]{font-family:"devicon" !important;speak:never;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.devicon-weblate-plain-wordmark:before{content:""}.devicon-weblate-plain:before{content:""}.devicon-thealgorithms-plain-wordmark:before{content:""}.devicon-thealgorithms-plain:before{content:""}.devicon-spring-plain-wordmark:before{content:""}.devicon-spring-plain:before{content:""}.devicon-rails-plain-wordmark:before{content:""}.devicon-rails-plain:before{content:""}.devicon-phoenix-plain-wordmark:before{content:""}.devicon-phoenix-plain:before{content:""}.devicon-nextjs-original-wordmark:before,.devicon-nextjs-plain-wordmark:before{content:""}.devicon-nextjs-line:before{content:""}.devicon-nextjs-original:before,.devicon-nextjs-plain:before{content:""}.devicon-lua-plain-wordmark:before{content:""}.devicon-lua-plain:before{content:""}.devicon-graphql-plain-wordmark:before{content:""}.devicon-graphql-plain:before{content:""}.devicon-gitter-plain-wordmark:before{content:""}.devicon-gitter-plain:before{content:""}.devicon-figma-plain:before{content:""}.devicon-digitalocean-plain-wordmark:before{content:""}.devicon-digitalocean-plain:before{content:""}.devicon-dotnetcore-plain:before{content:""}.devicon-dart-plain-wordmark:before{content:""}.devicon-dart-plain:before{content:""}.devicon-r-plain:before{content:""}.devicon-r-original:before{content:""}.devicon-ocaml-plain-wordmark:before{content:""}.devicon-ocaml-plain:before{content:""}.devicon-matlab-plain:before{content:""}.devicon-jupyter-plain-wordmark:before{content:""}.devicon-jupyter-plain:before{content:""}.devicon-fsharp-plain:before{content:""}.devicon-elixir-plain-wordmark:before{content:""}.devicon-elixir-plain:before{content:""}.devicon-aarch64-plain:before{content:""}.devicon-xd-line:before{content:""}.devicon-xd-plain:before{content:""}.devicon-uwsgi-plain:before{content:""}.devicon-microsoftsqlserver-plain-wordmark:before{content:""}.devicon-microsoftsqlserver-plain:before{content:""}.devicon-sqlalchemy-original-wordmark:before,.devicon-sqlalchemy-plain-wordmark:before{content:""}.devicon-sqlalchemy-plain:before{content:""}.devicon-rocksdb-plain:before{content:""}.devicon-objectivec-plain:before{content:""}.devicon-kubernetes-plain-wordmark:before{content:""}.devicon-kubernetes-plain:before{content:""}.devicon-googlecloud-plain-wordmark:before{content:""}.devicon-googlecloud-plain:before{content:""}.devicon-flask-original-wordmark:before,.devicon-flask-plain-wordmark:before{content:""}.devicon-flask-original:before,.devicon-flask-plain:before{content:""}.devicon-firebase-plain-wordmark:before{content:""}.devicon-firebase-plain:before{content:""}.devicon-eleventy-plain:before{content:""}.devicon-appwrite-plain-wordmark:before,.devicon-appwrite-original-wordmark:before{content:""}.devicon-appwrite-plain:before,.devicon-appwrite-original:before{content:""}.devicon-bash-plain:before{content:""}.devicon-woocommerce-plain-wordmark:before{content:""}.devicon-woocommerce-plain:before{content:""}.devicon-typo3-plain-wordmark:before{content:""}.devicon-typo3-plain:before{content:""}.devicon-premierepro-plain:before{content:""}.devicon-nestjs-plain-wordmark:before{content:""}.devicon-nestjs-plain:before{content:""}.devicon-materialui-plain:before{content:""}.devicon-kotlin-plain-wordmark:before{content:""}.devicon-kotlin-plain:before{content:""}.devicon-jenkins-plain:before{content:""}.devicon-jenkins-line:before{content:""}.devicon-haxe-plain:before{content:""}.devicon-gatsby-plain-wordmark:before{content:""}.devicon-gatsby-plain:before{content:""}.devicon-flutter-plain:before{content:""}.devicon-composer-line-wordmark:before,.devicon-composer-plain-wordmark:before{content:""}.devicon-composer-line:before,.devicon-composer-plain:before{content:""}.devicon-aftereffects-plain:before{content:""}.devicon-yunohost-plain:before{content:""}.devicon-redux-original:before,.devicon-redux-plain:before{content:""}.devicon-clojurescript-plain:before{content:""}.devicon-clojure-line:before,.devicon-clojure-plain:before{content:""}.devicon-mocha-plain:before{content:""}.devicon-haskell-plain:before{content:""}.devicon-haskell-plain-wordmark:before{content:""}.devicon-codepen-original-wordmark:before{content:""}.devicon-codepen-plain:before,.devicon-codepen-original:before{content:""}.devicon-groovy-plain:before{content:""}.devicon-rust-plain:before{content:""}.devicon-scala-plain-wordmark:before{content:""}.devicon-scala-plain:before{content:""}.devicon-grails-plain:before{content:""}.devicon-sketch-line-wordmark:before{content:""}.devicon-sketch-line:before{content:""}.devicon-npm-original-wordmark:before{content:""}.devicon-ionic-original-wordmark:before{content:""}.devicon-ionic-original:before{content:""}.devicon-ember-original-wordmark:before,.devicon-ember-plain-wordmark:before{content:""}.devicon-electron-original-wordmark:before{content:""}.devicon-electron-original:before{content:""}.devicon-vagrant-plain-wordmark:before{content:""}.devicon-vagrant-plain:before{content:""}.devicon-yarn-plain-wordmark:before{content:""}.devicon-yarn-plain:before{content:""}.devicon-handlebars-plain-wordmark:before{content:""}.devicon-handlebars-plain:before{content:""}.devicon-couchdb-plain-wordmark:before{content:""}.devicon-couchdb-plain:before{content:""}.devicon-behance-plain-wordmark:before{content:""}.devicon-behance-plain:before{content:""}.devicon-linkedin-plain-wordmark:before{content:""}.devicon-linkedin-plain:before{content:""}.devicon-ceylon-plain:before{content:""}.devicon-elm-plain-wordmark:before{content:""}.devicon-elm-plain:before{content:""}.devicon-cakephp-plain-wordmark:before{content:""}.devicon-cakephp-plain:before{content:""}.devicon-stylus-original:before{content:""}.devicon-express-original-wordmark:before{content:""}.devicon-express-original:before{content:""}.devicon-devicon-plain-wordmark:before{content:""}.devicon-devicon-plain:before{content:""}.devicon-intellij-plain-wordmark:before{content:""}.devicon-intellij-plain:before{content:""}.devicon-pycharm-plain-wordmark:before{content:""}.devicon-pycharm-plain:before{content:""}.devicon-rubymine-plain-wordmark:before{content:""}.devicon-rubymine-plain:before{content:""}.devicon-webstorm-plain-wordmark:before{content:""}.devicon-webstorm-plain:before{content:""}.devicon-tomcat-line-wordmark:before{content:""}.devicon-tomcat-line:before{content:""}.devicon-vuejs-line-wordmark:before{content:""}.devicon-vuejs-line:before{content:""}.devicon-vuejs-plain-wordmark:before{content:""}.devicon-vuejs-plain:before{content:""}.devicon-swift-plain-wordmark:before{content:""}.devicon-swift-plain:before{content:""}.devicon-webpack-plain-wordmark:before{content:""}.devicon-webpack-plain:before{content:""}.devicon-visualstudio-plain-wordmark:before{content:""}.devicon-visualstudio-plain:before{content:""}.devicon-slack-plain-wordmark:before{content:""}.devicon-slack-plain:before{content:""}.devicon-sequelize-plain-wordmark:before{content:""}.devicon-sequelize-plain:before{content:""}.devicon-typescript-plain:before,.devicon-typescript-original:before{content:""}.devicon-babel-plain:before,.devicon-babel-original:before{content:""}.devicon-facebook-plain:before,.devicon-facebook-original:before{content:""}.devicon-google-plain-wordmark:before,.devicon-google-original-wordmark:before{content:""}.devicon-google-plain:before,.devicon-google-original:before{content:""}.devicon-twitter-original:before,.devicon-twitter-plain:before{content:""}.devicon-mocha:before{content:""}.devicon-jasmine-plain:before{content:""}.devicon-jasmine-wordmark:before{content:""}.devicon-gatling-plain:before{content:""}.devicon-gatling-plain-wordmark:before{content:""}.devicon-phpstorm-plain:before{content:""}.devicon-phpstorm-plain-wordmark:before{content:""}.devicon-sourcetree-original:before,.devicon-sourcetree-plain:before{content:""}.devicon-sourcetree-original-wordmark:before,.devicon-sourcetree-plain-wordmark:before{content:""}.devicon-ssh-original:before,.devicon-ssh-plain:before{content:""}.devicon-ssh-original-wordmark:before,.devicon-ssh-plain-wordmark:before{content:""}.devicon-jeet-plain:before{content:""}.devicon-jeet-plain-wordmark:before{content:""}.devicon-gitlab-plain:before{content:""}.devicon-gitlab-plain-wordmark:before{content:""}.devicon-github-original:before,.devicon-github-plain:before{content:""}.devicon-github-original-wordmark:before{content:""}.devicon-d3js-plain:before{content:""}.devicon-d3js-original:before{content:""}.devicon-confluence-original:before,.devicon-confluence-plain:before{content:""}.devicon-confluence-original-wordmark:before,.devicon-confluence-plain-wordmark:before{content:""}.devicon-bitbucket-original:before,.devicon-bitbucket-plain:before{content:""}.devicon-bitbucket-original-wordmark:before,.devicon-bitbucket-plain-wordmark:before{content:""}.devicon-gradle-plain:before{content:""}.devicon-gradle-plain-wordmark:before{content:""}.devicon-cucumber-plain:before{content:""}.devicon-cucumber-plain-wordmark:before{content:""}.devicon-protractor-plain:before{content:""}.devicon-protractor-plain-wordmark:before{content:""}.devicon-safari-line-wordmark:before{content:""}.devicon-safari-line:before{content:""}.devicon-safari-plain-wordmark:before{content:""}.devicon-safari-plain:before{content:""}.devicon-jetbrains-plain:before,.devicon-jetbrains-line:before,.devicon-jetbrains-line-wordmark:before,.devicon-jetbrains-plain-wordmark:before{content:""}.devicon-django-line:before,.devicon-django-line-wordmark:before{content:""}.devicon-django-plain:before,.devicon-django-plain-wordmark:before{content:""}.devicon-gimp-plain:before{content:""}.devicon-redhat-plain-wordmark:before{content:""}.devicon-redhat-plain:before{content:""}.devicon-cplusplus-line:before,.devicon-cplusplus-line-wordmark:before{content:""}.devicon-cplusplus-plain:before,.devicon-cplusplus-plain-wordmark:before{content:""}.devicon-csharp-line:before,.devicon-csharp-line-wordmark:before{content:""}.devicon-csharp-plain:before,.devicon-csharp-plain-wordmark:before{content:""}.devicon-c-line:before,.devicon-c-line-wordmark:before{content:""}.devicon-c-plain:before,.devicon-c-plain-wordmark:before{content:""}.devicon-nodewebkit-line-wordmark:before{content:""}.devicon-nodewebkit-line:before{content:""}.devicon-nodewebkit-plain-wordmark:before{content:""}.devicon-nodewebkit-plain:before{content:""}.devicon-nginx-original:before,.devicon-nginx-original-wordmark:before,.devicon-nginx-plain:before,.devicon-nginx-plain-wordmark:before{content:""}.devicon-erlang-plain-wordmark:before{content:""}.devicon-erlang-plain:before{content:""}.devicon-doctrine-line-wordmark:before{content:""}.devicon-doctrine-line:before{content:""}.devicon-doctrine-plain-wordmark:before{content:""}.devicon-doctrine-plain:before{content:""}.devicon-apache-line-wordmark:before{content:""}.devicon-apache-line:before{content:""}.devicon-apache-plain-wordmark:before{content:""}.devicon-apache-plain:before{content:""}.devicon-go-line:before{content:""}.devicon-redis-plain-wordmark:before{content:""}.devicon-redis-plain:before{content:""}.devicon-meteor-plain-wordmark:before{content:""}.devicon-meteor-plain:before{content:""}.devicon-heroku-line-wordmark:before,.devicon-heroku-original-wordmark:before{content:""}.devicon-heroku-line:before,.devicon-heroku-original:before{content:""}.devicon-heroku-plain-wordmark:before{content:""}.devicon-heroku-plain:before{content:""}.devicon-go-plain:before{content:""}.devicon-docker-plain-wordmark:before{content:""}.devicon-docker-plain:before{content:""}.devicon-symfony-original-wordmark:before,.devicon-symfony-plain-wordmark:before{content:""}.devicon-symfony-original:before,.devicon-symfony-plain:before{content:""}.devicon-react-original-wordmark:before,.devicon-react-plain-wordmark:before{content:""}.devicon-react-original:before,.devicon-react-plain:before{content:""}.devicon-amazonwebservices-original:before,.devicon-amazonwebservices-plain:before{content:""}.devicon-amazonwebservices-plain-wordmark:before{content:""}.devicon-android-plain-wordmark:before{content:""}.devicon-android-plain:before{content:""}.devicon-angularjs-plain-wordmark:before{content:""}.devicon-angularjs-plain:before{content:""}.devicon-appcelerator-original:before,.devicon-appcelerator-plain:before{content:""}.devicon-appcelerator-plain-wordmark:before{content:""}.devicon-apple-original:before,.devicon-apple-plain:before{content:""}.devicon-atom-original-wordmark:before,.devicon-atom-plain-wordmark:before{content:""}.devicon-atom-original:before,.devicon-atom-plain:before{content:""}.devicon-backbonejs-plain-wordmark:before{content:""}.devicon-backbonejs-plain:before{content:""}.devicon-bootstrap-plain-wordmark:before{content:""}.devicon-bootstrap-plain:before{content:""}.devicon-bower-line-wordmark:before{content:""}.devicon-bower-line:before{content:""}.devicon-bower-plain-wordmark:before{content:""}.devicon-bower-plain:before{content:""}.devicon-chrome-plain-wordmark:before{content:""}.devicon-chrome-plain:before{content:""}.devicon-codeigniter-plain-wordmark:before{content:""}.devicon-codeigniter-plain:before{content:""}.devicon-coffeescript-original-wordmark:before,.devicon-coffeescript-plain-wordmark:before{content:""}.devicon-coffeescript-original:before,.devicon-coffeescript-plain:before{content:""}.devicon-css3-plain-wordmark:before{content:""}.devicon-css3-plain:before{content:""}.devicon-debian-plain-wordmark:before{content:""}.devicon-debian-plain:before{content:""}.devicon-dot-net-plain-wordmark:before{content:""}.devicon-dot-net-plain:before{content:""}.devicon-drupal-plain-wordmark:before{content:""}.devicon-drupal-plain:before{content:""}.devicon-firefox-plain-wordmark:before{content:""}.devicon-firefox-plain:before{content:""}.devicon-foundation-plain-wordmark:before{content:""}.devicon-foundation-plain:before{content:""}.devicon-git-plain-wordmark:before{content:""}.devicon-git-plain:before{content:""}.devicon-grunt-line-wordmark:before{content:""}.devicon-grunt-line:before{content:""}.devicon-grunt-plain-wordmark:before{content:""}.devicon-grunt-plain:before{content:""}.devicon-gulp-plain:before{content:""}.devicon-html5-plain-wordmark:before{content:""}.devicon-html5-plain:before{content:""}.devicon-ie10-original:before,.devicon-ie10-plain:before{content:""}.devicon-illustrator-line:before{content:""}.devicon-illustrator-plain:before{content:""}.devicon-inkscape-plain-wordmark:before{content:""}.devicon-inkscape-plain:before{content:""}.devicon-java-plain-wordmark:before{content:""}.devicon-java-plain:before{content:""}.devicon-javascript-plain:before{content:""}.devicon-jquery-plain-wordmark:before{content:""}.devicon-jquery-plain:before{content:""}.devicon-krakenjs-plain-wordmark:before{content:""}.devicon-krakenjs-plain:before{content:""}.devicon-laravel-plain-wordmark:before{content:""}.devicon-laravel-plain:before{content:""}.devicon-less-plain-wordmark:before{content:""}.devicon-linux-plain:before{content:""}.devicon-mongodb-plain-wordmark:before{content:""}.devicon-mongodb-plain:before{content:""}.devicon-moodle-plain-wordmark:before{content:""}.devicon-moodle-plain:before{content:""}.devicon-mysql-plain-wordmark:before{content:""}.devicon-mysql-plain:before{content:""}.devicon-nodejs-plain-wordmark:before{content:""}.devicon-nodejs-plain:before{content:""}.devicon-oracle-original:before,.devicon-oracle-plain:before{content:""}.devicon-photoshop-line:before{content:""}.devicon-photoshop-plain:before{content:""}.devicon-php-plain:before{content:""}.devicon-postgresql-plain-wordmark:before{content:""}.devicon-postgresql-plain:before{content:""}.devicon-python-plain-wordmark:before{content:""}.devicon-python-plain:before{content:""}.devicon-ruby-plain-wordmark:before{content:""}.devicon-ruby-plain:before{content:""}.devicon-sass-original:before,.devicon-sass-plain:before{content:""}.devicon-travis-plain-wordmark:before{content:""}.devicon-travis-plain:before{content:""}.devicon-trello-plain-wordmark:before{content:""}.devicon-trello-plain:before{content:""}.devicon-ubuntu-plain-wordmark:before{content:""}.devicon-ubuntu-plain:before{content:""}.devicon-vim-plain:before{content:""}.devicon-windows8-original-wordmark:before,.devicon-windows8-plain-wordmark:before{content:""}.devicon-windows8-original:before,.devicon-windows8-plain:before{content:""}.devicon-wordpress-plain-wordmark:before{content:""}.devicon-wordpress-plain:before{content:""}.devicon-yii-plain-wordmark:before{content:""}.devicon-yii-plain:before{content:""}.devicon-zend-plain-wordmark:before{content:""}.devicon-zend-plain:before{content:""}.devicon-aftereffects-plain.colored{color:#1f0740}.devicon-amazonwebservices-original.colored,.devicon-amazonwebservices-plain-wordmark.colored,.devicon-amazonwebservices-plain.colored{color:#f7a80d}.devicon-android-plain.colored,.devicon-android-plain-wordmark.colored{color:#a4c439}.devicon-aarch64-plain.colored{color:#16358c}.devicon-angularjs-plain.colored,.devicon-angularjs-plain-wordmark.colored{color:#c4473a}.devicon-apache-plain.colored,.devicon-apache-plain-wordmark.colored,.devicon-apache-line.colored,.devicon-apache-line-wordmark.colored{color:#303284}.devicon-appcelerator-original.colored,.devicon-appcelerator-plain-wordmark.colored,.devicon-appcelerator-plain.colored{color:#ac162c}.devicon-apple-original.colored,.devicon-apple-plain.colored{color:#000}.devicon-appwrite-plain.colored,.devicon-appwrite-plain-wordmark.colored,.devicon-appwrite-original.colored,.devicon-appwrite-original-wordmark.colored{color:#f02e65}.devicon-atom-original.colored,.devicon-atom-original-wordmark.colored,.devicon-atom-plain.colored,.devicon-atom-plain-wordmark.colored{color:#67595d}.devicon-babel-plain.colored,.devicon-babel-original.colored{color:#f9dc3e}.devicon-backbonejs-plain.colored,.devicon-backbonejs-plain-wordmark.colored{color:#002a41}.devicon-bash-plain.colored{color:#293138}.devicon-behance-plain.colored,.devicon-behance-plain-wordmark.colored{color:#0071e0}.devicon-bitbucket-original.colored,.devicon-bitbucket-original-wordmark.colored,.devicon-bitbucket-plain.colored,.devicon-bitbucket-plain-wordmark.colored{color:#205081}.devicon-bootstrap-plain.colored,.devicon-bootstrap-plain-wordmark.colored{color:#59407f}.devicon-bower-plain.colored,.devicon-bower-plain-wordmark.colored,.devicon-bower-line.colored,.devicon-bower-line-wordmark.colored{color:#ef5734}.devicon-c-plain.colored,.devicon-c-plain-wordmark.colored,.devicon-c-line.colored,.devicon-c-line-wordmark.colored,.devicon-c-plain-wordmark.colored,.devicon-c-line-wordmark.colored{color:#03599c}.devicon-cakephp-plain.colored,.devicon-cakephp-plain-wordmark.colored{color:#d43d44}.devicon-ceylon-plain.colored{color:#ab710a}.devicon-chrome-plain.colored,.devicon-chrome-plain-wordmark.colored{color:#ce4e4e}.devicon-clojure-line.colored,.devicon-clojure-plain.colored,.devicon-clojure-plain.colored{color:#5881d8}.devicon-clojurescript-plain.colored{color:#96ca4b}.devicon-codeigniter-plain.colored,.devicon-codeigniter-plain-wordmark.colored{color:#ee4323}.devicon-codepen-plain.colored,.devicon-codepen-plain-wordmark.colored,.devicon-codepen-original.colored{color:#231f20}.devicon-coffeescript-original.colored,.devicon-coffeescript-original-wordmark.colored,.devicon-coffeescript-plain.colored,.devicon-coffeescript-plain-wordmark.colored{color:#28334c}.devicon-composer-line.colored,.devicon-composer-line-wordmark.colored,.devicon-composer-plain.colored,.devicon-composer-plain-wordmark.colored{color:#000}.devicon-confluence-original.colored,.devicon-confluence-original-wordmark.colored,.devicon-confluence-plain.colored,.devicon-confluence-plain-wordmark.colored{color:#205081}.devicon-couchdb-plain.colored,.devicon-couchdb-plain-wordmark.colored{color:#e42528}.devicon-cplusplus-plain.colored,.devicon-cplusplus-plain-wordmark.colored,.devicon-cplusplus-line.colored,.devicon-cplusplus-line-wordmark.colored,.devicon-cplusplus-plain-wordmark.colored,.devicon-cplusplus-line-wordmark.colored{color:#9c033a}.devicon-csharp-plain.colored,.devicon-csharp-plain-wordmark.colored,.devicon-csharp-line.colored,.devicon-csharp-line-wordmark.colored,.devicon-csharp-plain-wordmark.colored,.devicon-csharp-line-wordmark.colored{color:#68217a}.devicon-css3-plain.colored,.devicon-css3-plain-wordmark.colored{color:#3d8fc6}.devicon-cucumber-plain.colored,.devicon-cucumber-plain-wordmark.colored{color:#00a818}.devicon-d3js-plain.colored{color:#f7974e}.devicon-dart-plain.colored,.devicon-dart-plain-wordmark.colored{color:#00a8e1}.devicon-debian-plain.colored,.devicon-debian-plain-wordmark.colored{color:#a80030}.devicon-devicon-plain.colored,.devicon-devicon-plain-wordmark.colored{color:#60be86}.devicon-django-plain.colored,.devicon-django-plain-wordmark.colored,.devicon-django-line.colored,.devicon-django-line-wordmark.colored,.devicon-django-plain-wordmark.colored,.devicon-django-line-wordmark.colored{color:#003a2b}.devicon-docker-plain.colored,.devicon-docker-plain-wordmark.colored{color:#019bc6}.devicon-doctrine-plain.colored,.devicon-doctrine-plain-wordmark.colored,.devicon-doctrine-line.colored,.devicon-doctrine-line-wordmark.colored{color:#f56d39}.devicon-dot-net-plain.colored,.devicon-dot-net-plain-wordmark.colored{color:#1384c8}.devicon-dotnetcore-plain.colored{color:#623697}.devicon-drupal-plain.colored,.devicon-drupal-plain-wordmark.colored{color:#0073ba}.devicon-digitalocean-plain.colored,.devicon-digitalocean-plain-wordmark.colored{color:#0080ff}.devicon-electron-original.colored,.devicon-electron-original-wordmark.colored{color:#47848f}.devicon-eleventy-plain.colored{color:#1f1f1f}.devicon-elixir-plain.colored,.devicon-elixir-plain-wordmark.colored{color:#380a4d}.devicon-elm-plain.colored,.devicon-elm-plain-wordmark.colored{color:#34495e}.devicon-ember-original-wordmark.colored,.devicon-ember-plain-wordmark.colored{color:#dd3f24}.devicon-erlang-plain.colored,.devicon-erlang-plain-wordmark.colored{color:#a90533}.devicon-express-original.colored,.devicon-express-original-wordmark.colored{color:#444}.devicon-facebook-plain.colored,.devicon-facebook-original.colored{color:#3d5a98}.devicon-figma-plain.colored{color:#f24e1e}.devicon-firebase-plain.colored,.devicon-firebase-plain-wordmark.colored{color:#f58220}.devicon-firefox-plain.colored,.devicon-firefox-plain-wordmark.colored{color:#dd732a}.devicon-flask-original.colored,.devicon-flask-original-wordmark.colored,.devicon-flask-plain.colored,.devicon-flask-plain-wordmark.colored{color:#010101}.devicon-flutter-plain.colored{color:#3fb6d3}.devicon-foundation-plain.colored,.devicon-foundation-plain-wordmark.colored{color:#008cba}.devicon-fsharp-plain.colored{color:#378bba}.devicon-gatling-plain.colored,.devicon-gatling-plain-wordmark.colored{color:#e77500}.devicon-gatsby-plain.colored,.devicon-gatsby-plain-wordmark.colored{color:#64328b}.devicon-gimp-plain.colored{color:#716955}.devicon-git-plain.colored,.devicon-git-plain-wordmark.colored{color:#f34f29}.devicon-github-original.colored,.devicon-github-original-wordmark.colored,.devicon-github-plain.colored{color:#181616}.devicon-gitlab-plain.colored,.devicon-gitlab-plain-wordmark.colored{color:#e24329}.devicon-gitter-plain.colored,.devicon-gitter-plain-wordmark.colored{color:#000}.devicon-go-plain.colored,.devicon-go-line.colored{color:#000}.devicon-google-plain.colored,.devicon-google-plain-wordmark.colored,.devicon-google-original.colored,.devicon-google-original-wordmark.colored{color:#587dbd}.devicon-googlecloud-plain.colored,.devicon-googlecloud-plain-wordmark.colored{color:#557ebf}.devicon-gradle-plain.colored,.devicon-gradle-plain-wordmark.colored{color:#02303a}.devicon-grails-plain.colored{color:#feb672}.devicon-graphql-plain.colored,.devicon-graphql-plain-wordmark.colored{color:#e434aa}.devicon-groovy-plain.colored{color:#619cbc}.devicon-grunt-plain.colored,.devicon-grunt-plain-wordmark.colored,.devicon-grunt-line.colored,.devicon-grunt-line-wordmark.colored{color:#fcaa1a}.devicon-gulp-plain.colored{color:#eb4a4b}.devicon-haskell-plain.colored,.devicon-haskell-plain-wordmark.colored{color:#5e5185}.devicon-handlebars-plain.colored,.devicon-handlebars-plain-wordmark.colored{color:#000}.devicon-haxe-plain.colored{color:#ea8220}.devicon-heroku-original.colored,.devicon-heroku-original-wordmark.colored,.devicon-heroku-plain.colored,.devicon-heroku-plain-wordmark.colored,.devicon-heroku-line.colored,.devicon-heroku-line-wordmark.colored,.devicon-heroku-original.colored,.devicon-heroku-original-wordmark.colored{color:#6762a6}.devicon-html5-plain.colored,.devicon-html5-plain-wordmark.colored{color:#e54d26}.devicon-ie10-original.colored,.devicon-ie10-plain.colored{color:#1ebbee}.devicon-illustrator-plain.colored,.devicon-illustrator-line.colored{color:#faa625}.devicon-inkscape-plain.colored,.devicon-inkscape-plain-wordmark.colored{color:#000}.devicon-intellij-plain.colored,.devicon-intellij-plain-wordmark.colored{color:#136ba2}.devicon-ionic-original.colored,.devicon-ionic-original-wordmark.colored{color:#4e8ef7}.devicon-jasmine-plain.colored,.devicon-jasmine-plain-wordmark.colored{color:#8a4182}.devicon-java-plain.colored,.devicon-java-plain-wordmark.colored{color:#ea2d2e}.devicon-javascript-plain.colored{color:#f0db4f}.devicon-jeet-plain.colored,.devicon-jeet-plain-wordmark.colored{color:#ff664a}.devicon-jenkins-line.colored,.devicon-jenkins-plain.colored{color:#f0d6b7}.devicon-jetbrains-plain.colored,.devicon-jetbrains-plain-wordmark.colored,.devicon-jetbrains-line.colored,.devicon-jetbrains-line-wordmark.colored,.devicon-jetbrains-line.colored,.devicon-jetbrains-line-wordmark.colored,.devicon-jetbrains-plain-wordmark.colored{color:#f68b1f}.devicon-jquery-plain.colored,.devicon-jquery-plain-wordmark.colored{color:#0769ad}.devicon-jupyter-plain.colored,.devicon-jupyter-plain-wordmark.colored{color:#f37726}.devicon-kotlin-plain.colored,.devicon-kotlin-plain-wordmark.colored{color:#7c6db2}.devicon-krakenjs-plain.colored,.devicon-krakenjs-plain-wordmark.colored{color:#0081c2}.devicon-kubernetes-plain.colored,.devicon-kubernetes-plain-wordmark.colored{color:#486bb3}.devicon-laravel-plain.colored,.devicon-laravel-plain-wordmark.colored{color:#fd4f31}.devicon-less-plain-wordmark.colored{color:#2a4d80}.devicon-linkedin-plain.colored,.devicon-linkedin-plain-wordmark.colored{color:#0076b2}.devicon-lua-plain.colored,.devicon-lua-plain-wordmark.colored{color:navy}.devicon-linux-plain.colored{color:#000}.devicon-materialui-plain.colored{color:#1fa6ca}.devicon-meteor-plain.colored,.devicon-meteor-plain-wordmark.colored{color:#df5052}.devicon-mocha-plain.colored{color:#8d6748}.devicon-mongodb-plain.colored,.devicon-mongodb-plain-wordmark.colored{color:#4faa41}.devicon-moodle-plain.colored,.devicon-moodle-plain-wordmark.colored{color:#f7931e}.devicon-mysql-plain.colored,.devicon-mysql-plain-wordmark.colored{color:#00618a}.devicon-matlab-plain.colored{color:#6dd0c7}.devicon-nestjs-plain.colored,.devicon-nestjs-plain-wordmark.colored{color:#df234f}.devicon-nextjs-original.colored,.devicon-nextjs-plain.colored,.devicon-nextjs-line.colored,.devicon-nextjs-original-wordmark.colored,.devicon-nextjs-plain-wordmark.colored,.devicon-nextjs-plain.colored,.devicon-nextjs-plain-wordmark.colored{color:#000}.devicon-nginx-original.colored,.devicon-nginx-original-wordmark.colored,.devicon-nginx-plain.colored,.devicon-nginx-plain-wordmark.colored,.devicon-nginx-original-wordmark.colored,.devicon-nginx-plain.colored,.devicon-nginx-plain-wordmark.colored{color:#090}.devicon-nodejs-plain.colored,.devicon-nodejs-plain-wordmark.colored{color:#83cd29}.devicon-nodewebkit-plain.colored,.devicon-nodewebkit-plain-wordmark.colored,.devicon-nodewebkit-line.colored,.devicon-nodewebkit-line-wordmark.colored{color:#3d3b47}.devicon-npm-original-wordmark.colored{color:#cb3837}.devicon-objectivec-plain.colored{color:#0b5a9d}.devicon-oracle-original.colored,.devicon-oracle-plain.colored{color:#ea1b22}.devicon-ocaml-plain.colored,.devicon-ocaml-plain-wordmark.colored{color:#f18803}.devicon-photoshop-plain.colored,.devicon-photoshop-line.colored{color:#80b5e2}.devicon-php-plain.colored{color:#6181b6}.devicon-phpstorm-plain.colored,.devicon-phpstorm-plain-wordmark.colored{color:#5058a6}.devicon-postgresql-plain.colored,.devicon-postgresql-plain-wordmark.colored{color:#336791}.devicon-premierepro-plain.colored{color:#2a0634}.devicon-protractor-plain.colored,.devicon-protractor-plain-wordmark.colored{color:#b7111d}.devicon-pycharm-plain.colored,.devicon-pycharm-plain-wordmark.colored{color:#4d8548}.devicon-python-plain.colored,.devicon-python-plain-wordmark.colored{color:#ffd845}.devicon-phoenix-plain.colored,.devicon-phoenix-plain-wordmark.colored{color:#f15524}.devicon-r-original.colored,.devicon-r-plain.colored{color:#2369bc}.devicon-rails-plain.colored,.devicon-rails-plain-wordmark.colored{color:#c00}.devicon-react-original.colored,.devicon-react-original-wordmark.colored,.devicon-react-plain.colored,.devicon-react-plain-wordmark.colored{color:#61dafb}.devicon-redhat-plain.colored,.devicon-redhat-plain-wordmark.colored{color:#e93442}.devicon-redis-plain.colored,.devicon-redis-plain-wordmark.colored{color:#d82c20}.devicon-redux-original.colored,.devicon-redux-plain.colored{color:#764abc}.devicon-rocksdb-plain.colored{color:#f5be17}.devicon-ruby-plain.colored,.devicon-ruby-plain-wordmark.colored{color:#d91404}.devicon-rubymine-plain.colored,.devicon-rubymine-plain-wordmark.colored{color:#c12c4c}.devicon-rust-plain.colored{color:#000}.devicon-safari-plain.colored,.devicon-safari-plain-wordmark.colored,.devicon-safari-line-wordmark.colored,.devicon-safari-line.colored{color:#1b88ca}.devicon-sass-original.colored,.devicon-sass-plain.colored{color:#c69}.devicon-scala-plain.colored,.devicon-scala-plain-wordmark.colored{color:#de3423}.devicon-sequelize-plain.colored,.devicon-sequelize-plain-wordmark.colored,.devicon-sequelize-plain.colored,.devicon-sequelize-plain-wordmark.colored{color:#3b4b72}.devicon-sketch-line.colored,.devicon-sketch-line-wordmark.colored{color:#fdad00}.devicon-slack-plain.colored,.devicon-slack-plain-wordmark.colored{color:#2d333a}.devicon-sourcetree-original.colored,.devicon-sourcetree-original-wordmark.colored,.devicon-sourcetree-plain.colored,.devicon-sourcetree-plain-wordmark.colored{color:#205081}.devicon-sqlalchemy-plain.colored,.devicon-sqlalchemy-original-wordmark.colored,.devicon-sqlalchemy-plain-wordmark.colored{color:#333}.devicon-spring-plain.colored,.devicon-spring-plain-wordmark.colored{color:#5fb832}.devicon-microsoftsqlserver-plain.colored,.devicon-microsoftsqlserver-plain-wordmark.colored{color:#909daa}.devicon-ssh-original.colored,.devicon-ssh-original-wordmark.colored,.devicon-ssh-plain.colored,.devicon-ssh-plain-wordmark.colored{color:#231f20}.devicon-stylus-original.colored{color:#333}.devicon-swift-plain.colored,.devicon-swift-plain-wordmark.colored{color:#f05138}.devicon-symfony-original.colored,.devicon-symfony-original-wordmark.colored,.devicon-symfony-plain.colored,.devicon-symfony-plain-wordmark.colored{color:#1a171b}.devicon-tomcat-line.colored,.devicon-tomcat-line-wordmark.colored{color:#d1a41a}.devicon-travis-plain.colored,.devicon-travis-plain-wordmark.colored{color:#bb2031}.devicon-thealgorithms-plain.colored,.devicon-thealgorithms-plain-wordmark.colored{color:#00bcb4}.devicon-trello-plain.colored,.devicon-trello-plain-wordmark.colored{color:#23719f}.devicon-twitter-original.colored,.devicon-twitter-plain.colored{color:#1da1f2}.devicon-typescript-plain.colored,.devicon-typescript-original.colored{color:#007acc}.devicon-typo3-plain.colored,.devicon-typo3-plain-wordmark.colored{color:#f49700}.devicon-ubuntu-plain.colored,.devicon-ubuntu-plain-wordmark.colored{color:#dd4814}.devicon-uwsgi-plain.colored{color:#bad05e}.devicon-vagrant-plain.colored,.devicon-vagrant-plain-wordmark.colored{color:#127eff}.devicon-vim-plain.colored{color:#179a33}.devicon-visualstudio-plain.colored,.devicon-visualstudio-plain-wordmark.colored{color:#68217a}.devicon-vuejs-plain.colored,.devicon-vuejs-plain-wordmark.colored,.devicon-vuejs-line.colored,.devicon-vuejs-line-wordmark.colored{color:#41b883}.devicon-weblate-plain.colored,.devicon-weblate-plain-wordmark.colored{color:#2eccaa}.devicon-webpack-plain.colored,.devicon-webpack-plain-wordmark.colored{color:#1c78c0}.devicon-webstorm-plain.colored,.devicon-webstorm-plain-wordmark.colored{color:#2788b5}.devicon-windows8-original.colored,.devicon-windows8-original-wordmark.colored,.devicon-windows8-plain.colored,.devicon-windows8-plain-wordmark.colored{color:#00adef}.devicon-woocommerce-plain.colored,.devicon-woocommerce-plain-wordmark.colored{color:#7f54b3}.devicon-wordpress-plain.colored,.devicon-wordpress-plain-wordmark.colored{color:#494949}.devicon-xd-plain.colored,.devicon-xd-line.colored{color:#dd80bc}.devicon-yarn-plain.colored,.devicon-yarn-plain-wordmark.colored{color:#2c8ebb}.devicon-yii-plain.colored,.devicon-yii-plain-wordmark.colored{color:#0073bb}.devicon-yunohost-plain.colored{color:#fff}.devicon-zend-plain.colored,.devicon-zend-plain-wordmark.colored{color:#68b604} \ No newline at end of file diff --git a/docs/assets/css/discord-logo.svg b/docs/assets/css/discord-logo.svg new file mode 100644 index 000000000..08daae684 --- /dev/null +++ b/docs/assets/css/discord-logo.svg @@ -0,0 +1 @@ + diff --git a/docs/assets/css/style.css b/docs/assets/css/style.css index 1c1d2ae22..2c4bb129f 100644 --- a/docs/assets/css/style.css +++ b/docs/assets/css/style.css @@ -8,6 +8,14 @@ html { *, *::after, *::before { box-sizing: inherit; } +.discord-logo:before { + content: ""; + background-image: url("discord-logo.svg"); + height: 40px; + width: 40px; + display: inline-block; + background-size: cover; +} .icon-brush:before { content: "\e600"; } diff --git a/docs/index.html b/docs/index.html index 98aed9885..8c9dec6b0 100644 --- a/docs/index.html +++ b/docs/index.html @@ -88,17 +88,20 @@
- GO TO REPO + GO TO THE REPOSITORY
++ DISCORD SERVER +
Originally created by Konpa (under MIT License) and
diff --git a/fonts/devicon.eot b/fonts/devicon.eot
index 6230a2573..20fe1260f 100755
Binary files a/fonts/devicon.eot and b/fonts/devicon.eot differ
diff --git a/fonts/devicon.svg b/fonts/devicon.svg
index 28a9eddcf..e21246452 100755
--- a/fonts/devicon.svg
+++ b/fonts/devicon.svg
@@ -269,6 +269,31 @@