diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 000000000..5071a0527 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,14 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +insert_final_newline = true + +[**.json] +indent_style = space +indent_size = 4 +trim_trailing_whitespace = true + +[**.svg] +trim_trailing_whitespace = false diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 6d5ea7c74..d6063f3bd 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -1,37 +1,37 @@ -name: Bug Report -description: Report a bug/issue that you found in the SVGs, CSS files, etc. -title: '[BUG] ' -labels: [bug] -body: - - type: markdown - attributes: - value: "## Before you continue, please search our open/closed issues to see if a similar issue has been addressed." - - - type: checkboxes - attributes: - label: I have searched through the issues and didn't find my problem. - options: - - label: Confirm - required: true - - - type: textarea - id: description - attributes: - label: Bug description - description: Short description of the bug that you found. Provide images/code if applicable. - validations: - required: true - - - type: textarea - id: howtoreplicate - attributes: - label: Possible fixes or solutions - description: List any possible fixes/suggestions that you have in mind that could solve this issue. - validations: - required: true - - - type: textarea - id: extrainformation - attributes: - label: Additional information - description: Is there anything else we should know about this bug? +name: Bug Report +description: Report a bug/issue that you found in the SVGs, CSS files, or any other bug you encounter. +title: '[BUG]: bug name' +labels: [bug] +body: + - type: markdown + attributes: + value: "## Before you continue, please search our open/closed issues to see if a similar issue has been addressed." + + - type: checkboxes + attributes: + label: I have searched through the issues and didn't find my problem. + options: + - label: Confirm + required: true + + - type: textarea + id: description + attributes: + label: Bug description + description: Short description of the bug. Provide images/code if applicable. + validations: + required: true + + - type: textarea + id: howtoreplicate + attributes: + label: Possible fixes or solutions + description: List any possible fixes/suggestions that you have in mind that could solve this issue. + validations: + required: true + + - type: textarea + id: extrainformation + attributes: + label: Additional information + description: Is there anything else we should know about this bug? diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 6d4112f7a..469d0bedf 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -2,4 +2,4 @@ blank_issues_enabled: false contact_links: - name: Discord community url: https://discord.gg/hScy8KWACQ - about: Found any bug? Need help? Feel free to contact us via Discord. + about: Found a bug? Need help? Feel free to contact us via Discord. diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml index ce99b04e5..6f99fbb0a 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -1,35 +1,43 @@ -name: Feature Request -description: Requesting a new feature or changes to an existing feature -title: '[FEATURE REQUEST] ' -labels: [enhancement] -body: - - type: markdown - attributes: - value: "## Before you continue, please search our open/closed issues to see if a similar issue has been addressed." - - - type: checkboxes - attributes: - label: I have searched through the issues and didn't find my problem. - options: - - label: Confirm - required: true - - - type: textarea - id: currentproblem - attributes: - label: Problem - description: Tell us about the problem and its negative impacts. - validations: - required: true - - - type: textarea - id: possiblesolution - attributes: - label: Possible Solution - description: If you have an idea, please tell us what might solve the above problem and the benefits it provides. - - - type: textarea - id: extrainformation - attributes: - label: Additional information - description: Is there anything else we should know about this feature request? +name: Feature Request +description: Requesting a new feature or changes to an existing feature +title: '[FEATURE REQUEST]: feature name' +labels: [enhancement] +body: + - type: markdown + attributes: + value: "## Before you continue, please search our open/closed issues to see if a similar issue has been addressed." + + - type: checkboxes + attributes: + label: "I have searched through the issues and didn't find my problem." + options: + - label: Confirm + required: true + + - type: textarea + id: description + attributes: + label: Description + description: Write down a detailed description of the feature. + validations: + required: true + + - type: textarea + id: context + attributes: + label: Context + description: Why is this change important to you? How would you use it? How can it benefit other users? + validations: + required: true + + - type: textarea + id: possiblesolution + attributes: + label: Possible Solution + description: If you have an idea, please tell us what might solve the above problem and the benefits it provides. + + - type: textarea + id: extrainformation + attributes: + label: Additional information + description: Is there anything else we should know about this feature request? diff --git a/.github/ISSUE_TEMPLATE/icon_request.yml b/.github/ISSUE_TEMPLATE/icon_request.yml index 42b9370f1..a418c6f04 100644 --- a/.github/ISSUE_TEMPLATE/icon_request.yml +++ b/.github/ISSUE_TEMPLATE/icon_request.yml @@ -1,37 +1,60 @@ -name: Icon Request -description: Requesting a new icon or changes to an existing icon -title: '[ICON REQUEST]: ' -labels: ["request:icon"] -body: - - type: markdown - attributes: - value: "## Before you continue, please search our open/closed issues to see if a similar issue has been addressed." - - - type: checkboxes - attributes: - label: I have searched through the issues and didn't find my problem. - options: - - label: Confirm - required: true - - - type: input - id: about - attributes: - label: About the icon - description: Short description of why you think this icon belongs in our project. - validations: - required: true - - - type: textarea - id: links - attributes: - label: Links and sources - description: Provide links to the icon's official website/repository/anywhere that shows what the technology is about, and its official logo. If available, also provide some resources where the icon/SVG can be found (Font Awesome, Icomoon, etc.). - validations: - required: true - - - type: textarea - id: extrainformation - attributes: - label: Additional information - description: Is there anything else we should know about this icon? +name: Icon Request +description: Request a new icon, or changes to an existing icon +title: '[ICON REQUEST]: icon name' +labels: ["request:icon"] +body: + - type: markdown + attributes: + value: "## Before you continue, please search our open/closed issues to see if a similar issue has been addressed." + + - type: checkboxes + attributes: + label: I have searched through the issues and didn't find my problem. + options: + - label: Confirm + required: true + + - type: input + id: about + attributes: + label: About the icon + description: Short description of why you think this icon belongs in our project. + validations: + required: true + + - type: textarea + id: links + attributes: + label: Links and sources + description: Provide links to the icon's official website/repository/anywhere that shows what the technology is about, and its official logo. If available, also provide some resources where the icon/SVG can be found (Font Awesome, Icomoon, etc.). + validations: + required: true + + - type: textarea + id: icons + attributes: + label: Icon links and previews + description: | + Provide previews and links to official icons (preferably SVG's). + *If there are no offical icons, or if you feel unofficial ones should be used instead, please add them here.* + + Example: + ```md + #### jule-original + Git + https://github.com/julelang/resources/blob/main/jule.svg + ``` + value: | + #### iconname-version-name + + link_to_icon + validations: + required: true + + - type: textarea + id: extrainformation + attributes: + label: Additional information + description: | + Is there anything else we should know about this icon? + Recommended tags, altnames, and color to be added to [`devicon.json`](https://github.com/devicons/devicon/wiki/Updating-%60devicon.json%60) can also be added here diff --git a/.github/ISSUE_TEMPLATE/other.yml b/.github/ISSUE_TEMPLATE/other.yml index 2033b4e71..fece05def 100644 --- a/.github/ISSUE_TEMPLATE/other.yml +++ b/.github/ISSUE_TEMPLATE/other.yml @@ -1,29 +1,29 @@ -name: Other -description: Use this for any other issues. Do not create blank issues -title: "[OTHER] " -labels: ["awaiting triage"] -body: - - type: markdown - attributes: - value: "## Before you continue, please search our open/closed issues to see if a similar issue has been addressed." - - - type: checkboxes - attributes: - label: I have searched through the issues and didn't find my problem. - options: - - label: Confirm - required: true - - - type: textarea - id: issuedescription - attributes: - label: What would you like to share? - description: Provide a clear and concise explanation of your issue. - validations: - required: true - - - type: textarea - id: extrainfo - attributes: - label: Additional information - description: Is there anything else we should know about this issue? +name: Other +description: Use this for any other issues. Please do NOT create blank issues +title: "[OTHER]: description" +labels: ["awaiting triage"] +body: + - type: markdown + attributes: + value: "## Before you continue, please search our open/closed issues to see if a similar issue has been addressed." + + - type: checkboxes + attributes: + label: I have searched through the issues and didn't find my problem. + options: + - label: Confirm + required: true + + - type: textarea + id: issuedescription + attributes: + label: What would you like to share? + description: Provide a clear and concise explanation of your issue. + validations: + required: true + + - type: textarea + id: extrainfo + attributes: + label: Additional information + description: Is there anything else we should know about this issue? diff --git a/.github/PULL_REQUEST_TEMPLATE/new_feature.md b/.github/PULL_REQUEST_TEMPLATE/new_feature.md index 9df58fd52..f9275df63 100644 --- a/.github/PULL_REQUEST_TEMPLATE/new_feature.md +++ b/.github/PULL_REQUEST_TEMPLATE/new_feature.md @@ -4,10 +4,11 @@ - [ ] PR does not match another non-stale PR currently opened ## Features - + **This PR closes NONE** + ## Notes diff --git a/.github/PULL_REQUEST_TEMPLATE/new_icon.md b/.github/PULL_REQUEST_TEMPLATE/new_icon.md index 4d0fc6465..bcc4f6a72 100644 --- a/.github/PULL_REQUEST_TEMPLATE/new_icon.md +++ b/.github/PULL_REQUEST_TEMPLATE/new_icon.md @@ -2,11 +2,11 @@ - [ ] PR does not match another non-stale PR currently opened -- [ ] PR name matches the format *new icon: Icon name (versions separated by comma)*. More details [here](https://github.com/devicons/devicon/blob/develop/CONTRIBUTING.md#overview) +- [ ] PR name matches the format *new icon: Icon name (versions separated by comma)*. More details [here](https://github.com/devicons/devicon/wiki/Overview-on-Submitting-Icons) - [ ] PR's base is the `develop` branch. -- [ ] Your icons are inside a folder as seen [here](https://github.com/devicons/devicon/blob/develop/CONTRIBUTING.md#organizational-guidelines) -- [ ] SVG matches the standards laid out [here](https://github.com/devicons/devicon/blob/develop/CONTRIBUTING.md#svgStandards) -- [ ] A new object is added in the `devicon.json` file as seen [here](https://github.com/devicons/devicon/blob/develop/CONTRIBUTING.md#-updating-the-deviconjson-) +- [ ] Your icons are inside a folder as seen [here](https://github.com/devicons/devicon/wiki/Organizing-SVGs) +- [ ] SVG matches the standards laid out [here](https://github.com/devicons/devicon/wiki/SVG-Standards) +- [ ] A new object is added in the `devicon.json` file at the correct alphabetic position as seen [here](https://github.com/devicons/devicon/wiki/Updating-%60devicon.json%60) diff --git a/.github/drafts/optimize_svg.yml b/.github/drafts/optimize_svg.yml index ec35ed2d0..0c283531c 100644 --- a/.github/drafts/optimize_svg.yml +++ b/.github/drafts/optimize_svg.yml @@ -6,9 +6,9 @@ jobs: peek: name: Optimize the added/changed svgs if: github.event.label.name == 'bot:optimize' - runs-on: ubuntu-18.04 + runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: ref: ${{ github.head_ref }} diff --git a/.github/drafts/stale.yml b/.github/drafts/stale.yml index 859b053da..365ac82e6 100644 --- a/.github/drafts/stale.yml +++ b/.github/drafts/stale.yml @@ -5,18 +5,21 @@ on: jobs: stale: - runs-on: ubuntu-latest + runs-on: ubuntu-latestlatest 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. + stale-pr-message: "Hello there, + we have 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 can't, we might fork your changes and merge them ourselves. - Since GitHub tracks contributions by commits, you will still be credited. + Since GitHub tracks contributions by commits, you'll still be credited. + Let us know what you think about this. :slight_smile: - Let us know what you think 😃' + + Feel free to [join our Discord server](https://discord.gg/hScy8KWACQ) for support, hangouts, and more + Thank you and have a nice day!" stale-pr-label: 'stale' days-before-pr-stale: 30 days-before-pr-close: -1 diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 99a2cb900..13607fd4c 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,5 +1,11 @@ -### Adding a New Icon? -- Add `?quick_pull=1&template=new_icon.md` to the end of your current URL and press `Enter` + diff --git a/.github/scripts/build_assets/api_handler.py b/.github/scripts/build_assets/api_handler.py index 042edb5ee..b11c2dc67 100644 --- a/.github/scripts/build_assets/api_handler.py +++ b/.github/scripts/build_assets/api_handler.py @@ -180,3 +180,19 @@ def get_issues_by_labels(token: str, labels: List[str]): issues.extend(issues_only) return issues + + +def get_pr_by_number(token: str, pr_num: str): + url = base_url + "pulls/" + pr_num + headers = { + "Authorization": f"token {token}" + } + + print(f"Querying the GitHub API for requests") + response = requests.get(url, headers=headers) + if not response: + print(f"Can't query the GitHub API. Status code is {response.status_code}. Message is {response.text}") + sys.exit(1) + + pr = response.json() + return pr diff --git a/.github/scripts/build_assets/arg_getters.py b/.github/scripts/build_assets/arg_getters.py index d086bd331..8f82f0e6d 100644 --- a/.github/scripts/build_assets/arg_getters.py +++ b/.github/scripts/build_assets/arg_getters.py @@ -2,7 +2,7 @@ from build_assets.PathResolverAction import PathResolverAction -def get_selenium_runner_args(peek_mode=False): +def get_selenium_runner_args(has_token=True, peek_mode=False): """ Get the commandline arguments for the icomoon_peek.py and icomoon_build.py. @@ -36,7 +36,7 @@ def get_selenium_runner_args(peek_mode=False): if peek_mode: parser.add_argument("pr_title", help="The title of the PR that we are peeking at") - else: + if has_token != False: parser.add_argument("token", help="The GitHub token to access the GitHub REST API.") @@ -82,7 +82,7 @@ def get_in_develop_labeler_args(): help="The GitHub token to access the GitHub REST API.", type=str) - parser.add_argument("body", - help="The PR's initial comment by the author AKA the `body` attribute of the `pull_request` API object.", + parser.add_argument("pr_num", + help="The PR's number", type=str) return parser.parse_args() diff --git a/.github/scripts/build_assets/geckodriver-v0.30.0-win64/geckodriver.exe b/.github/scripts/build_assets/geckodriver-v0.30.0-win64/geckodriver.exe deleted file mode 100644 index c59764ab2..000000000 Binary files a/.github/scripts/build_assets/geckodriver-v0.30.0-win64/geckodriver.exe and /dev/null differ diff --git a/.github/scripts/build_assets/geckodriver-v0.32.2-linux64/geckodriver b/.github/scripts/build_assets/geckodriver-v0.32.2-linux64/geckodriver new file mode 100755 index 000000000..06296195e Binary files /dev/null and b/.github/scripts/build_assets/geckodriver-v0.32.2-linux64/geckodriver differ diff --git a/.github/scripts/build_assets/geckodriver-v0.30.0-win64/README.md b/.github/scripts/build_assets/geckodriver-v0.32.2-win64/README.md similarity index 100% rename from .github/scripts/build_assets/geckodriver-v0.30.0-win64/README.md rename to .github/scripts/build_assets/geckodriver-v0.32.2-win64/README.md diff --git a/.github/scripts/build_assets/geckodriver-v0.32.2-win64/geckodriver.exe b/.github/scripts/build_assets/geckodriver-v0.32.2-win64/geckodriver.exe new file mode 100644 index 000000000..27567ab15 Binary files /dev/null and b/.github/scripts/build_assets/geckodriver-v0.32.2-win64/geckodriver.exe differ diff --git a/.github/scripts/build_assets/util.py b/.github/scripts/build_assets/util.py index a9f5a1093..e98b2a900 100644 --- a/.github/scripts/build_assets/util.py +++ b/.github/scripts/build_assets/util.py @@ -1,4 +1,5 @@ import os +from pathlib import Path import re from typing import List import platform @@ -71,7 +72,23 @@ def find_object_added_in_pr(icons: List[dict], pr_title: str): raise Exception(message) +def is_svg_in_font_attribute(svg_file_path: Path, devicon_object: dict): + """ + Check if svg is in devicon.json's font attribute. + :param svg_file_path, the path to a single svg icon + :devicon_object, an object for a single icon inside devicon.json + :return true if the svg exists in the devicon_object's font attribute, false if it doesn't + """ + icon_version = Path(svg_file_path).stem.split('-', 1)[1] + font_object = devicon_object["versions"]["font"] + return icon_version in font_object + + valid_svg_filename_pattern = re.compile(r"-(original|plain|line)(-wordmark)?\.svg$") def is_svg_name_valid(filename: str): return valid_svg_filename_pattern.search(filename) is not None + +valid_svg_version_pattern = re.compile(r"^(original|plain|line)(-wordmark)?$") +def is_svg_version_valid(version): + return valid_svg_version_pattern.search(version) is not None diff --git a/.github/scripts/check_icon_pr.py b/.github/scripts/check_icon_pr.py index 90444068c..dc5eec771 100644 --- a/.github/scripts/check_icon_pr.py +++ b/.github/scripts/check_icon_pr.py @@ -18,10 +18,15 @@ def main(): try: all_icons = filehandler.get_json_file_content(args.devicon_json_path) + devicon_err_msg = [] + #First check if devicon.json is sorted + if sorted(all_icons, key=lambda d: d['name']) != all_icons: + devicon_err_msg.append(f"devicon.json is not sorted correctly.\nPlease make sure that your icon is added in the `devicon.json` file at the correct alphabetic position\nas seen here: https://github.com/devicons/devicon/wiki/Updating-%60devicon.json%60") + # get only the icon object that has the name matching the pr title filtered_icon = util.find_object_added_in_pr(all_icons, args.pr_title) print("Checking devicon.json object: " + str(filtered_icon)) - devicon_err_msg = check_devicon_object(filtered_icon) + devicon_err_msg.append(check_devicon_object(filtered_icon)) # check the file names filename_err_msg = "" @@ -37,11 +42,11 @@ def main(): print("No SVGs to check, ending script.") svg_err_msg = "Error checking SVGs: no SVGs to check. Might be caused by above issues." else: - svg_err_msg = check_svgs(svgs) + svg_err_msg = check_svgs(svgs, filtered_icon) err_msg = [] - if devicon_err_msg != "": - err_msg.append(devicon_err_msg) + if devicon_err_msg != []: + err_msg.extend(devicon_err_msg) if filename_err_msg != "": err_msg.append(filename_err_msg) @@ -62,6 +67,24 @@ def check_devicon_object(icon: dict): :return a string containing the error messages if any. """ err_msgs = [] + + try: + if type(icon["name"]) != str: + err_msgs.append("- Property \"name\" value must be type string.") + except KeyError: + err_msgs.append("- Missing property key: \"name\".") + + try: + for altname in icon["altnames"]: + if type(altname) != str: + raise TypeError() + if altname == icon["name"]: + err_msgs.append(f"- \"altnames\" should not contain the same name as \"name\" property. Please remove \"{altname}\" from \"altnames\"") + except TypeError: + err_msgs.append("- \"altnames\" must be an array of strings, not: " + str(icon["altnames"])) + except KeyError: + err_msgs.append("- Missing property key: \"altnames\".") + try: for tag in icon["tags"]: if type(tag) != str: @@ -82,7 +105,7 @@ def check_devicon_object(icon: dict): err_msgs.append("- must contain at least 1 svg version in a list.") for version in icon["versions"]["svg"]: - if not util.is_svg_name_valid(version): + if not util.is_svg_version_valid(version): err_msgs.append(f"- Invalid version name in versions['svg']: '{version}'. Must match regexp: (original|plain|line)(-wordmark)?") except KeyError: err_msgs.append("- missing key: 'svg' in 'versions'.") @@ -92,7 +115,7 @@ def check_devicon_object(icon: dict): err_msgs.append("- must contain at least 1 font version in a list.") for version in icon["versions"]["font"]: - if not util.is_svg_name_valid(version): + if not util.is_svg_version_valid(version): err_msgs.append(f"- Invalid version name in versions['font']: '{version}'. Must match regexp: (original|plain|line)(-wordmark)?") except KeyError: err_msgs.append("- missing key: 'font' in 'versions'.") @@ -105,17 +128,42 @@ def check_devicon_object(icon: dict): try: if type(icon["aliases"]) != list: - err_msgs.append("- 'aliases' must be an array.") + err_msgs.append("- \"aliases\" must be an array of objects.") except KeyError: err_msgs.append("- missing key: 'aliases'.") - + + try: + for alias_objects in icon["aliases"]: + if type(alias_objects) != dict: + raise TypeError() + except TypeError: + err_msgs.append("- \"aliases\" must be an array of objects, not: " + str(icon["aliases"])) + + try: + for alias_objects in icon["aliases"]: + if type(alias_objects["base"]) != str: + err_msgs.append("- must contain at least 1 base in aliases.") + if not util.is_svg_version_valid(alias_objects['base']): + err_msgs.append(f"- Invalid base name in aliases[\"base\"]: \"{alias_objects['base']}\". Must match regexp: (original|plain|line)(-wordmark)?") + except KeyError: + err_msgs.append("- missing key: \"base\" in \"aliases\".") + + try: + for alias_objects in icon["aliases"]: + if type(alias_objects["alias"]) != str: + err_msgs.append("- must contain at least 1 alias in aliases.") + if not util.is_svg_version_valid(alias_objects['alias']): + err_msgs.append(f"- Invalid alias name in aliases['alias']: \"{alias_objects['alias']}\". Must match regexp: (original|plain|line)(-wordmark)?") + except KeyError: + err_msgs.append("- missing key: \"alias\" in \"aliases\".") + if len(err_msgs) > 0: - message = "Error found in 'devicon.json' for '{}' entry: \n{}".format(icon["name"], "\n".join(err_msgs)) + message = "Error found in \"devicon.json\" for \"{}\" entry: \n{}".format(icon["name"], "\n".join(err_msgs)) return message return "" -def check_svgs(svg_file_paths: List[Path]): +def check_svgs(svg_file_paths: List[Path], devicon_object: dict): """ Check the width, height, viewBox and style of each svgs passed in. The viewBox must be '0 0 128 128'. @@ -147,10 +195,11 @@ def check_svgs(svg_file_paths: List[Path]): err_msg.append("- 'viewBox' is not '0 0 128 128' -> Set it or scale the file using https://www.iloveimg.com/resize-image/resize-svg.") # goes through all elems and check for strokes - for child in tree.iter(): - if child.get("stroke") != None: - err_msg.append("- SVG contains `stroke` property. This will get ignored by Icomoon. Please convert them to fills.") - break + if util.is_svg_in_font_attribute(svg_path, devicon_object): + for child in tree.iter(): + if child.get("stroke") != None: + err_msg.append("- SVG contains `stroke` property. This will get ignored by Icomoon. Please convert them to fills.") + break if len(err_msg) > 1: err_msgs.append("\n".join(err_msg)) diff --git a/.github/scripts/icomoon_build_githubless.py b/.github/scripts/icomoon_build_githubless.py new file mode 100644 index 000000000..92fb1aba9 --- /dev/null +++ b/.github/scripts/icomoon_build_githubless.py @@ -0,0 +1,145 @@ +from pathlib import Path +import sys +from selenium.common.exceptions import TimeoutException +import re +import subprocess +import json +from typing import List, Dict +from io import FileIO + +# pycharm complains that build_assets is an unresolved ref +# don't worry about it, the script still runs +from build_assets.selenium_runner.BuildSeleniumRunner import BuildSeleniumRunner +from build_assets import filehandler, arg_getters, util, api_handler + +def main(): + """ + Build the icons using Icomoon. Also optimize the svgs. + """ + runner = None + logfile = open("log.txt", "w") + try: + args = arg_getters.get_selenium_runner_args(has_token=False) + new_icons = get_icons_for_building(args.icomoon_json_path, args.devicon_json_path, logfile) + if len(new_icons) == 0: + sys.exit("No files need to be uploaded. Ending script...") + + print(f"There are {len(new_icons)} icons to be build. Here are they:", *new_icons, sep = "\n", file=logfile) + + print("Begin optimizing files...", file=logfile) + optimize_svgs(new_icons, args.icons_folder_path, logfile=logfile) + + print("Updating the icomoon json...", file=logfile) + update_icomoon_json(new_icons, args.icomoon_json_path, logfile) + + print("Start the building icons process...", file=logfile) + icon_svgs = filehandler.get_svgs_paths( + new_icons, args.icons_folder_path, icon_versions_only=True) + zip_name = "devicon-v1.0.zip" + zip_path = Path(args.download_path, zip_name) + screenshot_folder = filehandler.create_screenshot_folder("./") + + runner = BuildSeleniumRunner(args.download_path, + args.geckodriver_path, args.headless, log_output=logfile) + print("Building icons...", file=logfile) + runner.build_icons(args.icomoon_json_path, zip_path, + icon_svgs, screenshot_folder) + + print("Extracting files...", file=logfile) + filehandler.extract_files(str(zip_path), args.download_path, logfile) + print("Renaming extracted files...", file=logfile) + filehandler.rename_extracted_files(args.download_path, logfile) + + print("Task completed!", file=logfile) + except TimeoutException as e: + util.exit_with_err(Exception("Selenium Time Out Error: \n" + str(e)), logfile) + except Exception as e: + util.exit_with_err(e, logfile) + finally: + print("Exiting", file=logfile) + if runner is not None: + runner.close() + logfile.close() + + +def get_icons_for_building(icomoon_json_path: str, devicon_json_path: str, logfile: FileIO): + """ + Get the icons for building. + :param icomoon_json_path - the path to the `icomoon.json`. + :param devicon_json_path - the path to the `devicon.json`. + :param logfile. + :return a list of dict containing info on the icons. These are + from the `devicon.json`. + """ + + new_icons = [] + + # get any icons that might not have been found by the API + # sometimes happen due to the PR being opened before the latest build release + new_icons_from_devicon_json = filehandler.find_new_icons_in_devicon_json( + devicon_json_path, icomoon_json_path) + + for icon in new_icons_from_devicon_json: + if icon not in new_icons: + new_icons.append(icon) + + return new_icons + + +def optimize_svgs(new_icons: List[str], icons_folder_path: str, logfile: FileIO): + """ + Optimize the newly added svgs. This is done in batches + since the command line has a limit on characters allowed. + :param new_icons - the new icons that need to be optimized. + :param icons_folder_path - the path to the /icons folder. + :param logfile - the file obj to store logging info in. + """ + svgs = filehandler.get_svgs_paths(new_icons, icons_folder_path, icon_versions_only=False) + start = 0 + step = 10 + for i in range(start, len(svgs), step): + batch = svgs[i:i + step] + print(f"Optimizing these files\n{batch}", file=logfile) + subprocess.run(["npm", "run", "optimize-svg", "--", f"--svgFiles={json.dumps(batch)}"], shell=True) + + +def update_icomoon_json(new_icons: List[str], icomoon_json_path: str, logfile: FileIO): + """ + Update the `icomoon.json` if it contains any icons + that needed to be updated. This will remove the icons + from the `icomoon.json` so the build script will reupload + it later. + """ + icomoon_json = filehandler.get_json_file_content(icomoon_json_path) + cur_len = len(icomoon_json["icons"]) + messages = [] + + wrapper_function = lambda icomoon_icon : find_icomoon_icon_not_in_new_icons( + icomoon_icon, new_icons, messages) + icons_to_keep = filter(wrapper_function, icomoon_json["icons"]) + icomoon_json["icons"] = list(icons_to_keep) + + new_len = len(icomoon_json["icons"]) + print(f"Update completed. Removed {cur_len - new_len} icons:", *messages, sep='\n', file=logfile) + filehandler.write_to_file(icomoon_json_path, json.dumps(icomoon_json)) + + +def find_icomoon_icon_not_in_new_icons(icomoon_icon: Dict, new_icons: List, messages: List): + """ + Find all the icomoon icons that are not listed in the new icons. + This also add logging for which icons were removed. + :param icomoon_icon - a dict object from the icomoon.json's `icons` attribute. + :param new_icons - a list of new icons. Each element is an object from the `devicon.json`. + :param messages - an empty list where the function can attach logging on which + icon were removed. + """ + for new_icon in new_icons: + pattern = re.compile(f"^{new_icon['name']}-") + if pattern.search(icomoon_icon["properties"]["name"]): + message = f"-'{icomoon_icon['properties']['name']}' cause it matches '{new_icon['name']}'" + messages.append(message) + return False + return True + +if __name__ == "__main__": + main() diff --git a/.github/scripts/icomoon_peek.py b/.github/scripts/icomoon_peek.py index 80a6a6ca3..7d66d1117 100644 --- a/.github/scripts/icomoon_peek.py +++ b/.github/scripts/icomoon_peek.py @@ -5,7 +5,7 @@ def main(): runner = None try: - args = arg_getters.get_selenium_runner_args(peek_mode=True) + args = arg_getters.get_selenium_runner_args(has_token=False, peek_mode=True) all_icons = filehandler.get_json_file_content(args.devicon_json_path) # get only the icon object that has the name matching the pr title diff --git a/.github/scripts/in_develop_labeler.py b/.github/scripts/in_develop_labeler.py index c065b9667..3d329c994 100644 --- a/.github/scripts/in_develop_labeler.py +++ b/.github/scripts/in_develop_labeler.py @@ -4,8 +4,12 @@ def main(): args = arg_getters.get_in_develop_labeler_args() try: + #get pr body + pr_body = api_handler.get_pr_by_number(args.token, args.pr_num)["body"] + # find the issue closing line - issue_line = [line for line in args.body.split("\n") if line.startswith("**This PR closes")][0] + print(pr_body.split("\n")) + issue_line = [line for line in pr_body.split("\n") if line.startswith("**This PR closes")][0] print("Issue Line is " + issue_line) issue_pattern = re.compile(r"\d+") diff --git a/.github/scripts/svgo.config.js b/.github/scripts/svgo.config.js new file mode 100644 index 000000000..06ae8b74c --- /dev/null +++ b/.github/scripts/svgo.config.js @@ -0,0 +1,31 @@ +module.exports = { + plugins: [ + { + name: 'preset-default' + }, + { + name: 'removeDimensions', + params: { + overrides: { + removeDimensions: true, + } + } + }, + { + name: 'removeScriptElement', + params: { + overrides: { + removeScriptElement: true, + } + } + }, + { + name: "removeAttrs", + params: { + attrs: [ + 'path:fill:none' + ] + } + } + ] +}; diff --git a/.github/workflows/build_icons.yml b/.github/workflows/build_icons.yml index dbcf27f58..d9156e234 100644 --- a/.github/workflows/build_icons.yml +++ b/.github/workflows/build_icons.yml @@ -6,7 +6,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - - uses: actions/setup-python@v4 with: python-version: '3.10' diff --git a/.github/workflows/check_icon_pr.yml b/.github/workflows/check_icon_pr.yml index 6a57bab49..3054a6f84 100644 --- a/.github/workflows/check_icon_pr.yml +++ b/.github/workflows/check_icon_pr.yml @@ -3,22 +3,36 @@ on: pull_request jobs: check: name: Check the `devicon.json` and the SVGs' quality - runs-on: ubuntu-18.04 + runs-on: ubuntu-latest if: startsWith(github.event.pull_request.title, 'new icon') || startsWith(github.event.pull_request.title, 'update icon') # only checks icon PR steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 + + - name: Check if PR is develop + if: ${{ github.base_ref != 'develop' }} + run: | + echo -e "The PR's base branch is \`${{ github.base_ref }}\`, but should be \`develop\`\nPlease change the PR so that it's based on, and merged into \`develop\`" > ./err_messages.txt + echo "wrong_branch=true" >> $GITHUB_ENV - - uses: actions/setup-python@v2 + - uses: actions/setup-python@v4 + if: ${{ !env.wrong_branch }} with: python-version: 3.8 + - name: Install dependencies + if: ${{ !env.wrong_branch }} + run: | + python -m pip install --upgrade pip + pip install -r ./.github/scripts/requirements.txt + - name: Run the check_svg script + if: ${{ !env.wrong_branch }} env: PR_TITLE: ${{ github.event.pull_request.title }} run: python ./.github/scripts/check_icon_pr.py "$PR_TITLE" ./icons ./devicon.json - name: Upload the err messages - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 if: success() with: name: err_messages @@ -32,7 +46,7 @@ jobs: run: echo $PR_NUM > pr_num.txt - name: Upload the pr num - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 if: success() with: name: pr_num diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 44c8b7861..64ac90a5e 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -1,62 +1,85 @@ -name: "CodeQL" +name: "Code Scanning - Action" on: push: - branches: [master] + branches: [master, develop] pull_request: - # The branches below must be a subset of the branches above - branches: [master] + branches: [master, develop] schedule: - - cron: '0 23 * * 4' + - cron: 30 1 * * 0 # Runs every Sunday 1:30 am UTC jobs: - analyze: - name: Analyze + CodeQL-Javascript: runs-on: ubuntu-latest + permissions: + security-events: write + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Initialize CodeQL + uses: github/codeql-action/init@v2 + with: + languages: javascript - strategy: - fail-fast: false - matrix: - # Override automatic language detection by changing the below list - # Supported options are ['csharp', 'cpp', 'go', 'java', 'javascript', 'python'] - language: ['javascript'] - # Learn more... - # https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v2 + CodeQL-Python-dot-github: + runs-on: ubuntu-latest + permissions: + security-events: write steps: - - name: Checkout repository - uses: actions/checkout@v2 - with: - # We must fetch at least the immediate parents so that if this is - # a pull request then we can checkout the head. - fetch-depth: 2 - - # If this run was triggered by a pull request event, then checkout - # the head of the pull request instead of the merge commit. - - run: git checkout HEAD^2 - if: ${{ github.event_name == 'pull_request' }} - - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v1 - with: - languages: ${{ matrix.language }} - - # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). - # If this step fails, then you should remove it and run the build manually (see below) - - name: Autobuild - uses: github/codeql-action/autobuild@v1 - - # â„šī¸ Command-line programs to run using the OS shell. - # 📚 https://git.io/JvXDl - - # âœī¸ If the Autobuild fails above, remove it and uncomment the following three lines - # and modify them (or add more) to build your code if your project - # uses a compiled language - - #- run: | - # make bootstrap - # make release - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v1 + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Set up Python + uses: actions/setup-python@v4 + id: setup-python + with: + python-version: '3.10' + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + if [ -f ${{ github.workspace }}/.github/scripts/requirements.txt ]; + then pip install -r ${{ github.workspace }}/.github/scripts/requirements.txt; + fi + # Set the `CODEQL-PYTHON` environment variable to the Python executable + # that includes the dependencies + echo "CODEQL_PYTHON=${{ steps.setup-python.outputs.python-path }}" >> $GITHUB_ENV + + - name: Initialize CodeQL + uses: github/codeql-action/init@v2 + with: + languages: python + setup-python-dependencies: false + source-root: .github/ + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v2 + + CodeQL-Python-rest: + runs-on: ubuntu-latest + permissions: + security-events: write + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Find Python files outside the .github folder + id: find_files + run: | + python_files=$(find ${{ github.workspace }} -name "*.py" -type f -not -path '*/\.*' | wc -l) + echo "python_files=${python_files}" >> $GITHUB_OUTPUT + echo "$python_files Python files were found outside the .github folder." + + - name: Initialize CodeQL + if: ${{ steps.find_files.outputs.python_files != '0' }} + uses: github/codeql-action/init@v2 + with: + languages: python + + - name: Perform CodeQL Analysis + if: ${{ steps.find_files.outputs.python_files != '0' }} + uses: github/codeql-action/analyze@v2 diff --git a/.github/workflows/in_develop_labeler.yml b/.github/workflows/in_develop_labeler.yml index 61b7b4335..99727a816 100644 --- a/.github/workflows/in_develop_labeler.yml +++ b/.github/workflows/in_develop_labeler.yml @@ -1,17 +1,24 @@ name: Label Issue In Develop -on: - pull_request: - types: [closed] +on: + workflow_run: + workflows: ['On Develop PR Merge'] + types: + - completed jobs: - label: + on-failure: + runs-on: ubuntu-latest + if: ${{ github.event.workflow_run.conclusion == 'failure' }} + steps: + - run: echo "First workflow was a failure" + label_preflight: name: Label Issue In Develop - runs-on: ubuntu-18.04 - if: github.event.pull_request.merged == true + runs-on: ubuntu-latest + if: ${{ github.event.workflow_run.conclusion == 'success' }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Setup Python v3.8 - uses: actions/setup-python@v2 + uses: actions/setup-python@v4 with: python-version: 3.8 @@ -19,9 +26,22 @@ jobs: run: | python -m pip install --upgrade pip pip install -r ./.github/scripts/requirements.txt + + - name: Download workflow artifact + uses: dawidd6/action-download-artifact@v2.11.0 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + workflow: peek_icons.yml + run_id: ${{ github.event.workflow_run.id }} + + - name: Read the pr_num file + id: pr_num_reader + uses: juliangruber/read-file-action@v1.0.0 + with: + path: ./pr_num/pr_num.txt - name: Run in_develop_labeler.py env: TOKEN: ${{ secrets.GITHUB_TOKEN }} - BODY: ${{ github.event.pull_request.body }} - run: python ./.github/scripts/in_develop_labeler.py $TOKEN "$BODY" + PR_NUM: ${{ steps.pr_num_reader.outputs.content }} + run: python ./.github/scripts/in_develop_labeler.py $TOKEN "$PR_NUM" diff --git a/.github/workflows/in_develop_labeler_preflight.yml b/.github/workflows/in_develop_labeler_preflight.yml new file mode 100644 index 000000000..ef3e98044 --- /dev/null +++ b/.github/workflows/in_develop_labeler_preflight.yml @@ -0,0 +1,24 @@ +name: On Develop PR Merge +on: + pull_request: + types: [closed] + branches: [develop] +jobs: + save_pr_num_in_artifact: + name: Preflight Label Issue In Develop + runs-on: ubuntu-latest + if: github.event.pull_request.merged == true + steps: + - uses: actions/checkout@v3 + + - 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.2.4 + with: + name: pr_num + path: ./pr_num.txt diff --git a/.github/workflows/npm_publish.yml b/.github/workflows/npm_publish.yml index 65995014c..6a1396be5 100644 --- a/.github/workflows/npm_publish.yml +++ b/.github/workflows/npm_publish.yml @@ -7,13 +7,13 @@ jobs: environment: release runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: # "ref" specifies the branch to check out. # "github.event.release.target_commitish" is a global variable and specifies the branch the release targeted ref: ${{ github.event.release.target_commitish }} - name: Use Node.js v16 - uses: actions/setup-node@v2 + uses: actions/setup-node@v3 with: node-version: 16 registry-url: https://registry.npmjs.org/ # Specifies the registry, this field is required! diff --git a/.github/workflows/peek_icons.yml b/.github/workflows/peek_icons.yml index 65d42fc13..66f3cee35 100644 --- a/.github/workflows/peek_icons.yml +++ b/.github/workflows/peek_icons.yml @@ -9,12 +9,12 @@ jobs: # fail due to system, skipped name: Peek Icons if: github.event.label.name == 'bot:peek' - runs-on: windows-2019 + runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Setup Python v3.8 - uses: actions/setup-python@v2 + uses: actions/setup-python@v4 with: python-version: 3.8 @@ -38,11 +38,11 @@ jobs: - name: Run icomoon_peek.py env: PR_TITLE: ${{ github.event.pull_request.title }} - shell: cmd + shell: bash run: > python ./.github/scripts/icomoon_peek.py - ./.github/scripts/build_assets/geckodriver-v0.30.0-win64/geckodriver.exe ./icomoon.json - ./devicon.json ./icons ./ --headless "%PR_TITLE%" + ./.github/scripts/build_assets/geckodriver-v0.32.2-linux64/geckodriver ./icomoon.json + ./devicon.json ./icons ./ --headless "$PR_TITLE" - name: Upload the err messages (created by icomoon_peek.py) uses: actions/upload-artifact@v2.2.4 diff --git a/.github/workflows/post_check_icon_pr_comment.yml b/.github/workflows/post_check_icon_pr_comment.yml index 716ca752b..cd0d89c86 100644 --- a/.github/workflows/post_check_icon_pr_comment.yml +++ b/.github/workflows/post_check_icon_pr_comment.yml @@ -7,14 +7,14 @@ on: jobs: post_result_of_svg_check: name: Post the result of the Check SVG Action - runs-on: ubuntu-18.04 + runs-on: ubuntu-latest steps: - name: Check if the trigger run worked. If it failed, fail the current run. if: github.event.workflow_run.conclusion != 'success' uses: cutenode/action-always-fail@v1.0.1 - name: Download workflow artifact - uses: dawidd6/action-download-artifact@v2.11.0 + uses: dawidd6/action-download-artifact@v2.27.0 if: success() with: github_token: ${{ secrets.GITHUB_TOKEN }} @@ -24,19 +24,19 @@ jobs: - name: Read the pr_num file if: success() id: pr_num_reader - uses: juliangruber/read-file-action@v1.0.0 + uses: juliangruber/read-file-action@v1.1.6 with: path: ./pr_num/pr_num.txt - name: Read the err message file if: success() id: err_message_reader - uses: juliangruber/read-file-action@v1.0.0 + uses: juliangruber/read-file-action@v1.1.6 with: path: ./err_messages/err_messages.txt - name: Comment on the PR about the result - SVG Error - uses: jungwinter/comment@v1 # let us comment on a specific PR + uses: jungwinter/comment@v1.1.0 # let us comment on a specific PR if: success() && (steps.err_message_reader.outputs.content != '') env: MESSAGE: | @@ -48,7 +48,7 @@ jobs: {0} ``` - Check our [CONTRIBUTING guide](https://github.com/devicons/devicon/blob/develop/CONTRIBUTING.md#svgStandards) for more details regarding these errors. + Check our [CONTRIBUTING guide](https://github.com/devicons/devicon/wiki/SVG-Standards) for more details regarding these errors. Please address these issues. When you update this PR, I will check your SVGs again. @@ -61,7 +61,7 @@ jobs: body: ${{ format(env.MESSAGE, steps.err_message_reader.outputs.content) }} - name: Comment on the PR about the result - Failure - uses: jungwinter/comment@v1 # let us comment on a specific PR + uses: jungwinter/comment@v1.1.0 # let us comment on a specific PR if: failure() env: MESSAGE: | diff --git a/.github/workflows/post_peek_screenshot.yml b/.github/workflows/post_peek_screenshot.yml index ec010e72f..19d0761e2 100644 --- a/.github/workflows/post_peek_screenshot.yml +++ b/.github/workflows/post_peek_screenshot.yml @@ -7,7 +7,7 @@ on: jobs: post_screenshots_in_comment: name: Post the screenshot - runs-on: ubuntu-18.04 + runs-on: ubuntu-latest if: github.event.action == 'completed' && github.event.workflow_run.conclusion != 'skipped' env: # three possible values: 'skipped', 'success', 'failure' @@ -20,7 +20,7 @@ jobs: run: echo $PEEK_STATUS - name: Download workflow artifact - uses: dawidd6/action-download-artifact@v2.11.0 + uses: dawidd6/action-download-artifact@v2.27.0 with: github_token: ${{ secrets.GITHUB_TOKEN }} workflow: peek_icons.yml @@ -28,14 +28,14 @@ jobs: - name: Read the pr_num file id: pr_num_reader - uses: juliangruber/read-file-action@v1.0.0 + uses: juliangruber/read-file-action@v1.1.6 with: path: ./pr_num/pr_num.txt - name: Read the err message file if: success() id: err_message_reader - uses: juliangruber/read-file-action@v1.0.0 + uses: juliangruber/read-file-action@v1.1.6 with: path: ./err_messages/err_messages.txt @@ -81,7 +81,7 @@ jobs: 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 + uses: jungwinter/comment@v1.1.0 # let us comment on a specific PR if: env.PEEK_STATUS == 'success' && success() env: MESSAGE: | @@ -109,6 +109,7 @@ jobs: 1. The number of Glyphs matches the number of SVGs that were selected. 2. The icons (second group of pictures) look the same as the SVGs (first group of pictures). 3. The icons are of high quality (legible, matches the official logo, etc.) + 4. A new object is added in the `devicon.json` file at the correct alphabetic position as seen [here](https://github.com/devicons/devicon/wiki/Updating-%60devicon.json%60) In case of font issues, it might be caused by Icomoon not accepting strokes in the SVGs. Check this [doc](https://icomoon.io/#faq/importing) for more details and fix the issues as instructed by Icomoon and update this PR once you are done. @@ -137,7 +138,7 @@ jobs: - name: Comment on the PR about the result - Failure if: env.PEEK_STATUS == 'failure' - uses: jungwinter/comment@v1 # let us comment on a specific PR + uses: jungwinter/comment@v1.1.0 # let us comment on a specific PR env: MESSAGE: | Hi there, @@ -150,9 +151,9 @@ jobs: Make sure that: - - Your svgs are named and added correctly to the /icons folder as seen [here](https://github.com/devicons/devicon/blob/master/CONTRIBUTING.md#orgGuidelines). - - 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) + - Your SVGs are named and added correctly to the /icons folder as seen [here](https://github.com/devicons/devicon/wiki/Organizing-SVGs). + - Your icon information has been added to the `devicon.json` as seen [here](https://github.com/devicons/devicon/wiki/Updating-%60devicon.json%60) + - Your PR title follows the format seen [here](https://github.com/devicons/devicon/wiki/Overview-on-Submitting-Icons) I will retry once everything is fixed. If I still fail or there are other error, the maintainers will investigate. @@ -165,7 +166,7 @@ jobs: body: ${{ format(env.MESSAGE, steps.err_message_reader.outputs.content) }} - name: Comment on the PR about the result - Failure if: failure() - uses: jungwinter/comment@v1 # let us comment on a specific PR + uses: jungwinter/comment@v1.1.0 # let us comment on a specific PR env: MESSAGE: | Hi there, diff --git a/.gitpod.dockerfile b/.gitpod.dockerfile new file mode 100644 index 000000000..7e356ce00 --- /dev/null +++ b/.gitpod.dockerfile @@ -0,0 +1,8 @@ +FROM gitpod/workspace-full-vnc + +RUN sudo apt-get update \ + && sudo apt-get install -y \ + firefox \ + gulp \ + && python -m pip install --upgrade pip \ + && pip install selenium==4.1.0 requests==2.25.1 diff --git a/.gitpod.yml b/.gitpod.yml new file mode 100644 index 000000000..128ba42f8 --- /dev/null +++ b/.gitpod.yml @@ -0,0 +1,22 @@ +image: + file: .gitpod.dockerfile + +tasks: + - name: Setup & build + init: chmod +x ./.github/scripts/build_assets/geckodriver-v0.32.2-linux64/geckodriver + command: npm install && npm run build-icons + - name: Build CSS & run web server + init: npm run build-css && npm run dev + +github: + prebuilds: + addBadge: true + addComment: false + addCheck: true + master: true + branches: true + pullRequestsFromForks: true + +ports: + - port: 8000 + onOpen: open-preview diff --git a/.vscode/devicon-schema.json b/.vscode/devicon-schema.json new file mode 100644 index 000000000..cdabb5c95 --- /dev/null +++ b/.vscode/devicon-schema.json @@ -0,0 +1,223 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema", + "definitions": { + "IconVersions": { + "type": "string", + "enum": [ + "original", + "plain", + "line", + "original-wordmark", + "plain-wordmark", + "line-wordmark" + ] + }, + "IconVersionsArray": { + "type": "array", + "items": { + "$ref": "#/definitions/IconVersions" + } + } + }, + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "properties": { + "name": { + "type": "string", + "title": "The official name of the technology.", + "description": "Pattern: Only lower-case letters and digits.", + "pattern": "^(dot-net|[0-9a-z]+)$" + }, + "altnames": { + "type": "array", + "title": "List of alternative names for this technology.", + "description": "Used for the searchbar on the Devicon website. https://devicon.dev", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "tags": { + "type": "array", + "title": "List of tags relating to the technology for categorization/search purpose.", + "$ref": "./tags-enum.json/#/definitions/Tags" + }, + "versions": { + "title": "Keeps track of the different versions that you have.", + "type": "object", + "additionalProperties": false, + "properties": { + "svg": { + "title": "List all the SVGs that you have.", + "contains": { + "$ref": "#/definitions/IconVersions" + }, + "minItems": 1, + "uniqueItems": true, + "$ref": "#/definitions/IconVersionsArray" + }, + "font": { + "title": "List only the SVGs that can be converted to fonts. Usually refers to \"plain\" and \"line\" versions but \"original\" can be accepted.", + "description": "DO NOT list aliases here! In this case use \"aliases\" property!", + "contains": { + "$ref": "#/definitions/IconVersions" + }, + "minItems": 1, + "uniqueItems": true, + "$ref": "#/definitions/IconVersionsArray" + } + } + }, + "color": { + "title": "The official/main hexadecimal color of the logo. [Case insensitive]", + "description": "Pattern example: #FFFFFF", + "type": "string", + "pattern": "^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$" + }, + "aliases": { + "title": "Keeps track of the aliases for the font versions ONLY.", + "description": "Can be empty, or contain objects, each with an alias and a base version. More info here: https://github.com/devicons/devicon/wiki/Updating-%60devicon.json%60#aliases-and-aliasobj", + "type": "array", + "items": { + "title": "AliasObj, an object containing an alias and a base version", + "type": "object", + "additionalProperties": false, + "properties": { + "base": { + "title": "The SVG file you are using as source for the alias.", + "$ref": "#/definitions/IconVersions" + }, + "alias": { + "title": "The new name (alias) that you want to generate.", + "$ref": "#/definitions/IconVersions" + } + }, + "required": [ + "base", + "alias" + ], + "allOf": [ + { + "if": { + "properties": { + "base": { + "const": "original" + } + } + }, + "then": { + "not": { + "properties": { + "alias": { + "const": "original" + } + } + } + } + }, + { + "if": { + "properties": { + "base": { + "const": "plain" + } + } + }, + "then": { + "not": { + "properties": { + "alias": { + "const": "plain" + } + } + } + } + }, + { + "if": { + "properties": { + "base": { + "const": "line" + } + } + }, + "then": { + "not": { + "properties": { + "alias": { + "const": "line" + } + } + } + } + }, + { + "if": { + "properties": { + "base": { + "const": "original-wordmark" + } + } + }, + "then": { + "not": { + "properties": { + "alias": { + "const": "original-wordmark" + } + } + } + } + }, + { + "if": { + "properties": { + "base": { + "const": "plain-wordmark" + } + } + }, + "then": { + "not": { + "properties": { + "alias": { + "const": "plain-wordmark" + } + } + } + } + }, + { + "if": { + "properties": { + "base": { + "const": "line-wordmark" + } + } + }, + "then": { + "not": { + "properties": { + "alias": { + "const": "line-wordmark" + } + } + } + } + } + ] + } + } + }, + "required": [ + "name", + "altnames", + "tags", + "versions", + "color", + "aliases" + ] + } +} diff --git a/.vscode/devicon.code-snippets b/.vscode/devicon.code-snippets new file mode 100644 index 000000000..2da130475 --- /dev/null +++ b/.vscode/devicon.code-snippets @@ -0,0 +1,24 @@ +{ + "new entry": { + "scope": "json", + "prefix": "new", + "description": "Inserts the new entry template object. Use it ONLY in \"devicon.json\"!", + "body": [ + "{", + " \"name\": \"\",", + " \"altnames\": [],", + " \"tags\": [],", + " \"versions\": {", + " \"svg\": [", + " \"\"", + " ],", + " \"font\": [", + " \"\"", + " ]", + " },", + " \"color\": \"\",", + " \"aliases\": []", + "}," + ] + } +} diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 000000000..fda5ad57b --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,5 @@ +{ + "recommendations": [ + "editorconfig.editorconfig" + ] +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 000000000..7eb645653 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,10 @@ +{ + "json.schemas": [ + { + "fileMatch": [ + "devicon.json" + ], + "url": "/.vscode/devicon-schema.json" + } + ] +} diff --git a/.vscode/tags-enum.json b/.vscode/tags-enum.json new file mode 100644 index 000000000..1637bf6ff --- /dev/null +++ b/.vscode/tags-enum.json @@ -0,0 +1,283 @@ +{ + "definitions": { + "Tags": { + "type": "array", + "items": { + "type": "string", + "enum": [ + ".net", + "3d", + "ARM", + "C#", + "CMS", + "DAG", + "GNU", + "IDE", + "algorithms", + "analysis", + "analytics", + "android", + "animation", + "api", + "api_wrapper", + "app", + "apple", + "applets", + "application", + "architecture", + "arm", + "audio", + "auth", + "autodesk", + "automation", + "azure", + "big data", + "binary", + "blockchain", + "blog", + "brand", + "browser", + "build", + "bundler", + "c", + "c++", + "c-sharp", + "c/c++", + "cdn", + "chat", + "cli", + "cloud", + "cloud-computing-platform", + "cmdlets", + "cms", + "code quality", + "code-quality", + "code-review", + "coding-style", + "collaboration", + "command", + "command-line", + "company", + "compiler", + "computer", + "computer-vision", + "container", + "continuous-delivery", + "cplusplus", + "cpp", + "cross-platform", + "csharp", + "css", + "dashboard", + "data", + "data science", + "data-model", + "data-processing", + "data-science", + "data-transfer", + "database", + "db", + "deep-learning", + "deploy", + "deployment", + "design", + "desktop", + "development", + "devops", + "distribuition", + "dns", + "docker", + "documentation", + "dotnet", + "ecommerce", + "editor", + "elastic", + "elixir", + "engine", + "erc20", + "esbuild", + "ethereum", + "file-format", + "format", + "framework", + "frontend", + "ftp", + "functional", + "game", + "game-engine", + "git", + "gitops", + "go", + "google", + "graph", + "graphic", + "graphics", + "groovy", + "hardware", + "heterogeneous-computing", + "hosting", + "html", + "http", + "hypervisor", + "iconset", + "ide", + "infrastructure", + "infrastructure-as-a-service", + "infrastructure-as-code", + "integration", + "ionic", + "ios", + "iphone", + "java", + "javascript", + "javascript-runtime", + "jetbrains", + "js", + "jupyter notebook", + "jvm", + "k3s", + "khronos", + "kotlin", + "kubernetes", + "language", + "laravel", + "latex2e", + "latex3", + "library", + "linter", + "linux", + "localization", + "logs", + "machine-learning", + "manager", + "markup", + "material-design", + "math", + "mel", + "mesh", + "message-broker", + "metrics", + "micro-framework", + "micro-services", + "microcontroller", + "microservices", + "mobile", + "modeling", + "modelling", + "monitoring", + "multimedia", + "network", + "networking", + "node.js", + "nodejs", + "nosql", + "note-taking", + "object-notation", + "object-oriented", + "object-relational mapper", + "observability", + "open-source", + "operating-system", + "orchestrator", + "organization", + "organize", + "orm", + "os", + "package", + "package-manager", + "pages", + "performance", + "php", + "pipeline", + "platform", + "plotting", + "pods", + "polyfill", + "pre-processor", + "procedural", + "production-tool", + "production-tracking", + "programming", + "project-management", + "promise", + "prototype-based", + "provisioning", + "proxy", + "pymel", + "python", + "query", + "rancher", + "reactjs", + "remote-development", + "rest", + "robotics", + "router", + "ruby", + "runtime", + "rust", + "scala", + "script", + "scripting", + "sdk", + "security", + "server", + "serverless", + "shell", + "social", + "software", + "solidity", + "specification", + "sql", + "ssg", + "ssh", + "standard", + "state-management", + "static site generator", + "static-site-generator", + "statistics", + "storage", + "streaming", + "svn", + "task-runner", + "telemetry", + "terminal", + "test-runner", + "testing", + "tex", + "text editor", + "tool", + "tracing", + "transpiler", + "typescript", + "typesetting-system", + "ui", + "universal", + "unix", + "vcs", + "vector", + "version", + "version control", + "version-control", + "vfx", + "video", + "virtual machine", + "visualization", + "vmware", + "vuejs", + "vuejs-library", + "web", + "web-application", + "web-development", + "web3", + "webdrive", + "website", + "websockets", + "wiki", + "windows", + "wrapper", + "zig" + ] + } + } + } +} diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index bee231c1f..a27a5912d 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -1,132 +1 @@ -# Contributor Covenant Code of Conduct - -## Our Pledge - -We as members, contributors, and leaders pledge to make participation in our -community a harassment-free experience for everyone, regardless of age, body -size, visible or invisible disability, ethnicity, sex characteristics, gender -identity and expression, level of experience, education, socio-economic status, -nationality, personal appearance, race, caste, color, religion, or sexual -identity and orientation. - -We pledge to act and interact in ways that contribute to an open, welcoming, -diverse, inclusive, and healthy community. - -## Our Standards - -Examples of behavior that contributes to a positive environment for our -community include: - -* Demonstrating empathy and kindness toward other people -* Being respectful of differing opinions, viewpoints, and experiences -* Giving and gracefully accepting constructive feedback -* Accepting responsibility and apologizing to those affected by our mistakes, - and learning from the experience -* Focusing on what is best not just for us as individuals, but for the overall - community - -Examples of unacceptable behavior include: - -* The use of sexualized language or imagery, and sexual attention or advances of - any kind -* Trolling, insulting or derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or email address, - without their explicit permission -* Other conduct which could reasonably be considered inappropriate in a - professional setting - -## Enforcement Responsibilities - -Community leaders are responsible for clarifying and enforcing our standards of -acceptable behavior and will take appropriate and fair corrective action in -response to any behavior that they deem inappropriate, threatening, offensive, -or harmful. - -Community leaders have the right and responsibility to remove, edit, or reject -comments, commits, code, wiki edits, issues, and other contributions that are -not aligned to this Code of Conduct, and will communicate reasons for moderation -decisions when appropriate. - -## Scope - -This Code of Conduct applies within all community spaces, and also applies when -an individual is officially representing the community in public spaces. -Examples of representing our community include using an official e-mail address, -posting via an official social media account, or acting as an appointed -representative at an online or offline event. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported to the community leaders responsible for enforcement at -info@devicon.dev. -All complaints will be reviewed and investigated promptly and fairly. - -All community leaders are obligated to respect the privacy and security of the -reporter of any incident. - -## Enforcement Guidelines - -Community leaders will follow these Community Impact Guidelines in determining -the consequences for any action they deem in violation of this Code of Conduct: - -### 1. Correction - -**Community Impact**: Use of inappropriate language or other behavior deemed -unprofessional or unwelcome in the community. - -**Consequence**: A private, written warning from community leaders, providing -clarity around the nature of the violation and an explanation of why the -behavior was inappropriate. A public apology may be requested. - -### 2. Warning - -**Community Impact**: A violation through a single incident or series of -actions. - -**Consequence**: A warning with consequences for continued behavior. No -interaction with the people involved, including unsolicited interaction with -those enforcing the Code of Conduct, for a specified period of time. This -includes avoiding interactions in community spaces as well as external channels -like social media. Violating these terms may lead to a temporary or permanent -ban. - -### 3. Temporary Ban - -**Community Impact**: A serious violation of community standards, including -sustained inappropriate behavior. - -**Consequence**: A temporary ban from any sort of interaction or public -communication with the community for a specified period of time. No public or -private interaction with the people involved, including unsolicited interaction -with those enforcing the Code of Conduct, is allowed during this period. -Violating these terms may lead to a permanent ban. - -### 4. Permanent Ban - -**Community Impact**: Demonstrating a pattern of violation of community -standards, including sustained inappropriate behavior, harassment of an -individual, or aggression toward or disparagement of classes of individuals. - -**Consequence**: A permanent ban from any sort of public interaction within the -community. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], -version 2.1, available at -[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1]. - -Community Impact Guidelines were inspired by -[Mozilla's code of conduct enforcement ladder][Mozilla CoC]. - -For answers to common questions about this code of conduct, see the FAQ at -[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at -[https://www.contributor-covenant.org/translations][translations]. - -[homepage]: https://www.contributor-covenant.org -[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html -[Mozilla CoC]: https://github.com/mozilla/diversity -[FAQ]: https://www.contributor-covenant.org/faq -[translations]: https://www.contributor-covenant.org/translations +# The Code of Conduct has been moved to the official [Wiki page](https://github.com/devicons/devicon/wiki/Code-of-Conduct). diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9f05a4f3a..4efc27ec7 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,6 +1,6 @@

Contributing to Devicon

-

This guide has been converted to a Wiki! This document will eventually be removed, please use the Wiki instead.

+

This guide has been moved to the Wiki and won't be updated any longer.


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. @@ -503,4 +503,4 @@ We are running a Discord server. You can go here to talk, discuss, and more with | Visual Studio Code | https://code.visualstudio.com/ | A code editor for editing code | | vscode.dev | https://vscode.dev/ | Visual Studio Code in the browser | | Iloveimg | https://www.iloveimg.com/resize-image/resize-svg | Resizing SVG's | -| svgviewer.dev | https://www.svgviewer.dev/ | View, save, and optimize SVGs | \ No newline at end of file +| svgviewer.dev | https://www.svgviewer.dev/ | View, save, and optimize SVGs | diff --git a/README.md b/README.md index 0e3b7843a..ea3051c04 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,10 @@ GitHub issues by-label - GitHub Repo stars + GitHub repository stars + + + Registered logos


@@ -24,7 +27,7 @@ Devicon Logo
- devicon aims to gather all logos representing development languages and tools. + Devicon aims to gather all logos representing development languages and tools.

Demo @@ -35,7 +38,7 @@

-

TL;DR;

+

TL;DR

```html @@ -47,44 +50,45 @@

Table of Contents

    -
  1. About the project
  2. -
  3. Getting started
  4. -
  5. Requesting icon
  6. +
  7. About the Project
  8. +
  9. Getting Started
  10. +
  11. Requesting Icon
  12. Contributing
  13. -
  14. Discord server
  15. +
  16. Discord Community
  17. develop vs master
  18. -
  19. Stale pull requests
  20. -
  21. Go build yourself
  22. +
  23. Stale Pull Requests
  24. +
  25. Building Devicon
-

About the project

+

About the Project

Devicon aims to gather all logos representing development languages and tools. Each icon comes in several versions: font/SVG, original/plain/line, colored/not colored, wordmark/no wordmark. - Devicon has 150+ icons. And it's growing!
+ Devicon has 150+ icons. And it's growing!

- See the devicon.json or our website for complete and up to date reference of + See the devicon.json or our website for complete and up to date reference of all available icons.

- - All product names, logos, and brands are property of their respective owners. All company, product and service - names used in this website are for identification purposes only. Use of these names, logos, and brands does not - imply endorsement. Usage of these logos should be done according to the company/brand/service's brand policy. - +

- Thank you to our contributors and the IcoMoon app. Devicon would not be possible without you. + Thanks to all our contributors and the IcoMoon app. Devicon would not be possible without you.

+ + All product names, logos, and brands are property of their respective owners. All company, product and service + names used in this website are for identification purposes only. Use of these names, logos, and brands does not + imply endorsement. Usage of these logos should be done according to the company/brand/service's brand policy. + -

Getting started

+

Getting Started

- For a super fast setup go check devicon.dev.
- You can either use the raw SVG icons or our devicon font (which is - also available via CDN). + For a super fast setup, go check devicon.dev.
+ You can either use the raw SVG icons, our Devicon font (which is + also available via CDN), or by building Devicon yourself.

-

Use the devicon font (recommended)

+

Use the devicon font (recommended)

You can install devicon as a dependency to your project either with npm or yarn:

@@ -95,9 +99,9 @@ yarn add devicon ```

- If you don't want to use a package manager you can also download + If you don't want to use a package manager, you can also download and include devicon.min.css next to the font files to your project. - See devicon.dev for details about how to add devicon to your project via + See devicon.dev for details about how to add Devicon to your project via a CDN.

@@ -109,7 +113,7 @@ yarn add devicon ``` -

Start using icons with <i>-tag

+

Start using icons with <i>-tag:

```html @@ -126,17 +130,18 @@ yarn add devicon ```

- An alternate way to use devicon is by copy/paste the raw SVG code + An alternate way to use devicon is by copy/pasting the raw SVG code to your project.

-

Copy/paste SVG code (from the svg folder or the project page)

+

Copy/paste SVG code (from the SVG folder or the project page):

```html ``` -Add css rules in your stylesheet +Add the following CSS rules in your stylesheet: + ```css .devicon-devicon-plain { max-width: 2em; @@ -148,15 +153,15 @@ Add css rules in your stylesheet } ``` -

You can also use the img tag and referencing an svg directly from the repo.

+

You can also use the img tag and reference an SVG directly from the repository:

```html - + ``` -

Requesting icon

+

Requesting an icon

- When you want to request an icon please feel free to create an issue. See our Wiki for more information. + When you want to request an icon please feel free to create an issue. Check out our Wiki for more information.

Contributing

@@ -164,15 +169,14 @@ Add css rules in your stylesheet We are happy with every contribution, whether it's new icons, features, or maintainers. Please have a look at our Wiki to see how you can contribute to this project.

-

Discord server

+

Discord community

-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. +We have a Discord community for Devicons. You can easily request icons, discuss, and have a good time talking with the community members! Join the official Discord Server here!

develop vs master

-All official releases shall be in master. Any updates in between (icons, features, etc.) will be kept in develop. +All official releases shall be in master. Any updates in between (icons, features, etc.) will be kept in develop.

develop contains:
    @@ -180,7 +184,8 @@ All official releases shall be in master. Any updates in between (i Latest SVGs (non-optimized).
  • - No icons for the latest SVGs. These will be build at every release. + No icons for the latest SVGs. These will be built at every release.
    + Can be built manually. See Building Devicon.
  • Experimental changes. @@ -189,46 +194,122 @@ All official releases shall be in master. Any updates in between (i master contains:
    • - Latest official release, which contains the SVGs and icons. + Latest official release, which contains all the SVGs and icons.
    • - Official tested changes. + Official, tested changes.
    -

    Stale pull requests

    +

    Stale Pull Requests

    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.

    -

    Go build yourself

    +

    Building Devicon

    - Feel free to follow those steps when you want to build the font - by yourself. +Follow these steps to build the website and icons either locally or using Gitpod.io.

    -
    Prerequisites
    -

    Install gulp (and gulp plugins)

    + +

    Table of contents

    +
      +
    1. Using Gitpod to build
    2. +
    3. Local Installation
    4. +
        +
      1. Install dependencies
      2. +
      3. Build the icons
      4. +
      5. Build the CSS stylesheet
      6. +
      7. Setting up the web server
      8. +
      +
    + +

    Using Gitpod.io

    +

    By using Gitpod.io, you can easily build the icons and install the
    required dependencies in one single click. No extra setup is required.

    + +Open in Gitpod + +> **Note** +> In case some of the commands are not properly ran, you can\ +> follow the steps below and run the same commands on Gitpod.io + +

    Local Installation

    + +

    Install dependencies

    + +

    Fork the repository and clone the forked repository.

    + +```bash +git clone https://github.com//devicon.git +``` + +> **Note** +> In case you don't have Git installed, check the official guide to install Git on your operating system. + +

    Install all the necessary NPM dependencies

    ```bash npm install ``` -
    Build the font and export stylesheet
    -Open icomoon.io and import icomoon.json. Choose yes when being asked -if you would like to restore the settings stored in the configuration file. +> **Note** +> In case you don't have NPM installed, check this ultimate guide on installing Node.js and NPM. These tools are required in order to build Devicon properly. -The next step is to click on Generate font and download the resulting archive. Extract the contents and you will find a fonts directory next to a style.css. Replace the contents of the fonts folder, rename style.css as devicon.css and follow the next step to build the final stylesheet. +

    Install Firefox

    +https://www.mozilla.org/en-US/firefox/new/ -
    Build and minify stylesheet
    -

    - Run the following command to build the resulting file devicon.min.css -

    +

    Install Python 3.8

    +https://www.python.org/downloads/ + +> **Note** +> Make sure your Python install includes [pip](https://pypi.org/project/pip/) + +

    Install Selenium

    +```bash +python3 -m pip install --upgrade pip && pip install selenium==4.1.0 requests==2.25.1 +``` + +

    Build the new icons

    + +

    Once all the dependencies are installed, you can proceed to build the newest icons.
    +Usually, this is done on each release, but you can have a sneak peek before a release.

    + +```bash +# Linux/Unix +npm run build-icons + +# Windows +python3 ./.github/scripts/icomoon_build_githubless.py ./.github/scripts/build_assets/geckodriver-v0.32.2-win64/geckodriver.exe ./icomoon.json ./devicon.json ./icons ./ --headless +``` + +The process might take a while, depending on your operating system's speed and the amount of icons. +

    If there are any errors shown, please let us know by creating an issue or contacting us on our Discord community.

    + +

    Build the CSS stylesheet

    + +

    Run the following command to build the new CSS stylesheet.
    +This file is used to show all the new icons previously built.

    ```bash npm run build-css ``` -
    +

    Setting up the web server

    + +

    Run the following command to start the web server with Python.

    + +```bash +npm run dev # Will run on port 8000 +``` + +

    Or this command, which does exactly the same, but the port can be customized.

    + +```bash +python3 -m http.server +``` + +

    You're done now! :tada: Your build of Devicons should be available at https://localhost:8000 (or the desired port).

    + +
    diff --git a/devicon-base.css b/devicon-base.css index 5c7e2f485..5435973ac 100644 --- a/devicon-base.css +++ b/devicon-base.css @@ -1,10 +1,9 @@ @font-face { font-family: 'devicon'; - src: url('fonts/devicon.eot?biu5f3'); - src: url('fonts/devicon.eot?biu5f3#iefix') format('embedded-opentype'), - url('fonts/devicon.ttf?biu5f3') format('truetype'), - url('fonts/devicon.woff?biu5f3') format('woff'), - url('fonts/devicon.svg?biu5f3#devicon') format('svg'); + src: + url('fonts/devicon.ttf?iehcku') format('truetype'), + url('fonts/devicon.woff?iehcku') format('woff'), + url('fonts/devicon.svg?iehcku#devicon') format('svg'); font-weight: normal; font-style: normal; font-display: block; @@ -25,1503 +24,2898 @@ -moz-osx-font-smoothing: grayscale; } -.devicon-openal-plain:before { +.devicon-aarch64-line:before { + content: "\e900"; +} +.devicon-aarch64-plain:before { + content: "\e901"; +} +.devicon-adonisjs-original:before { + content: "\e902"; +} +.devicon-adonisjs-original-wordmark:before { + content: "\e903"; +} +.devicon-aftereffects-plain:before { + content: "\e904"; +} +.devicon-akka-plain:before { + content: "\e905"; +} +.devicon-akka-plain-wordmark:before { + content: "\e906"; +} +.devicon-algolia-original:before { + content: "\e907"; +} +.devicon-algolia-original-wordmark:before { + content: "\e908"; +} +.devicon-alpinejs-original:before { + content: "\e909"; +} +.devicon-alpinejs-original-wordmark:before { + content: "\e90a"; +} +.devicon-amazonwebservices-line-wordmark:before { content: "\e90b"; } -.devicon-kaggle-original-wordmark:before { +.devicon-amazonwebservices-plain-wordmark:before { content: "\e90c"; } -.devicon-kaggle-original:before { +.devicon-anaconda-original:before { content: "\e90d"; } -.devicon-pytest-plain-wordmark:before { +.devicon-anaconda-original-wordmark:before { content: "\e90e"; } -.devicon-pytest-plain:before { +.devicon-android-plain:before { + content: "\e90f"; +} +.devicon-android-plain-wordmark:before { + content: "\e910"; +} +.devicon-androidstudio-plain:before { + content: "\e911"; +} +.devicon-androidstudio-plain-wordmark:before { + content: "\e912"; +} +.devicon-angularjs-plain:before { + content: "\e913"; +} +.devicon-angularjs-plain-wordmark:before { + content: "\e914"; +} +.devicon-angularmaterial-plain:before { + content: "\e915"; +} +.devicon-angular-plain:before { content: "\e916"; } -.devicon-fastapi-plain-wordmark:before { +.devicon-angular-plain-wordmark:before { content: "\e917"; } -.devicon-fastapi-plain:before { +.devicon-ansible-plain:before { + content: "\e918"; +} +.devicon-ansible-plain-wordmark:before { + content: "\e919"; +} +.devicon-antdesign-plain:before { + content: "\e91a"; +} +.devicon-antdesign-plain-wordmark:before { + content: "\e91b"; +} +.devicon-apacheairflow-plain:before { + content: "\e91c"; +} +.devicon-apacheairflow-plain-wordmark:before { + content: "\e91d"; +} +.devicon-apachekafka-original:before { + content: "\e91e"; +} +.devicon-apachekafka-original-wordmark:before { + content: "\e91f"; +} +.devicon-apache-line:before { + content: "\e920"; +} +.devicon-apache-line-wordmark:before { + content: "\e921"; +} +.devicon-apache-plain:before { + content: "\e922"; +} +.devicon-apache-plain-wordmark:before { + content: "\e923"; +} +.devicon-apachespark-original:before { + content: "\e924"; +} +.devicon-apachespark-plain-wordmark:before { + content: "\e925"; +} +.devicon-apl-plain:before { + content: "\e926"; +} +.devicon-appcelerator-original:before { + content: "\e927"; +} +.devicon-appcelerator-plain-wordmark:before { + content: "\e928"; +} +.devicon-apple-original:before { + content: "\e929"; +} +.devicon-appwrite-plain:before { + content: "\e92a"; +} +.devicon-appwrite-plain-wordmark:before { + content: "\e92b"; +} +.devicon-archlinux-plain:before { + content: "\e92c"; +} +.devicon-archlinux-plain-wordmark:before { + content: "\e92d"; +} +.devicon-arduino-plain:before { + content: "\e92e"; +} +.devicon-arduino-plain-wordmark:before { + content: "\e92f"; +} +.devicon-argocd-plain:before { + content: "\e930"; +} +.devicon-argocd-plain-wordmark:before { + content: "\e931"; +} +.devicon-astro-plain:before { + content: "\e932"; +} +.devicon-astro-plain-wordmark:before { + content: "\e933"; +} +.devicon-atom-original:before { + content: "\e934"; +} +.devicon-atom-original-wordmark:before { + content: "\e935"; +} +.devicon-awk-plain-wordmark:before { content: "\e936"; } -.devicon-opencv-plain-wordmark:before { +.devicon-axios-plain:before { content: "\e937"; } -.devicon-opencv-plain:before { - content: "\ea14"; +.devicon-axios-plain-wordmark:before { + content: "\e938"; } -.devicon-k3s-plain-wordmark:before { - content: "\ea15"; +.devicon-azuredevops-plain:before { + content: "\e939"; } -.devicon-k3s-original:before { - content: "\ea16"; +.devicon-azure-plain:before { + content: "\e93a"; } -.devicon-packer-original-wordmark:before { - content: "\ea17"; +.devicon-azure-plain-wordmark:before { + content: "\e93b"; } -.devicon-packer-original:before { - content: "\ea1d"; +.devicon-azuresqldatabase-plain:before { + content: "\e93c"; } -.devicon-anaconda-original-wordmark:before { - content: "\ea1e"; +.devicon-babel-plain:before { + content: "\e93d"; } -.devicon-anaconda-original:before { - content: "\ea1f"; +.devicon-backbonejs-plain:before { + content: "\e93e"; } -.devicon-prometheus-original-wordmark:before { - content: "\ea20"; +.devicon-backbonejs-plain-wordmark:before { + content: "\e93f"; } -.devicon-prometheus-original:before { - content: "\ea21"; +.devicon-ballerina-line:before { + content: "\e940"; } -.devicon-rspec-original-wordmark:before { - content: "\ea22"; +.devicon-ballerina-line-wordmark:before { + content: "\e941"; } -.devicon-rspec-original:before { - content: "\ea23"; +.devicon-ballerina-original:before { + content: "\e942"; } -.devicon-argocd-plain-wordmark:before { - content: "\ea24"; +.devicon-ballerina-original-wordmark:before { + content: "\e943"; } -.devicon-argocd-plain:before { - content: "\ea25"; +.devicon-bamboo-original:before { + content: "\e944"; } -.devicon-blender-original-wordmark:before { - content: "\ea26"; +.devicon-bamboo-original-wordmark:before { + content: "\e945"; +} +.devicon-bash-plain:before { + content: "\e946"; +} +.devicon-beats-plain:before { + content: "\e947"; +} +.devicon-behance-plain:before { + content: "\e948"; +} +.devicon-behance-plain-wordmark:before { + content: "\e949"; +} +.devicon-bitbucket-original:before { + content: "\e94a"; +} +.devicon-bitbucket-original-wordmark:before { + content: "\e94b"; +} +.devicon-blazor-line:before { + content: "\e94c"; +} +.devicon-blazor-original:before { + content: "\e94d"; } .devicon-blender-original:before { - content: "\ea27"; + content: "\e94e"; } -.devicon-jetbrains-plain:before { - content: "\ea28"; +.devicon-blender-original-wordmark:before { + content: "\e94f"; } -.devicon-cmake-plain-wordmark:before { - content: "\ea29"; +.devicon-bootstrap-plain:before { + content: "\e950"; +} +.devicon-bootstrap-plain-wordmark:before { + content: "\e951"; +} +.devicon-bower-line:before { + content: "\e952"; +} +.devicon-bower-line-wordmark:before { + content: "\e953"; +} +.devicon-bower-plain:before { + content: "\e954"; +} +.devicon-bower-plain-wordmark:before { + content: "\e955"; +} +.devicon-browserstack-line:before { + content: "\e956"; +} +.devicon-browserstack-line-wordmark:before { + content: "\e957"; +} +.devicon-browserstack-plain:before { + content: "\e958"; +} +.devicon-browserstack-plain-wordmark:before { + content: "\e959"; +} +.devicon-bulma-plain:before { + content: "\e95a"; +} +.devicon-bun-line:before { + content: "\e95b"; +} +.devicon-bun-plain:before { + content: "\e95c"; +} +.devicon-cairo-plain:before { + content: "\e95d"; +} +.devicon-cairo-plain-wordmark:before { + content: "\e95e"; +} +.devicon-cakephp-plain:before { + content: "\e95f"; +} +.devicon-cakephp-plain-wordmark:before { + content: "\e960"; +} +.devicon-canva-original:before { + content: "\e961"; +} +.devicon-capacitor-plain:before { + content: "\e962"; +} +.devicon-capacitor-plain-wordmark:before { + content: "\e963"; +} +.devicon-carbon-original:before { + content: "\e964"; +} +.devicon-cassandra-plain:before { + content: "\e965"; +} +.devicon-cassandra-plain-wordmark:before { + content: "\e966"; +} +.devicon-centos-plain:before { + content: "\e967"; +} +.devicon-centos-plain-wordmark:before { + content: "\e968"; +} +.devicon-ceylon-plain:before { + content: "\e969"; +} +.devicon-ceylon-plain-wordmark:before { + content: "\e96a"; +} +.devicon-chrome-plain:before { + content: "\e96b"; +} +.devicon-chrome-plain-wordmark:before { + content: "\e96c"; +} +.devicon-circleci-plain:before { + content: "\e96d"; +} +.devicon-circleci-plain-wordmark:before { + content: "\e96e"; +} +.devicon-clarity-plain:before { + content: "\e96f"; +} +.devicon-clarity-plain-wordmark:before { + content: "\e970"; +} +.devicon-c-line:before { + content: "\e971"; +} +.devicon-clion-plain:before { + content: "\e972"; +} +.devicon-clion-plain-wordmark:before { + content: "\e973"; +} +.devicon-clojure-line:before { + content: "\e974"; +} +.devicon-clojurescript-plain:before { + content: "\e975"; +} +.devicon-cloudflare-plain:before { + content: "\e976"; +} +.devicon-cloudflare-plain-wordmark:before { + content: "\e977"; +} +.devicon-cloudflareworkers-plain:before { + content: "\e978"; +} +.devicon-cloudflareworkers-plain-wordmark:before { + content: "\e979"; +} +.devicon-cmake-plain:before { + content: "\e97a"; +} +.devicon-cmake-plain-wordmark:before { + content: "\e97b"; +} +.devicon-codeac-original:before { + content: "\e97c"; +} +.devicon-codecov-plain:before { + content: "\e97d"; +} +.devicon-codeigniter-plain:before { + content: "\e97e"; +} +.devicon-codeigniter-plain-wordmark:before { + content: "\e97f"; +} +.devicon-codepen-line:before { + content: "\e980"; +} +.devicon-codepen-line-wordmark:before { + content: "\e981"; +} +.devicon-codepen-original:before { + content: "\e982"; +} +.devicon-codepen-original-wordmark:before { + content: "\e983"; +} +.devicon-coffeescript-original:before { + content: "\e984"; +} +.devicon-coffeescript-original-wordmark:before { + content: "\e985"; +} +.devicon-composer-line:before { + content: "\e986"; +} +.devicon-composer-line-wordmark:before { + content: "\e987"; +} +.devicon-confluence-line:before { + content: "\e988"; +} +.devicon-confluence-line-wordmark:before { + content: "\e989"; +} +.devicon-confluence-plain:before { + content: "\e98a"; +} +.devicon-confluence-plain-wordmark:before { + content: "\e98b"; +} +.devicon-consul-original:before { + content: "\e98c"; +} +.devicon-consul-plain-wordmark:before { + content: "\e98d"; +} +.devicon-contao-original:before { + content: "\e98e"; +} +.devicon-contao-original-wordmark:before { + content: "\e98f"; +} +.devicon-corejs-original:before { + content: "\e990"; +} +.devicon-corejs-original-wordmark:before { + content: "\e991"; +} +.devicon-cosmosdb-plain:before { + content: "\e992"; +} +.devicon-cosmosdb-plain-wordmark:before { + content: "\e993"; +} +.devicon-couchbase-original:before { + content: "\e994"; +} +.devicon-couchbase-plain-wordmark:before { + content: "\e995"; +} +.devicon-couchdb-plain:before { + content: "\e996"; +} +.devicon-couchdb-plain-wordmark:before { + content: "\e997"; +} +.devicon-c-plain:before { + content: "\e998"; +} +.devicon-cplusplus-line:before { + content: "\e999"; +} +.devicon-cplusplus-plain:before { + content: "\e99a"; +} +.devicon-crystal-line:before { + content: "\e99b"; +} +.devicon-crystal-line-wordmark:before { + content: "\e99c"; +} +.devicon-crystal-original:before { + content: "\e99d"; +} +.devicon-crystal-original-wordmark:before { + content: "\e99e"; +} +.devicon-csharp-line:before { + content: "\e99f"; +} +.devicon-csharp-plain:before { + content: "\e9a0"; +} +.devicon-css3-plain:before { + content: "\e9a1"; +} +.devicon-css3-plain-wordmark:before { + content: "\e9a2"; +} +.devicon-cucumber-plain:before { + content: "\e9a3"; +} +.devicon-cucumber-plain-wordmark:before { + content: "\e9a4"; +} +.devicon-cypressio-line:before { + content: "\e9a5"; +} +.devicon-cypressio-line-wordmark:before { + content: "\e9a6"; +} +.devicon-cypressio-plain:before { + content: "\e9a7"; +} +.devicon-cypressio-plain-wordmark:before { + content: "\e9a8"; +} +.devicon-d3js-plain:before { + content: "\e9a9"; +} +.devicon-dart-plain:before { + content: "\e9aa"; +} +.devicon-dart-plain-wordmark:before { + content: "\e9ab"; +} +.devicon-datagrip-plain:before { + content: "\e9ac"; +} +.devicon-datagrip-plain-wordmark:before { + content: "\e9ad"; +} +.devicon-dataspell-plain:before { + content: "\e9ae"; +} +.devicon-dataspell-plain-wordmark:before { + content: "\e9af"; +} +.devicon-dbeaver-plain:before { + content: "\e9b0"; +} +.devicon-debian-plain:before { + content: "\e9b1"; +} +.devicon-debian-plain-wordmark:before { + content: "\e9b2"; +} +.devicon-denojs-original:before { + content: "\e9b3"; +} +.devicon-denojs-original-wordmark:before { + content: "\e9b4"; +} +.devicon-devicon-line:before { + content: "\e9b5"; +} +.devicon-devicon-line-wordmark:before { + content: "\e9b6"; +} +.devicon-devicon-plain:before { + content: "\e9b7"; +} +.devicon-devicon-plain-wordmark:before { + content: "\e9b8"; +} +.devicon-digitalocean-original:before { + content: "\e9b9"; +} +.devicon-digitalocean-original-wordmark:before { + content: "\e9ba"; +} +.devicon-discordjs-plain:before { + content: "\e9bb"; +} +.devicon-discordjs-plain-wordmark:before { + content: "\e9bc"; +} +.devicon-django-plain:before { + content: "\e9bd"; +} +.devicon-django-plain-wordmark:before { + content: "\e9be"; +} +.devicon-djangorest-line:before { + content: "\e9bf"; +} +.devicon-djangorest-line-wordmark:before { + content: "\e9c0"; +} +.devicon-djangorest-plain:before { + content: "\e9c1"; +} +.devicon-djangorest-plain-wordmark:before { + content: "\e9c2"; +} +.devicon-docker-plain:before { + content: "\e9c3"; +} +.devicon-docker-plain-wordmark:before { + content: "\e9c4"; +} +.devicon-doctrine-line:before { + content: "\e9c5"; +} +.devicon-doctrine-line-wordmark:before { + content: "\e9c6"; +} +.devicon-doctrine-plain:before { + content: "\e9c7"; +} +.devicon-doctrine-plain-wordmark:before { + content: "\e9c8"; +} +.devicon-dotnetcore-plain:before { + content: "\e9c9"; +} +.devicon-dot-net-plain:before { + content: "\e9ca"; +} +.devicon-dot-net-plain-wordmark:before { + content: "\e9cb"; +} +.devicon-dreamweaver-line:before { + content: "\e9cc"; +} +.devicon-dreamweaver-plain:before { + content: "\e9cd"; +} +.devicon-dropwizard-plain:before { + content: "\e9ce"; +} +.devicon-drupal-plain:before { + content: "\e9cf"; +} +.devicon-drupal-plain-wordmark:before { + content: "\e9d0"; +} +.devicon-dynamodb-plain:before { + content: "\e9d1"; +} +.devicon-eclipse-plain:before { + content: "\e9d2"; +} +.devicon-eclipse-plain-wordmark:before { + content: "\e9d3"; +} +.devicon-ecto-original:before { + content: "\e9d4"; +} +.devicon-ecto-plain-wordmark:before { + content: "\e9d5"; +} +.devicon-elasticsearch-plain:before { + content: "\e9d6"; +} +.devicon-elasticsearch-plain-wordmark:before { + content: "\e9d7"; +} +.devicon-electron-original:before { + content: "\e9d8"; +} +.devicon-electron-original-wordmark:before { + content: "\e9d9"; +} +.devicon-eleventy-plain:before { + content: "\e9da"; +} +.devicon-elixir-plain:before { + content: "\e9db"; +} +.devicon-elixir-plain-wordmark:before { + content: "\e9dc"; +} +.devicon-elm-plain:before { + content: "\e9dd"; +} +.devicon-elm-plain-wordmark:before { + content: "\e9de"; +} +.devicon-emacs-original:before { + content: "\e9df"; +} +.devicon-embeddedc-plain:before { + content: "\e9e0"; +} +.devicon-embeddedc-plain-wordmark:before { + content: "\e9e1"; +} +.devicon-ember-original-wordmark:before { + content: "\e9e2"; +} +.devicon-ember-plain:before { + content: "\e9e3"; +} +.devicon-envoy-plain:before { + content: "\e9e4"; +} +.devicon-envoy-plain-wordmark:before { + content: "\e9e5"; +} +.devicon-erlang-plain:before { + content: "\e9e6"; +} +.devicon-erlang-plain-wordmark:before { + content: "\e9e7"; +} +.devicon-eslint-line:before { + content: "\e9e8"; +} +.devicon-eslint-line-wordmark:before { + content: "\e9e9"; +} +.devicon-eslint-plain:before { + content: "\e9ea"; +} +.devicon-eslint-plain-wordmark:before { + content: "\e9eb"; +} +.devicon-express-original:before { + content: "\e9ec"; +} +.devicon-express-original-wordmark:before { + content: "\e9ed"; +} +.devicon-facebook-plain:before { + content: "\e9ee"; +} +.devicon-fastapi-plain:before { + content: "\e9ef"; +} +.devicon-fastapi-plain-wordmark:before { + content: "\e9f0"; +} +.devicon-fastify-plain:before { + content: "\e9f1"; +} +.devicon-fastify-plain-wordmark:before { + content: "\e9f2"; +} +.devicon-faunadb-line:before { + content: "\e9f3"; +} +.devicon-faunadb-line-wordmark:before { + content: "\e9f4"; +} +.devicon-faunadb-original:before { + content: "\e9f5"; +} +.devicon-faunadb-original-wordmark:before { + content: "\e9f6"; +} +.devicon-feathersjs-original:before { + content: "\e9f7"; +} +.devicon-fedora-plain:before { + content: "\e9f8"; +} +.devicon-figma-plain:before { + content: "\e9f9"; +} +.devicon-filezilla-line:before { + content: "\e9fa"; +} +.devicon-filezilla-line-wordmark:before { + content: "\e9fb"; +} +.devicon-filezilla-plain:before { + content: "\e9fc"; +} +.devicon-filezilla-plain-wordmark:before { + content: "\e9fd"; +} +.devicon-firebase-line:before { + content: "\e9fe"; +} +.devicon-firebase-line-wordmark:before { + content: "\e9ff"; +} +.devicon-firebase-plain:before { + content: "\ea00"; +} +.devicon-firebase-plain-wordmark:before { + content: "\ea01"; +} +.devicon-firefox-plain:before { + content: "\ea02"; +} +.devicon-firefox-plain-wordmark:before { + content: "\ea03"; +} +.devicon-flask-original:before { + content: "\ea04"; +} +.devicon-flask-original-wordmark:before { + content: "\ea05"; +} +.devicon-flutter-plain:before { + content: "\ea06"; +} +.devicon-fortran-original:before { + content: "\ea07"; +} +.devicon-foundation-plain:before { + content: "\ea08"; +} +.devicon-foundation-plain-wordmark:before { + content: "\ea09"; +} +.devicon-framermotion-original:before { + content: "\ea0a"; +} +.devicon-framermotion-original-wordmark:before { + content: "\ea0b"; +} +.devicon-framework7-original:before { + content: "\ea0c"; +} +.devicon-framework7-original-wordmark:before { + content: "\ea0d"; +} +.devicon-fsharp-plain:before { + content: "\ea0e"; +} +.devicon-gatling-line:before { + content: "\ea0f"; +} +.devicon-gatling-line-wordmark:before { + content: "\ea10"; +} +.devicon-gatling-original:before { + content: "\ea11"; +} +.devicon-gatling-plain-wordmark:before { + content: "\ea12"; +} +.devicon-gatsby-original:before { + content: "\ea13"; +} +.devicon-gatsby-plain-wordmark:before { + content: "\ea14"; +} +.devicon-gazebo-plain:before { + content: "\ea15"; +} +.devicon-gazebo-plain-wordmark:before { + content: "\ea16"; +} +.devicon-gcc-line:before { + content: "\ea17"; +} +.devicon-gcc-plain:before { + content: "\ea18"; +} +.devicon-gentoo-line:before { + content: "\ea19"; +} +.devicon-gentoo-line-wordmark:before { + content: "\ea1a"; +} +.devicon-gentoo-plain:before { + content: "\ea1b"; +} +.devicon-gentoo-plain-wordmark:before { + content: "\ea1c"; +} +.devicon-ghost-original:before { + content: "\ea1d"; +} +.devicon-ghost-original-wordmark:before { + content: "\ea1e"; +} +.devicon-gimp-line:before { + content: "\ea1f"; +} +.devicon-gimp-line-wordmark:before { + content: "\ea20"; +} +.devicon-gimp-plain:before { + content: "\ea21"; +} +.devicon-gimp-plain-wordmark:before { + content: "\ea22"; +} +.devicon-gitbook-line:before { + content: "\ea23"; +} +.devicon-gitbook-line-wordmark:before { + content: "\ea24"; +} +.devicon-gitbook-original:before { + content: "\ea25"; +} +.devicon-gitbook-original-wordmark:before { + content: "\ea26"; +} +.devicon-githubactions-plain:before { + content: "\ea27"; +} +.devicon-githubcodespaces-plain:before { + content: "\ea28"; +} +.devicon-github-original:before { + content: "\ea29"; +} +.devicon-github-original-wordmark:before { + content: "\ea2a"; +} +.devicon-gitlab-plain:before { + content: "\ea2b"; +} +.devicon-gitlab-plain-wordmark:before { + content: "\ea2c"; +} +.devicon-git-plain:before { + content: "\ea2d"; +} +.devicon-git-plain-wordmark:before { + content: "\ea2e"; +} +.devicon-gitpod-plain:before { + content: "\ea2f"; +} +.devicon-gitpod-plain-wordmark:before { + content: "\ea30"; +} +.devicon-gitter-plain:before { + content: "\ea31"; +} +.devicon-gitter-plain-wordmark:before { + content: "\ea32"; +} +.devicon-godot-plain:before { + content: "\ea33"; +} +.devicon-godot-plain-wordmark:before { + content: "\ea34"; +} +.devicon-goland-plain:before { + content: "\ea35"; +} +.devicon-goland-plain-wordmark:before { + content: "\ea36"; +} +.devicon-go-line:before { + content: "\ea37"; +} +.devicon-googlecloud-plain:before { + content: "\ea38"; +} +.devicon-googlecloud-plain-wordmark:before { + content: "\ea39"; +} +.devicon-google-plain:before { + content: "\ea3a"; +} +.devicon-google-plain-wordmark:before { + content: "\ea3b"; +} +.devicon-go-original-wordmark:before { + content: "\ea3c"; +} +.devicon-go-plain:before { + content: "\ea3d"; +} +.devicon-gradle-original:before { + content: "\ea3e"; +} +.devicon-gradle-original-wordmark:before { + content: "\ea3f"; +} +.devicon-grafana-line:before { + content: "\ea40"; +} +.devicon-grafana-line-wordmark:before { + content: "\ea41"; +} +.devicon-grafana-plain:before { + content: "\ea42"; +} +.devicon-grafana-plain-wordmark:before { + content: "\ea43"; +} +.devicon-grails-plain:before { + content: "\ea44"; +} +.devicon-graphql-plain:before { + content: "\ea45"; +} +.devicon-graphql-plain-wordmark:before { + content: "\ea46"; +} +.devicon-groovy-plain:before { + content: "\ea47"; +} +.devicon-grpc-plain:before { + content: "\ea48"; +} +.devicon-grunt-line:before { + content: "\ea49"; +} +.devicon-grunt-line-wordmark:before { + content: "\ea4a"; +} +.devicon-grunt-plain:before { + content: "\ea4b"; +} +.devicon-grunt-plain-wordmark:before { + content: "\ea4c"; +} +.devicon-gulp-plain:before { + content: "\ea4d"; +} +.devicon-hadoop-plain:before { + content: "\ea4e"; +} +.devicon-hadoop-plain-wordmark:before { + content: "\ea4f"; +} +.devicon-handlebars-line:before { + content: "\ea50"; +} +.devicon-handlebars-line-wordmark:before { + content: "\ea51"; +} +.devicon-handlebars-original:before { + content: "\ea52"; +} +.devicon-handlebars-original-wordmark:before { + content: "\ea53"; +} +.devicon-hardhat-plain:before { + content: "\ea54"; +} +.devicon-hardhat-plain-wordmark:before { + content: "\ea55"; +} +.devicon-harvester-original:before { + content: "\ea56"; +} +.devicon-harvester-plain-wordmark:before { + content: "\ea57"; +} +.devicon-haskell-plain:before { + content: "\ea58"; +} +.devicon-haskell-plain-wordmark:before { + content: "\ea59"; +} +.devicon-haxe-plain:before { + content: "\ea5a"; +} +.devicon-helm-line:before { + content: "\ea5b"; +} +.devicon-helm-original:before { + content: "\ea5c"; +} +.devicon-heroku-original:before { + content: "\ea5d"; +} +.devicon-heroku-original-wordmark:before { + content: "\ea5e"; +} +.devicon-heroku-plain:before { + content: "\ea5f"; +} +.devicon-heroku-plain-wordmark:before { + content: "\ea60"; +} +.devicon-hibernate-plain:before { + content: "\ea61"; +} +.devicon-hibernate-plain-wordmark:before { + content: "\ea62"; +} +.devicon-homebrew-line:before { + content: "\ea63"; +} +.devicon-homebrew-line-wordmark:before { + content: "\ea64"; +} +.devicon-homebrew-plain:before { + content: "\ea65"; +} +.devicon-homebrew-plain-wordmark:before { + content: "\ea66"; +} +.devicon-html5-plain:before { + content: "\ea67"; +} +.devicon-html5-plain-wordmark:before { + content: "\ea68"; +} +.devicon-hugo-plain:before { + content: "\ea69"; +} +.devicon-hugo-plain-wordmark:before { + content: "\ea6a"; +} +.devicon-ie10-original:before { + content: "\ea6b"; +} +.devicon-ifttt-original:before { + content: "\ea6c"; +} +.devicon-illustrator-line:before { + content: "\ea6d"; +} +.devicon-illustrator-plain:before { + content: "\ea6e"; +} +.devicon-influxdb-original:before { + content: "\ea6f"; +} +.devicon-influxdb-original-wordmark:before { + content: "\ea70"; +} +.devicon-inkscape-plain:before { + content: "\ea71"; +} +.devicon-inkscape-plain-wordmark:before { + content: "\ea72"; +} +.devicon-insomnia-plain:before { + content: "\ea73"; +} +.devicon-insomnia-plain-wordmark:before { + content: "\ea74"; +} +.devicon-intellij-plain:before { + content: "\ea75"; +} +.devicon-intellij-plain-wordmark:before { + content: "\ea76"; +} +.devicon-ionic-original:before { + content: "\ea77"; +} +.devicon-ionic-original-wordmark:before { + content: "\ea78"; +} +.devicon-jaegertracing-plain:before { + content: "\ea79"; +} +.devicon-jaegertracing-plain-wordmark:before { + content: "\ea7a"; +} +.devicon-jamstack-original:before { + content: "\ea7b"; +} +.devicon-jamstack-plain-wordmark:before { + content: "\ea7c"; +} +.devicon-jasmine-original:before { + content: "\ea7d"; +} +.devicon-jasmine-original-wordmark:before { + content: "\ea7e"; +} +.devicon-java-plain:before { + content: "\ea7f"; +} +.devicon-java-plain-wordmark:before { + content: "\ea80"; +} +.devicon-javascript-plain:before { + content: "\ea81"; +} +.devicon-jeet-plain:before { + content: "\ea82"; +} +.devicon-jeet-plain-wordmark:before { + content: "\ea83"; +} +.devicon-jekyll-plain:before { + content: "\ea84"; +} +.devicon-jekyll-plain-wordmark:before { + content: "\ea85"; +} +.devicon-jenkins-line:before { + content: "\ea86"; +} +.devicon-jenkins-plain:before { + content: "\ea87"; +} +.devicon-jest-plain:before { + content: "\ea88"; +} +.devicon-jetbrains-plain:before { + content: "\ea89"; +} +.devicon-jetpackcompose-line:before { + content: "\ea8a"; +} +.devicon-jetpackcompose-line-wordmark:before { + content: "\ea8b"; +} +.devicon-jetpackcompose-plain:before { + content: "\ea8c"; +} +.devicon-jetpackcompose-plain-wordmark:before { + content: "\ea8d"; +} +.devicon-jiraalign-plain:before { + content: "\ea8e"; +} +.devicon-jiraalign-plain-wordmark:before { + content: "\ea8f"; +} +.devicon-jira-plain:before { + content: "\ea90"; +} +.devicon-jira-plain-wordmark:before { + content: "\ea91"; +} +.devicon-jquery-plain:before { + content: "\ea92"; +} +.devicon-jquery-plain-wordmark:before { + content: "\ea93"; +} +.devicon-json-plain:before { + content: "\ea94"; +} +.devicon-jule-original:before { + content: "\ea95"; +} +.devicon-jule-original-wordmark:before { + content: "\ea96"; +} +.devicon-julia-plain:before { + content: "\ea97"; +} +.devicon-julia-plain-wordmark:before { + content: "\ea98"; +} +.devicon-junit-line:before { + content: "\ea99"; +} +.devicon-junit-line-wordmark:before { + content: "\ea9a"; +} +.devicon-junit-plain:before { + content: "\ea9b"; +} +.devicon-junit-plain-wordmark:before { + content: "\ea9c"; +} +.devicon-jupyter-plain:before { + content: "\ea9d"; +} +.devicon-jupyter-plain-wordmark:before { + content: "\ea9e"; +} +.devicon-k3os-line:before { + content: "\ea9f"; +} +.devicon-k3os-line-wordmark:before { + content: "\eaa0"; +} +.devicon-k3os-original:before { + content: "\eaa1"; +} +.devicon-k3os-plain-wordmark:before { + content: "\eaa2"; +} +.devicon-k3s-original:before { + content: "\eaa3"; +} +.devicon-k3s-plain-wordmark:before { + content: "\eaa4"; +} +.devicon-k6-original:before { + content: "\eaa5"; +} +.devicon-kaggle-original:before { + content: "\eaa6"; +} +.devicon-kaggle-original-wordmark:before { + content: "\eaa7"; +} +.devicon-karatelabs-plain:before { + content: "\eaa8"; +} +.devicon-karatelabs-plain-wordmark:before { + content: "\eaa9"; +} +.devicon-karma-plain:before { + content: "\eaaa"; +} +.devicon-kdeneon-plain:before { + content: "\eaab"; +} +.devicon-keras-line:before { + content: "\eaac"; +} +.devicon-keras-line-wordmark:before { + content: "\eaad"; +} +.devicon-keras-plain:before { + content: "\eaae"; +} +.devicon-keras-plain-wordmark:before { + content: "\eaaf"; +} +.devicon-kibana-plain:before { + content: "\eab0"; +} +.devicon-kibana-plain-wordmark:before { + content: "\eab1"; +} +.devicon-knexjs-original:before { + content: "\eab2"; +} +.devicon-knexjs-plain-wordmark:before { + content: "\eab3"; +} +.devicon-knockout-plain-wordmark:before { + content: "\eab4"; +} +.devicon-kotlin-plain:before { + content: "\eab5"; +} +.devicon-kotlin-plain-wordmark:before { + content: "\eab6"; +} +.devicon-krakenjs-plain:before { + content: "\eab7"; +} +.devicon-krakenjs-plain-wordmark:before { + content: "\eab8"; +} +.devicon-ktor-plain:before { + content: "\eab9"; +} +.devicon-ktor-plain-wordmark:before { + content: "\eaba"; +} +.devicon-kubernetes-line:before { + content: "\eabb"; +} +.devicon-kubernetes-line-wordmark:before { + content: "\eabc"; +} +.devicon-kubernetes-plain:before { + content: "\eabd"; +} +.devicon-kubernetes-plain-wordmark:before { + content: "\eabe"; +} +.devicon-labview-plain:before { + content: "\eabf"; +} +.devicon-labview-plain-wordmark:before { + content: "\eac0"; +} +.devicon-laravel-line:before { + content: "\eac1"; +} +.devicon-laravel-line-wordmark:before { + content: "\eac2"; +} +.devicon-laravel-original:before { + content: "\eac3"; +} +.devicon-laravel-original-wordmark:before { + content: "\eac4"; +} +.devicon-latex-original:before { + content: "\eac5"; +} +.devicon-less-plain-wordmark:before { + content: "\eac6"; +} +.devicon-linkedin-plain:before { + content: "\eac7"; +} +.devicon-linkedin-plain-wordmark:before { + content: "\eac8"; +} +.devicon-linux-plain:before { + content: "\eac9"; +} +.devicon-liquibase-original:before { + content: "\eaca"; +} +.devicon-liquibase-original-wordmark:before { + content: "\eacb"; +} +.devicon-livewire-plain:before { + content: "\eacc"; +} +.devicon-livewire-plain-wordmark:before { + content: "\eacd"; +} +.devicon-llvm-plain:before { + content: "\eace"; +} +.devicon-lodash-plain:before { + content: "\eacf"; +} +.devicon-logstash-plain:before { + content: "\ead0"; +} +.devicon-logstash-plain-wordmark:before { + content: "\ead1"; +} +.devicon-lua-line:before { + content: "\ead2"; +} +.devicon-lua-plain:before { + content: "\ead3"; +} +.devicon-lumen-original:before { + content: "\ead4"; +} +.devicon-magento-line:before { + content: "\ead5"; +} +.devicon-magento-line-wordmark:before { + content: "\ead6"; +} +.devicon-magento-original:before { + content: "\ead7"; +} +.devicon-magento-plain-wordmark:before { + content: "\ead8"; +} +.devicon-mariadb-original:before { + content: "\ead9"; +} +.devicon-mariadb-original-wordmark:before { + content: "\eada"; +} +.devicon-markdown-original:before { + content: "\eadb"; +} +.devicon-materializecss-plain:before { + content: "\eadc"; +} +.devicon-materialui-plain:before { + content: "\eadd"; +} +.devicon-matlab-line:before { + content: "\eade"; +} +.devicon-matlab-plain:before { + content: "\eadf"; +} +.devicon-matplotlib-plain:before { + content: "\eae0"; +} +.devicon-matplotlib-plain-wordmark:before { + content: "\eae1"; +} +.devicon-maven-plain:before { + content: "\eae2"; +} +.devicon-maven-plain-wordmark:before { + content: "\eae3"; +} +.devicon-maya-plain:before { + content: "\eae4"; +} +.devicon-maya-plain-wordmark:before { + content: "\eae5"; +} +.devicon-meteor-plain:before { + content: "\eae6"; +} +.devicon-meteor-plain-wordmark:before { + content: "\eae7"; +} +.devicon-microsoftsqlserver-line:before { + content: "\eae8"; +} +.devicon-microsoftsqlserver-line-wordmark:before { + content: "\eae9"; } -.devicon-cmake-plain:before { - content: "\ea2a"; +.devicon-microsoftsqlserver-plain:before { + content: "\eaea"; } -.devicon-dropwizard-plain:before { - content: "\ea2b"; +.devicon-microsoftsqlserver-plain-wordmark:before { + content: "\eaeb"; } -.devicon-nuget-original-wordmark:before { - content: "\ea2c"; +.devicon-minitab-plain:before { + content: "\eaec"; } -.devicon-nuget-original:before { - content: "\ea2d"; +.devicon-mithril-line:before { + content: "\eaed"; } -.devicon-podman-plain-wordmark:before { - content: "\ea2e"; +.devicon-mithril-original:before { + content: "\eaee"; } -.devicon-podman-plain:before { - content: "\ea2f"; +.devicon-mobx-plain:before { + content: "\eaef"; } -.devicon-networkx-original:before { - content: "\ea30"; +.devicon-mocha-plain:before { + content: "\eaf0"; } -.devicon-sqlite-plain-wordmark:before { - content: "\ea31"; +.devicon-modx-plain:before { + content: "\eaf1"; } -.devicon-sqlite-plain:before { - content: "\ea32"; +.devicon-modx-plain-wordmark:before { + content: "\eaf2"; } -.devicon-discordjs-plain-wordmark:before { - content: "\ea33"; +.devicon-moleculer-original:before { + content: "\eaf3"; } -.devicon-discordjs-plain:before { - content: "\ea34"; +.devicon-moleculer-original-wordmark:before { + content: "\eaf4"; } -.devicon-unrealengine-original-wordmark:before { - content: "\ea35"; +.devicon-mongodb-plain:before { + content: "\eaf5"; } -.devicon-unrealengine-original:before { - content: "\ea36"; +.devicon-mongodb-plain-wordmark:before { + content: "\eaf6"; } -.devicon-django-plain-wordmark:before { - content: "\ea37"; +.devicon-mongoose-original:before { + content: "\eaf7"; } -.devicon-django-plain:before { - content: "\ea38"; +.devicon-mongoose-original-wordmark:before { + content: "\eaf8"; } -.devicon-devicon-line-wordmark:before { - content: "\ea39"; +.devicon-moodle-plain:before { + content: "\eaf9"; } -.devicon-devicon-line:before { - content: "\ea3a"; +.devicon-moodle-plain-wordmark:before { + content: "\eafa"; } -.devicon-devicon-plain-wordmark:before { - content: "\ea3b"; +.devicon-msdos-line:before { + content: "\eafb"; } -.devicon-devicon-plain:before { - content: "\ea3c"; +.devicon-msdos-plain:before { + content: "\eafc"; } -.devicon-bootstrap-plain-wordmark:before { - content: "\ea3d"; +.devicon-mysql-original:before { + content: "\eafd"; } -.devicon-bootstrap-plain:before { - content: "\ea3e"; +.devicon-mysql-plain-wordmark:before { + content: "\eafe"; } -.devicon-solidity-plain:before { - content: "\ea3f"; +.devicon-nano-plain:before { + content: "\eaff"; } -.devicon-polygon-plain:before { - content: "\ea40"; +.devicon-nano-plain-wordmark:before { + content: "\eb00"; } -.devicon-maya-plain-wordmark:before { - content: "\ea41"; +.devicon-neo4j-plain:before { + content: "\eb01"; } -.devicon-maya-plain:before { - content: "\ea42"; +.devicon-neo4j-plain-wordmark:before { + content: "\eb02"; } -.devicon-xcode-plain:before { - content: "\ea43"; +.devicon-neovim-line:before { + content: "\eb03"; } -.devicon-selenium-original:before { - content: "\ea44"; +.devicon-neovim-line-wordmark:before { + content: "\eb04"; } -.devicon-ifttt-original:before { - content: "\ea45"; +.devicon-neovim-plain:before { + content: "\eb05"; } -.devicon-pytorch-plain-wordmark:before { - content: "\ea46"; +.devicon-neovim-plain-wordmark:before { + content: "\eb06"; } -.devicon-pytorch-original:before { - content: "\ea47"; +.devicon-nestjs-line:before { + content: "\eb07"; } -.devicon-xamarin-original-wordmark:before { - content: "\ea48"; +.devicon-nestjs-line-wordmark:before { + content: "\eb08"; } -.devicon-xamarin-original:before { - content: "\ea49"; +.devicon-nestjs-original:before { + content: "\eb09"; } -.devicon-hugo-plain-wordmark:before { - content: "\ea4a"; +.devicon-nestjs-original-wordmark:before { + content: "\eb0a"; } -.devicon-hugo-plain:before { - content: "\ea4b"; +.devicon-netlify-plain:before { + content: "\eb0b"; } -.devicon-grafana-original-wordmark:before { - content: "\ea4c"; +.devicon-netlify-plain-wordmark:before { + content: "\eb0c"; } -.devicon-grafana-original:before { - content: "\ea4d"; +.devicon-networkx-line:before { + content: "\eb0d"; } -.devicon-ansible-plain-wordmark:before { - content: "\ea4e"; +.devicon-networkx-line-wordmark:before { + content: "\eb0e"; } -.devicon-ansible-plain:before { - content: "\ea4f"; +.devicon-networkx-plain:before { + content: "\eb0f"; } -.devicon-shotgrid-original-wordmark:before { - content: "\ea50"; +.devicon-networkx-plain-wordmark:before { + content: "\eb10"; } -.devicon-shotgrid-plain:before { - content: "\ea51"; +.devicon-nextjs-line:before { + content: "\eb11"; } -.devicon-androidstudio-plain-wordmark:before { - content: "\ea52"; +.devicon-nextjs-line-wordmark:before { + content: "\eb12"; } -.devicon-androidstudio-plain:before { - content: "\ea53"; +.devicon-nextjs-original-wordmark:before { + content: "\eb13"; } -.devicon-eslint-original-wordmark:before { - content: "\ea54"; +.devicon-nextjs-plain:before { + content: "\eb14"; } -.devicon-eslint-original:before { - content: "\ea55"; +.devicon-nginx-original:before { + content: "\eb15"; } -.devicon-latex-original:before { - content: "\ea56"; +.devicon-ngrx-plain:before { + content: "\eb16"; } -.devicon-vuetify-plain:before { - content: "\ea57"; +.devicon-nhibernate-line:before { + content: "\eb17"; } -.devicon-vuetify-line:before { - content: "\ea58"; +.devicon-nhibernate-line-wordmark:before { + content: "\eb18"; } -.devicon-sdl-plain:before { - content: "\ea59"; +.devicon-nhibernate-plain:before { + content: "\eb19"; } -.devicon-bitbucket-original-wordmark:before { - content: "\ea5a"; +.devicon-nhibernate-plain-wordmark:before { + content: "\eb1a"; } -.devicon-bitbucket-original:before { - content: "\ea5b"; +.devicon-nimble-plain:before { + content: "\eb1b"; } -.devicon-confluence-original-wordmark:before { - content: "\ea5c"; +.devicon-nim-line:before { + content: "\eb1c"; } -.devicon-confluence-original:before { - content: "\ea5d"; +.devicon-nim-line-wordmark:before { + content: "\eb1d"; } -.devicon-fedora-plain:before { - content: "\ea5e"; +.devicon-nim-plain:before { + content: "\eb1e"; } -.devicon-rect-plain:before { - content: "\ea5f"; +.devicon-nim-plain-wordmark:before { + content: "\eb1f"; } -.devicon-bamboo-original-wordmark:before { - content: "\ea60"; +.devicon-nixos-plain:before { + content: "\eb20"; } -.devicon-bamboo-original:before { - content: "\ea61"; +.devicon-nixos-plain-wordmark:before { + content: "\eb21"; } -.devicon-jira-plain-wordmark:before { - content: "\ea62"; +.devicon-nodejs-line:before { + content: "\eb22"; } -.devicon-jira-plain:before { - content: "\ea63"; +.devicon-nodejs-line-wordmark:before { + content: "\eb23"; } -.devicon-terraform-plain-wordmark:before { - content: "\ea64"; +.devicon-nodejs-plain:before { + content: "\eb24"; } -.devicon-terraform-plain:before { - content: "\ea65"; +.devicon-nodejs-plain-wordmark:before { + content: "\eb25"; } -.devicon-webflow-original:before { - content: "\ea66"; +.devicon-nodemon-line:before { + content: "\eb26"; } -.devicon-gentoo-plain:before { - content: "\ea67"; +.devicon-nodemon-plain:before { + content: "\eb27"; } -.devicon-gentoo-plain-wordmark:before { - content: "\ea68"; +.devicon-nodewebkit-line:before { + content: "\eb28"; } -.devicon-opensuse-plain-wordmark:before { - content: "\ea69"; +.devicon-nodewebkit-line-wordmark:before { + content: "\eb29"; } -.devicon-opensuse-plain:before { - content: "\ea6a"; +.devicon-nodewebkit-plain:before { + content: "\eb2a"; } -.devicon-storybook-plain-wordmark:before { - content: "\e900"; +.devicon-nodewebkit-plain-wordmark:before { + content: "\eb2b"; } -.devicon-storybook-plain:before { - content: "\e901"; +.devicon-nomad-original:before { + content: "\eb2c"; } -.devicon-pandas-original-wordmark:before { - content: "\e902"; +.devicon-nomad-plain-wordmark:before { + content: "\eb2d"; } -.devicon-pandas-original:before { - content: "\e903"; +.devicon-norg-plain:before { + content: "\eb2e"; } -.devicon-centos-plain-wordmark:before { - content: "\e904"; +.devicon-notion-line:before { + content: "\eb2f"; } -.devicon-centos-plain:before { - content: "\e905"; +.devicon-notion-plain:before { + content: "\eb30"; } -.devicon-azure-plain-wordmark:before { - content: "\e906"; +.devicon-npm-original-wordmark:before { + content: "\eb31"; } -.devicon-azure-plain:before { - content: "\e907"; +.devicon-nuget-original:before { + content: "\eb32"; } -.devicon-go-line:before { - content: "\e908"; +.devicon-nuget-original-wordmark:before { + content: "\eb33"; } -.devicon-go-plain:before { - content: "\e909"; +.devicon-numpy-line:before { + content: "\eb34"; } -.devicon-go-original-wordmark:before { - content: "\e90a"; +.devicon-numpy-line-wordmark:before { + content: "\eb35"; } -.devicon-msdos-line:before { - content: "\e90f"; +.devicon-numpy-plain:before { + content: "\eb36"; } -.devicon-arduino-plain-wordmark:before { - content: "\e910"; +.devicon-numpy-plain-wordmark:before { + content: "\eb37"; } -.devicon-arduino-plain:before { - content: "\e911"; +.devicon-nuxtjs-plain:before { + content: "\eb38"; } -.devicon-qt-original:before { - content: "\e912"; +.devicon-nuxtjs-plain-wordmark:before { + content: "\eb39"; } -.devicon-gcc-plain:before { - content: "\e913"; +.devicon-oauth-plain:before { + content: "\eb3a"; } -.devicon-svelte-plain-wordmark:before { - content: "\e914"; +.devicon-objectivec-plain:before { + content: "\eb3b"; } -.devicon-svelte-plain:before { - content: "\e915"; +.devicon-ocaml-plain:before { + content: "\eb3c"; } -.devicon-slack-plain-wordmark:before { - content: "\e918"; +.devicon-ocaml-plain-wordmark:before { + content: "\eb3d"; } -.devicon-slack-plain:before { - content: "\e919"; +.devicon-ohmyzsh-plain:before { + content: "\eb3e"; } -.devicon-canva-original:before { - content: "\e91a"; +.devicon-okta-plain:before { + content: "\eb3f"; } -.devicon-jamstack-plain-wordmark:before { - content: "\e91b"; +.devicon-okta-plain-wordmark:before { + content: "\eb40"; } -.devicon-jamstack-original:before { - content: "\e91c"; +.devicon-openal-plain:before { + content: "\eb41"; } -.devicon-denojs-original-wordmark:before { - content: "\e91d"; +.devicon-openapi-line:before { + content: "\eb42"; } -.devicon-denojs-original:before { - content: "\e91e"; +.devicon-openapi-line-wordmark:before { + content: "\eb43"; } -.devicon-apachekafka-original-wordmark:before { - content: "\e91f"; +.devicon-openapi-plain:before { + content: "\eb44"; } -.devicon-apachekafka-original:before { - content: "\e920"; +.devicon-openapi-plain-wordmark:before { + content: "\eb45"; } -.devicon-filezilla-plain-wordmark:before { - content: "\e921"; +.devicon-opencl-line:before { + content: "\eb46"; } -.devicon-filezilla-plain:before { - content: "\e922"; +.devicon-opencl-plain:before { + content: "\eb47"; } -.devicon-opengl-plain:before { - content: "\e923"; +.devicon-opencv-plain:before { + content: "\eb48"; } -.devicon-putty-plain:before { - content: "\e924"; +.devicon-opencv-plain-wordmark:before { + content: "\eb49"; } -.devicon-opera-plain-wordmark:before { - content: "\e925"; +.devicon-opengl-plain:before { + content: "\eb4a"; } -.devicon-opera-plain:before { - content: "\e926"; +.devicon-openstack-original:before { + content: "\eb4b"; } -.devicon-subversion-original:before { - content: "\e927"; +.devicon-openstack-plain-wordmark:before { + content: "\eb4c"; } -.devicon-tortoisegit-line:before { - content: "\e928"; +.devicon-opensuse-original:before { + content: "\eb4d"; } -.devicon-tortoisegit-plain:before { - content: "\e929"; +.devicon-opensuse-original-wordmark:before { + content: "\eb4e"; } -.devicon-towergit-plain-wordmark:before { - content: "\e92a"; +.devicon-opentelemetry-plain:before { + content: "\eb4f"; } -.devicon-towergit-plain:before { - content: "\e92b"; +.devicon-opentelemetry-plain-wordmark:before { + content: "\eb50"; } -.devicon-unity-original-wordmark:before { - content: "\e92c"; +.devicon-opera-plain:before { + content: "\eb51"; } -.devicon-unity-original:before { - content: "\e92d"; +.devicon-opera-plain-wordmark:before { + content: "\eb52"; } -.devicon-neo4j-plain-wordmark:before { - content: "\e92e"; +.devicon-oracle-original:before { + content: "\eb53"; } -.devicon-neo4j-plain:before { - content: "\e92f"; +.devicon-ory-original:before { + content: "\eb54"; } -.devicon-nuxtjs-plain-wordmark:before { - content: "\e930"; +.devicon-ory-original-wordmark:before { + content: "\eb55"; } -.devicon-nuxtjs-plain:before { - content: "\e931"; +.devicon-p5js-original:before { + content: "\eb56"; } -.devicon-socketio-original-wordmark:before { - content: "\e932"; +.devicon-packer-line:before { + content: "\eb57"; } -.devicon-socketio-original:before { - content: "\e933"; +.devicon-packer-line-wordmark:before { + content: "\eb58"; } -.devicon-processing-plain-wordmark:before { - content: "\e934"; +.devicon-packer-plain:before { + content: "\eb59"; } -.devicon-processing-plain:before { - content: "\e935"; +.devicon-packer-plain-wordmark:before { + content: "\eb5a"; } -.devicon-feathersjs-original:before { - content: "\e938"; +.devicon-pandas-line:before { + content: "\eb5b"; } -.devicon-adonisjs-original-wordmark:before { - content: "\e939"; +.devicon-pandas-line-wordmark:before { + content: "\eb5c"; } -.devicon-adonisjs-original:before { - content: "\e93a"; +.devicon-pandas-plain:before { + content: "\eb5d"; } -.devicon-numpy-original-wordmark:before { - content: "\e93b"; +.devicon-pandas-plain-wordmark:before { + content: "\eb5e"; } -.devicon-numpy-original:before { - content: "\e93c"; +.devicon-perl-plain:before { + content: "\eb5f"; } -.devicon-matlab-line:before { - content: "\e93d"; +.devicon-pfsense-original:before { + content: "\eb60"; } -.devicon-matlab-plain:before { - content: "\e93e"; +.devicon-pfsense-original-wordmark:before { + content: "\eb61"; } -.devicon-clojurescript-plain:before { - content: "\e93f"; +.devicon-phalcon-plain:before { + content: "\eb62"; } -.devicon-threejs-original-wordmark:before { - content: "\e940"; +.devicon-phoenix-original:before { + content: "\eb63"; } -.devicon-threejs-original:before { - content: "\e941"; +.devicon-phoenix-plain-wordmark:before { + content: "\eb64"; } -.devicon-markdown-original:before { - content: "\e942"; +.devicon-photonengine-plain:before { + content: "\eb65"; } -.devicon-nixos-plain-wordmark:before { - content: "\e992"; +.devicon-photoshop-line:before { + content: "\eb66"; } -.devicon-nixos-plain:before { - content: "\e9b2"; +.devicon-photoshop-plain:before { + content: "\eb67"; } -.devicon-perl-plain:before { - content: "\e9b3"; +.devicon-php-plain:before { + content: "\eb68"; } -.devicon-tensorflow-line-wordmark:before { - content: "\e9b4"; +.devicon-phpstorm-plain:before { + content: "\eb69"; } -.devicon-tensorflow-line:before { - content: "\e9b5"; +.devicon-phpstorm-plain-wordmark:before { + content: "\eb6a"; } -.devicon-tensorflow-original-wordmark:before { - content: "\e9b6"; +.devicon-playwright-plain:before { + content: "\eb6b"; } -.devicon-tensorflow-original:before { - content: "\e9b7"; +.devicon-plotly-plain:before { + content: "\eb6c"; } -.devicon-zig-plain-wordmark:before { - content: "\e9b8"; +.devicon-plotly-plain-wordmark:before { + content: "\eb6d"; } -.devicon-zig-original:before { - content: "\e9b9"; +.devicon-pnpm-plain:before { + content: "\eb6e"; } -.devicon-raspberrypi-line-wordmark:before { - content: "\e9ba"; +.devicon-pnpm-plain-wordmark:before { + content: "\eb6f"; } -.devicon-raspberrypi-line:before { - content: "\e9bb"; +.devicon-podman-plain:before { + content: "\eb70"; } -.devicon-embeddedc-plain-wordmark:before { - content: "\e9bc"; +.devicon-podman-plain-wordmark:before { + content: "\eb71"; } -.devicon-embeddedc-plain:before { - content: "\e9bd"; +.devicon-poetry-plain:before { + content: "\eb72"; } -.devicon-labview-plain-wordmark:before { - content: "\e9be"; +.devicon-polygon-plain:before { + content: "\eb73"; } -.devicon-labview-plain:before { - content: "\e9bf"; +.devicon-polygon-plain-wordmark:before { + content: "\eb74"; } -.devicon-modx-plain-wordmark:before { - content: "\e9c0"; +.devicon-portainer-original:before { + content: "\eb75"; } -.devicon-modx-plain:before { - content: "\e9c1"; +.devicon-portainer-original-wordmark:before { + content: "\eb76"; } -.devicon-knockout-plain-wordmark:before { - content: "\e9c2"; +.devicon-postcss-original:before { + content: "\eb77"; } -.devicon-rstudio-plain:before { - content: "\e9c3"; +.devicon-postcss-plain-wordmark:before { + content: "\eb78"; } -.devicon-phalcon-plain:before { - content: "\e9c4"; +.devicon-postgresql-plain:before { + content: "\eb79"; } -.devicon-minitab-plain:before { - content: "\e9c5"; +.devicon-postgresql-plain-wordmark:before { + content: "\eb7a"; } -.devicon-bulma-plain:before { - content: "\e9c6"; +.devicon-postman-plain:before { + content: "\eb7b"; } -.devicon-spss-plain:before { - content: "\e9c7"; +.devicon-postman-plain-wordmark:before { + content: "\eb7c"; } -.devicon-karma-plain:before { - content: "\e9ca"; +.devicon-powershell-plain:before { + content: "\eb7d"; } -.devicon-jest-plain:before { - content: "\e9cb"; +.devicon-premierepro-plain:before { + content: "\eb7e"; } -.devicon-circleci-plain-wordmark:before { - content: "\e9cc"; +.devicon-prisma-original:before { + content: "\eb7f"; } -.devicon-circleci-plain:before { - content: "\e9cd"; +.devicon-prisma-original-wordmark:before { + content: "\eb80"; } -.devicon-codecov-plain:before { - content: "\e9ce"; +.devicon-processing-plain:before { + content: "\eb81"; } -.devicon-magento-line:before { - content: "\e9cf"; +.devicon-processing-plain-wordmark:before { + content: "\eb82"; } -.devicon-magento-original-wordmark:before { - content: "\e9d0"; +.devicon-prolog-plain:before { + content: "\eb83"; } -.devicon-magento-original:before { - content: "\e9d1"; +.devicon-prolog-plain-wordmark:before { + content: "\eb84"; } -.devicon-shopware-original-wordmark:before { - content: "\e9d2"; +.devicon-prometheus-line:before { + content: "\eb85"; } -.devicon-shopware-original:before { - content: "\e9d3"; +.devicon-prometheus-line-wordmark:before { + content: "\eb86"; } -.devicon-salesforce-plain:before { - content: "\e9d4"; +.devicon-prometheus-original:before { + content: "\eb87"; } -.devicon-vuestorefront-plain:before { - content: "\e9d5"; +.devicon-prometheus-plain-wordmark:before { + content: "\eb88"; } -.devicon-unix-original:before { - content: "\e9d6"; +.devicon-protractor-line:before { + content: "\eb89"; } -.devicon-godot-plain-wordmark:before { - content: "\e9d7"; +.devicon-protractor-line-wordmark:before { + content: "\eb8a"; } -.devicon-godot-plain:before { - content: "\e9d8"; +.devicon-protractor-plain:before { + content: "\eb8b"; } -.devicon-vscode-plain-wordmark:before { - content: "\e9d9"; +.devicon-protractor-plain-wordmark:before { + content: "\eb8c"; } -.devicon-vscode-plain:before { - content: "\e9da"; +.devicon-pulsar-original:before { + content: "\eb8d"; } -.devicon-julia-plain-wordmark:before { - content: "\e9db"; +.devicon-pulsar-original-wordmark:before { + content: "\eb8e"; } -.devicon-julia-plain:before { - content: "\e9dc"; +.devicon-pulumi-plain:before { + content: "\eb8f"; } -.devicon-crystal-original-wordmark:before { - content: "\e9dd"; +.devicon-pulumi-plain-wordmark:before { + content: "\eb90"; } -.devicon-crystal-original:before { - content: "\e9de"; +.devicon-puppeteer-plain:before { + content: "\eb91"; } -.devicon-tailwindcss-plain:before { - content: "\e9df"; +.devicon-purescript-original:before { + content: "\eb92"; } -.devicon-tailwindcss-original-wordmark:before { - content: "\e9e0"; +.devicon-purescript-original-wordmark:before { + content: "\eb93"; } -.devicon-weblate-plain-wordmark:before { - content: "\e999"; +.devicon-putty-plain:before { + content: "\eb94"; } -.devicon-weblate-plain:before { - content: "\e99a"; +.devicon-pycharm-plain:before { + content: "\eb95"; } -.devicon-thealgorithms-plain-wordmark:before { - content: "\e99b"; +.devicon-pycharm-plain-wordmark:before { + content: "\eb96"; } -.devicon-thealgorithms-plain:before { - content: "\e99c"; +.devicon-pypi-plain:before { + content: "\eb97"; } -.devicon-spring-plain-wordmark:before { - content: "\e99d"; +.devicon-pypi-plain-wordmark:before { + content: "\eb98"; } -.devicon-spring-plain:before { - content: "\e99e"; +.devicon-pyscript-plain-wordmark:before { + content: "\eb99"; } -.devicon-rails-plain-wordmark:before { - content: "\e99f"; +.devicon-pytest-plain:before { + content: "\eb9a"; } -.devicon-rails-plain:before { - content: "\e9a0"; +.devicon-pytest-plain-wordmark:before { + content: "\eb9b"; } -.devicon-phoenix-plain-wordmark:before { - content: "\e9a1"; +.devicon-python-plain:before { + content: "\eb9c"; } -.devicon-phoenix-plain:before { - content: "\e9a2"; +.devicon-python-plain-wordmark:before { + content: "\eb9d"; } -.devicon-nextjs-original-wordmark:before { - content: "\e9a3"; +.devicon-pytorch-original:before { + content: "\eb9e"; } -.devicon-nextjs-line:before { - content: "\e9a4"; +.devicon-pytorch-plain-wordmark:before { + content: "\eb9f"; } -.devicon-nextjs-original:before { - content: "\e9a5"; +.devicon-qodana-plain:before { + content: "\eba0"; } -.devicon-lua-plain-wordmark:before { - content: "\e9a6"; +.devicon-qodana-plain-wordmark:before { + content: "\eba1"; } -.devicon-lua-plain:before { - content: "\e9a7"; +.devicon-qt-original:before { + content: "\eba2"; } -.devicon-graphql-plain-wordmark:before { - content: "\e9a8"; +.devicon-quarkus-plain:before { + content: "\eba3"; } -.devicon-graphql-plain:before { - content: "\e9a9"; +.devicon-quarkus-plain-wordmark:before { + content: "\eba4"; } -.devicon-gitter-plain-wordmark:before { - content: "\e9aa"; +.devicon-quasar-plain:before { + content: "\eba5"; } -.devicon-gitter-plain:before { - content: "\e9ab"; +.devicon-quasar-plain-wordmark:before { + content: "\eba6"; } -.devicon-figma-plain:before { - content: "\e9ac"; +.devicon-qwik-plain:before { + content: "\eba7"; } -.devicon-digitalocean-plain-wordmark:before { - content: "\e9ad"; +.devicon-qwik-plain-wordmark:before { + content: "\eba8"; } -.devicon-digitalocean-plain:before { - content: "\e9ae"; +.devicon-rabbitmq-original:before { + content: "\eba9"; } -.devicon-dotnetcore-plain:before { - content: "\e9af"; +.devicon-rabbitmq-plain-wordmark:before { + content: "\ebaa"; } -.devicon-dart-plain-wordmark:before { - content: "\e9b0"; +.devicon-rails-plain:before { + content: "\ebab"; } -.devicon-dart-plain:before { - content: "\e9b1"; +.devicon-rails-plain-wordmark:before { + content: "\ebac"; } -.devicon-r-plain:before { - content: "\e98e"; +.devicon-railway-line:before { + content: "\ebad"; } -.devicon-r-original:before { - content: "\e98f"; +.devicon-railway-line-wordmark:before { + content: "\ebae"; } -.devicon-ocaml-plain-wordmark:before { - content: "\e990"; +.devicon-railway-original:before { + content: "\ebaf"; } -.devicon-ocaml-plain:before { - content: "\e991"; +.devicon-railway-original-wordmark:before { + content: "\ebb0"; } -.devicon-jupyter-plain-wordmark:before { - content: "\e993"; +.devicon-rancher-line:before { + content: "\ebb1"; } -.devicon-jupyter-plain:before { - content: "\e994"; +.devicon-rancher-line-wordmark:before { + content: "\ebb2"; } -.devicon-fsharp-plain:before { - content: "\e995"; +.devicon-rancher-original:before { + content: "\ebb3"; } -.devicon-elixir-plain-wordmark:before { - content: "\e996"; +.devicon-rancher-plain-wordmark:before { + content: "\ebb4"; } -.devicon-elixir-plain:before { - content: "\e997"; +.devicon-raspberrypi-line:before { + content: "\ebb5"; } -.devicon-aarch64-plain:before { - content: "\e998"; +.devicon-raspberrypi-line-wordmark:before { + content: "\ebb6"; } -.devicon-xd-line:before { - content: "\e97a"; +.devicon-raspberrypi-plain:before { + content: "\ebb7"; } -.devicon-xd-plain:before { - content: "\e97b"; +.devicon-raspberrypi-plain-wordmark:before { + content: "\ebb8"; } -.devicon-uwsgi-plain:before { - content: "\e97c"; +.devicon-reach-plain:before { + content: "\ebb9"; } -.devicon-microsoftsqlserver-plain-wordmark:before { - content: "\e97d"; +.devicon-reactbootstrap-original:before { + content: "\ebba"; } -.devicon-microsoftsqlserver-plain:before { - content: "\e97e"; +.devicon-reactnavigation-original:before { + content: "\ebbb"; } -.devicon-sqlalchemy-original-wordmark:before { - content: "\e97f"; +.devicon-react-original:before { + content: "\ebbc"; } -.devicon-sqlalchemy-plain:before { - content: "\e980"; +.devicon-react-original-wordmark:before { + content: "\ebbd"; } -.devicon-rocksdb-plain:before { - content: "\e981"; +.devicon-reactrouter-plain:before { + content: "\ebbe"; } -.devicon-objectivec-plain:before { - content: "\e982"; +.devicon-reactrouter-plain-wordmark:before { + content: "\ebbf"; } -.devicon-kubernetes-plain-wordmark:before { - content: "\e983"; +.devicon-readthedocs-line:before { + content: "\ebc0"; } -.devicon-kubernetes-plain:before { - content: "\e984"; +.devicon-readthedocs-original:before { + content: "\ebc1"; } -.devicon-googlecloud-plain-wordmark:before { - content: "\e985"; +.devicon-readthedocs-original-wordmark:before { + content: "\ebc2"; } -.devicon-googlecloud-plain:before { - content: "\e986"; +.devicon-realm-plain:before { + content: "\ebc3"; } -.devicon-flask-original-wordmark:before { - content: "\e987"; +.devicon-realm-plain-wordmark:before { + content: "\ebc4"; } -.devicon-flask-original:before { - content: "\e988"; +.devicon-rect-plain:before { + content: "\ebc5"; } -.devicon-firebase-plain-wordmark:before { - content: "\e989"; +.devicon-redhat-plain:before { + content: "\ebc6"; } -.devicon-firebase-plain:before { - content: "\e98a"; +.devicon-redhat-plain-wordmark:before { + content: "\ebc7"; } -.devicon-eleventy-plain:before { - content: "\e98b"; +.devicon-redis-plain:before { + content: "\ebc8"; } -.devicon-appwrite-plain-wordmark:before { - content: "\e98c"; +.devicon-redis-plain-wordmark:before { + content: "\ebc9"; } -.devicon-appwrite-plain:before { - content: "\e98d"; +.devicon-redux-original:before { + content: "\ebca"; } -.devicon-bash-plain:before { - content: "\e979"; +.devicon-renpy-plain:before { + content: "\ebcb"; } -.devicon-woocommerce-plain-wordmark:before { - content: "\e966"; +.devicon-replit-original:before { + content: "\ebcc"; } -.devicon-woocommerce-plain:before { - content: "\e967"; +.devicon-replit-plain-wordmark:before { + content: "\ebcd"; } -.devicon-typo3-plain-wordmark:before { - content: "\e968"; +.devicon-rider-plain:before { + content: "\ebce"; } -.devicon-typo3-plain:before { - content: "\e969"; +.devicon-rider-plain-wordmark:before { + content: "\ebcf"; } -.devicon-premierepro-plain:before { - content: "\e96a"; +.devicon-r-line:before { + content: "\ebd0"; } -.devicon-nestjs-plain-wordmark:before { - content: "\e96b"; +.devicon-rocksdb-line:before { + content: "\ebd1"; } -.devicon-nestjs-plain:before { - content: "\e96c"; +.devicon-rocksdb-plain:before { + content: "\ebd2"; } -.devicon-materialui-plain:before { - content: "\e96d"; +.devicon-rockylinux-original:before { + content: "\ebd3"; } -.devicon-kotlin-plain-wordmark:before { - content: "\e96e"; +.devicon-rockylinux-plain-wordmark:before { + content: "\ebd4"; } -.devicon-kotlin-plain:before { - content: "\e96f"; +.devicon-rollup-line:before { + content: "\ebd5"; } -.devicon-jenkins-plain:before { - content: "\e970"; +.devicon-rollup-line-wordmark:before { + content: "\ebd6"; } -.devicon-jenkins-line:before { - content: "\e971"; +.devicon-rollup-plain:before { + content: "\ebd7"; } -.devicon-haxe-plain:before { - content: "\e972"; +.devicon-rollup-plain-wordmark:before { + content: "\ebd8"; } -.devicon-gatsby-plain-wordmark:before { - content: "\e973"; +.devicon-ros-original:before { + content: "\ebd9"; } -.devicon-gatsby-plain:before { - content: "\e974"; +.devicon-ros-original-wordmark:before { + content: "\ebda"; } -.devicon-flutter-plain:before { - content: "\e975"; +.devicon-r-plain:before { + content: "\ebdb"; } -.devicon-composer-line-wordmark:before { - content: "\e976"; +.devicon-rspec-line:before { + content: "\ebdc"; } -.devicon-composer-line:before { - content: "\e977"; +.devicon-rspec-line-wordmark:before { + content: "\ebdd"; } -.devicon-aftereffects-plain:before { - content: "\e978"; +.devicon-rspec-plain:before { + content: "\ebde"; } -.devicon-yunohost-plain:before { - content: "\e963"; +.devicon-rspec-plain-wordmark:before { + content: "\ebdf"; } -.devicon-redux-original:before { - content: "\e964"; +.devicon-rstudio-plain:before { + content: "\ebe0"; } -.devicon-clojure-line:before { - content: "\e962"; +.devicon-rubymine-plain:before { + content: "\ebe1"; } -.devicon-mocha-plain:before { - content: "\e961"; +.devicon-rubymine-plain-wordmark:before { + content: "\ebe2"; } -.devicon-haskell-plain:before { - content: "\e95f"; +.devicon-ruby-plain:before { + content: "\ebe3"; } -.devicon-haskell-plain-wordmark:before { - content: "\e960"; +.devicon-ruby-plain-wordmark:before { + content: "\ebe4"; } -.devicon-codepen-original-wordmark:before { - content: "\e95d"; +.devicon-rust-line:before { + content: "\ebe5"; } -.devicon-codepen-plain:before { - content: "\e95e"; +.devicon-rust-original:before { + content: "\ebe6"; } -.devicon-groovy-plain:before { - content: "\e958"; +.devicon-rxjs-plain:before { + content: "\ebe7"; } -.devicon-rust-plain:before { - content: "\e959"; +.devicon-safari-line:before { + content: "\ebe8"; } -.devicon-scala-plain-wordmark:before { - content: "\e95a"; +.devicon-safari-line-wordmark:before { + content: "\ebe9"; } -.devicon-scala-plain:before { - content: "\e95b"; +.devicon-safari-plain:before { + content: "\ebea"; } -.devicon-grails-plain:before { - content: "\e95c"; +.devicon-safari-plain-wordmark:before { + content: "\ebeb"; } -.devicon-sketch-line-wordmark:before { - content: "\e94c"; +.devicon-salesforce-plain:before { + content: "\ebec"; } -.devicon-sketch-line:before { - content: "\e94d"; +.devicon-sanity-plain:before { + content: "\ebed"; } -.devicon-npm-original-wordmark:before { - content: "\e952"; +.devicon-sass-original:before { + content: "\ebee"; } -.devicon-ionic-original-wordmark:before { - content: "\e953"; +.devicon-scala-plain:before { + content: "\ebef"; } -.devicon-ionic-original:before { - content: "\e954"; +.devicon-scala-plain-wordmark:before { + content: "\ebf0"; } -.devicon-ember-original-wordmark:before { - content: "\e955"; +.devicon-scalingo-line:before { + content: "\ebf1"; } -.devicon-electron-original-wordmark:before { - content: "\e956"; +.devicon-scalingo-line-wordmark:before { + content: "\ebf2"; } -.devicon-electron-original:before { - content: "\e957"; +.devicon-scalingo-plain:before { + content: "\ebf3"; } -.devicon-vagrant-plain-wordmark:before { - content: "\e94e"; +.devicon-scalingo-plain-wordmark:before { + content: "\ebf4"; } -.devicon-vagrant-plain:before { - content: "\e94f"; +.devicon-scikitlearn-line:before { + content: "\ebf5"; } -.devicon-yarn-plain-wordmark:before { - content: "\e950"; +.devicon-scikitlearn-plain:before { + content: "\ebf6"; } -.devicon-yarn-plain:before { - content: "\e951"; +.devicon-sdl-plain:before { + content: "\ebf7"; } -.devicon-handlebars-plain-wordmark:before { - content: "\e94a"; +.devicon-selenium-original:before { + content: "\ebf8"; } -.devicon-handlebars-plain:before { - content: "\e94b"; +.devicon-sema-original:before { + content: "\ebf9"; } -.devicon-couchdb-plain-wordmark:before { - content: "\e948"; +.devicon-sema-original-wordmark:before { + content: "\ebfa"; } -.devicon-couchdb-plain:before { - content: "\e949"; +.devicon-sentry-original:before { + content: "\ebfb"; } -.devicon-behance-plain-wordmark:before { - content: "\e943"; +.devicon-sentry-original-wordmark:before { + content: "\ebfc"; } -.devicon-behance-plain:before { - content: "\e945"; +.devicon-sequelize-plain:before { + content: "\ebfd"; } -.devicon-linkedin-plain-wordmark:before { - content: "\e946"; +.devicon-sequelize-plain-wordmark:before { + content: "\ebfe"; } -.devicon-linkedin-plain:before { - content: "\e947"; +.devicon-shopware-original:before { + content: "\ebff"; } -.devicon-ceylon-plain:before { - content: "\e944"; +.devicon-shopware-original-wordmark:before { + content: "\ec00"; } -.devicon-elm-plain-wordmark:before { - content: "\e965"; +.devicon-shotgrid-original-wordmark:before { + content: "\ec01"; } -.devicon-elm-plain:before { - content: "\e9c8"; +.devicon-shotgrid-plain:before { + content: "\ec02"; } -.devicon-cakephp-plain-wordmark:before { - content: "\e9c9"; +.devicon-sketch-line:before { + content: "\ec03"; } -.devicon-cakephp-plain:before { - content: "\e9e1"; +.devicon-sketch-line-wordmark:before { + content: "\ec04"; } -.devicon-stylus-original:before { - content: "\e9e2"; +.devicon-sketch-plain:before { + content: "\ec05"; } -.devicon-express-original-wordmark:before { - content: "\e9e3"; +.devicon-sketch-plain-wordmark:before { + content: "\ec06"; } -.devicon-express-original:before { - content: "\e9e4"; +.devicon-slack-plain:before { + content: "\ec07"; } -.devicon-intellij-plain-wordmark:before { - content: "\e9e5"; +.devicon-slack-plain-wordmark:before { + content: "\ec08"; } -.devicon-intellij-plain:before { - content: "\e9e6"; +.devicon-socketio-original:before { + content: "\ec09"; } -.devicon-pycharm-plain-wordmark:before { - content: "\e9e7"; +.devicon-socketio-original-wordmark:before { + content: "\ec0a"; } -.devicon-pycharm-plain:before { - content: "\e9e8"; +.devicon-solidity-plain:before { + content: "\ec0b"; } -.devicon-rubymine-plain-wordmark:before { - content: "\e9e9"; +.devicon-solidjs-plain:before { + content: "\ec0c"; } -.devicon-rubymine-plain:before { - content: "\e9ea"; +.devicon-solidjs-plain-wordmark:before { + content: "\ec0d"; } -.devicon-webstorm-plain-wordmark:before { - content: "\e9eb"; +.devicon-sonarqube-line:before { + content: "\ec0e"; } -.devicon-webstorm-plain:before { - content: "\e9ec"; +.devicon-sonarqube-line-wordmark:before { + content: "\ec0f"; } -.devicon-tomcat-line-wordmark:before { - content: "\e9ed"; +.devicon-sonarqube-original:before { + content: "\ec10"; } -.devicon-tomcat-line:before { - content: "\e9ee"; +.devicon-sonarqube-plain-wordmark:before { + content: "\ec11"; } -.devicon-vuejs-line-wordmark:before { - content: "\e9ef"; +.devicon-sourcetree-original:before { + content: "\ec12"; } -.devicon-vuejs-line:before { - content: "\e9f0"; +.devicon-sourcetree-original-wordmark:before { + content: "\ec13"; } -.devicon-vuejs-plain-wordmark:before { - content: "\e9f1"; +.devicon-spack-plain:before { + content: "\ec14"; } -.devicon-vuejs-plain:before { - content: "\e9f2"; +.devicon-splunk-original-wordmark:before { + content: "\ec15"; } -.devicon-swift-plain-wordmark:before { - content: "\e9f3"; +.devicon-spring-original:before { + content: "\ec16"; } -.devicon-swift-plain:before { - content: "\e9f4"; +.devicon-spring-original-wordmark:before { + content: "\ec17"; } -.devicon-webpack-plain-wordmark:before { - content: "\e9f5"; +.devicon-spss-plain:before { + content: "\ec18"; } -.devicon-webpack-plain:before { - content: "\e9f6"; +.devicon-spyder-plain:before { + content: "\ec19"; } -.devicon-visualstudio-plain-wordmark:before { - content: "\e9f7"; +.devicon-spyder-plain-wordmark:before { + content: "\ec1a"; } -.devicon-visualstudio-plain:before { - content: "\e9f8"; +.devicon-sqlalchemy-plain:before { + content: "\ec1b"; } -.devicon-sequelize-plain-wordmark:before { - content: "\e9f9"; +.devicon-sqlalchemy-plain-wordmark:before { + content: "\ec1c"; } -.devicon-sequelize-plain:before { - content: "\e9fa"; +.devicon-sqldeveloper-plain:before { + content: "\ec1d"; } -.devicon-typescript-plain:before { - content: "\e9fb"; +.devicon-sqlite-plain:before { + content: "\ec1e"; } -.devicon-babel-plain:before { - content: "\e9fc"; +.devicon-sqlite-plain-wordmark:before { + content: "\ec1f"; } -.devicon-facebook-plain:before { - content: "\e9fd"; +.devicon-ssh-original:before { + content: "\ec20"; } -.devicon-google-plain-wordmark:before { - content: "\e9fe"; +.devicon-ssh-original-wordmark:before { + content: "\ec21"; } -.devicon-google-plain:before { - content: "\e9ff"; +.devicon-stackoverflow-line:before { + content: "\ec22"; } -.devicon-twitter-original:before { - content: "\ea00"; +.devicon-stackoverflow-line-wordmark:before { + content: "\ec23"; } -.devicon-mocha:before { - content: "\ea01"; +.devicon-stackoverflow-plain:before { + content: "\ec24"; } -.devicon-jasmine-plain:before { - content: "\ea02"; +.devicon-stackoverflow-plain-wordmark:before { + content: "\ec25"; } -.devicon-jasmine-wordmark:before { - content: "\ea03"; +.devicon-stata-original-wordmark:before { + content: "\ec26"; } -.devicon-gatling-plain:before { - content: "\ea04"; +.devicon-storybook-plain:before { + content: "\ec27"; } -.devicon-gatling-plain-wordmark:before { - content: "\ea05"; +.devicon-storybook-plain-wordmark:before { + content: "\ec28"; } -.devicon-phpstorm-plain:before { - content: "\ea06"; +.devicon-streamlit-plain:before { + content: "\ec29"; } -.devicon-phpstorm-plain-wordmark:before { - content: "\ea07"; +.devicon-streamlit-plain-wordmark:before { + content: "\ec2a"; } -.devicon-sourcetree-original:before { - content: "\ea08"; +.devicon-stylus-original:before { + content: "\ec2b"; } -.devicon-sourcetree-original-wordmark:before { - content: "\ea09"; +.devicon-subversion-original:before { + content: "\ec2c"; } -.devicon-ssh-original:before { - content: "\ea0a"; +.devicon-subversion-plain-wordmark:before { + content: "\ec2d"; } -.devicon-ssh-original-wordmark:before { - content: "\ea0b"; +.devicon-supabase-plain:before { + content: "\ec2e"; } -.devicon-jeet-plain:before { - content: "\ea0c"; +.devicon-supabase-plain-wordmark:before { + content: "\ec2f"; } -.devicon-jeet-plain-wordmark:before { - content: "\ea0d"; +.devicon-svelte-plain:before { + content: "\ec30"; } -.devicon-gitlab-plain:before { - content: "\ea0e"; +.devicon-svelte-plain-wordmark:before { + content: "\ec31"; } -.devicon-gitlab-plain-wordmark:before { - content: "\ea0f"; +.devicon-swagger-plain:before { + content: "\ec32"; } -.devicon-github-original:before { - content: "\ea10"; +.devicon-swagger-plain-wordmark:before { + content: "\ec33"; } -.devicon-github-original-wordmark:before { - content: "\ea11"; +.devicon-swift-plain:before { + content: "\ec34"; } -.devicon-d3js-plain:before { - content: "\ea12"; +.devicon-swift-plain-wordmark:before { + content: "\ec35"; } -.devicon-d3js-original:before { - content: "\ea13"; +.devicon-swiper-original:before { + content: "\ec36"; } -.devicon-gradle-plain:before { - content: "\ea18"; +.devicon-symfony-original:before { + content: "\ec37"; } -.devicon-gradle-plain-wordmark:before { - content: "\e8f1"; +.devicon-symfony-original-wordmark:before { + content: "\ec38"; } -.devicon-cucumber-plain:before { - content: "\ea19"; +.devicon-tailwindcss-original:before { + content: "\ec39"; } -.devicon-cucumber-plain-wordmark:before { - content: "\ea1a"; +.devicon-tailwindcss-plain-wordmark:before { + content: "\ec3a"; } -.devicon-protractor-plain:before { - content: "\ea1b"; +.devicon-tauri-plain:before { + content: "\ec3b"; } -.devicon-protractor-plain-wordmark:before { - content: "\ea1c"; +.devicon-tauri-plain-wordmark:before { + content: "\ec3c"; } -.devicon-safari-line-wordmark:before { - content: "\e632"; +.devicon-tensorflow-line:before { + content: "\ec3d"; } -.devicon-safari-line:before { - content: "\e63a"; +.devicon-tensorflow-line-wordmark:before { + content: "\ec3e"; } -.devicon-safari-plain-wordmark:before { - content: "\e63b"; +.devicon-tensorflow-original:before { + content: "\ec3f"; } -.devicon-safari-plain:before { - content: "\e63c"; +.devicon-tensorflow-original-wordmark:before { + content: "\ec40"; } -.devicon-gimp-plain:before { - content: "\e633"; +.devicon-terraform-plain:before { + content: "\ec41"; } -.devicon-redhat-plain-wordmark:before { - content: "\e62a"; +.devicon-terraform-plain-wordmark:before { + content: "\ec42"; } -.devicon-redhat-plain:before { - content: "\e62b"; +.devicon-tex-original:before { + content: "\ec43"; } -.devicon-cplusplus-line:before { - content: "\e634"; +.devicon-thealgorithms-plain:before { + content: "\ec44"; } -.devicon-cplusplus-plain:before { - content: "\e635"; +.devicon-thealgorithms-plain-wordmark:before { + content: "\ec45"; } -.devicon-csharp-line:before { - content: "\e636"; +.devicon-threedsmax-plain:before { + content: "\ec46"; } -.devicon-csharp-plain:before { - content: "\e637"; +.devicon-threejs-original:before { + content: "\ec47"; } -.devicon-c-line:before { - content: "\e638"; +.devicon-threejs-original-wordmark:before { + content: "\ec48"; } -.devicon-c-plain:before { - content: "\e639"; +.devicon-titaniumsdk-original:before { + content: "\ec49"; } -.devicon-nodewebkit-line-wordmark:before { - content: "\e611"; +.devicon-tomcat-line:before { + content: "\ec4a"; } -.devicon-nodewebkit-line:before { - content: "\e612"; +.devicon-tomcat-line-wordmark:before { + content: "\ec4b"; } -.devicon-nodewebkit-plain-wordmark:before { - content: "\e613"; +.devicon-tortoisegit-line:before { + content: "\ec4c"; } -.devicon-nodewebkit-plain:before { - content: "\e614"; +.devicon-tortoisegit-plain:before { + content: "\ec4d"; } -.devicon-nginx-original:before { - content: "\e615"; +.devicon-towergit-plain:before { + content: "\ec4e"; } -.devicon-erlang-plain-wordmark:before { - content: "\e616"; +.devicon-towergit-plain-wordmark:before { + content: "\ec4f"; } -.devicon-erlang-plain:before { - content: "\e617"; +.devicon-traefikmesh-line:before { + content: "\ec50"; } -.devicon-doctrine-line-wordmark:before { - content: "\e618"; +.devicon-traefikmesh-line-wordmark:before { + content: "\ec51"; } -.devicon-doctrine-line:before { - content: "\e619"; +.devicon-traefikmesh-original:before { + content: "\ec52"; } -.devicon-doctrine-plain-wordmark:before { - content: "\e61a"; +.devicon-traefikmesh-plain-wordmark:before { + content: "\ec53"; } -.devicon-doctrine-plain:before { - content: "\e625"; +.devicon-traefikproxy-line:before { + content: "\ec54"; } -.devicon-apache-line-wordmark:before { - content: "\e626"; +.devicon-traefikproxy-line-wordmark:before { + content: "\ec55"; } -.devicon-apache-line:before { - content: "\e627"; +.devicon-traefikproxy-original:before { + content: "\ec56"; } -.devicon-apache-plain-wordmark:before { - content: "\e628"; +.devicon-traefikproxy-plain-wordmark:before { + content: "\ec57"; } -.devicon-apache-plain:before { - content: "\e629"; +.devicon-travis-line:before { + content: "\ec58"; } -.devicon-redis-plain-wordmark:before { - content: "\e606"; +.devicon-travis-line-wordmark:before { + content: "\ec59"; } -.devicon-redis-plain:before { - content: "\e607"; +.devicon-travis-plain:before { + content: "\ec5a"; } -.devicon-meteor-plain-wordmark:before { - content: "\e608"; +.devicon-travis-plain-wordmark:before { + content: "\ec5b"; } -.devicon-meteor-plain:before { - content: "\e609"; +.devicon-trello-line:before { + content: "\ec5c"; } -.devicon-heroku-line-wordmark:before { - content: "\e60a"; +.devicon-trello-line-wordmark:before { + content: "\ec5d"; } -.devicon-heroku-line:before { - content: "\e60b"; +.devicon-trello-plain:before { + content: "\ec5e"; } -.devicon-heroku-plain-wordmark:before { - content: "\e60c"; +.devicon-trello-plain-wordmark:before { + content: "\ec5f"; } -.devicon-heroku-plain:before { - content: "\e60f"; +.devicon-trpc-plain:before { + content: "\ec60"; } -.devicon-docker-plain-wordmark:before { - content: "\e61e"; +.devicon-trpc-plain-wordmark:before { + content: "\ec61"; } -.devicon-docker-plain:before { - content: "\e61f"; +.devicon-twitter-original:before { + content: "\ec62"; } -.devicon-symfony-original-wordmark:before { - content: "\e602"; +.devicon-typescript-plain:before { + content: "\ec63"; } -.devicon-symfony-original:before { - content: "\e605"; +.devicon-typo3-line:before { + content: "\ec64"; } -.devicon-react-original-wordmark:before { - content: "\e600"; +.devicon-typo3-line-wordmark:before { + content: "\ec65"; } -.devicon-react-original:before { - content: "\e601"; +.devicon-typo3-original:before { + content: "\ec66"; } -.devicon-amazonwebservices-original:before { - content: "\e603"; +.devicon-typo3-plain-wordmark:before { + content: "\ec67"; } -.devicon-amazonwebservices-plain-wordmark:before { - content: "\e604"; +.devicon-ubuntu-plain:before { + content: "\ec68"; } -.devicon-android-plain-wordmark:before { - content: "\e60d"; +.devicon-ubuntu-plain-wordmark:before { + content: "\ec69"; } -.devicon-android-plain:before { - content: "\e60e"; +.devicon-unifiedmodelinglanguage-plain:before { + content: "\ec6a"; } -.devicon-angularjs-plain-wordmark:before { - content: "\e61c"; +.devicon-unifiedmodelinglanguage-plain-wordmark:before { + content: "\ec6b"; } -.devicon-angularjs-plain:before { - content: "\e61d"; +.devicon-unity-line:before { + content: "\ec6c"; } -.devicon-appcelerator-original:before { - content: "\e620"; +.devicon-unity-line-wordmark:before { + content: "\ec6d"; } -.devicon-appcelerator-plain-wordmark:before { - content: "\e621"; +.devicon-unity-plain:before { + content: "\ec6e"; } -.devicon-apple-original:before { - content: "\e622"; +.devicon-unity-plain-wordmark:before { + content: "\ec6f"; } -.devicon-atom-original-wordmark:before { - content: "\e623"; +.devicon-unix-original:before { + content: "\ec70"; } -.devicon-atom-original:before { - content: "\e624"; +.devicon-unrealengine-original:before { + content: "\ec71"; } -.devicon-backbonejs-plain-wordmark:before { - content: "\e62c"; +.devicon-unrealengine-original-wordmark:before { + content: "\ec72"; } -.devicon-backbonejs-plain:before { - content: "\e62d"; +.devicon-uwsgi-plain:before { + content: "\ec73"; } -.devicon-bower-line-wordmark:before { - content: "\e630"; +.devicon-v8-plain:before { + content: "\ec74"; } -.devicon-bower-line:before { - content: "\e631"; +.devicon-vagrant-plain:before { + content: "\ec75"; } -.devicon-bower-plain-wordmark:before { - content: "\e64e"; +.devicon-vagrant-plain-wordmark:before { + content: "\ec76"; } -.devicon-bower-plain:before { - content: "\e64f"; +.devicon-vala-plain:before { + content: "\ec77"; } -.devicon-chrome-plain-wordmark:before { - content: "\e665"; +.devicon-vala-plain-wordmark:before { + content: "\ec78"; } -.devicon-chrome-plain:before { - content: "\e666"; +.devicon-vault-original:before { + content: "\ec79"; } -.devicon-codeigniter-plain-wordmark:before { - content: "\e667"; +.devicon-vault-plain-wordmark:before { + content: "\ec7a"; } -.devicon-codeigniter-plain:before { - content: "\e668"; +.devicon-vercel-line:before { + content: "\ec7b"; } -.devicon-coffeescript-original-wordmark:before { - content: "\e669"; +.devicon-vercel-line-wordmark:before { + content: "\ec7c"; } -.devicon-coffeescript-original:before { - content: "\e66a"; +.devicon-vercel-original:before { + content: "\ec7d"; } -.devicon-css3-plain-wordmark:before { - content: "\e678"; +.devicon-vercel-original-wordmark:before { + content: "\ec7e"; } -.devicon-css3-plain:before { - content: "\e679"; +.devicon-vertx-line:before { + content: "\ec7f"; } -.devicon-debian-plain-wordmark:before { - content: "\e67e"; +.devicon-vertx-line-wordmark:before { + content: "\ec80"; } -.devicon-debian-plain:before { - content: "\e67f"; +.devicon-vertx-plain:before { + content: "\ec81"; } -.devicon-dot-net-plain-wordmark:before { - content: "\e6d3"; +.devicon-vertx-plain-wordmark:before { + content: "\ec82"; } -.devicon-dot-net-plain:before { - content: "\e6d4"; +.devicon-vim-plain:before { + content: "\ec83"; } -.devicon-drupal-plain-wordmark:before { - content: "\e6e2"; +.devicon-visualbasic-line:before { + content: "\ec84"; } -.devicon-drupal-plain:before { - content: "\e6e3"; +.devicon-visualbasic-plain:before { + content: "\ec85"; } -.devicon-firefox-plain-wordmark:before { - content: "\e75d"; +.devicon-visualstudio-line:before { + content: "\ec86"; } -.devicon-firefox-plain:before { - content: "\e75e"; +.devicon-visualstudio-plain:before { + content: "\ec87"; } -.devicon-foundation-plain-wordmark:before { - content: "\e7a2"; +.devicon-vitejs-plain:before { + content: "\ec88"; } -.devicon-foundation-plain:before { - content: "\e7a3"; +.devicon-vite-original:before { + content: "\ec89"; } -.devicon-git-plain-wordmark:before { - content: "\e7a7"; +.devicon-vite-original-wordmark:before { + content: "\ec8a"; } -.devicon-git-plain:before { - content: "\e7a8"; +.devicon-vitess-plain:before { + content: "\ec8b"; } -.devicon-grunt-line-wordmark:before { - content: "\e7a9"; +.devicon-vitess-plain-wordmark:before { + content: "\ec8c"; } -.devicon-grunt-line:before { - content: "\e7aa"; +.devicon-vitest-plain:before { + content: "\ec8d"; } -.devicon-grunt-plain-wordmark:before { - content: "\e7ea"; +.devicon-vscode-plain:before { + content: "\ec8e"; } -.devicon-grunt-plain:before { - content: "\e7eb"; +.devicon-vscode-plain-wordmark:before { + content: "\ec8f"; } -.devicon-gulp-plain:before { - content: "\e7ec"; +.devicon-vsphere-line:before { + content: "\ec90"; } -.devicon-html5-plain-wordmark:before { - content: "\e7f6"; +.devicon-vsphere-line-wordmark:before { + content: "\ec91"; } -.devicon-html5-plain:before { - content: "\e7f7"; +.devicon-vsphere-plain:before { + content: "\ec92"; } -.devicon-ie10-original:before { - content: "\e7f8"; +.devicon-vsphere-plain-wordmark:before { + content: "\ec93"; } -.devicon-illustrator-line:before { - content: "\e7f9"; +.devicon-vuejs-line:before { + content: "\ec94"; } -.devicon-illustrator-plain:before { - content: "\e7fa"; +.devicon-vuejs-line-wordmark:before { + content: "\ec95"; } -.devicon-inkscape-plain-wordmark:before { - content: "\e834"; +.devicon-vuejs-plain:before { + content: "\ec96"; } -.devicon-inkscape-plain:before { - content: "\e835"; +.devicon-vuejs-plain-wordmark:before { + content: "\ec97"; } -.devicon-java-plain-wordmark:before { - content: "\e841"; +.devicon-vuestorefront-plain:before { + content: "\ec98"; } -.devicon-java-plain:before { - content: "\e842"; +.devicon-vuetify-line:before { + content: "\ec99"; } -.devicon-javascript-plain:before { - content: "\e845"; +.devicon-vuetify-plain:before { + content: "\ec9a"; } -.devicon-jquery-plain-wordmark:before { - content: "\e849"; +.devicon-vyper-plain:before { + content: "\ec9b"; } -.devicon-jquery-plain:before { - content: "\e84a"; +.devicon-vyper-plain-wordmark:before { + content: "\ec9c"; } -.devicon-krakenjs-plain-wordmark:before { - content: "\e84f"; +.devicon-wasm-original:before { + content: "\ec9d"; } -.devicon-krakenjs-plain:before { - content: "\e850"; +.devicon-wasm-plain-wordmark:before { + content: "\ec9e"; } -.devicon-laravel-plain-wordmark:before { - content: "\e851"; +.devicon-webflow-original:before { + content: "\ec9f"; } -.devicon-laravel-plain:before { - content: "\e852"; +.devicon-weblate-plain:before { + content: "\eca0"; } -.devicon-less-plain-wordmark:before { - content: "\e853"; +.devicon-weblate-plain-wordmark:before { + content: "\eca1"; } -.devicon-linux-plain:before { - content: "\eb1c"; +.devicon-webpack-plain:before { + content: "\eca2"; } -.devicon-mongodb-plain-wordmark:before { - content: "\eb43"; +.devicon-webpack-plain-wordmark:before { + content: "\eca3"; } -.devicon-mongodb-plain:before { - content: "\eb44"; +.devicon-webstorm-plain:before { + content: "\eca4"; } -.devicon-moodle-plain-wordmark:before { - content: "\eb5a"; +.devicon-webstorm-plain-wordmark:before { + content: "\eca5"; } -.devicon-moodle-plain:before { - content: "\eb5b"; +.devicon-windows8-original:before { + content: "\eca6"; } -.devicon-mysql-plain-wordmark:before { - content: "\eb60"; +.devicon-windows8-original-wordmark:before { + content: "\eca7"; } -.devicon-mysql-plain:before { - content: "\eb61"; +.devicon-windows11-original:before { + content: "\eca8"; } -.devicon-nodejs-plain-wordmark:before { - content: "\eb69"; +.devicon-windows11-original-wordmark:before { + content: "\eca9"; } -.devicon-nodejs-plain:before { - content: "\eb6a"; +.devicon-woocommerce-plain:before { + content: "\ecaa"; } -.devicon-oracle-original:before { - content: "\eb6b"; +.devicon-woocommerce-plain-wordmark:before { + content: "\ecab"; } -.devicon-photoshop-line:before { - content: "\eb6c"; +.devicon-wordpress-plain:before { + content: "\ecac"; } -.devicon-photoshop-plain:before { - content: "\eb6d"; +.devicon-wordpress-plain-wordmark:before { + content: "\ecad"; } -.devicon-php-plain:before { - content: "\eb71"; +.devicon-xamarin-original:before { + content: "\ecae"; } -.devicon-postgresql-plain-wordmark:before { - content: "\eb7c"; +.devicon-xamarin-original-wordmark:before { + content: "\ecaf"; } -.devicon-postgresql-plain:before { - content: "\eb7d"; +.devicon-xcode-plain:before { + content: "\ecb0"; } -.devicon-python-plain-wordmark:before { - content: "\eb88"; +.devicon-xd-line:before { + content: "\ecb1"; } -.devicon-python-plain:before { - content: "\eb89"; +.devicon-xd-plain:before { + content: "\ecb2"; } -.devicon-ruby-plain-wordmark:before { - content: "\ebc9"; +.devicon-xml-line:before { + content: "\ecb3"; } -.devicon-ruby-plain:before { - content: "\ebca"; +.devicon-xml-plain:before { + content: "\ecb4"; } -.devicon-sass-original:before { - content: "\ebcb"; +.devicon-yaml-plain:before { + content: "\ecb5"; } -.devicon-travis-plain-wordmark:before { - content: "\ebcc"; +.devicon-yarn-line:before { + content: "\ecb6"; } -.devicon-travis-plain:before { - content: "\ebcd"; +.devicon-yarn-line-wordmark:before { + content: "\ecb7"; } -.devicon-trello-plain-wordmark:before { - content: "\ebce"; +.devicon-yarn-original:before { + content: "\ecb8"; } -.devicon-trello-plain:before { - content: "\ebcf"; +.devicon-yarn-original-wordmark:before { + content: "\ecb9"; } -.devicon-ubuntu-plain-wordmark:before { - content: "\ebd0"; +.devicon-yii-plain:before { + content: "\ecba"; } -.devicon-ubuntu-plain:before { - content: "\ebd1"; +.devicon-yii-plain-wordmark:before { + content: "\ecbb"; } -.devicon-vim-plain:before { - content: "\ebf3"; +.devicon-yugabytedb-plain:before { + content: "\ecbc"; } -.devicon-windows8-original-wordmark:before { - content: "\ebf4"; +.devicon-yugabytedb-plain-wordmark:before { + content: "\ecbd"; } -.devicon-windows8-original:before { - content: "\ebf5"; +.devicon-yunohost-plain:before { + content: "\ecbe"; } -.devicon-wordpress-plain-wordmark:before { - content: "\ebfd"; +.devicon-zend-line:before { + content: "\ecbf"; } -.devicon-wordpress-plain:before { - content: "\ebfe"; +.devicon-zend-line-wordmark:before { + content: "\ecc0"; } -.devicon-yii-plain-wordmark:before { - content: "\ec01"; +.devicon-zend-original:before { + content: "\ecc1"; } -.devicon-yii-plain:before { - content: "\ec02"; +.devicon-zend-original-wordmark:before { + content: "\ecc2"; } -.devicon-zend-plain-wordmark:before { - content: "\ec03"; +.devicon-zig-original:before { + content: "\ecc3"; } -.devicon-zend-plain:before { - content: "\ec04"; +.devicon-zig-plain-wordmark:before { + content: "\ecc4"; } diff --git a/devicon.json b/devicon.json index 3f7bed210..f6477300c 100644 --- a/devicon.json +++ b/devicon.json @@ -1,6 +1,83 @@ [ + { + "name": "threedsmax", + "altnames": [ + "Autodesk 3ds Max", + "3dsmax" + ], + "tags": [ + "3d", + "programming", + "vfx", + "graphic", + "graphics", + "game", + "animation" + ], + "versions": { + "svg": [ + "original", + "plain" + ], + "font": [ + "plain" + ] + }, + "color": "#37a5cc", + "aliases": [ + { + "base": "original", + "alias": "original-wordmark" + }, + { + "base": "plain", + "alias": "plain-wordmark" + } + ] + }, + { + "name": "aarch64", + "altnames": [ + "arm64" + ], + "tags": [ + "architecture", + "programming", + "language", + "ARM" + ], + "versions": { + "svg": [ + "original", + "plain", + "line" + ], + "font": [ + "plain", + "line" + ] + }, + "color": "#16358C", + "aliases": [ + { + "base": "original", + "alias": "original-wordmark" + }, + { + "base": "plain", + "alias": "plain-wordmark" + }, + { + "base": "line", + "alias": "line-wordmark" + } + ] + }, { "name": "adonisjs", + "altnames": [ + "adonis" + ], "tags": [ "nodejs", "framework" @@ -29,6 +106,10 @@ }, { "name": "aftereffects", + "altnames": [ + "adobeaftereffects", + "ae" + ], "tags": [ "video", "editor" @@ -45,8 +126,88 @@ "color": "#1F0740", "aliases": [] }, + { + "name": "akka", + "altnames": [ + "akka-framework" + ], + "tags": [ + "framework", + "java", + "scala", + "open-source" + ], + "versions": { + "svg": [ + "original", + "original-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#15a9ce", + "aliases": [] + }, + { + "name": "algolia", + "altnames": [], + "tags": [ + "algorithms", + "api", + "documentation", + "tool" + ], + "versions": { + "svg": [ + "original", + "original-wordmark" + ], + "font": [ + "original", + "original-wordmark" + ] + }, + "color": "#003dff", + "aliases": [] + }, + { + "name": "alpinejs", + "altnames": [ + "Alpine" + ], + "tags": [ + "framework", + "javascript" + ], + "versions": { + "svg": [ + "original", + "original-wordmark" + ], + "font": [ + "original", + "original-wordmark" + ] + }, + "color": "#2d3441", + "aliases": [ + { + "base": "original", + "alias": "plain" + }, + { + "base": "original-wordmark", + "alias": "plain-wordmark" + } + ] + }, { "name": "amazonwebservices", + "altnames": [ + "aws" + ], "tags": [ "cloud", "hosting", @@ -54,25 +215,63 @@ ], "versions": { "svg": [ - "original", "original-wordmark", - "plain-wordmark" + "plain-wordmark", + "line-wordmark" + ], + "font": [ + "plain-wordmark", + "line-wordmark" + ] + }, + "color": "#f90", + "aliases": [ + { + "base": "original-wordmark", + "alias": "original" + }, + { + "base": "plain-wordmark", + "alias": "plain" + }, + { + "base": "line-wordmark", + "alias": "line" + } + ] + }, + { + "name": "anaconda", + "altnames": [], + "tags": [ + "python", + "data-science" + ], + "versions": { + "svg": [ + "original", + "original-wordmark" ], "font": [ "original", - "plain-wordmark" + "original-wordmark" ] }, - "color": "#F7A80D", + "color": "#3eb049", "aliases": [ { "base": "original", "alias": "plain" + }, + { + "base": "original-wordmark", + "alias": "plain-wordmark" } ] }, { "name": "android", + "altnames": [], "tags": [ "os", "mobile" @@ -94,9 +293,11 @@ }, { "name": "androidstudio", + "altnames": [], "tags": [ "application", "editor", + "jetbrains", "ide", "android", "mobile" @@ -117,27 +318,30 @@ "aliases": [] }, { - "name": "aarch64", + "name": "angular", + "altnames": [], "tags": [ - "architecture", - "programming", - "language", - "ARM" + "framework", + "javascript" ], "versions": { "svg": [ "original", - "plain" + "original-wordmark", + "plain", + "plain-wordmark" ], "font": [ - "plain" + "plain", + "plain-wordmark" ] }, - "color": "#16358C", + "color": "#FFFFFF", "aliases": [] }, { "name": "angularjs", + "altnames": [], "tags": [ "framework", "javascript" @@ -157,8 +361,28 @@ "color": "#c4473a", "aliases": [] }, + { + "name": "angularmaterial", + "altnames": [], + "tags": [ + "framework", + "javascript" + ], + "versions": { + "svg": [ + "original", + "plain" + ], + "font": [ + "plain" + ] + }, + "color": "#ffa726", + "aliases": [] + }, { "name": "ansible", + "altnames": [], "tags": [ "automation", "provisioning", @@ -180,8 +404,34 @@ "color": "#1A1918", "aliases": [] }, + { + "name": "antdesign", + "altnames": [], + "tags": [ + "reactjs", + "design", + "language" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#0073bb", + "aliases": [] + }, { "name": "apache", + "altnames": [ + "The Apache Software Foundation" + ], "tags": [ "php" ], @@ -201,11 +451,38 @@ "line-wordmark" ] }, - "color": "#303284", + "color": "#cb2533", + "aliases": [] + }, + { + "name": "apacheairflow", + "altnames": [ + "Airflow" + ], + "tags": [ + "platform", + "pipeline", + "orchestrator", + "open-source" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#017cee", "aliases": [] }, { "name": "apachekafka", + "altnames": [], "tags": [ "streaming", "open-source" @@ -233,10 +510,12 @@ ] }, { - "name": "appcelerator", + "name": "apachespark", + "altnames": [], "tags": [ - "app", - "mobile" + "data-processing", + "data-science", + "machine-learning" ], "versions": { "svg": [ @@ -249,7 +528,7 @@ "plain-wordmark" ] }, - "color": "#ac162c", + "color": "#e15919", "aliases": [ { "base": "original", @@ -258,10 +537,60 @@ ] }, { - "name": "apple", - "tags": [ - "brand", - "mobile" + "name": "apl", + "altnames": [ + "A Programming Language" + ], + "tags": [ + "programming", + "language", + "open-source", + "cross-platform" + ], + "versions": { + "svg": [ + "original", + "plain" + ], + "font": [ + "plain" + ] + }, + "color": "#24a148", + "aliases": [] + }, + { + "name": "appcelerator", + "altnames": [], + "tags": [ + "app", + "mobile" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain-wordmark" + ], + "font": [ + "original", + "plain-wordmark" + ] + }, + "color": "#ac162c", + "aliases": [ + { + "base": "original", + "alias": "plain" + } + ] + }, + { + "name": "apple", + "altnames": [], + "tags": [ + "brand", + "mobile" ], "versions": { "svg": [ @@ -281,22 +610,23 @@ }, { "name": "appwrite", + "altnames": [], "tags": [ - "cloud", - "platform", + "cloud", + "platform", "server" ], "versions": { - "svg": [ - "original", - "original-wordmark", - "plain", - "plain-wordmark" - ], - "font": [ - "plain", - "plain-wordmark" - ] + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] }, "color": "#f02e65", "aliases": [ @@ -310,8 +640,32 @@ } ] }, + { + "name": "archlinux", + "altnames": [], + "tags": [ + "linux", + "distribuition", + "desktop" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#1791cf", + "aliases": [] + }, { "name": "arduino", + "altnames": [], "tags": [ "microcontroller", "hardware" @@ -331,8 +685,54 @@ "color": "#00979d", "aliases": [] }, + { + "name": "argocd", + "altnames": [], + "tags": [ + "gitops", + "continuous-delivery" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#ef7b4d", + "aliases": [] + }, + { + "name": "astro", + "altnames": [], + "tags": [ + "static site generator", + "framework", + "web-development" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#ff5d01", + "aliases": [] + }, { "name": "atom", + "altnames": [], "tags": [ "editor" ], @@ -358,8 +758,63 @@ } ] }, + { + "name": "awk", + "altnames": [ + "the awk programming language" + ], + "tags": [ + "programming", + "language", + "unix" + ], + "versions": { + "svg": [ + "original-wordmark", + "plain-wordmark" + ], + "font": [ + "plain-wordmark" + ] + }, + "color": "#0a094d", + "aliases": [ + { + "base": "original-wordmark", + "alias": "original" + }, + { + "base": "plain-wordmark", + "alias": "plain" + } + ] + }, + { + "name": "axios", + "altnames": [], + "tags": [ + "http", + "promise", + "nodejs" + ], + "versions": { + "svg": [ + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#5a29e4", + "aliases": [] + }, { "name": "azure", + "altnames": [ + "microsoftazure" + ], "tags": [ "cloud", "devops" @@ -379,8 +834,56 @@ "color": "#0089D6", "aliases": [] }, + { + "name": "azuredevops", + "altnames": [ + "azure-devops" + ], + "tags": [ + "azure", + "devops", + "cloud", + "version control", + "vcs" + ], + "versions": { + "svg": [ + "original" + ], + "font": [ + "plain" + ] + }, + "color": "#0078d4", + "aliases": [] + }, + { + "name": "azuresqldatabase", + "altnames": [ + "azure-sql-database" + ], + "tags": [ + "azure", + "database", + "tool", + "sql" + ], + "versions": { + "svg": [ + "original" + ], + "font": [ + "plain" + ] + }, + "color": "#005ba1", + "aliases": [] + }, { "name": "babel", + "altnames": [ + "babeljs" + ], "tags": [ "javascript", "transpiler" @@ -404,6 +907,7 @@ }, { "name": "backbonejs", + "altnames": [], "tags": [ "javascript", "framework" @@ -423,8 +927,48 @@ "color": "#002A41", "aliases": [] }, + { + "name": "ballerina", + "altnames": [ + "bal" + ], + "tags": [ + "java", + "cloud", + "server", + "networking" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "line", + "line-wordmark" + ], + "font": [ + "original", + "original-wordmark", + "line", + "line-wordmark" + ] + }, + "color": "#46C0BC", + "aliases": [ + { + "base": "original", + "alias": "plain" + }, + { + "base": "original-wordmark", + "alias": "plain-wordmark" + } + ] + }, { "name": "bamboo", + "altnames": [ + "atlassianbamboo" + ], "tags": [ "platform", "integration", @@ -442,21 +986,25 @@ }, "color": "#1068e2", "aliases": [ - { - "base": "original", - "alias": "plain" - }, - { - "base": "original-wordmark", - "alias": "plain-wordmark" - } + { + "base": "original", + "alias": "plain" + }, + { + "base": "original-wordmark", + "alias": "plain-wordmark" + } ] }, { "name": "bash", + "altnames": [ + "bourneagainshell" + ], "tags": [ "shell", - "command" + "command", + "scripting" ], "versions": { "svg": [ @@ -470,8 +1018,27 @@ "color": "#293138", "aliases": [] }, + { + "name": "beats", + "altnames": [], + "tags": [ + "elastic", + "data-transfer" + ], + "versions": { + "svg": [ + "original" + ], + "font": [ + "plain" + ] + }, + "color": "#07c", + "aliases": [] + }, { "name": "behance", + "altnames": [], "tags": [ "social", "website" @@ -493,6 +1060,9 @@ }, { "name": "bitbucket", + "altnames": [ + "atlassianbitbucket" + ], "tags": [ "version-control" ], @@ -508,21 +1078,75 @@ }, "color": "#205081", "aliases": [ - { - "base": "original", - "alias": "plain" - }, - { - "base": "original-wordmark", - "alias": "plain-wordmark" - } + { + "base": "original", + "alias": "plain" + }, + { + "base": "original-wordmark", + "alias": "plain-wordmark" + } ] }, + { + "name": "blazor", + "altnames": [], + "tags": [ + "dotnet", + ".net", + "framework", + "design", + "ui" + ], + "versions": { + "svg": [ + "original", + "line" + ], + "font": [ + "original", + "line" + ] + }, + "color": "#5c2d91", + "aliases": [ + { + "base": "original", + "alias": "plain" + } + ] + }, + { + "name": "blender", + "altnames": [], + "tags": [ + "modelling", + "python", + "3d", + "animation" + ], + "versions": { + "svg": [ + "original", + "original-wordmark" + ], + "font": [ + "original", + "original-wordmark" + ] + }, + "color": "#DC7B2E", + "aliases": [] + }, { "name": "bootstrap", + "altnames": [], "tags": [ "css", - "framework" + "framework", + "html", + "javascript", + "library" ], "versions": { "svg": [ @@ -536,24 +1160,43 @@ "plain-wordmark" ] }, - "color": "#59407f", + "color": "#712cf9", "aliases": [] }, { - "name": "bulma", - "tags": ["css", "framework"], + "name": "bower", + "altnames": [], + "tags": [ + "package", + "manager" + ], "versions": { - "svg": ["plain"], - "font": ["plain"] + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark", + "line", + "line-wordmark" + ], + "font": [ + "plain", + "plain-wordmark", + "line", + "line-wordmark" + ] }, - "color": "#00d1b2", + "color": "#ef5734", "aliases": [] }, { - "name": "bower", + "name": "browserstack", + "altnames": [], "tags": [ - "package", - "manager" + "website", + "app", + "testing", + "tool" ], "versions": { "svg": [ @@ -571,11 +1214,54 @@ "line-wordmark" ] }, - "color": "#ef5734", + "color": "#0070f0", + "aliases": [] + }, + { + "name": "bulma", + "altnames": [ + "bulmacss" + ], + "tags": [ + "css", + "framework" + ], + "versions": { + "svg": [ + "plain" + ], + "font": [ + "plain" + ] + }, + "color": "#00d1b2", + "aliases": [] + }, + { + "name": "bun", + "altnames": [], + "tags": [ + "javascript", + "zig", + "language" + ], + "versions": { + "svg": [ + "original", + "plain", + "line" + ], + "font": [ + "plain", + "line" + ] + }, + "color": "#FBF0DF", "aliases": [] }, { "name": "c", + "altnames": [], "tags": [ "language" ], @@ -604,8 +1290,35 @@ } ] }, + { + "name": "cairo", + "altnames": [ + "cairographics" + ], + "tags": [ + "graphic", + "library", + "c", + "open-source" + ], + "versions": { + "svg": [ + "original", + "plain", + "original-wordmark", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#f39914", + "aliases": [] + }, { "name": "cakephp", + "altnames": [], "tags": [ "framework" ], @@ -626,6 +1339,7 @@ }, { "name": "canva", + "altnames": [], "tags": [ "design" ], @@ -646,10 +1360,16 @@ ] }, { - "name": "centos", + "name": "capacitor", + "altnames": [ + "capacitorjs" + ], "tags": [ - "server", - "linux" + "javascript", + "js", + "ionic", + "framework", + "universal" ], "versions": { "svg": [ @@ -663,32 +1383,43 @@ "plain-wordmark" ] }, - "color": "#932178", + "color": "#53B9FF", "aliases": [] }, { - "name": "ceylon", + "name": "carbon", + "altnames": [ + "Carbon Language" + ], "tags": [ + "programming", "language" ], "versions": { "svg": [ - "original", - "original-wordmark", - "plain", - "plain-wordmark" + "original" ], "font": [ - "plain" + "original" ] }, - "color": "#AB710A", - "aliases": [] + "color": "#000000", + "aliases": [ + { + "base": "original", + "alias": "plain" + } + ] }, { - "name": "chrome", + "name": "cassandra", + "altnames": [ + "Apache Cassandra" + ], "tags": [ - "browser" + "nosql", + "database", + "open-source" ], "versions": { "svg": [ @@ -702,46 +1433,39 @@ "plain-wordmark" ] }, - "color": "#ce4e4e", - "aliases": [] - }, - { - "name": "circleci", - "tags": ["integration", "platform"], - "versions": { - "svg": ["plain", "plain-wordmark"], - "font": ["plain", "plain-wordmark"] - }, - "color": "#343434", + "color": "#1185b0", "aliases": [] }, { - "name": "clojure", + "name": "centos", + "altnames": [], "tags": [ - "language" + "server", + "linux" ], "versions": { "svg": [ "original", - "line" + "original-wordmark", + "plain", + "plain-wordmark" ], "font": [ - "line", - "plain" + "plain", + "plain-wordmark" ] }, - "color": "#5881d8", - "aliases": [ - { - "base": "line", - "alias": "plain" - } - ] + "color": "#932178", + "aliases": [] }, { - "name": "cmake", + "name": "ceylon", + "altnames": [ + "eclipseceylon", + "ceylonlang" + ], "tags": [ - "build" + "language" ], "versions": { "svg": [ @@ -755,41 +1479,38 @@ "plain-wordmark" ] }, - "color": "#0e8a16", + "color": "#AB710A", "aliases": [] }, { - "name": "clojurescript", + "name": "chrome", + "altnames": [ + "googlechrome" + ], "tags": [ - "language" + "browser" ], "versions": { "svg": [ "original", - "plain" + "original-wordmark", + "plain", + "plain-wordmark" ], "font": [ - "plain" + "plain", + "plain-wordmark" ] }, - "color": "#96ca4b", - "aliases": [] - }, - { - "name": "codecov", - "tags": ["platform", "integration"], - "versions": { - "svg": ["plain"], - "font": ["plain"] - }, - "color": "#e0225c", + "color": "#ce4e4e", "aliases": [] }, { - "name": "codeigniter", + "name": "circleci", + "altnames": [], "tags": [ - "php", - "framework" + "integration", + "platform" ], "versions": { "svg": [ @@ -801,125 +1522,112 @@ "plain-wordmark" ] }, - "color": "#ee4323", + "color": "#343434", "aliases": [] }, { - "name": "codepen", + "name": "clarity", + "altnames": [ + "clarity-lang" + ], "tags": [ - "social", - "website", - "editor" + "programming", + "language", + "blockchain" ], "versions": { "svg": [ + "original", + "original-wordmark", "plain", - "original-wordmark" + "plain-wordmark" ], "font": [ "plain", "plain-wordmark" ] }, - "color": "#231F20", - "aliases": [ - { - "base": "plain", - "alias": "original" - } - ] + "color": "#13171a", + "aliases": [] }, { - "name": "coffeescript", + "name": "clion", + "altnames": [], "tags": [ - "javascript", - "language" + "jetbrains", + "editor", + "c", + "c++", + "cpp", + "cplusplus" ], "versions": { "svg": [ "original", - "original-wordmark" + "original-wordmark", + "plain", + "plain-wordmark" ], "font": [ - "original", - "original-wordmark" + "plain", + "plain-wordmark" ] }, - "color": "#28334c", - "aliases": [ - { - "base": "original", - "alias": "plain" - }, - { - "base": "original-wordmark", - "alias": "plain-wordmark" - } - ] + "color": "#21d789", + "aliases": [] }, { - "name": "composer", + "name": "clojure", + "altnames": [], "tags": [ - "package", - "manager", - "php" + "language", + "jvm" ], "versions": { "svg": [ "original", - "line", - "line-wordmark" + "line" ], "font": [ "line", - "line-wordmark" + "plain" ] }, - "color": "#000000", + "color": "#5881d8", "aliases": [ { "base": "line", "alias": "plain" - }, - { - "base": "line-wordmark", - "alias": "plain-wordmark" } ] }, { - "name": "confluence", + "name": "clojurescript", + "altnames": [], "tags": [ - "collaboration", - "documentation", - "wiki" + "language" ], "versions": { "svg": [ "original", - "original-wordmark" + "plain" ], "font": [ - "original", - "original-wordmark" + "plain" ] }, - "color": "#205081", - "aliases": [ - { - "base": "original", - "alias": "plain" - }, - { - "base": "original-wordmark", - "alias": "plain-wordmark" - } - ] + "color": "#96ca4b", + "aliases": [] }, { - "name": "couchdb", + "name": "cloudflare", + "altnames": [], "tags": [ - "database" + "web", + "cdn", + "dns", + "proxy", + "security" ], "versions": { "svg": [ @@ -933,74 +1641,20 @@ "plain-wordmark" ] }, - "color": "#e42528", + "color": "#F38020", "aliases": [] }, { - "name": "cplusplus", - "tags": [ - "language" - ], - "versions": { - "svg": [ - "original", - "plain", - "line" - ], - "font": [ - "plain", - "plain-wordmark", - "line", - "line-wordmark" - ] - }, - "color": "#9c033a", - "aliases": [ - { - "base": "plain", - "alias": "plain-wordmark" - }, - { - "base": "line", - "alias": "line-wordmark" - } - ] - }, - { - "name": "csharp", - "tags": [ - "language" + "name": "cloudflareworkers", + "altnames": [ + "Cloudflare Workers" ], - "versions": { - "svg": [ - "original", - "plain", - "line" - ], - "font": [ - "plain", - "plain-wordmark", - "line", - "line-wordmark" - ] - }, - "color": "#68217a", - "aliases": [ - { - "base": "plain", - "alias": "plain-wordmark" - }, - { - "base": "line", - "alias": "line-wordmark" - } - ] - }, - { - "name": "css3", "tags": [ - "language", - "programming" + "platform", + "serverless", + "deploy", + "performance", + "javascript" ], "versions": { "svg": [ @@ -1014,16 +1668,19 @@ "plain-wordmark" ] }, - "color": "#3d8fc6", + "color": "#ea9344", "aliases": [] }, { - "name": "cucumber", + "name": "cmake", + "altnames": [], "tags": [ - "framework" + "build" ], "versions": { "svg": [ + "original", + "original-wordmark", "plain", "plain-wordmark" ], @@ -1032,53 +1689,56 @@ "plain-wordmark" ] }, - "color": "#00a818", + "color": "#0e8a16", "aliases": [] }, { - "name": "crystal", + "name": "codeac", + "altnames": [ + "codeacio" + ], "tags": [ - "programming", - "language" + "platform", + "integration" ], "versions": { "svg": [ - "original", - "original-wordmark" + "original" ], "font": [ - "original", - "original-wordmark" + "original" ] }, - "color": "#000000", + "color": "#005096", "aliases": [] }, { - "name": "d3js", - "tags": [], + "name": "codecov", + "altnames": [], + "tags": [ + "platform", + "integration" + ], "versions": { "svg": [ - "original", "plain" ], "font": [ "plain" ] }, - "color": "#f7974e", + "color": "#e0225c", "aliases": [] }, { - "name": "dart", + "name": "codeigniter", + "altnames": [], "tags": [ - "programming", - "language" + "php", + "framework" ], "versions": { "svg": [ - "original", - "original-wordmark", "plain", "plain-wordmark" ], @@ -1087,35 +1747,49 @@ "plain-wordmark" ] }, - "color": "#00A8E1", + "color": "#ee4323", "aliases": [] }, { - "name": "debian", + "name": "codepen", + "altnames": [], "tags": [ - "os", - "server" + "social", + "website", + "editor" ], "versions": { "svg": [ "original", "original-wordmark", - "plain", - "plain-wordmark" + "line", + "line-wordmark" ], "font": [ - "plain", - "plain-wordmark" + "original", + "original-wordmark", + "line", + "line-wordmark" ] }, - "color": "#A80030", - "aliases": [] + "color": "#000", + "aliases": [ + { + "base": "original", + "alias": "plain" + }, + { + "base": "original-wordmark", + "alias": "plain-wordmark" + } + ] }, { - "name": "denojs", + "name": "coffeescript", + "altnames": [], "tags": [ "javascript", - "rust", + "transpiler", "language" ], "versions": { @@ -1128,7 +1802,7 @@ "original-wordmark" ] }, - "color": "#000000", + "color": "#28334c", "aliases": [ { "base": "original", @@ -1141,69 +1815,4258 @@ ] }, { - "name": "devicon", + "name": "composer", + "altnames": [], "tags": [ - "iconset" + "package", + "manager", + "php" ], "versions": { "svg": [ "original", - "original-wordmark", - "plain", - "plain-wordmark", "line", "line-wordmark" ], "font": [ - "plain", - "plain-wordmark", "line", "line-wordmark" ] }, - "color": "#60BE86", - "aliases": [] + "color": "#000000", + "aliases": [ + { + "base": "line", + "alias": "plain" + }, + { + "base": "line-wordmark", + "alias": "plain-wordmark" + } + ] }, { - "name": "django", - "tags": [], + "name": "confluence", + "altnames": [ + "atlassianconfluence" + ], + "tags": [ + "collaboration", + "documentation", + "wiki" + ], "versions": { "svg": [ + "original", + "original-wordmark", "plain", - "plain-wordmark" + "plain-wordmark", + "line", + "line-wordmark" ], "font": [ "plain", - "plain-wordmark" + "plain-wordmark", + "line", + "line-wordmark" ] }, - "color": "#092e20", + "color": "#136be6", "aliases": [] }, { - "name": "docker", + "name": "consul", + "altnames": [ + "HashiCorp Consul" + ], "tags": [ - "platform", - "deploy" + "networking", + "infrastructure", + "security", + "tool" ], "versions": { "svg": [ "original", "original-wordmark", - "plain", "plain-wordmark" ], "font": [ - "plain", + "original", "plain-wordmark" ] }, - "color": "#019bc6", - "aliases": [] - }, - { - "name": "doctrine", - "tags": [], + "color": "#e03875", + "aliases": [ + { + "base": "original", + "alias": "plain" + } + ] + }, + { + "name": "contao", + "altnames": [], + "tags": [ + "cms" + ], + "versions": { + "svg": [ + "original", + "original-wordmark" + ], + "font": [ + "original", + "original-wordmark" + ] + }, + "color": "#f47c00", + "aliases": [] + }, + { + "name": "corejs", + "altnames": [ + "core-js", + "core.js" + ], + "tags": [ + "javascript", + "library", + "polyfill", + "tool" + ], + "versions": { + "svg": [ + "original", + "original-wordmark" + ], + "font": [ + "original", + "original-wordmark" + ] + }, + "color": "#000000", + "aliases": [ + { + "base": "original", + "alias": "plain" + }, + { + "base": "original-wordmark", + "alias": "plain-wordmark" + } + ] + }, + { + "name": "cosmosdb", + "altnames": [ + "azurecosmosdb" + ], + "tags": [ + "database", + "nosql", + "cloud", + "azure" + ], + "versions": { + "svg": [ + "original", + "original-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#59B3D8", + "aliases": [] + }, + { + "name": "couchbase", + "altnames": [], + "tags": [ + "database", + "nosql", + "cloud" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain-wordmark" + ], + "font": [ + "original", + "plain-wordmark" + ] + }, + "color": "#EA2328", + "aliases": [ + { + "base": "original", + "alias": "plain" + } + ] + }, + { + "name": "couchdb", + "altnames": [ + "apachecouchdb" + ], + "tags": [ + "database" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#e42528", + "aliases": [] + }, + { + "name": "cplusplus", + "altnames": [ + "c++", + "cpp" + ], + "tags": [ + "language" + ], + "versions": { + "svg": [ + "original", + "plain", + "line" + ], + "font": [ + "plain", + "line" + ] + }, + "color": "#004482", + "aliases": [ + { + "base": "plain", + "alias": "plain-wordmark" + }, + { + "base": "line", + "alias": "line-wordmark" + } + ] + }, + { + "name": "crystal", + "altnames": [ + "crystallang" + ], + "tags": [ + "programming", + "language" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "line", + "line-wordmark" + ], + "font": [ + "original", + "original-wordmark", + "line", + "line-wordmark" + ] + }, + "color": "#000", + "aliases": [ + { + "base": "original", + "alias": "plain" + }, + { + "base": "original-wordmark", + "alias": "plain-wordmark" + } + ] + }, + { + "name": "csharp", + "altnames": [ + "c#" + ], + "tags": [ + "language" + ], + "versions": { + "svg": [ + "original", + "plain", + "line" + ], + "font": [ + "plain", + "plain-wordmark", + "line", + "line-wordmark" + ] + }, + "color": "#68217a", + "aliases": [ + { + "base": "plain", + "alias": "plain-wordmark" + }, + { + "base": "line", + "alias": "line-wordmark" + } + ] + }, + { + "name": "css3", + "altnames": [ + "cascadingstylesheets3" + ], + "tags": [ + "language", + "programming" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#3d8fc6", + "aliases": [] + }, + { + "name": "cucumber", + "altnames": [ + "cucumberjs" + ], + "tags": [ + "framework" + ], + "versions": { + "svg": [ + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#00a818", + "aliases": [] + }, + { + "name": "cypressio", + "altnames": [ + "cypress" + ], + "tags": [ + "testing", + "framework" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark", + "line", + "line-wordmark" + ], + "font": [ + "plain", + "plain-wordmark", + "line", + "line-wordmark" + ] + }, + "color": "#1b1e2e", + "aliases": [] + }, + { + "name": "d3js", + "altnames": [], + "tags": [], + "versions": { + "svg": [ + "original", + "plain" + ], + "font": [ + "plain" + ] + }, + "color": "#f7974e", + "aliases": [] + }, + { + "name": "dart", + "altnames": [ + "googledart" + ], + "tags": [ + "programming", + "language" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#00A8E1", + "aliases": [] + }, + { + "name": "datagrip", + "altnames": [], + "tags": [ + "jetbrains", + "ide", + "sql", + "database" + ], + "versions": { + "svg": [ + "original", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#21d789", + "aliases": [] + }, + { + "name": "dataspell", + "altnames": [], + "tags": [ + "jetbrains", + "ide", + "jupyter notebook", + "data science" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#087cfa", + "aliases": [] + }, + { + "name": "dbeaver", + "altnames": [], + "tags": [ + "tool", + "database" + ], + "versions": { + "svg": [ + "original" + ], + "font": [ + "plain" + ] + }, + "color": "#382a24", + "aliases": [] + }, + { + "name": "debian", + "altnames": [], + "tags": [ + "os", + "server" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#A80030", + "aliases": [] + }, + { + "name": "denojs", + "altnames": [], + "tags": [ + "javascript", + "rust", + "runtime" + ], + "versions": { + "svg": [ + "original", + "original-wordmark" + ], + "font": [ + "original", + "original-wordmark" + ] + }, + "color": "#000000", + "aliases": [ + { + "base": "original", + "alias": "plain" + }, + { + "base": "original-wordmark", + "alias": "plain-wordmark" + } + ] + }, + { + "name": "devicon", + "altnames": [], + "tags": [ + "iconset" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark", + "line", + "line-wordmark" + ], + "font": [ + "plain", + "plain-wordmark", + "line", + "line-wordmark" + ] + }, + "color": "#60BE86", + "aliases": [] + }, + { + "name": "digitalocean", + "altnames": [], + "tags": [ + "cloud", + "hosting", + "database", + "storage" + ], + "versions": { + "svg": [ + "original", + "original-wordmark" + ], + "font": [ + "original", + "original-wordmark" + ] + }, + "color": "#0080FF", + "aliases": [ + { + "base": "original", + "alias": "plain" + }, + { + "base": "original-wordmark", + "alias": "plain-wordmark" + } + ] + }, + { + "name": "discordjs", + "altnames": [], + "tags": [ + "wrapper", + "api_wrapper", + "nodejs" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#0c0c14", + "aliases": [] + }, + { + "name": "django", + "altnames": [], + "tags": [], + "versions": { + "svg": [ + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#092e20", + "aliases": [] + }, + { + "name": "djangorest", + "altnames": [ + "Django REST framework" + ], + "tags": [ + "framework", + "rest", + "api", + "python", + "web" + ], + "versions": { + "svg": [ + "original", + "plain", + "line", + "original-wordmark", + "plain-wordmark", + "line-wordmark" + ], + "font": [ + "plain", + "line", + "plain-wordmark", + "line-wordmark" + ] + }, + "color": "#a30000", + "aliases": [] + }, + { + "name": "docker", + "altnames": [], + "tags": [ + "platform", + "deploy" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#019bc6", + "aliases": [] + }, + { + "name": "doctrine", + "altnames": [], + "tags": [], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark", + "line", + "line-wordmark" + ], + "font": [ + "plain", + "plain-wordmark", + "line", + "line-wordmark" + ] + }, + "color": "#f56d39", + "aliases": [] + }, + { + "name": "dot-net", + "altnames": [ + "dotnet", + ".net" + ], + "tags": [ + "framework" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#1384c8", + "aliases": [] + }, + { + "name": "dotnetcore", + "altnames": [ + ".netcore" + ], + "tags": [ + "framework" + ], + "versions": { + "svg": [ + "original", + "plain" + ], + "font": [ + "plain" + ] + }, + "color": "#623697", + "aliases": [] + }, + { + "name": "dreamweaver", + "altnames": [ + "Adobe Dreamweaver" + ], + "tags": [ + "web-development", + "editor", + "software", + "tool" + ], + "versions": { + "svg": [ + "original", + "plain", + "line" + ], + "font": [ + "plain", + "line" + ] + }, + "color": "#470137", + "aliases": [] + }, + { + "name": "dropwizard", + "altnames": [], + "tags": [ + "java", + "framework" + ], + "versions": { + "svg": [ + "original", + "plain" + ], + "font": [ + "plain" + ] + }, + "color": "#24265d", + "aliases": [] + }, + { + "name": "drupal", + "altnames": [], + "tags": [ + "cms" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#0073BA", + "aliases": [] + }, + { + "name": "dynamodb", + "altnames": [], + "tags": [ + "key-value", + "database", + "java" + ], + "versions": { + "svg": [ + "original", + "plain" + ], + "font": [ + "plain" + ] + }, + "color": "#527fff", + "aliases": [] + }, + { + "name": "eclipse", + "altnames": [ + "Eclipse IDE" + ], + "tags": [ + "editor", + "IDE" + ], + "versions": { + "svg": [ + "original-wordmark", + "original" + ], + "font": [ + "plain-wordmark", + "plain" + ] + }, + "color": "#2c2255", + "aliases": [] + }, + { + "name": "ecto", + "altnames": [], + "tags": [ + "data", + "elixir", + "integration", + "query" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain-wordmark" + ], + "font": [ + "original", + "plain-wordmark" + ] + }, + "color": "#77bf43", + "aliases": [ + { + "base": "original", + "alias": "plain" + } + ] + }, + { + "name": "elasticsearch", + "altnames": [], + "tags": [ + "elastic", + "data", + "logs" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain-wordmark", + "plain" + ] + }, + "color": "#00bfb3", + "aliases": [] + }, + { + "name": "electron", + "altnames": [ + "electronjs" + ], + "tags": [ + "framework" + ], + "versions": { + "svg": [ + "original", + "original-wordmark" + ], + "font": [ + "original", + "original-wordmark" + ] + }, + "color": "#47848f", + "aliases": [] + }, + { + "name": "eleventy", + "altnames": [ + "11ty" + ], + "tags": [ + "ssg", + "static site generator" + ], + "versions": { + "svg": [ + "original", + "plain" + ], + "font": [ + "plain" + ] + }, + "color": "#1f1f1f", + "aliases": [] + }, + { + "name": "elixir", + "altnames": [ + "elexirlang" + ], + "tags": [ + "language" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#380A4D", + "aliases": [] + }, + { + "name": "elm", + "altnames": [ + "elmlang" + ], + "tags": [ + "framework" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#34495E", + "aliases": [] + }, + { + "name": "emacs", + "altnames": [ + "editingmacros" + ], + "tags": [ + "editor" + ], + "versions": { + "svg": [ + "original" + ], + "font": [ + "original" + ] + }, + "color": "#421f5f", + "aliases": [] + }, + { + "name": "embeddedc", + "altnames": [], + "tags": [ + "language", + "programming" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#444444", + "aliases": [] + }, + { + "name": "ember", + "altnames": [ + "ember.js", + "emberjs" + ], + "tags": [ + "framework", + "javascript", + "web-development", + "build" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain" + ], + "font": [ + "original-wordmark", + "plain" + ] + }, + "color": "#E04E39", + "aliases": [ + { + "base": "original-wordmark", + "alias": "plain-wordmark" + } + ] + }, + { + "name": "envoy", + "altnames": [ + "envoyproxy" + ], + "tags": [ + "proxy", + "cloud" + ], + "versions": { + "svg": [ + "original", + "original-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#e13eaf", + "aliases": [] + }, + { + "name": "erlang", + "altnames": [], + "tags": [], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#a90533", + "aliases": [] + }, + { + "name": "eslint", + "altnames": [], + "tags": [ + "linter", + "javascript", + "code-quality", + "coding-style" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark", + "line", + "line-wordmark" + ], + "font": [ + "plain", + "plain-wordmark", + "line", + "line-wordmark" + ] + }, + "color": "#4b32c3", + "aliases": [] + }, + { + "name": "express", + "altnames": [ + "expressjs" + ], + "tags": [ + "framework" + ], + "versions": { + "svg": [ + "original", + "original-wordmark" + ], + "font": [ + "original", + "original-wordmark" + ] + }, + "color": "#444", + "aliases": [] + }, + { + "name": "facebook", + "altnames": [], + "tags": [ + "auth" + ], + "versions": { + "svg": [ + "original", + "plain" + ], + "font": [ + "plain" + ] + }, + "color": "#3d5a98", + "aliases": [ + { + "base": "plain", + "alias": "original" + } + ] + }, + { + "name": "fastapi", + "altnames": [], + "tags": [ + "python", + "framework" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#009688", + "aliases": [] + }, + { + "name": "fastify", + "altnames": [], + "tags": [ + "framework", + "web", + "node.js", + "javascript", + "performance" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#000000", + "aliases": [] + }, + { + "name": "faunadb", + "altnames": [ + "fauna" + ], + "tags": [ + "database" + ], + "versions": { + "svg": [ + "original-wordmark", + "original", + "line", + "line-wordmark" + ], + "font": [ + "original-wordmark", + "original", + "line", + "line-wordmark" + ] + }, + "color": "#3A1AB6", + "aliases": [ + { + "base": "original", + "alias": "plain" + }, + { + "base": "original-wordmark", + "alias": "plain-wordmark" + } + ] + }, + { + "name": "feathersjs", + "altnames": [], + "tags": [ + "framework", + "rest" + ], + "versions": { + "svg": [ + "original" + ], + "font": [ + "original" + ] + }, + "color": "#333333", + "aliases": [] + }, + { + "name": "fedora", + "altnames": [], + "tags": [ + "linux", + "distribuition", + "desktop" + ], + "versions": { + "svg": [ + "original", + "plain" + ], + "font": [ + "plain" + ] + }, + "color": "#294172", + "aliases": [] + }, + { + "name": "figma", + "altnames": [], + "tags": [ + "design" + ], + "versions": { + "svg": [ + "original", + "plain" + ], + "font": [ + "plain" + ] + }, + "color": "#f24e1e", + "aliases": [] + }, + { + "name": "filezilla", + "altnames": [], + "tags": [ + "ftp" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark", + "line", + "line-wordmark" + ], + "font": [ + "plain", + "plain-wordmark", + "line", + "line-wordmark" + ] + }, + "color": "#bb0001", + "aliases": [] + }, + { + "name": "firebase", + "altnames": [], + "tags": [ + "auth", + "hosting", + "storage", + "cloud" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark", + "line", + "line-wordmark" + ], + "font": [ + "plain", + "plain-wordmark", + "line", + "line-wordmark" + ] + }, + "color": "#ffa000", + "aliases": [] + }, + { + "name": "firefox", + "altnames": [ + "mozillafirefox" + ], + "tags": [ + "browser" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#DD732A", + "aliases": [] + }, + { + "name": "flask", + "altnames": [], + "tags": [ + "python", + "framework" + ], + "versions": { + "svg": [ + "original", + "original-wordmark" + ], + "font": [ + "original", + "original-wordmark" + ] + }, + "color": "#010101", + "aliases": [ + { + "base": "original", + "alias": "plain" + }, + { + "base": "original-wordmark", + "alias": "plain-wordmark" + } + ] + }, + { + "name": "flutter", + "altnames": [], + "tags": [ + "framework", + "sdk" + ], + "versions": { + "svg": [ + "original", + "plain" + ], + "font": [ + "plain" + ] + }, + "color": "#3FB6D3", + "aliases": [] + }, + { + "name": "fortran", + "altnames": [], + "tags": [ + "programming", + "language" + ], + "versions": { + "svg": [ + "original" + ], + "font": [ + "original" + ] + }, + "color": "#734f96", + "aliases": [] + }, + { + "name": "foundation", + "altnames": [], + "tags": [ + "framework", + "css" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#008cba", + "aliases": [] + }, + { + "name": "framermotion", + "altnames": [ + "framer-motion", + "framer" + ], + "tags": [ + "library", + "open-source", + "react", + "animation" + ], + "versions": { + "svg": [ + "original", + "original-wordmark" + ], + "font": [ + "original", + "original-wordmark" + ] + }, + "color": "#000", + "aliases": [ + { + "base": "original", + "alias": "plain" + }, + { + "base": "original-wordmark", + "alias": "plain-wordmark" + } + ] + }, + { + "name": "framework7", + "altnames": [], + "tags": [ + "framework", + "cross-platform", + "development", + "mobile", + "android", + "ios", + "open-source" + ], + "versions": { + "svg": [ + "original", + "original-wordmark" + ], + "font": [ + "original", + "original-wordmark" + ] + }, + "color": "#ee350f", + "aliases": [ + { + "base": "original", + "alias": "plain" + }, + { + "base": "original-wordmark", + "alias": "plain-wordmark" + } + ] + }, + { + "name": "fsharp", + "altnames": [ + "f#" + ], + "tags": [ + "language" + ], + "versions": { + "svg": [ + "original", + "plain" + ], + "font": [ + "plain" + ] + }, + "color": "#378BBA", + "aliases": [] + }, + { + "name": "gatling", + "altnames": [], + "tags": [ + "framework", + "testing" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain-wordmark", + "line", + "line-wordmark" + ], + "font": [ + "original", + "plain-wordmark", + "line", + "line-wordmark" + ] + }, + "color": "#f78557", + "aliases": [ + { + "base": "original", + "alias": "plain" + } + ] + }, + { + "name": "gatsby", + "altnames": [ + "gatsbyjs" + ], + "tags": [ + "reactjs", + "framework" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain-wordmark" + ], + "font": [ + "original", + "plain-wordmark" + ] + }, + "color": "#64328B", + "aliases": [ + { + "base": "original", + "alias": "plain" + } + ] + }, + { + "name": "gazebo", + "altnames": [], + "tags": [ + "robotics", + "3d" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#f58113", + "aliases": [] + }, + { + "name": "gcc", + "altnames": [ + "gnucompilercollection" + ], + "tags": [ + "compiler", + "linux" + ], + "versions": { + "svg": [ + "original", + "plain", + "line" + ], + "font": [ + "plain", + "line" + ] + }, + "color": "#ffcfab", + "aliases": [ + { + "base": "original", + "alias": "original-wordmark" + }, + { + "base": "plain", + "alias": "plain-wordmark" + }, + { + "base": "line", + "alias": "line-wordmark" + } + ] + }, + { + "name": "gentoo", + "altnames": [], + "tags": [ + "linux", + "distribuition", + "desktop" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark", + "line", + "line-wordmark" + ], + "font": [ + "plain", + "plain-wordmark", + "line", + "line-wordmark" + ] + }, + "color": "#9991d9", + "aliases": [] + }, + { + "name": "ghost", + "altnames": [], + "tags": [ + "cms" + ], + "versions": { + "svg": [ + "original", + "original-wordmark" + ], + "font": [ + "original", + "original-wordmark" + ] + }, + "color": "#000000", + "aliases": [] + }, + { + "name": "gimp", + "altnames": [], + "tags": [ + "graphic" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark", + "line", + "line-wordmark" + ], + "font": [ + "plain", + "plain-wordmark", + "line", + "line-wordmark" + ] + }, + "color": "#716955", + "aliases": [] + }, + { + "name": "git", + "altnames": [], + "tags": [ + "version-control" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#f34f29", + "aliases": [] + }, + { + "name": "gitbook", + "altnames": [], + "tags": [ + "documentation", + "pages", + "git", + "markup" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "line", + "line-wordmark" + ], + "font": [ + "original", + "original-wordmark", + "line", + "line-wordmark" + ] + }, + "color": "#346ddb", + "aliases": [ + { + "base": "original", + "alias": "plain" + }, + { + "base": "original-wordmark", + "alias": "plain-wordmark" + } + ] + }, + { + "name": "github", + "altnames": [], + "tags": [ + "version-control" + ], + "versions": { + "svg": [ + "original", + "original-wordmark" + ], + "font": [ + "original", + "original-wordmark" + ] + }, + "color": "#181616", + "aliases": [ + { + "base": "original", + "alias": "plain" + } + ] + }, + { + "name": "githubactions", + "altnames": [ + "GitHub Actions" + ], + "tags": [ + "devops", + "integration" + ], + "versions": { + "svg": [ + "original", + "plain" + ], + "font": [ + "plain" + ] + }, + "color": "#2088FF", + "aliases": [] + }, + { + "name": "githubcodespaces", + "altnames": [ + "GitHub Codespaces" + ], + "tags": [ + "development", + "remote-development", + "editor", + "browser", + "cloud" + ], + "versions": { + "svg": [ + "original", + "plain" + ], + "font": [ + "plain" + ] + }, + "color": "#24292e", + "aliases": [] + }, + { + "name": "gitlab", + "altnames": [], + "tags": [ + "version-control" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#E24329", + "aliases": [] + }, + { + "name": "gitpod", + "altnames": [ + "gitpod-io" + ], + "tags": [ + "open-source", + "remote-development", + "cloud", + "IDE" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#FFA132", + "aliases": [] + }, + { + "name": "gitter", + "altnames": [], + "tags": [ + "social", + "chat" + ], + "versions": { + "svg": [ + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#000000", + "aliases": [] + }, + { + "name": "go", + "altnames": [ + "golang" + ], + "tags": [ + "language" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "line" + ], + "font": [ + "original-wordmark", + "plain", + "line" + ] + }, + "color": "#00acd7", + "aliases": [ + { + "base": "original-wordmark", + "alias": "plain-wordmark" + } + ] + }, + { + "name": "godot", + "altnames": [], + "tags": [ + "game-engine", + "open-source" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#478cbf", + "aliases": [] + }, + { + "name": "goland", + "altnames": [], + "tags": [ + "jetbrains", + "ide", + "go" + ], + "versions": { + "svg": [ + "original", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#087cfa", + "aliases": [] + }, + { + "name": "google", + "altnames": [], + "tags": [ + "auth" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#587dbd", + "aliases": [ + { + "base": "plain", + "alias": "original" + }, + { + "base": "plain-wordmark", + "alias": "original-wordmark" + } + ] + }, + { + "name": "googlecloud", + "altnames": [], + "tags": [ + "google", + "cloud" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#557ebf", + "aliases": [] + }, + { + "name": "gradle", + "altnames": [ + "apachegradle", + "gradlebuildtool" + ], + "tags": [ + "open-source", + "task-runner" + ], + "versions": { + "svg": [ + "original", + "original-wordmark" + ], + "font": [ + "original", + "original-wordmark" + ] + }, + "color": "#02303a", + "aliases": [ + { + "base": "original", + "alias": "plain" + }, + { + "base": "original-wordmark", + "alias": "plain-wordmark" + } + ] + }, + { + "name": "grafana", + "altnames": [], + "tags": [ + "monitoring", + "analytics", + "metrics", + "logs", + "visualization", + "web-application" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark", + "line", + "line-wordmark" + ], + "font": [ + "plain", + "plain-wordmark", + "line", + "line-wordmark" + ] + }, + "color": "#f7a525", + "aliases": [] + }, + { + "name": "grails", + "altnames": [ + "Grails Framework" + ], + "tags": [ + "framework", + "groovy", + "web-development", + "jvm", + "build" + ], + "versions": { + "svg": [ + "original", + "plain" + ], + "font": [ + "plain" + ] + }, + "color": "#feb571", + "aliases": [] + }, + { + "name": "graphql", + "altnames": [], + "tags": [ + "language", + "data", + "query" + ], + "versions": { + "svg": [ + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#e434aa", + "aliases": [] + }, + { + "name": "groovy", + "altnames": [ + "groovylang", + "apachegroovy" + ], + "tags": [ + "programming", + "language", + "jvm" + ], + "versions": { + "svg": [ + "original", + "plain" + ], + "font": [ + "plain" + ] + }, + "color": "#619cbc", + "aliases": [] + }, + { + "name": "grpc", + "altnames": [ + "grpcio", + "Google Remote Procedure Call" + ], + "tags": [ + "programming", + "c++", + "java", + "python", + "go", + "library" + ], + "versions": { + "svg": [ + "original", + "plain" + ], + "font": [ + "plain" + ] + }, + "color": "#00b0ad", + "aliases": [] + }, + { + "name": "grunt", + "altnames": [ + "gruntjs" + ], + "tags": [ + "task-runner", + "nodejs" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark", + "line", + "line-wordmark" + ], + "font": [ + "plain", + "plain-wordmark", + "line", + "line-wordmark" + ] + }, + "color": "#fcaa1a", + "aliases": [] + }, + { + "name": "gulp", + "altnames": [ + "gulpjs" + ], + "tags": [ + "task-runner", + "nodejs" + ], + "versions": { + "svg": [ + "plain" + ], + "font": [ + "plain" + ] + }, + "color": "#eb4a4b", + "aliases": [] + }, + { + "name": "hadoop", + "altnames": [ + "Apache Hadoop" + ], + "tags": [ + "framework", + "big data", + "open-source", + "software", + "library", + "framework", + "java" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#ffff00", + "aliases": [ + { + "base": "plain", + "alias": "line" + }, + { + "base": "plain-wordmark", + "alias": "line-wordmark" + } + ] + }, + { + "name": "handlebars", + "altnames": [ + "handlebarsjs" + ], + "tags": [ + "framework" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "line", + "line-wordmark" + ], + "font": [ + "original", + "original-wordmark", + "line", + "line-wordmark" + ] + }, + "color": "#000000", + "aliases": [ + { + "base": "original", + "alias": "plain" + }, + { + "base": "original-wordmark", + "alias": "plain-wordmark" + } + ] + }, + { + "name": "hardhat", + "altnames": [], + "tags": [ + "ethereum", + "development", + "solidity", + "javascript", + "typescript" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#fff100", + "aliases": [] + }, + { + "name": "harvester", + "altnames": [ + "harvesterhci" + ], + "tags": [ + "kubernetes", + "operating-system", + "hypervisor", + "rancher" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain-wordmark" + ], + "font": [ + "original", + "plain-wordmark" + ] + }, + "color": "#00A580", + "aliases": [ + { + "base": "original", + "alias": "plain" + } + ] + }, + { + "name": "haskell", + "altnames": [], + "tags": [ + "language", + "functional" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#5E5185", + "aliases": [] + }, + { + "name": "haxe", + "altnames": [], + "tags": [ + "language" + ], + "versions": { + "svg": [ + "original", + "plain" + ], + "font": [ + "plain" + ] + }, + "color": "#EA8220", + "aliases": [] + }, + { + "name": "helm", + "altnames": [], + "tags": [ + "package", + "manager", + "kubernetes" + ], + "versions": { + "svg": [ + "original", + "line" + ], + "font": [ + "original", + "line" + ] + }, + "color": "#0F1689", + "aliases": [ + { + "base": "original", + "alias": "plain" + } + ] + }, + { + "name": "heroku", + "altnames": [], + "tags": [ + "cloud" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ] + }, + "color": "#6762a6", + "aliases": [ + { + "base": "original", + "alias": "line" + }, + { + "base": "original-wordmark", + "alias": "line-wordmark" + } + ] + }, + { + "name": "hibernate", + "altnames": [], + "tags": [ + "database", + "framework", + "java" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#bcae79", + "aliases": [] + }, + { + "name": "homebrew", + "altnames": [], + "tags": [ + "package", + "manager", + "linux", + "apple", + "os" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark", + "line", + "line-wordmark" + ], + "font": [ + "plain", + "plain-wordmark", + "line", + "line-wordmark" + ] + }, + "color": "#fbb040", + "aliases": [] + }, + { + "name": "html5", + "altnames": [ + "hypertextmarkdownlanguage5" + ], + "tags": [ + "programming", + "language" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#e54d26", + "aliases": [] + }, + { + "name": "hugo", + "altnames": [ + "gohugo" + ], + "tags": [ + "framework", + "ssg", + "static-site-generator", + "go", + "html", + "css" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#FF4088", + "aliases": [] + }, + { + "name": "ie10", + "altnames": [ + "internetexplorer10" + ], + "tags": [ + "browser" + ], + "versions": { + "svg": [ + "original" + ], + "font": [ + "original" + ] + }, + "color": "#1EBBEE", + "aliases": [ + { + "base": "original", + "alias": "plain" + } + ] + }, + { + "name": "ifttt", + "altnames": [ + "ifthisthenthat" + ], + "tags": [ + "automation", + "applets", + "programming" + ], + "versions": { + "svg": [ + "original" + ], + "font": [ + "original" + ] + }, + "color": "#000", + "aliases": [ + { + "base": "original", + "alias": "plain" + } + ] + }, + { + "name": "illustrator", + "altnames": [ + "adobeillustrator" + ], + "tags": [ + "editor", + "vector" + ], + "versions": { + "svg": [ + "plain", + "line" + ], + "font": [ + "plain", + "line" + ] + }, + "color": "#faa625", + "aliases": [] + }, + { + "name": "influxdb", + "altnames": [], + "tags": [ + "database", + "monitoring", + "open-source", + "api" + ], + "versions": { + "svg": [ + "original", + "original-wordmark" + ], + "font": [ + "original", + "original-wordmark" + ] + }, + "color": "#020a47", + "aliases": [ + { + "base": "original", + "alias": "plain" + }, + { + "base": "original-wordmark", + "alias": "plain-wordmark" + } + ] + }, + { + "name": "inkscape", + "altnames": [], + "tags": [ + "editor", + "vector" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#000000", + "aliases": [] + }, + { + "name": "insomnia", + "altnames": [ + "Insomnia Rest Client" + ], + "tags": [ + "open-source", + "Rest API", + "Soap API", + "JSON-XML" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#4000bf", + "aliases": [] + }, + { + "name": "intellij", + "altnames": [ + "intellijidea" + ], + "tags": [ + "jetbrains", + "editor", + "java" + ], + "versions": { + "svg": [ + "original", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#087cfa", + "aliases": [] + }, + { + "name": "ionic", + "altnames": [], + "tags": [ + "framework" + ], + "versions": { + "svg": [ + "original", + "original-wordmark" + ], + "font": [ + "original", + "original-wordmark" + ] + }, + "color": "#4e8ef7", + "aliases": [] + }, + { + "name": "jaegertracing", + "altnames": [ + "jaeger" + ], + "tags": [ + "monitoring", + "tracing" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#67cfe3", + "aliases": [] + }, + { + "name": "jamstack", + "altnames": [], + "tags": [ + "javascript", + "markup" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain-wordmark" + ], + "font": [ + "original", + "plain-wordmark" + ] + }, + "color": "#F0047F", + "aliases": [ + { + "base": "original", + "alias": "plain" + } + ] + }, + { + "name": "jasmine", + "altnames": [ + "jasminejs" + ], + "tags": [ + "testing" + ], + "versions": { + "svg": [ + "original", + "original-wordmark" + ], + "font": [ + "original", + "original-wordmark" + ] + }, + "color": "#8a4182", + "aliases": [ + { + "base": "original", + "alias": "plain" + }, + { + "base": "original-wordmark", + "alias": "plain-wordmark" + } + ] + }, + { + "name": "java", + "altnames": [], + "tags": [ + "programming", + "language", + "jvm" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#EA2D2E", + "aliases": [] + }, + { + "name": "javascript", + "altnames": [ + "js", + "ecmascript" + ], + "tags": [ + "programming", + "language" + ], + "versions": { + "svg": [ + "original", + "plain" + ], + "font": [ + "plain" + ] + }, + "color": "#f0db4f", + "aliases": [] + }, + { + "name": "jeet", + "altnames": [], + "tags": [ + "framework", + "css" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#FF664A", + "aliases": [] + }, + { + "name": "jekyll", + "altnames": [ + "jestjs" + ], + "tags": [ + "ruby", + "blog" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#000000", + "aliases": [] + }, + { + "name": "jenkins", + "altnames": [ + "hudson" + ], + "tags": [ + "platform", + "integration", + "server" + ], + "versions": { + "svg": [ + "line", + "original", + "plain" + ], + "font": [ + "line", + "plain" + ] + }, + "color": "#F0D6B7", + "aliases": [] + }, + { + "name": "jest", + "altnames": [ + "jestjs" + ], + "tags": [ + "testing", + "javascript" + ], + "versions": { + "svg": [ + "plain" + ], + "font": [ + "plain" + ] + }, + "color": "#99425b", + "aliases": [] + }, + { + "name": "jetbrains", + "altnames": [ + "intellijsoftware" + ], + "tags": [ + "ide" + ], + "versions": { + "svg": [ + "original", + "plain" + ], + "font": [ + "plain" + ] + }, + "color": "#FDCC21", + "aliases": [] + }, + { + "name": "jetpackcompose", + "altnames": [], + "tags": [ + "framework", + "language", + "kotlin", + "android" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark", + "line", + "line-wordmark" + ], + "font": [ + "plain-wordmark", + "plain", + "line", + "line-wordmark" + ] + }, + "color": "#4285f4", + "aliases": [] + }, + { + "name": "jira", + "altnames": [ + "atlassianjira" + ], + "tags": [ + "platform", + "organize" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#2684ff", + "aliases": [] + }, + { + "name": "jiraalign", + "altnames": [ + "Jira Align" + ], + "tags": [ + "development", + "integration", + "software" + ], + "versions": { + "svg": [ + "original", + "plain", + "original-wordmark", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#2684FF", + "aliases": [] + }, + { + "name": "jquery", + "altnames": [ + "jqueryjs" + ], + "tags": [ + "library", + "javascript" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#0769ad", + "aliases": [] + }, + { + "name": "json", + "altnames": [ + "JavaScript Object Notation" + ], + "tags": [ + "format", + "standard", + "file-format", + "object-notation" + ], + "versions": { + "svg": [ + "original", + "plain" + ], + "font": [ + "plain" + ] + }, + "color": "#505050", + "aliases": [] + }, + { + "name": "jule", + "altnames": [ + "julelang" + ], + "tags": [ + "programming", + "language" + ], + "versions": { + "svg": [ + "original", + "original-wordmark" + ], + "font": [ + "original", + "original-wordmark" + ] + }, + "color": "#5f7389", + "aliases": [ + { + "base": "original", + "alias": "plain" + }, + { + "base": "original-wordmark", + "alias": "plain-wordmark" + } + ] + }, + { + "name": "julia", + "altnames": [ + "julialang" + ], + "tags": [ + "programming", + "language" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#28a745", + "aliases": [] + }, + { + "name": "junit", + "altnames": [], + "tags": [ + "testing", + "framework", + "java" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark", + "line", + "line-wordmark" + ], + "font": [ + "plain", + "plain-wordmark", + "line", + "line-wordmark" + ] + }, + "color": "#dc514a", + "aliases": [] + }, + { + "name": "jupyter", + "altnames": [ + "jupyternotebook" + ], + "tags": [ + "programming", + "language" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#F37726", + "aliases": [] + }, + { + "name": "k3os", + "altnames": [], + "tags": [ + "kubernetes", + "operating-system", + "k3s", + "rancher" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain-wordmark", + "line", + "line-wordmark" + ], + "font": [ + "original", + "plain-wordmark", + "line", + "line-wordmark" + ] + }, + "color": "#fd824e", + "aliases": [ + { + "base": "original", + "alias": "plain" + } + ] + }, + { + "name": "k3s", + "altnames": [], + "tags": [ + "kubernetes", + "container", + "platform" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain-wordmark" + ], + "font": [ + "original", + "plain-wordmark" + ] + }, + "color": "#ffc519", + "aliases": [ + { + "base": "original", + "alias": "plain" + } + ] + }, + { + "name": "k6", + "altnames": [], + "tags": [ + "testing", + "performance", + "load" + ], + "versions": { + "svg": [ + "original" + ], + "font": [ + "original" + ] + }, + "color": "#7D64FF", + "aliases": [ + { + "base": "original", + "alias": "plain" + } + ] + }, + { + "name": "kaggle", + "altnames": [], + "tags": [ + "platform", + "auth", + "machine-learning" + ], + "versions": { + "svg": [ + "original", + "original-wordmark" + ], + "font": [ + "original", + "original-wordmark" + ] + }, + "color": "#20BEFF", + "aliases": [ + { + "base": "original", + "alias": "plain" + }, + { + "base": "original-wordmark", + "alias": "plain-wordmark" + } + ] + }, + { + "name": "karatelabs", + "altnames": [ + "karate" + ], + "tags": [ + "framework", + "testing" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#000000", + "aliases": [] + }, + { + "name": "karma", + "altnames": [ + "karmarunner", + "karmajs" + ], + "tags": [ + "testing", + "test-runner" + ], + "versions": { + "svg": [ + "original", + "plain" + ], + "font": [ + "plain" + ] + }, + "color": "#56c5a8", + "aliases": [] + }, + { + "name": "kdeneon", + "altnames": [], + "tags": [ + "linux", + "operating system", + "open-source" + ], + "versions": { + "svg": [ + "original", + "plain" + ], + "font": [ + "plain" + ] + }, + "color": "#21769a", + "aliases": [] + }, + { + "name": "keras", + "altnames": [], + "tags": [ + "machine-learning", + "python", + "library" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark", + "line", + "line-wordmark" + ], + "font": [ + "plain", + "plain-wordmark", + "line", + "line-wordmark" + ] + }, + "color": "#d00000", + "aliases": [] + }, + { + "name": "kibana", + "altnames": [], + "tags": [ + "elastic", + "dashboard" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#F04E98", + "aliases": [] + }, + { + "name": "knexjs", + "altnames": [], + "tags": [ + "database", + "query", + "sql", + "javascript", + "library" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain-wordmark" + ], + "font": [ + "original", + "plain-wordmark" + ] + }, + "color": "#e16426", + "aliases": [ + { + "base": "original", + "alias": "plain" + } + ] + }, + { + "name": "knockout", + "altnames": [ + "knockoutjs" + ], + "tags": [ + "framework", + "javascript" + ], + "versions": { + "svg": [ + "plain-wordmark" + ], + "font": [ + "plain-wordmark" + ] + }, + "color": "#e42e16", + "aliases": [] + }, + { + "name": "kotlin", + "altnames": [ + "kotlinlang" + ], + "tags": [ + "language", + "jetbrains", + "jvm" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#c711e1", + "aliases": [] + }, + { + "name": "krakenjs", + "altnames": [ + "kraken" + ], + "tags": [ + "nodejs", + "framework" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#0081C2", + "aliases": [] + }, + { + "name": "ktor", + "altnames": [], + "tags": [ + "jetbrains", + "kotlin", + "framework" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#fc801d", + "aliases": [] + }, + { + "name": "kubernetes", + "altnames": [], + "tags": [ + "container", + "deployment" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark", + "line", + "line-wordmark" + ], + "font": [ + "plain", + "plain-wordmark", + "line", + "line-wordmark" + ] + }, + "color": "#326ce5", + "aliases": [] + }, + { + "name": "labview", + "altnames": [], + "tags": [ + "language" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#fed500", + "aliases": [] + }, + { + "name": "laravel", + "altnames": [], + "tags": [ + "php", + "framework" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "line", + "line-wordmark" + ], + "font": [ + "original", + "original-wordmark", + "line", + "line-wordmark" + ] + }, + "color": "#f0513f", + "aliases": [ + { + "base": "original", + "alias": "plain" + }, + { + "base": "original-wordmark", + "alias": "plain-wordmark" + } + ] + }, + { + "name": "latex", + "altnames": [], + "tags": [ + "latex3", + "latex2e", + "markup", + "tex", + "typesetting-system" + ], + "versions": { + "svg": [ + "original" + ], + "font": [ + "original" + ] + }, + "color": "#000000", + "aliases": [ + { + "base": "original", + "alias": "plain" + } + ] + }, + { + "name": "less", + "altnames": [ + "lesscss" + ], + "tags": [ + "css", + "pre-processor" + ], + "versions": { + "svg": [ + "plain-wordmark" + ], + "font": [ + "plain-wordmark" + ] + }, + "color": "#2a4d80", + "aliases": [] + }, + { + "name": "linkedin", + "altnames": [], + "tags": [ + "social", + "auth" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#0076b2", + "aliases": [] + }, + { + "name": "linux", + "altnames": [], + "tags": [ + "os" + ], + "versions": { + "svg": [ + "original", + "plain" + ], + "font": [ + "plain" + ] + }, + "color": "#000000", + "aliases": [] + }, + { + "name": "liquibase", + "altnames": [], + "tags": [ + "tool", + "database" + ], + "versions": { + "svg": [ + "original-wordmark", + "original" + ], + "font": [ + "original-wordmark", + "original" + ] + }, + "color": "#FF3C00", + "aliases": [ + { + "base": "original", + "alias": "plain" + }, + { + "base": "original-wordmark", + "alias": "plain-wordmark" + } + ] + }, + { + "name": "livewire", + "altnames": [ + "laravel-livewire" + ], + "tags": [ + "framework", + "laravel", + "php", + "open-source" + ], + "versions": { + "svg": [ + "original-wordmark", + "original", + "plain", + "plain-wordmark" + ], + "font": [ + "plain-wordmark", + "plain" + ] + }, + "color": "#FB70A9", + "aliases": [] + }, + { + "name": "llvm", + "altnames": [ + "Low Level Virtual Machine" + ], + "tags": [ + "compiler", + "framework", + "c++", + "open-source" + ], + "versions": { + "svg": [ + "original", + "plain" + ], + "font": [ + "plain" + ] + }, + "color": "#5A90B6", + "aliases": [] + }, + { + "name": "lodash", + "altnames": [], + "tags": [ + "javascript", + "framework" + ], + "versions": { + "svg": [ + "original", + "plain" + ], + "font": [ + "plain" + ] + }, + "color": "#000", + "aliases": [] + }, + { + "name": "logstash", + "altnames": [], + "tags": [ + "logs", + "elastic" + ], + "versions": { + "svg": [ + "original-wordmark", + "original", + "plain-wordmark", + "plain" + ], + "font": [ + "plain-wordmark", + "plain" + ] + }, + "color": "#fec514", + "aliases": [] + }, + { + "name": "lua", + "altnames": [ + "lualang" + ], + "tags": [ + "programming", + "language", + "object-oriented", + "scripting", + "procedural", + "prototype-based", + "functional" + ], + "versions": { + "svg": [ + "original", + "plain", + "line" + ], + "font": [ + "plain", + "line" + ] + }, + "color": "#000080", + "aliases": [ + { + "base": "original", + "alias": "original-wordmark" + }, + { + "base": "plain", + "alias": "plain-wordmark" + }, + { + "base": "line", + "alias": "line-wordmark" + } + ] + }, + { + "name": "lumen", + "altnames": [ + "Laravel Lumen", + "Lumen Laravel", + "Laravel Lumen Framework", + "laravel.lumen" + ], + "tags": [ + "laravel", + "php", + "framework", + "micro-framework" + ], + "versions": { + "svg": [ + "original" + ], + "font": [ + "original" + ] + }, + "color": "#e54537", + "aliases": [ + { + "base": "original", + "alias": "plain" + } + ] + }, + { + "name": "magento", + "altnames": [], + "tags": [ + "php", + "framework" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain-wordmark", + "line", + "line-wordmark" + ], + "font": [ + "original", + "plain-wordmark", + "line", + "line-wordmark" + ] + }, + "color": "#f26322", + "aliases": [ + { + "base": "original", + "alias": "plain" + } + ] + }, + { + "name": "mariadb", + "altnames": [], + "tags": [ + "database", + "sql", + "open-source" + ], + "versions": { + "svg": [ + "original", + "original-wordmark" + ], + "font": [ + "original", + "original-wordmark" + ] + }, + "color": "#003545", + "aliases": [ + { + "base": "original", + "alias": "plain" + }, + { + "base": "original-wordmark", + "alias": "plain-wordmark" + } + ] + }, + { + "name": "markdown", + "altnames": [ + "md" + ], + "tags": [ + "markup", + "language" + ], + "versions": { + "svg": [ + "original" + ], + "font": [ + "original" + ] + }, + "color": "#000000", + "aliases": [ + { + "base": "original", + "alias": "plain" + } + ] + }, + { + "name": "materializecss", + "altnames": [ + "materialize", + "materialize-css", + "materialize css" + ], + "tags": [ + "framework", + "css", + "design", + "material-design" + ], + "versions": { + "svg": [ + "original", + "plain" + ], + "font": [ + "plain" + ] + }, + "color": "#EB7077", + "aliases": [] + }, + { + "name": "materialui", + "altnames": [ + "mui" + ], + "tags": [ + "framework", + "design", + "ui" + ], + "versions": { + "svg": [ + "original", + "plain" + ], + "font": [ + "plain" + ] + }, + "color": "#1FA6CA", + "aliases": [] + }, + { + "name": "matlab", + "altnames": [], + "tags": [ + "programming", + "language" + ], + "versions": { + "svg": [ + "original", + "plain", + "line" + ], + "font": [ + "plain", + "line" + ] + }, + "color": "#6dd0c7", + "aliases": [] + }, + { + "name": "matplotlib", + "altnames": [], + "tags": [ + "plotting", + "library", + "math", + "visualization", + "python", + "api" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#11557C", + "aliases": [] + }, + { + "name": "maven", + "altnames": [ + "apachemaven", + "mvn" + ], + "tags": [ + "build" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#e97826", + "aliases": [] + }, + { + "name": "maya", + "altnames": [], + "tags": [ + "mel", + "pymel", + "python", + "3d", + "programming", + "vfx", + "graphic", + "graphics", + "game", + "animation" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#149B9A", + "aliases": [] + }, + { + "name": "meteor", + "altnames": [ + "meteorjs" + ], + "tags": [ + "javascript", + "framework" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#df5052", + "aliases": [] + }, + { + "name": "microsoftsqlserver", + "altnames": [ + "msql", + "mssql", + "Microsoft SQL Server" + ], + "tags": [ + "database", + "sql", + "db" + ], "versions": { "svg": [ "original", @@ -1220,12 +6083,104 @@ "line-wordmark" ] }, - "color": "#f56d39", + "color": "#ee352c", "aliases": [] }, { - "name": "dot-net", + "name": "minitab", + "altnames": [], + "tags": [ + "package", + "statistics" + ], + "versions": { + "svg": [ + "original", + "plain" + ], + "font": [ + "plain" + ] + }, + "color": "#8dc63f", + "aliases": [] + }, + { + "name": "mithril", + "altnames": [ + "mithril.js" + ], + "tags": [ + "javascript", + "framework", + "frontend", + "js" + ], + "versions": { + "svg": [ + "original", + "line" + ], + "font": [ + "original", + "line" + ] + }, + "color": "#010002", + "aliases": [ + { + "base": "original", + "alias": "plain" + } + ] + }, + { + "name": "mobx", + "altnames": [ + "mobxjs" + ], + "tags": [ + "state-management", + "testing", + "reactjs", + "nodejs" + ], + "versions": { + "svg": [ + "original", + "plain" + ], + "font": [ + "plain" + ] + }, + "color": "#e05e11", + "aliases": [] + }, + { + "name": "mocha", + "altnames": [], + "tags": [ + "testing" + ], + "versions": { + "svg": [ + "original", + "plain" + ], + "font": [ + "plain" + ] + }, + "color": "#8d6748", + "aliases": [] + }, + { + "name": "modx", + "altnames": [], "tags": [ + "cms", + "php", "framework" ], "versions": { @@ -1240,30 +6195,170 @@ "plain-wordmark" ] }, - "color": "#1384c8", + "color": "#00decc", "aliases": [] }, { - "name": "dotnetcore", + "name": "moleculer", + "altnames": [ + "moleculerjs", + "moleculer.js" + ], "tags": [ + "nodejs", + "javascript", + "js", + "microservices", + "micro-services", "framework" ], "versions": { "svg": [ "original", - "plain" + "original-wordmark" ], "font": [ - "plain" + "original", + "original-wordmark" ] }, - "color": "#623697", + "color": "#3cafce", + "aliases": [ + { + "base": "original", + "alias": "plain" + }, + { + "base": "original-wordmark", + "alias": "plain-wordmark" + } + ] + }, + { + "name": "mongodb", + "altnames": [], + "tags": [ + "database" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#4FAA41", + "aliases": [] + }, + { + "name": "mongoose", + "altnames": [ + "mongoosejs" + ], + "tags": [ + "data-model", + "nodejs" + ], + "versions": { + "svg": [ + "original", + "original-wordmark" + ], + "font": [ + "original", + "original-wordmark" + ] + }, + "color": "#860000", "aliases": [] }, { - "name": "drupal", + "name": "moodle", + "altnames": [], + "tags": [ + "platform" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#F7931E", + "aliases": [] + }, + { + "name": "msdos", + "altnames": [ + "microsoftdiskoperatingsystem" + ], + "tags": [ + "os" + ], + "versions": { + "svg": [ + "original", + "plain", + "line" + ], + "font": [ + "plain", + "line" + ] + }, + "color": "#000", + "aliases": [] + }, + { + "name": "mysql", + "altnames": [ + "mystructuredquerylanguage" + ], + "tags": [ + "database", + "language" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain-wordmark" + ], + "font": [ + "original", + "plain-wordmark" + ] + }, + "color": "#00618a", + "aliases": [ + { + "base": "original", + "alias": "plain" + } + ] + }, + { + "name": "nano", + "altnames": [ + "gnu-nano", + "GNU nano" + ], "tags": [ - "cms" + "text editor", + "editor", + "GNU", + "terminal" ], "versions": { "svg": [ @@ -1277,16 +6372,14 @@ "plain-wordmark" ] }, - "color": "#0073BA", + "color": "#C8F", "aliases": [] }, { - "name": "digitalocean", + "name": "neo4j", + "altnames": [], "tags": [ - "cloud", - "hosting", - "database", - "storage" + "database" ], "versions": { "svg": [ @@ -1300,73 +6393,79 @@ "plain-wordmark" ] }, - "color": "#0080FF", + "color": "#018BFF", "aliases": [] }, { - "name": "discordjs", + "name": "neovim", + "altnames": [], "tags": [ - "wrapper", - "api_wrapper", - "nodejs" + "text editor", + "editor", + "ide", + "IDE", + "open-source" ], "versions": { "svg": [ "original", "original-wordmark", "plain", - "plain-wordmark" + "plain-wordmark", + "line", + "line-wordmark" ], "font": [ "plain", - "plain-wordmark" + "plain-wordmark", + "line", + "line-wordmark" ] }, - "color": "#2a2c3e", + "color": "#5fb950", "aliases": [] }, { - "name": "electron", + "name": "nestjs", + "altnames": [], "tags": [ "framework" ], "versions": { "svg": [ "original", - "original-wordmark" + "original-wordmark", + "line", + "line-wordmark" ], "font": [ "original", - "original-wordmark" + "original-wordmark", + "line", + "line-wordmark" ] }, - "color": "#47848f", - "aliases": [] - }, - { - "name": "eleventy", - "tags": ["ssg", "static site generator"], - "versions": { - "svg": ["original", "plain"], - "font": ["plain"] - }, - "color": "#1f1f1f", - "aliases": [] - }, - { - "name": "elixir", - "tags": ["language"], - "versions": { - "svg": ["original", "original-wordmark", "plain", "plain-wordmark"], - "font": ["plain", "plain-wordmark"] - }, - "color": "#380A4D", - "aliases": [] + "color": "#df234f", + "aliases": [ + { + "base": "original", + "alias": "plain" + }, + { + "base": "original-wordmark", + "alias": "plain-wordmark" + } + ] }, { - "name": "elm", + "name": "netlify", + "altnames": [], "tags": [ - "framework" + "cloud hosting", + "serverless", + "dynamic websites", + "web applications", + "open-source" ], "versions": { "svg": [ @@ -1380,149 +6479,183 @@ "plain-wordmark" ] }, - "color": "#34495E", + "color": "#05BDBA", "aliases": [] }, { - "name": "ember", + "name": "networkx", + "altnames": [], "tags": [ - "framework" + "graph", + "library", + "python" ], "versions": { "svg": [ - "original-wordmark" + "original", + "original-wordmark", + "plain", + "plain-wordmark", + "line", + "line-wordmark" ], "font": [ - "original-wordmark" + "plain", + "plain-wordmark", + "line", + "line-wordmark" ] }, - "color": "#dd3f24", - "aliases": [ - { - "base": "original-wordmark", - "alias": "plain-wordmark" - } - ] - }, - { - "name": "embeddedc", - "tags": ["language", "programming"], - "versions": { - "svg": ["original", "original-wordmark", "plain", "plain-wordmark"], - "font": ["plain", "plain-wordmark"] - }, - "color": "#444444", - "aliases": [] + "color": "#2c7fb8", + "aliases": [] }, { - "name": "erlang", - "tags": [], + "name": "nextjs", + "altnames": [], + "tags": [ + "framework" + ], "versions": { "svg": [ "original", "original-wordmark", "plain", - "plain-wordmark" + "line", + "line-wordmark" ], "font": [ + "original-wordmark", "plain", - "plain-wordmark" + "line", + "line-wordmark" ] }, - "color": "#a90533", - "aliases": [] + "color": "#000", + "aliases": [ + { + "base": "original-wordmark", + "alias": "plain-wordmark" + } + ] }, { - "name": "eslint", + "name": "nginx", + "altnames": [], "tags": [ - "linter", - "javascript", - "code-quality", - "coding-style" + "server" ], "versions": { "svg": [ - "original", - "original-wordmark" + "original" ], "font": [ - "original", - "original-wordmark" + "original" ] }, - "color": "#4b32c3", + "color": "#090", "aliases": [ + { + "base": "original", + "alias": "original-wordmark" + }, { "base": "original", "alias": "plain" }, { - "base": "original-wordmark", + "base": "original", "alias": "plain-wordmark" } ] }, { - "name": "express", + "name": "ngrx", + "altnames": [], "tags": [ - "framework" + "state-management", + "angular", + "redux", + "store", + "javascript" ], "versions": { "svg": [ "original", - "original-wordmark" + "plain" ], "font": [ - "original", - "original-wordmark" + "plain" ] }, - "color": "#444", + "color": "#412846", "aliases": [] }, { - "name": "facebook", + "name": "nhibernate", + "altnames": [], "tags": [ - "auth" + "library", + "dotnet", + ".net", + "object-relational mapper", + "orm", + "C#", + "c-sharp" ], "versions": { "svg": [ + "original-wordmark", "original", - "plain" + "plain-wordmark", + "plain", + "line", + "line-wordmark" ], "font": [ - "plain" + "plain-wordmark", + "plain", + "line", + "line-wordmark" ] }, - "color": "#3d5a98", - "aliases": [ - { - "base": "plain", - "alias": "original" - } - ] + "color": "#903a36", + "aliases": [] }, { - "name": "feathersjs", + "name": "nim", + "altnames": [ + "nimlang" + ], "tags": [ - "framework", - "rest" + "programming", + "functional", + "object-oriented", + "procedural" ], "versions": { "svg": [ - "original" + "original", + "original-wordmark", + "plain", + "plain-wordmark", + "line", + "line-wordmark" ], "font": [ - "original" + "plain", + "plain-wordmark", + "line", + "line-wordmark" ] }, - "color": "#333333", - "aliases": [ ] + "color": "#ffe953", + "aliases": [] }, { - "name": "figma", + "name": "nimble", + "altnames": [], "tags": [ - "design" + "package-manager" ], "versions": { "svg": [ @@ -1533,100 +6666,142 @@ "plain" ] }, - "color": "#f24e1e", + "color": "#f7e941", "aliases": [] }, { - "name": "filezilla", + "name": "nixos", + "altnames": [], "tags": [ - "ftp" + "os" ], "versions": { "svg": [ - "plain", "plain-wordmark" + "original", + "original-wordmark", + "plain", + "plain-wordmark" ], "font": [ "plain", "plain-wordmark" ] }, - "color": "#b30000", + "color": "#5277C3", "aliases": [] }, { - "name": "firebase", + "name": "nodejs", + "altnames": [], "tags": [ - "auth", - "hosting", - "storage", - "cloud" + "javascript", + "language" ], "versions": { "svg": [ + "original", + "original-wordmark", "plain", - "plain-wordmark" + "plain-wordmark", + "line", + "line-wordmark" ], "font": [ "plain", - "plain-wordmark" + "plain-wordmark", + "line", + "line-wordmark" ] }, - "color": "#f58220", + "color": "#5fa04e", "aliases": [] }, { - "name": "firefox", + "name": "nodemon", + "altnames": [ + "nodemonjs" + ], "tags": [ - "browser" + "nodejs", + "tool", + "javascript" + ], + "versions": { + "svg": [ + "original", + "plain", + "line" + ], + "font": [ + "plain", + "line" + ] + }, + "color": "#76d04b", + "aliases": [] + }, + { + "name": "nodewebkit", + "altnames": [ + "nwjs" ], + "tags": [], "versions": { "svg": [ "original", "original-wordmark", "plain", - "plain-wordmark" + "plain-wordmark", + "line", + "line-wordmark" ], "font": [ "plain", - "plain-wordmark" + "plain-wordmark", + "line", + "line-wordmark" ] }, - "color": "#DD732A", + "color": "#3d3b47", "aliases": [] }, { - "name": "flask", + "name": "nomad", + "altnames": [ + "HashiCorp Nomad" + ], "tags": [ - "python", - "framework" + "container", + "virtual machine", + "deployment" ], "versions": { "svg": [ "original", - "original-wordmark" + "original-wordmark", + "plain-wordmark" ], "font": [ "original", - "original-wordmark" + "plain-wordmark" ] }, - "color": "#010101", + "color": "#00ca8e", "aliases": [ - { - "base": "original", - "alias": "plain" - }, - { - "base": "original-wordmark", - "alias": "plain-wordmark" - } + { + "base": "original", + "alias": "plain" + } ] }, { - "name": "flutter", + "name": "norg", + "altnames": [ + "neorg" + ], "tags": [ - "framework", - "sdk" + "note-taking", + "organization" ], "versions": { "svg": [ @@ -1637,110 +6812,127 @@ "plain" ] }, - "color": "#3FB6D3", + "color": "#4878be", "aliases": [] }, { - "name": "foundation", + "name": "notion", + "altnames": [], "tags": [ - "framework", - "css" + "project-management" ], "versions": { "svg": [ "original", - "original-wordmark", "plain", - "plain-wordmark" + "line" ], "font": [ "plain", - "plain-wordmark" + "line" ] }, - "color": "#008cba", + "color": "#fff", "aliases": [] }, { - "name": "fsharp", + "name": "npm", + "altnames": [ + "npmjs", + "nodepackagemanager" + ], "tags": [ - "language" + "package", + "manager" ], "versions": { "svg": [ - "original", - "plain" + "original-wordmark" ], "font": [ - "plain" + "original-wordmark" ] }, - "color": "#378BBA", + "color": "#cb3837", "aliases": [] }, { - "name": "gatling", + "name": "nuget", + "altnames": [], "tags": [ - "framework", - "testing" + "package", + "manager" ], "versions": { "svg": [ - "plain", - "plain-wordmark" + "original", + "original-wordmark" ], "font": [ - "plain", - "plain-wordmark" + "original", + "original-wordmark" ] }, - "color": "#E77500", + "color": "#004880", "aliases": [] }, { - "name": "gatsby", + "name": "numpy", + "altnames": [], "tags": [ - "reactjs", - "framework" + "library", + "python" ], "versions": { "svg": [ - "plain", "original", "original-wordmark", - "plain-wordmark" + "plain", + "plain-wordmark", + "line", + "line-wordmark" ], "font": [ "plain", - "plain-wordmark" + "plain-wordmark", + "line", + "line-wordmark" ] }, - "color": "#64328B", + "color": "#4dabcf", "aliases": [] }, - { - "name": "rect", + { + "name": "nuxtjs", + "altnames": [], "tags": [ - "programming", - "language" + "js", + "javascript", + "framework", + "frontend", + "vuejs" ], "versions": { "svg": [ "original", - "plain" + "original-wordmark", + "plain", + "plain-wordmark" ], "font": [ - "plain" + "plain", + "plain-wordmark" ] }, - "color": "#262626", + "color": "#00c48d", "aliases": [] }, { - "name": "gcc", + "name": "oauth", + "altnames": [], "tags": [ - "compiler", - "linux" + "authentication", + "security" ], "versions": { "svg": [ @@ -1751,33 +6943,42 @@ "plain" ] }, - "color": "#ffcfab", - "aliases": [] + "color": "#000000", + "aliases": [ + { + "base": "original", + "alias": "original-wordmark" + }, + { + "base": "plain", + "alias": "plain-wordmark" + } + ] }, { - "name": "gentoo", + "name": "objectivec", + "altnames": [], "tags": [ - "linux", - "distribuition", - "desktop" - ], + "programming", + "language" + ], "versions": { "svg": [ - "plain", - "plain-wordmark" + "plain" ], "font": [ - "plain-wordmark", "plain" - ] + ] }, - "color": "#9991d9", - "aliases": [] + "color": "#0b5a9d", + "aliases": [] }, { - "name": "gimp", + "name": "ocaml", + "altnames": [], "tags": [ - "graphic" + "programming", + "language" ], "versions": { "svg": [ @@ -1787,124 +6988,157 @@ "plain-wordmark" ], "font": [ - "plain" + "plain", + "plain-wordmark" ] }, - "color": "#716955", + "color": "#F18803", "aliases": [] }, { - "name": "git", + "name": "ohmyzsh", + "altnames": [ + "omz", + "ohmyz.sh", + "Oh My Zsh" + ], "tags": [ - "version-control" + "shell", + "script", + "scripting", + "language", + "command" ], "versions": { "svg": [ "original", - "original-wordmark", - "plain", - "plain-wordmark" + "plain" ], "font": [ - "plain", - "plain-wordmark" + "plain" ] }, - "color": "#f34f29", + "color": "#000000", "aliases": [] }, { - "name": "github", + "name": "okta", + "altnames": [ + "okta developer" + ], "tags": [ - "version-control" + "auth", + "security" ], "versions": { "svg": [ "original", - "original-wordmark" + "original-wordmark", + "plain", + "plain-wordmark" ], "font": [ - "original", - "original-wordmark" + "plain", + "plain-wordmark" ] }, - "color": "#181616", - "aliases": [ - { - "base": "original", - "alias": "plain" - } - ] + "color": "#0f82c2", + "aliases": [] }, { - "name": "gitlab", + "name": "openal", + "altnames": [], "tags": [ - "version-control" + "library", + "audio", + "game", + "3d" ], "versions": { "svg": [ "original", - "original-wordmark", - "plain", - "plain-wordmark" + "plain" ], "font": [ - "plain", - "plain-wordmark" + "plain" ] }, - "color": "#E24329", + "color": "#7e000d", "aliases": [] }, { - "name": "gitter", + "name": "openapi", + "altnames": [], "tags": [ - "social", - "chat" + "specification", + "api", + "open-source" ], "versions": { "svg": [ + "original", + "original-wordmark", "plain", - "plain-wordmark" + "plain-wordmark", + "line", + "line-wordmark" ], "font": [ "plain", - "plain-wordmark" + "plain-wordmark", + "line", + "line-wordmark" ] }, - "color": "#000000", + "color": "#91d400", "aliases": [] }, { - "name": "go", + "name": "opencl", + "altnames": [], "tags": [ - "language" + "framework", + "language", + "heterogeneous-computing", + "cpp", + "api", + "khronos", + "programming" ], "versions": { "svg": [ "original", - "original-wordmark", "plain", "line" ], "font": [ - "original-wordmark", "plain", "line" ] }, - "color": "#00acd7", + "color": "#000", "aliases": [ { - "base": "original-wordmark", + "base": "original", + "alias": "original-wordmark" + }, + { + "base": "plain", "alias": "plain-wordmark" + }, + { + "base": "line", + "alias": "line-wordmark" } ] }, { - "name": "google", + "name": "opencv", + "altnames": [], "tags": [ - "auth" + "library", + "c/c++", + "computer-vision" ], "versions": { "svg": [ @@ -1918,66 +7152,65 @@ "plain-wordmark" ] }, - "color": "#587dbd", - "aliases": [ - { - "base": "plain", - "alias": "original" - }, - { - "base": "plain-wordmark", - "alias": "original-wordmark" - } - ] + "color": "#128dff", + "aliases": [] }, { - "name": "googlecloud", + "name": "opengl", + "altnames": [ + "opengraphicslibrary" + ], "tags": [ - "google", - "cloud" + "library", + "graphics", + "game", + "3d" ], "versions": { "svg": [ "original", - "original-wordmark", - "plain", - "plain-wordmark" + "plain" ], "font": [ - "plain", - "plain-wordmark" + "plain" ] }, - "color": "#557ebf", + "color": "#5586a4", "aliases": [] }, { - "name": "gradle", + "name": "openstack", + "altnames": [], "tags": [ - "task-runner" + "infrastructure-as-a-service", + "cloud-computing-platform" ], "versions": { "svg": [ - "plain", + "original", + "original-wordmark", "plain-wordmark" ], "font": [ - "plain", + "original", "plain-wordmark" ] }, - "color": "#02303a", - "aliases": [] + "color": "#ed1944", + "aliases": [ + { + "base": "original", + "alias": "plain" + } + ] }, { - "name": "grafana", + "name": "opensuse", + "altnames": [], "tags": [ - "monitoring", - "analytics", - "metrics", - "logs", - "visualization", - "web-application" + "linux", + "distribuition", + "desktop" ], "versions": { "svg": [ @@ -1989,7 +7222,7 @@ "original-wordmark" ] }, - "color": "#E78040", + "color": "#73ba25", "aliases": [ { "base": "original", @@ -2002,31 +7235,36 @@ ] }, { - "name": "grails", + "name": "opentelemetry", + "altnames": [], "tags": [ - "framework" + "telemetry" ], "versions": { "svg": [ "original", - "plain" + "original-wordmark", + "plain", + "plain-wordmark" ], "font": [ - "plain" + "plain", + "plain-wordmark" ] }, - "color": "#feb672", + "color": "#f5a800", "aliases": [] }, { - "name": "graphql", + "name": "opera", + "altnames": [], "tags": [ - "language", - "data", - "query" + "browser" ], "versions": { "svg": [ + "original", + "original-wordmark", "plain", "plain-wordmark" ], @@ -2035,132 +7273,155 @@ "plain-wordmark" ] }, - "color": "#e434aa", + "color": "#f7192d", "aliases": [] }, { - "name": "groovy", + "name": "oracle", + "altnames": [ + "oracledatabase" + ], "tags": [ - "programming", - "language" + "database" ], "versions": { "svg": [ - "original", - "plain" + "original" ], "font": [ - "plain" + "original" ] }, - "color": "#619cbc", - "aliases": [] + "color": "#EA1B22", + "aliases": [ + { + "base": "original", + "alias": "plain" + } + ] }, { - "name": "grunt", + "name": "ory", + "altnames": [], "tags": [ - "task-runner", - "nodejs" + "library", + "open-source", + "security" ], "versions": { "svg": [ "original", - "original-wordmark", - "plain", - "plain-wordmark", - "line", - "line-wordmark" + "original-wordmark" ], "font": [ - "plain", - "plain-wordmark", - "line", - "line-wordmark" + "original", + "original-wordmark" ] }, - "color": "#fcaa1a", - "aliases": [] + "color": "#5528ff", + "aliases": [ + { + "base": "original", + "alias": "plain" + }, + { + "base": "original-wordmark", + "alias": "plain-wordmark" + } + ] }, { - "name": "gulp", + "name": "p5js", + "altnames": [ + "p5.js" + ], "tags": [ - "task-runner", - "nodejs" + "javascript", + "js", + "library" ], "versions": { "svg": [ - "plain" + "original" ], "font": [ - "plain" + "original" ] }, - "color": "#eb4a4b", - "aliases": [] + "color": "#ED225D", + "aliases": [ + { + "base": "original", + "alias": "plain" + }, + { + "base": "original", + "alias": "original-wordmark" + }, + { + "base": "original", + "alias": "plain-wordmark" + } + ] }, { - "name": "godot", + "name": "packer", + "altnames": [], "tags": [ - "game-engine", - "open-source" + "infrastructure", + "infrastructure-as-code", + "continuous-delivery" ], "versions": { "svg": [ "original", "original-wordmark", "plain", - "plain-wordmark" + "plain-wordmark", + "line", + "line-wordmark" ], "font": [ "plain", - "plain-wordmark" + "plain-wordmark", + "line", + "line-wordmark" ] }, - "color": "#478cbf", + "color": "#1d94dd", "aliases": [] }, { - "name": "haskell", + "name": "pandas", + "altnames": [], "tags": [ - "language", - "functional" + "library", + "python" ], "versions": { "svg": [ "original", "original-wordmark", "plain", - "plain-wordmark" - ], - "font": [ - "plain", - "plain-wordmark" - ] - }, - "color": "#5E5185", - "aliases": [] - }, - { - "name": "handlebars", - "tags": [ - "framework" - ], - "versions": { - "svg": [ - "original", - "original-wordmark" + "plain-wordmark", + "line", + "line-wordmark" ], "font": [ "plain", - "plain-wordmark" + "plain-wordmark", + "line", + "line-wordmark" ] }, - "color": "#000000", + "color": "#130754", "aliases": [] }, { - "name": "haxe", + "name": "perl", + "altnames": [], "tags": [ + "programming", "language" ], "versions": { @@ -2172,102 +7433,87 @@ "plain" ] }, - "color": "#EA8220", + "color": "#212177", "aliases": [] }, { - "name": "heroku", + "name": "pfsense", + "altnames": [ + "pfSense" + ], "tags": [ - "cloud" + "cloud", + "network", + "open-source", + "security", + "software" ], "versions": { "svg": [ "original", - "original-wordmark", - "plain", - "plain-wordmark" + "original-wordmark" ], "font": [ "original", - "original-wordmark", - "plain", - "plain-wordmark", - "line", - "line-wordmark" + "original-wordmark" ] }, - "color": "#6762a6", + "color": "#000000", "aliases": [ { - "base": "line", - "alias": "original" + "base": "original", + "alias": "plain" }, { - "base": "line-wordmark", - "alias": "original-wordmark" + "base": "original-wordmark", + "alias": "plain-wordmark" } ] }, { - "name": "html5", + "name": "phalcon", + "altnames": [], "tags": [ - "programming", - "language" + "php", + "framework" ], "versions": { "svg": [ "original", - "original-wordmark", - "plain", - "plain-wordmark" + "plain" ], "font": [ - "plain", - "plain-wordmark" + "plain" ] }, - "color": "#e54d26", + "color": "#76c39b", "aliases": [] }, { - "name": "hugo", + "name": "phoenix", + "altnames": [ + "Phoenix Framework" + ], "tags": [ "framework", - "ssg", - "static-site-generator", - "go", - "html", - "css" + "build", + "web", + "web-development", + "development", + "elixir" ], "versions": { "svg": [ "original", "original-wordmark", - "plain", "plain-wordmark" ], "font": [ - "plain", + "original", "plain-wordmark" ] }, - "color": "#FF4088", - "aliases": [] - }, - { - "name": "ie10", - "tags": [ - "browser" - ], - "versions": { - "svg": [ - "original" - ], - "font": [ - "original" - ] - }, - "color": "#1EBBEE", + "color": "#FD4F00", "aliases": [ { "base": "original", @@ -2276,36 +7522,47 @@ ] }, { - "name": "ifttt", + "name": "photonengine", + "altnames": [ + "photon" + ], "tags": [ - "automation", - "applets", - "programming" + "game", + "game-engine" ], "versions": { "svg": [ - "original" + "original", + "plain" ], "font": [ - "original" + "plain" ] }, - "color": "#000", + "color": "#004480", "aliases": [ { "base": "original", - "alias": "plain" + "alias": "original-wordmark" + }, + { + "base": "plain", + "alias": "plain-wordmark" } ] }, { - "name": "illustrator", + "name": "photoshop", + "altnames": [ + "adobephotoshop" + ], "tags": [ "editor", - "vector" + "graphic" ], "versions": { "svg": [ + "original", "plain", "line" ], @@ -2314,39 +7571,44 @@ "line" ] }, - "color": "#faa625", + "color": "#001e36", "aliases": [] }, { - "name": "inkscape", + "name": "php", + "altnames": [ + "PHP Hypertext Preprocessor", + "Personal Home Page" + ], "tags": [ - "editor", - "vector" + "programming", + "language" ], "versions": { "svg": [ "original", - "original-wordmark", - "plain", - "plain-wordmark" + "plain" ], "font": [ - "plain", - "plain-wordmark" + "plain" ] }, - "color": "#000000", + "color": "#777bb3", "aliases": [] }, { - "name": "intellij", + "name": "phpstorm", + "altnames": [], "tags": [ - "editor" + "jetbrains", + "editor", + "php", + "web", + "html" ], "versions": { "svg": [ "original", - "original-wordmark", "plain", "plain-wordmark" ], @@ -2355,59 +7617,64 @@ "plain-wordmark" ] }, - "color": "#136BA2", + "color": "#b74af7", "aliases": [] }, { - "name": "ionic", + "name": "playwright", + "altnames": [], "tags": [ + "testing", "framework" ], "versions": { "svg": [ "original", - "original-wordmark" + "plain" ], "font": [ - "original", - "original-wordmark" + "plain" ] }, - "color": "#4e8ef7", + "color": "#2EAD33", "aliases": [] }, { - "name": "jamstack", + "name": "plotly", + "altnames": [], "tags": [ - "javascript", - "markup" + "frontend", + "machine-learning", + "dashboard" ], "versions": { "svg": [ "original", "original-wordmark", + "plain", "plain-wordmark" ], "font": [ - "original", + "plain", "plain-wordmark" ] }, - "color": "#F0047F", - "aliases": [ - { - "base": "original", - "alias": "plain" - } - ] + "color": "#3d4c73", + "aliases": [] }, { - "name": "jasmine", + "name": "pnpm", + "altnames": [ + "performant npm" + ], "tags": [ - "testing" + "package", + "manager" ], "versions": { "svg": [ + "original", + "original-wordmark", "plain", "plain-wordmark" ], @@ -2416,14 +7683,16 @@ "plain-wordmark" ] }, - "color": "#8a4182", + "color": "#f9ad00", "aliases": [] }, { - "name": "java", + "name": "podman", + "altnames": [], "tags": [ - "programming", - "language" + "container", + "pods", + "docker" ], "versions": { "svg": [ @@ -2437,32 +7706,36 @@ "plain-wordmark" ] }, - "color": "#EA2D2E", + "color": "#892ca0", "aliases": [] }, { - "name": "javascript", + "name": "poetry", + "altnames": [ + "python-poetry" + ], "tags": [ - "programming", - "language" + "package-manager", + "python" ], "versions": { "svg": [ - "original", - "plain" + "original" ], "font": [ "plain" ] }, - "color": "#f0db4f", + "color": "#0080c5", "aliases": [] }, { - "name": "jeet", + "name": "polygon", + "altnames": [], "tags": [ - "framework", - "css" + "ethereum", + "erc20", + "blockchain" ], "versions": { "svg": [ @@ -2476,83 +7749,71 @@ "plain-wordmark" ] }, - "color": "#FF664A", - "aliases": [] - }, - { - "name": "jest", - "tags": ["testing", "javascript"], - "versions": { - "svg": ["plain"], - "font": ["plain"] - }, - "color": "#99425b", + "color": "#7950DD", "aliases": [] }, { - "name": "jenkins", + "name": "portainer", + "altnames": [], "tags": [ - "platform", - "integration", - "server" + "docker", + "kubernetes", + "orchestrator" ], "versions": { "svg": [ - "line", "original", - "plain" + "original-wordmark" ], "font": [ - "line", - "plain" - ] - }, - "color": "#F0D6B7", - "aliases": [] - }, - { - "name": "jetbrains", - "tags": [ - "ide" - ], - "versions": { - "svg": [ "original", - "plain" - ], - "font": [ - "plain" + "original-wordmark" ] }, - "color": "#FDCC21", - "aliases": [] + "color": "#3BBCED", + "aliases": [ + { + "base": "original", + "alias": "plain" + }, + { + "base": "original-wordmark", + "alias": "plain-wordmark" + } + ] }, { - "name": "jira", + "name": "postcss", + "altnames": [], "tags": [ - "platform", - "organize" + "pre-processor", + "css", + "framework" ], "versions": { "svg": [ "original", "original-wordmark", - "plain", "plain-wordmark" ], "font": [ - "plain", + "original", "plain-wordmark" ] }, - "color": "#2684ff", - "aliases": [] + "color": "#DD3A0A", + "aliases": [ + { + "base": "original", + "alias": "plain" + } + ] }, { - "name": "jquery", + "name": "postgresql", + "altnames": [], "tags": [ - "library", - "javascript" + "database" ], "versions": { "svg": [ @@ -2566,14 +7827,15 @@ "plain-wordmark" ] }, - "color": "#0769ad", + "color": "#336791", "aliases": [] }, { - "name": "julia", + "name": "postman", + "altnames": [], "tags": [ - "programming", - "language" + "tool", + "testing" ], "versions": { "svg": [ @@ -2587,110 +7849,96 @@ "plain-wordmark" ] }, - "color": "#28a745", + "color": "#f37036", "aliases": [] }, { - "name": "jupyter", + "name": "powershell", + "altnames": [ + "ps" + ], "tags": [ - "programming", - "language" + "command-line", + "shell", + "terminal", + "cli", + "windows", + "cmdlets" ], "versions": { "svg": [ "original", - "original-wordmark", - "plain", - "plain-wordmark" + "plain" ], "font": [ - "plain", - "plain-wordmark" + "plain" ] }, - "color": "#F37726", + "color": "#1E2A3A", "aliases": [] }, { - "name": "kaggle", - "tags": [ - "platform", - "auth", - "machine-learning" + "name": "premierepro", + "altnames": [ + "adobepremierepro" ], - "versions": { - "svg": [ - "original", - "original-wordmark" - ], - "font": [ - "original", - "original-wordmark" - ] - }, - "color": "#20BEFF", - "aliases": [ - { - "base": "original", - "alias": "plain" - }, - { - "base": "original-wordmark", - "alias": "plain-wordmark" - } - ] - }, - { - "name": "karma", - "tags": ["testing", "test-runner"], - "versions": { - "svg": ["original", "plain"], - "font": ["plain"] - }, - "color": "#56c5a8", - "aliases": [] - }, - { - "name": "kotlin", "tags": [ - "language" + "editor", + "video" ], "versions": { "svg": [ - "original", - "original-wordmark", "plain", - "plain-wordmark" + "original" ], "font": [ - "plain", - "plain-wordmark" + "plain" ] }, - "color": "#7C6DB2", + "color": "#2A0634", "aliases": [] }, { - "name": "knockout", + "name": "prisma", + "altnames": [], "tags": [ - "framework", - "javascript" + "orm", + "nodejs", + "typescript" ], "versions": { "svg": [ - "plain-wordmark" + "original", + "original-wordmark" ], "font": [ - "plain-wordmark" + "original", + "original-wordmark" ] }, - "color": "#e42e16", - "aliases": [] + "color": "#2D3748", + "aliases": [ + { + "base": "original", + "alias": "plain" + }, + { + "base": "original-wordmark", + "alias": "plain-wordmark" + } + ] }, { - "name": "krakenjs", + "name": "processing", + "altnames": [ + "processingpy" + ], "tags": [ - "nodejs", + "java", + "python", + "android", + "application", + "ide", "framework" ], "versions": { @@ -2705,46 +7953,24 @@ "plain-wordmark" ] }, - "color": "#0081C2", + "color": "#000000", "aliases": [] }, { - "name": "kubernetes", - "tags": [ - "container", - "deployment" + "name": "prolog", + "altnames": [ + "swi-prolog" ], - "versions": { - "svg": [ - "plain", - "plain-wordmark" - ], - "font": [ - "plain", - "plain-wordmark" - ] - }, - "color": "#486bb3", - "aliases": [] - }, - { - "name": "labview", - "tags": ["language"], - "versions": { - "svg": ["original", "original-wordmark", "plain", "plain-wordmark"], - "font": ["plain", "plain-wordmark"] - }, - "color": "#fed500", - "aliases": [] - }, - { - "name": "laravel", "tags": [ - "php", - "framework" + "programming", + "logic", + "language", + "open-source" ], "versions": { "svg": [ + "original", + "original-wordmark", "plain", "plain-wordmark" ], @@ -2753,27 +7979,33 @@ "plain-wordmark" ] }, - "color": "#fd4f31", + "color": "#F46C30", "aliases": [] }, { - "name": "latex", + "name": "prometheus", + "altnames": [], "tags": [ - "latex3", - "latex2e", - "markup", - "tex", - "typesetting-system" + "monitoring", + "observability", + "analysis" ], "versions": { "svg": [ - "original" + "original", + "original-wordmark", + "plain-wordmark", + "line", + "line-wordmark" ], "font": [ - "original" + "original", + "plain-wordmark", + "line", + "line-wordmark" ] }, - "color": "#000000", + "color": "#e75225", "aliases": [ { "base": "original", @@ -2782,53 +8014,72 @@ ] }, { - "name": "less", + "name": "protractor", + "altnames": [ + "protractorjs", + "protractortest" + ], "tags": [ - "css", - "pre-processor" + "framework", + "javascript" ], "versions": { "svg": [ - "plain-wordmark" + "original", + "original-wordmark", + "plain", + "plain-wordmark", + "line", + "line-wordmark" ], "font": [ - "plain-wordmark" + "plain", + "plain-wordmark", + "line", + "line-wordmark" ] }, - "color": "#2a4d80", + "color": "#d51c2f", "aliases": [] }, { - "name": "linkedin", + "name": "pulsar", + "altnames": [ + "Pulsar Edit" + ], "tags": [ - "social", - "auth" + "open-source", + "cross-platform", + "editor" ], "versions": { "svg": [ "original", - "original-wordmark", - "plain", - "plain-wordmark" + "original-wordmark" ], "font": [ - "plain", - "plain-wordmark" + "original", + "original-wordmark" ] }, - "color": "#0076b2", - "aliases": [] + "color": "#2c3e50", + "aliases": [ + { + "base": "original", + "alias": "plain" + }, + { + "base": "original-wordmark", + "alias": "plain-wordmark" + } + ] }, { - "name": "lua", + "name": "pulumi", + "altnames": [], "tags": [ - "programming", - "language", - "object-oriented", - "scripting", - "procedural", - "prototype-based", - "functional" + "infrastructure-as-code", + "cloud" ], "versions": { "svg": [ @@ -2842,13 +8093,17 @@ "plain-wordmark" ] }, - "color": "#000080", + "color": "#f6bf29", "aliases": [] }, { - "name": "linux", + "name": "puppeteer", + "altnames": [], "tags": [ - "os" + "open-source", + "devtools protocol", + "testing", + "extension" ], "versions": { "svg": [ @@ -2859,15 +8114,45 @@ "plain" ] }, - "color": "#000000", + "color": "#00d8a2", + "aliases": [ + { + "base": "original", + "alias": "original-wordmark" + }, + { + "base": "plain", + "alias": "plain-wordmark" + } + ] + }, + { + "name": "purescript", + "altnames": [], + "tags": [ + "functional", + "programming", + "javascript" + ], + "versions": { + "svg": [ + "original", + "original-wordmark" + ], + "font": [ + "original", + "original-wordmark" + ] + }, + "color": "#14161a", "aliases": [] }, { - "name": "materialui", + "name": "putty", + "altnames": [], "tags": [ - "framework", - "design", - "ui" + "ssh", + "server" ], "versions": { "svg": [ @@ -2878,85 +8163,84 @@ "plain" ] }, - "color": "#1FA6CA", + "color": "#0000fc", "aliases": [] }, { - "name": "matlab", + "name": "pycharm", + "altnames": [], "tags": [ - "programming", - "language" + "jetbrains", + "editor" ], "versions": { - "svg": [ - "original", - "plain", - "line" - ], - "font": [ - "plain", - "line" - ] + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] }, - "color": "#6dd0c7", + "color": "#21D789", "aliases": [] }, { - "name": "magento", + "name": "pypi", + "altnames": [ + "Python Package Index" + ], "tags": [ - "php", - "framework" + "python", + "package", + "programming" ], "versions": { "svg": [ "original", "original-wordmark", - "line" + "plain", + "plain-wordmark" ], "font": [ - "original", - "original-wordmark", - "line" + "plain", + "plain-wordmark" ] }, - "color": "#f26322", + "color": "#3775a9", "aliases": [] }, { - "name": "markdown", + "name": "pyscript", + "altnames": [], "tags": [ - "markup", - "language" + "browser", + "python", + "html", + "framework" ], "versions": { "svg": [ - "original" + "original-wordmark", + "plain-wordmark" ], "font": [ - "original" + "plain-wordmark" ] }, - "color": "#000000", - "aliases": [ - { - "base": "original", - "alias": "plain" - } - ] + "color": "#fda703", + "aliases": [] }, { - "name": "maya", + "name": "pytest", + "altnames": [], "tags": [ - "mel", - "pymel", "python", - "3d", - "programming", - "vfx", - "graphic", - "graphics", - "game", - "animation" + "framework", + "testing" ], "versions": { "svg": [ @@ -2970,13 +8254,15 @@ "plain-wordmark" ] }, - "color": "#149B9A", + "color": "#009fe3", "aliases": [] }, { - "name": "meteor", + "name": "python", + "altnames": [], "tags": [ - "javascript" + "programming", + "language" ], "versions": { "svg": [ @@ -2990,46 +8276,48 @@ "plain-wordmark" ] }, - "color": "#df5052", - "aliases": [] - }, - { - "name": "minitab", - "tags": ["package", "statistics"], - "versions": { - "svg": ["original", "plain"], - "font": ["plain"] - }, - "color": "#8dc63f", + "color": "#ffd845", "aliases": [] }, { - "name": "mocha", + "name": "pytorch", + "altnames": [], "tags": [ - "testing" + "programming", + "framework", + "machine-learning", + "python" ], "versions": { "svg": [ - "plain" + "original", + "original-wordmark", + "plain-wordmark" ], "font": [ - "plain" + "original", + "plain-wordmark" ] }, - "color": "#8d6748", - "aliases": [] + "color": "#EE4C2C", + "aliases": [ + { + "base": "original", + "alias": "plain" + } + ] }, { - "name": "modx", + "name": "qodana", + "altnames": [], "tags": [ - "cms", - "php", - "framework" + "jetbrains", + "code quality", + "security" ], "versions": { "svg": [ "original", - "original-wordmark", "plain", "plain-wordmark" ], @@ -3038,33 +8326,37 @@ "plain-wordmark" ] }, - "color": "#00decc", + "color": "#ff318c", "aliases": [] }, { - "name": "mongodb", + "name": "qt", + "altnames": [], "tags": [ - "database" + "framework" ], "versions": { "svg": [ - "original", - "original-wordmark", - "plain", - "plain-wordmark" + "original" ], "font": [ - "plain", - "plain-wordmark" + "original" ] }, - "color": "#4FAA41", - "aliases": [] + "color": "#41cd52", + "aliases": [ + { + "base": "original", + "alias": "plain" + } + ] }, { - "name": "moodle", + "name": "quarkus", + "altnames": [], "tags": [ - "platform" + "java", + "framework" ], "versions": { "svg": [ @@ -3078,32 +8370,37 @@ "plain-wordmark" ] }, - "color": "#F7931E", + "color": "#4695EB", "aliases": [] }, { - "name": "msdos", + "name": "quasar", + "altnames": [], "tags": [ - "os" + "framework", + "javascript" ], "versions": { "svg": [ "original", + "original-wordmark", "plain", - "line" + "plain-wordmark" ], "font": [ - "line" + "plain-wordmark", + "plain" ] }, - "color": "#ff0000", + "color": "#00b4ff", "aliases": [] }, { - "name": "mysql", + "name": "qwik", + "altnames": [], "tags": [ - "database", - "language" + "framework", + "open-source" ], "versions": { "svg": [ @@ -3117,85 +8414,103 @@ "plain-wordmark" ] }, - "color": "#00618a", + "color": "#18B6F6", "aliases": [] }, { - "name": "neo4j", + "name": "r", + "altnames": [ + "rlang" + ], "tags": [ - "database" + "programming", + "language" ], "versions": { "svg": [ "original", - "original-wordmark", "plain", - "plain-wordmark" + "line" ], "font": [ "plain", - "plain-wordmark" + "line" ] }, - "color": "#018BFF", + "color": "#1f65b7", "aliases": [] }, { - "name": "nestjs", + "name": "rabbitmq", + "altnames": [], "tags": [ - "framework" + "message-broker", + "open-source" ], "versions": { "svg": [ - "plain", + "original", + "original-wordmark", "plain-wordmark" ], "font": [ - "plain", + "original", "plain-wordmark" ] }, - "color": "#DF234F", - "aliases": [] + "color": "#ff6600", + "aliases": [ + { + "base": "original", + "alias": "plain" + } + ] }, { - "name": "networkx", + "name": "rails", + "altnames": [ + "rubyonrails" + ], "tags": [ - "graph", - "library", - "python" + "framework" ], "versions": { "svg": [ - "original" + "original-wordmark", + "plain", + "plain-wordmark" ], "font": [ - "original" + "plain", + "plain-wordmark" ] }, - "color": "#2C7FB8", + "color": "#CC0000", "aliases": [] }, { - "name": "nextjs", + "name": "railway", + "altnames": [], "tags": [ - "framework" + "hosting", + "platform", + "deployment" ], "versions": { "svg": [ "original", + "original-wordmark", "line", - "original-wordmark" + "line-wordmark" ], "font": [ "original", - "plain", - "line", "original-wordmark", - "plain-wordmark" + "line", + "line-wordmark" ] }, - "color": "#000000", + "color": "#fff", "aliases": [ { "base": "original", @@ -3208,168 +8523,211 @@ ] }, { - "name": "nginx", + "name": "rancher", + "altnames": [], "tags": [ - "server" + "kubernetes", + "orchestrator" ], "versions": { "svg": [ - "original" + "original", + "original-wordmark", + "plain-wordmark", + "line", + "line-wordmark" ], "font": [ "original", - "original-wordmark", - "plain", - "plain-wordmark" + "plain-wordmark", + "line", + "line-wordmark" ] }, - "color": "#090", + "color": "#2453FF", "aliases": [ - { - "base": "original", - "alias": "original-wordmark" - }, { "base": "original", "alias": "plain" - }, - { - "base": "original", - "alias": "plain-wordmark" } ] }, { - "name": "nixos", + "name": "raspberrypi", + "altnames": [ + "rpi" + ], "tags": [ - "os" + "arm", + "computer" ], "versions": { "svg": [ "original", "original-wordmark", "plain", - "plain-wordmark" + "plain-wordmark", + "line", + "line-wordmark" ], "font": [ "plain", - "plain-wordmark" + "plain-wordmark", + "line", + "line-wordmark" ] }, - "color": "#5277C3", + "color": "#c51850", "aliases": [] }, { - "name": "nodejs", + "name": "reach", + "altnames": [ + "Reach Lang" + ], "tags": [ - "javascript", - "language" + "web3", + "blockchain", + "development" ], "versions": { "svg": [ "original", - "original-wordmark", - "plain", - "plain-wordmark" + "plain" ], "font": [ - "plain", - "plain-wordmark" + "plain" ] }, - "color": "#83CD29", + "color": "#6AC6E7", "aliases": [] }, { - "name": "nodewebkit", - "tags": [], + "name": "react", + "altnames": [ + "reactjs" + ], + "tags": [ + "framework" + ], "versions": { "svg": [ "original", - "original-wordmark", - "plain", - "plain-wordmark", - "line", - "line-wordmark" + "original-wordmark" ], "font": [ - "plain", - "plain-wordmark", - "line", - "line-wordmark" + "original", + "original-wordmark" ] }, - "color": "#3d3b47", - "aliases": [] + "color": "#61dafb", + "aliases": [ + { + "base": "original", + "alias": "plain" + }, + { + "base": "original-wordmark", + "alias": "plain-wordmark" + } + ] }, { - "name": "npm", + "name": "reactbootstrap", + "altnames": [ + "React-Bootstrap", + "react bootstrap" + ], "tags": [ - "package", - "manager" + "framework", + "library", + "frontend", + "reactjs", + "javascript" ], "versions": { "svg": [ - "original-wordmark" + "original" ], "font": [ - "original-wordmark" + "original" ] }, - "color": "#cb3837", - "aliases": [] + "color": "#41e0fd", + "aliases": [ + { + "base": "original", + "alias": "plain" + } + ] }, { - "name": "nuget", + "name": "reactnavigation", + "altnames": [], "tags": [ - "package", - "manager" + "routing", + "navigation", + "react native", + "app", + "open-source" ], "versions": { "svg": [ - "original", - "original-wordmark" + "original" ], "font": [ - "original", - "original-wordmark" + "original" ] }, - "color": "#004880", - "aliases": [] + "color": "#7b61c1", + "aliases": [ + { + "base": "original", + "alias": "plain" + } + ] }, { - "name": "numpy", + "name": "readthedocs", + "altnames": [ + "Read The Docs" + ], "tags": [ - "library", - "python" + "documentation", + "python", + "open-source" ], "versions": { "svg": [ "original", - "original-wordmark" + "original-wordmark", + "line" ], "font": [ "original", - "original-wordmark" + "original-wordmark", + "line" ] }, - "color": "#4DABCF", + "color": "#32322A", "aliases": [ { "base": "original", "alias": "plain" + }, + { + "base": "original-wordmark", + "alias": "plain-wordmark" } ] }, { - "name": "nuxtjs", + "name": "realm", + "altnames": [], "tags": [ - "js", - "javascript", - "framework", - "frontend", - "vuejs" + "sql", + "database", + "cloud" ], "versions": { "svg": [ @@ -3383,30 +8741,36 @@ "plain-wordmark" ] }, - "color": "#00c48d", + "color": "#6e60f9", "aliases": [] }, { - "name": "objectivec", + "name": "rect", + "altnames": [ + "rectlang" + ], "tags": [ "programming", "language" ], "versions": { "svg": [ + "original", "plain" ], "font": [ "plain" ] }, - "color": "#0b5a9d", + "color": "#262626", "aliases": [] }, { - "name": "opera", + "name": "redhat", + "altnames": [], "tags": [ - "browser" + "server", + "linux" ], "versions": { "svg": [ @@ -3417,40 +8781,69 @@ ], "font": [ "plain", - "plain-wordmark" + "plain-wordmark" ] }, - "color": "#f7192d", + "color": "#e93442", "aliases": [] }, { - "name": "ocaml", + "name": "redis", + "altnames": [ + "remotedictionaryserver" + ], + "tags": [ + "server" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#d82c20", + "aliases": [] + }, + { + "name": "redux", + "altnames": [ + "reduxjs" + ], "tags": [ - "programming", - "language" + "framework" ], "versions": { "svg": [ - "original", - "original-wordmark", - "plain", - "plain-wordmark" + "original" ], "font": [ - "plain", - "plain-wordmark" + "original" ] }, - "color": "#F18803", - "aliases": [] + "color": "#764abc", + "aliases": [ + { + "base": "original", + "alias": "plain" + } + ] }, - { - "name": "openal", + { + "name": "renpy", + "altnames": [ + "Ren'Py" + ], "tags": [ - "library", - "audio", - "game", - "3d" + "programming", + "game-engine", + "engine", + "python" ], "versions": { "svg": [ @@ -3461,36 +8854,43 @@ "plain" ] }, - "color": "#7e000d", + "color": "#ff7f7f", "aliases": [] }, - { - "name": "opengl", + { + "name": "replit", + "altnames": [], "tags": [ - "library", - "graphics", - "game", - "3d" + "software" ], "versions": { "svg": [ "original", - "plain" + "original-wordmark", + "plain-wordmark" ], "font": [ - "plain" + "original", + "plain-wordmark" ] }, - "color": "#5586a4", - "aliases": [] + "color": "#F26207", + "aliases": [ + { + "base": "original", + "alias": "plain" + } + ] }, { - "name": "opensuse", + "name": "rider", + "altnames": [], "tags": [ - "linux", - "distribuition", - "desktop" - ], + "jetbrains", + "ide", + "editor", + "dotnet" + ], "versions": { "svg": [ "original", @@ -3501,112 +8901,145 @@ "font": [ "plain", "plain-wordmark" - ] + ] }, - "color": "#73ba25", - "aliases": [] + "color": "#dd1265", + "aliases": [] }, { - "name": "oracle", + "name": "rocksdb", + "altnames": [], "tags": [ "database" ], "versions": { "svg": [ - "original" + "original", + "plain", + "line" ], "font": [ - "original" + "plain", + "line" ] }, - "color": "#EA1B22", - "aliases": [ - { - "base": "original", - "alias": "plain" - } - ] + "color": "#ffbe00", + "aliases": [] }, { - "name": "pandas", + "name": "rockylinux", + "altnames": [ + "rocky" + ], "tags": [ - "library", - "python" + "os", + "open-source", + "linux" ], "versions": { "svg": [ "original", - "original-wordmark" + "original-wordmark", + "plain-wordmark" ], "font": [ "original", - "original-wordmark" + "plain-wordmark" ] }, - "color": "#130754", + "color": "#10b982", "aliases": [ { "base": "original", "alias": "plain" - }, - { - "base": "original-wordmark", - "alias": "plain-wordmark" } ] }, { - "name": "perl", + "name": "rollup", + "altnames": [ + "rollupjs", + "rollup.js" + ], "tags": [ - "programming", - "language" + "bundler", + "build", + "javascript" ], "versions": { "svg": [ "original", - "plain" + "original-wordmark", + "plain", + "plain-wordmark", + "line", + "line-wordmark" ], "font": [ - "plain" + "plain", + "plain-wordmark", + "line", + "line-wordmark" ] }, - "color": "#212177", + "color": "#ff3333", "aliases": [] }, { - "name": "phalcon", - "tags": ["php", "framework"], + "name": "ros", + "altnames": [ + "robotoperatingsystem" + ], + "tags": [ + "robotics" + ], "versions": { - "svg": ["original", "plain"], - "font": ["plain"] + "svg": [ + "original", + "original-wordmark" + ], + "font": [ + "original", + "original-wordmark" + ] }, - "color": "#76c39b", + "color": "#21304c", "aliases": [] }, { - "name": "photoshop", + "name": "rspec", + "altnames": [], "tags": [ - "editor", - "graphic" + "ruby", + "framework", + "testing" ], "versions": { "svg": [ + "original", + "original-wordmark", "plain", - "line" + "plain-wordmark", + "line", + "line-wordmark" ], "font": [ "plain", - "line" + "plain-wordmark", + "line", + "line-wordmark" ] }, - "color": "#80b5e2", + "color": "#6de1fa", "aliases": [] }, { - "name": "php", + "name": "rstudio", + "altnames": [], "tags": [ - "programming", - "language" + "editor", + "package", + "statistics" ], "versions": { "svg": [ @@ -3617,13 +9050,17 @@ "plain" ] }, - "color": "#6181b6", + "color": "#75aadb", "aliases": [] }, { - "name": "phpstorm", + "name": "ruby", + "altnames": [ + "rubylang" + ], "tags": [ - "editor" + "programming", + "language" ], "versions": { "svg": [ @@ -3637,15 +9074,15 @@ "plain-wordmark" ] }, - "color": "#5058A6", + "color": "#d91404", "aliases": [] }, { - "name": "podman", + "name": "rubymine", + "altnames": [], "tags": [ - "container", - "pods", - "docker" + "jetbrains", + "editor" ], "versions": { "svg": [ @@ -3659,132 +9096,156 @@ "plain-wordmark" ] }, - "color": "#872b9e", + "color": "#FC801D", "aliases": [] }, { - "name": "polygon", + "name": "rust", + "altnames": [ + "rustlang" + ], "tags": [ - "ethereum", - "erc20", - "blockchain" + "programming", + "language" ], "versions": { "svg": [ "original", - "plain" + "line" ], "font": [ - "plain" + "original", + "line" ] }, - "color": "#38285B", - "aliases": [] + "color": "#000", + "aliases": [ + { + "base": "original", + "alias": "plain" + } + ] }, { - "name": "postgresql", + "name": "rxjs", + "altnames": [ + "Reactive Extensions for JavaScript" + ], "tags": [ - "database" + "javascript", + "library", + "observability" ], "versions": { "svg": [ "original", - "original-wordmark", - "plain", - "plain-wordmark" + "plain" ], "font": [ - "plain", - "plain-wordmark" + "plain" ] }, - "color": "#336791", + "color": "#df1c85", "aliases": [] }, { - "name": "premierepro", + "name": "safari", + "altnames": [ + "applesafari" + ], "tags": [ - "editor", - "video" + "browser" ], "versions": { "svg": [ + "original", + "original-wordmark", "plain", - "original" + "plain-wordmark", + "line-wordmark", + "line" ], "font": [ - "plain" + "plain", + "plain-wordmark", + "line-wordmark", + "line" ] }, - "color": "#2A0634", + "color": "#1B88CA", "aliases": [] }, { - "name": "processing", + "name": "salesforce", + "altnames": [], "tags": [ - "java", - "python", - "android", - "application", - "ide", - "framework" + "platform", + "ecommerce" ], "versions": { "svg": [ "original", - "original-wordmark", - "plain", - "plain-wordmark" + "plain" ], "font": [ - "plain", - "plain-wordmark" + "plain" ] }, - "color": "#000000", + "color": "#00a1e0", "aliases": [] }, { - "name": "protractor", + "name": "sanity", + "altnames": [], "tags": [ - "framework", - "javascript" + "CMS" ], "versions": { "svg": [ - "plain", - "plain-wordmark" + "original", + "plain" ], "font": [ - "plain", - "plain-wordmark" + "plain" ] }, - "color": "#b7111d", + "color": "#F03E2F", "aliases": [] }, - { - "name": "putty", + { + "name": "sass", + "altnames": [ + "scss" + ], "tags": [ - "ssh", - "server" + "pre-processor", + "css" ], "versions": { - "svg": [ - "original", - "plain" + "svg": [ + "original" ], "font": [ - "plain" + "original" ] }, - "color": "#0000fc", - "aliases": [] + "color": "#cc6699", + "aliases": [ + { + "base": "original", + "alias": "plain" + } + ] }, { - "name": "pycharm", + "name": "scala", + "altnames": [ + "scalalang" + ], "tags": [ - "editor" + "programming", + "language", + "jvm" ], "versions": { "svg": [ @@ -3798,91 +9259,105 @@ "plain-wordmark" ] }, - "color": "#4D8548", + "color": "#de3423", "aliases": [] }, { - "name": "python", + "name": "scalingo", + "altnames": [], "tags": [ - "programming", - "language" + "cloud", + "platform", + "hosting" ], "versions": { "svg": [ "original", "original-wordmark", "plain", - "plain-wordmark" + "plain-wordmark", + "line", + "line-wordmark" ], "font": [ "plain", - "plain-wordmark" + "plain-wordmark", + "line", + "line-wordmark" ] }, - "color": "#ffd845", + "color": "#173aee", "aliases": [] }, { - "name": "pytorch", + "name": "scikitlearn", + "altnames": [ + "scikit-learn", + "scikit", + "sklearn" + ], "tags": [ - "programming", - "framework", "machine-learning", - "python" + "python", + "tool", + "library" ], "versions": { "svg": [ "original", - "original-wordmark", - "plain-wordmark" + "plain", + "line" ], "font": [ - "original", - "plain-wordmark" + "plain", + "line" ] }, - "color": "#EE4C2C", + "color": "#f89939", "aliases": [ { "base": "original", - "alias": "plain" + "alias": "original-wordmark" + }, + { + "base": "plain", + "alias": "plain-wordmark" + }, + { + "base": "line", + "alias": "line-wordmark" } ] }, { - "name": "raspberrypi", - "tags": ["arm", "computer"], - "versions": { - "svg": ["original", "original-wordmark", "line", "line-wordmark"], - "font": ["line", "line-wordmark"] - }, - "color": "#c51850", - "aliases": [] - }, - { - "name": "phoenix", + "name": "sdl", + "altnames": [ + "simpledirectmedialayer" + ], "tags": [ - "framework" + "library", + "cross-platform", + "multimedia", + "game" ], "versions": { "svg": [ "original", - "original-wordmark", - "plain", - "plain-wordmark" + "plain" ], "font": [ - "plain", - "plain-wordmark" + "plain" ] }, - "color": "#F15524", + "color": "#173354", "aliases": [] }, { - "name": "qt", + "name": "selenium", + "altnames": [], "tags": [ - "framework" + "webdrive", + "automation" ], "versions": { "svg": [ @@ -3892,7 +9367,7 @@ "original" ] }, - "color": "#41cd52", + "color": "#CF0A2C", "aliases": [ { "base": "original", @@ -3901,47 +9376,46 @@ ] }, { - "name": "r", + "name": "sema", + "altnames": [ + "Sema Software" + ], "tags": [ - "programming", - "language" + "software", + "development", + "company", + "code-review", + "open-source" ], "versions": { "svg": [ "original", - "plain" + "original-wordmark" ], "font": [ "original", - "plain" - ] - }, - "color": "#2369bc", - "aliases": [] - }, - { - "name": "rails", - "tags": [ - "framework" - ], - "versions": { - "svg": [ - "original-wordmark", - "plain", - "plain-wordmark" - ], - "font": [ - "plain", - "plain-wordmark" + "original-wordmark" ] }, - "color": "#CC0000", - "aliases": [] + "color": "#000", + "aliases": [ + { + "base": "original", + "alias": "plain" + }, + { + "base": "original-wordmark", + "alias": "plain-wordmark" + } + ] }, { - "name": "react", + "name": "sentry", + "altnames": [], "tags": [ - "framework" + "monitoring", + "analytics", + "metrics" ], "versions": { "svg": [ @@ -3953,7 +9427,7 @@ "original-wordmark" ] }, - "color": "#61dafb", + "color": "#362d59", "aliases": [ { "base": "original", @@ -3966,10 +9440,11 @@ ] }, { - "name": "redhat", + "name": "reactrouter", + "altnames": [], "tags": [ - "server", - "linux" + "framework", + "react" ], "versions": { "svg": [ @@ -3983,13 +9458,17 @@ "plain-wordmark" ] }, - "color": "#e93442", + "color": "#f44250", "aliases": [] }, { - "name": "redis", + "name": "sequelize", + "altnames": [ + "sequelizejs" + ], "tags": [ - "server" + "database", + "language" ], "versions": { "svg": [ @@ -4003,71 +9482,89 @@ "plain-wordmark" ] }, - "color": "#d82c20", + "color": "#3b4b72", "aliases": [] }, { - "name": "redux", + "name": "shopware", + "altnames": [], "tags": [ - "framework" + "cloud", + "platform" ], "versions": { "svg": [ - "original" + "original", + "original-wordmark" ], "font": [ - "original" + "original", + "original-wordmark" ] }, - "color": "#764abc", - "aliases": [ - { - "base": "original", - "alias": "plain" - } - ] + "color": "#179eff", + "aliases": [] }, { - "name": "rocksdb", + "name": "shotgrid", + "altnames": [], "tags": [ - "database" + "web-application", + "autodesk", + "project-management", + "pipeline", + "production-tool", + "production-tracking" ], "versions": { "svg": [ + "original", + "original-wordmark", "plain" ], "font": [ - "plain" + "plain", + "original-wordmark" ] }, - "color": "#f5be17", - "aliases": [] + "color": "#000000", + "aliases": [ + { + "base": "original-wordmark", + "alias": "plain-wordmark" + } + ] }, { - "name": "ruby", + "name": "sketch", + "altnames": [], "tags": [ - "programming", - "language" + "application" ], "versions": { "svg": [ "original", "original-wordmark", "plain", - "plain-wordmark" + "plain-wordmark", + "line", + "line-wordmark" ], "font": [ "plain", - "plain-wordmark" + "plain-wordmark", + "line", + "line-wordmark" ] }, - "color": "#d91404", + "color": "#fdad00", "aliases": [] }, { - "name": "rubymine", + "name": "slack", + "altnames": [], "tags": [ - "editor" + "chat" ], "versions": { "svg": [ @@ -4081,55 +9578,48 @@ "plain-wordmark" ] }, - "color": "#C12C4C", - "aliases": [] - }, - { - "name": "rust", - "tags": [ - "programming", - "language" - ], - "versions": { - "svg": [ - "plain" - ], - "font": [ - "plain" - ] - }, - "color": "#000000", + "color": "#2D333A", "aliases": [] }, { - "name": "safari", + "name": "socketio", + "altnames": [], "tags": [ - "browser" + "library", + "networking", + "websockets" ], "versions": { "svg": [ "original", - "original-wordmark", - "plain", - "plain-wordmark", - "line-wordmark", - "line" + "original-wordmark" ], "font": [ - "plain", - "plain-wordmark", - "line-wordmark", - "line" + "original", + "original-wordmark" ] }, - "color": "#1B88CA", - "aliases": [] + "color": "#010101", + "aliases": [ + { + "base": "original", + "alias": "plain" + }, + { + "base": "original-wordmark", + "alias": "plain-wordmark" + } + ] }, { - "name": "salesforce", + "name": "solidity", + "altnames": [ + "soliditylang" + ], "tags": [ - "platform", - "ecommerce" + "programming", + "language", + "blockchain" ], "versions": { "svg": [ @@ -4140,206 +9630,262 @@ "plain" ] }, - "color": "#00a1e0", + "color": "#383838", "aliases": [] }, { - "name": "sdl", + "name": "solidjs", + "altnames": [], "tags": [ - "library", - "cross-platform", - "multimedia", - "game" + "javascript", + "framework", + "frontend" ], "versions": { "svg": [ "original", - "plain" + "original-wordmark", + "plain", + "plain-wordmark" ], "font": [ - "plain" + "plain", + "plain-wordmark" ] }, - "color": "#173354", + "color": "#2c4f7c", "aliases": [] }, { - "name": "rstudio", - "tags": ["editor", "package", "statistics"], + "name": "sonarqube", + "altnames": [ + "sonar" + ], + "tags": [ + "tool", + "security" + ], "versions": { - "svg": ["original", "plain"], - "font": ["plain"] + "svg": [ + "original", + "original-wordmark", + "plain-wordmark", + "line", + "line-wordmark" + ], + "font": [ + "original", + "plain-wordmark", + "line", + "line-wordmark" + ] }, - "color": "#75aadb", - "aliases": [] + "color": "#549dd0", + "aliases": [ + { + "base": "original", + "alias": "plain" + } + ] }, { - "name": "sass", + "name": "sourcetree", + "altnames": [], "tags": [ - "pre-processor", - "css" + "version-control" ], "versions": { "svg": [ - "original" + "original", + "original-wordmark" ], "font": [ - "original" + "original", + "original-wordmark" ] }, - "color": "#cc6699", + "color": "#205081", "aliases": [ { "base": "original", "alias": "plain" + }, + { + "base": "original-wordmark", + "alias": "plain-wordmark" } ] }, { - "name": "scala", + "name": "spack", + "altnames": [], "tags": [ - "programming", - "language" + "package-manager", + "package", + "manager", + "python", + "open-source" ], "versions": { "svg": [ "original", - "original-wordmark", - "plain", - "plain-wordmark" + "plain" ], "font": [ - "plain", - "plain-wordmark" + "plain" ] }, - "color": "#de3423", + "color": "#0F3A80", "aliases": [] }, { - "name": "selenium", + "name": "splunk", + "altnames": [], "tags": [ - "webdrive", - "automation" + "platform", + "data", + "log", + "monitoring" ], "versions": { "svg": [ - "original" + "original-wordmark" ], "font": [ - "original" + "original-wordmark" ] }, - "color": "#CF0A2C", + "color": "#0C1724", "aliases": [ { - "base": "original", - "alias": "plain" + "base": "original-wordmark", + "alias": "plain-wordmark" } ] }, { - "name": "sequelize", + "name": "spring", + "altnames": [ + "springframework" + ], "tags": [ - "database", - "language" + "framework" ], "versions": { "svg": [ "original", - "original-wordmark", - "plain", - "plain-wordmark" + "original-wordmark" ], "font": [ - "plain", - "plain-wordmark" + "original", + "original-wordmark" ] }, - "color": "#3b4b72", + "color": "#5FB832", "aliases": [ { - "base": "plain", + "base": "original", "alias": "plain" }, { - "base": "plain-wordmark", + "base": "original-wordmark", "alias": "plain-wordmark" } ] }, { - "name": "shopware", + "name": "spss", + "altnames": [ + "ibmspss" + ], "tags": [ - "cloud", - "platform" + "package", + "statistics" ], "versions": { "svg": [ "original", - "original-wordmark" + "plain" ], "font": [ - "original", - "original-wordmark" + "plain" ] }, - "color": "#179eff", + "color": "#cc1e4c", "aliases": [] }, { - "name": "shotgrid", + "name": "spyder", + "altnames": [], "tags": [ - "web-application", - "autodesk", - "project-management", - "pipeline", - "production-tool", - "production-tracking" + "python", + "ide", + "editor", + "data-science" ], "versions": { "svg": [ "original", "original-wordmark", - "plain" + "plain", + "plain-wordmark" ], "font": [ "plain", - "original-wordmark" + "plain-wordmark" ] }, - "color": "#000000", - "aliases": [ - { - "base": "original-wordmark", - "alias": "plain-wordmark" - } - ] + "color": "#8c0000", + "aliases": [] }, { - "name": "sketch", + "name": "sqlalchemy", + "altnames": [], "tags": [ - "application" + "python", + "orm" ], "versions": { "svg": [ "original", "original-wordmark", - "line", - "line-wordmark" + "plain", + "plain-wordmark" ], "font": [ - "line", - "line-wordmark" + "plain", + "plain-wordmark" ] }, - "color": "#fdad00", + "color": "#333333", "aliases": [] }, { - "name": "slack", + "name": "sqldeveloper", + "altnames": [], "tags": [ - "chat" + "tool", + "database" + ], + "versions": { + "svg": [ + "original", + "plain" + ], + "font": [ + "plain" + ] + }, + "color": "#adadad", + "aliases": [] + }, + { + "name": "sqlite", + "altnames": [], + "tags": [ + "sql", + "database", + "db" ], "versions": { "svg": [ @@ -4353,15 +9899,16 @@ "plain-wordmark" ] }, - "color": "#2D333A", + "color": "#0f80cc", "aliases": [] }, { - "name": "socketio", + "name": "ssh", + "altnames": [ + "secureshell" + ], "tags": [ - "library", - "networking", - "websockets" + "security" ], "versions": { "svg": [ @@ -4373,7 +9920,7 @@ "original-wordmark" ] }, - "color": "#010101", + "color": "#231F20", "aliases": [ { "base": "original", @@ -4386,55 +9933,69 @@ ] }, { - "name": "solidity", + "name": "stackoverflow", + "altnames": [ + "Stack Overflow" + ], "tags": [ - "programming", - "language", - "blockchain" + "website", + "development", + "community" ], "versions": { "svg": [ "original", - "plain" + "original-wordmark", + "plain", + "plain-wordmark", + "line", + "line-wordmark" ], "font": [ - "plain" + "plain", + "plain-wordmark", + "line", + "line-wordmark" ] }, - "color": "#383838", + "color": "#F58025", "aliases": [] }, { - "name": "sourcetree", + "name": "stata", + "altnames": [], "tags": [ - "version-control" + "analysis", + "data", + "data-science", + "software", + "statistics" ], "versions": { "svg": [ - "original", "original-wordmark" ], "font": [ - "original", "original-wordmark" ] }, - "color": "#205081", + "color": "#195f92", "aliases": [ - { - "base": "original", - "alias": "plain" - }, - { - "base": "original-wordmark", - "alias": "plain-wordmark" - } + { + "base": "original-wordmark", + "alias": "plain-wordmark" + } ] }, { - "name": "spring", + "name": "storybook", + "altnames": [ + "storybookjs" + ], "tags": [ - "framework" + "framework", + "documentation", + "ui" ], "versions": { "svg": [ @@ -4448,68 +10009,57 @@ "plain-wordmark" ] }, - "color": "#5FB832", - "aliases": [] - }, - { - "name": "spss", - "tags": ["package", "statistics"], - "versions": { - "svg": ["original", "plain"], - "font": ["plain"] - }, - "color": "#cc1e4c", + "color": "#FF4785", "aliases": [] }, { - "name": "sqlalchemy", + "name": "streamlit", + "altnames": [], "tags": [ "python", - "orm" + "machine-learning", + "data-science" ], "versions": { "svg": [ "original", "original-wordmark", - "plain" + "plain", + "plain-wordmark" ], "font": [ "plain", - "original-wordmark" + "plain-wordmark" ] }, - "color": "#333333", - "aliases": [ - { - "base": "original-wordmark", - "alias": "plain-wordmark" - } - ] + "color": "#7d353b", + "aliases": [] }, { - "name": "sqlite", + "name": "stylus", + "altnames": [ + "styluslang" + ], "tags": [ - "sql", - "database", - "db" + "css", + "pre-processor" ], "versions": { "svg": [ - "original", - "original-wordmark", - "plain", - "plain-wordmark" + "original" ], - "font": [ - "plain", - "plain-wordmark" - ] + "font": [ + "original" + ] }, - "color": "#0f80cc", + "color": "#333333", "aliases": [] }, { "name": "subversion", + "altnames": [ + "apachesubversion" + ], "tags": [ "svn", "version" @@ -4517,10 +10067,12 @@ "versions": { "svg": [ "original", - "original-wordmark" + "original-wordmark", + "plain-wordmark" ], "font": [ - "original" + "original", + "plain-wordmark" ] }, "color": "#809cc8", @@ -4532,12 +10084,18 @@ ] }, { - "name": "microsoftsqlserver", + "name": "supabase", + "altnames": [], "tags": [ - "database" + "authentication", + "cloud-computing-platform", + "database", + "storage" ], "versions": { "svg": [ + "original", + "original-wordmark", "plain", "plain-wordmark" ], @@ -4546,58 +10104,43 @@ "plain-wordmark" ] }, - "color": "#909DAA", + "color": "#3ecf8e", "aliases": [] }, { - "name": "ssh", - "tags": [ - "security" + "name": "svelte", + "altnames": [ + "sveltejs" ], - "versions": { - "svg": [ - "original", - "original-wordmark" - ], - "font": [ - "original", - "original-wordmark" - ] - }, - "color": "#231F20", - "aliases": [ - { - "base": "original", - "alias": "plain" - }, - { - "base": "original-wordmark", - "alias": "plain-wordmark" - } - ] - }, - { - "name": "stylus", "tags": [ - "css", - "pre-processor" + "javascript", + "framework", + "compiler" ], "versions": { "svg": [ - "original" + "original", + "original-wordmark", + "plain", + "plain-wordmark" ], "font": [ - "original" + "plain", + "plain-wordmark" ] }, - "color": "#333333", + "color": "#ff3e00", "aliases": [] }, { - "name": "svelte", + "name": "swagger", + "altnames": [ + "Swagger" + ], "tags": [ - "javascript", - "framework" + "development", + "software", + "tool" ], "versions": { "svg": [ @@ -4611,11 +10154,12 @@ "plain-wordmark" ] }, - "color": "#ff3e00", + "color": "#85ea2d", "aliases": [] }, { "name": "swift", + "altnames": [], "tags": [ "language" ], @@ -4634,10 +10178,36 @@ "color": "#F05138", "aliases": [] }, + { + "name": "swiper", + "altnames": [], + "tags": [ + "library", + "javascript", + "open-source" + ], + "versions": { + "svg": [ + "original" + ], + "font": [ + "original" + ] + }, + "color": "#0080FF", + "aliases": [ + { + "base": "original", + "alias": "plain" + } + ] + }, { "name": "symfony", + "altnames": [], "tags": [ - "framework" + "framework", + "php" ], "versions": { "svg": [ @@ -4662,48 +10232,59 @@ ] }, { - "name": "storybook", + "name": "tailwindcss", + "altnames": [], "tags": [ - "framework", - "documentation", - "ui" + "css", + "framework" ], "versions": { - "svg": [ - "original", - "original-wordmark", - "plain", - "plain-wordmark" - ], - "font": [ - "plain", - "plain-wordmark" - ] + "svg": [ + "original-wordmark", + "original", + "plain-wordmark" + ], + "font": [ + "original", + "plain-wordmark" + ] }, - "color": "#FF4785", - "aliases": [] + "color": "#38bdf8", + "aliases": [ + { + "base": "original", + "alias": "plain" + } + ] }, { - "name": "tailwindcss", + "name": "tauri", + "altnames": [], "tags": [ - "css", - "framework" + "nodejs", + "rust", + "desktop", + "framework", + "programming" ], "versions": { "svg": [ + "original", "original-wordmark", - "plain" + "plain", + "plain-wordmark" ], "font": [ - "original-wordmark", - "plain" + "plain", + "plain-wordmark" ] }, - "color": "#2298BD", + "color": "#FFC131", "aliases": [] }, { "name": "tensorflow", + "altnames": [], "tags": [ "library", "machine-learning", @@ -4728,6 +10309,7 @@ }, { "name": "terraform", + "altnames": [], "tags": [ "deployment", "architecture", @@ -4748,8 +10330,63 @@ "color": "#5c4ee5", "aliases": [] }, + { + "name": "tex", + "altnames": [], + "tags": [ + "typesetting-system", + "markup", + "tex" + ], + "versions": { + "svg": [ + "original" + ], + "font": [ + "original" + ] + }, + "color": "#000000", + "aliases": [ + { + "base": "original", + "alias": "original-wordmark" + }, + { + "base": "original", + "alias": "plain" + }, + { + "base": "original", + "alias": "plain-wordmark" + } + ] + }, + { + "name": "thealgorithms", + "altnames": [], + "tags": [ + "organization", + "algorithms" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#00BCB4", + "aliases": [] + }, { "name": "threejs", + "altnames": [], "tags": [ "javascript", "framework" @@ -4767,8 +10404,35 @@ "color": "#000000", "aliases": [] }, + { + "name": "titaniumsdk", + "altnames": [], + "tags": [ + "app", + "mobile", + "javascript", + "cross-platform", + "sdk" + ], + "versions": { + "svg": [ + "original" + ], + "font": [ + "original" + ] + }, + "color": "#bd222b", + "aliases": [ + { + "base": "original", + "alias": "plain" + } + ] + }, { "name": "tomcat", + "altnames": [], "tags": [ "server" ], @@ -4787,27 +10451,31 @@ "color": "#D1A41A", "aliases": [] }, - { + { "name": "tortoisegit", + "altnames": [], "tags": [ "git" ], "versions": { "svg": [ "original", - "plain", - "line" + "plain", + "line" ], "font": [ "plain", "line" ] }, - "color": "#4a8fb5", + "color": "#4b8eb4", "aliases": [] }, { "name": "towergit", + "altnames": [ + "towergitclient" + ], "tags": [ "git" ], @@ -4819,61 +10487,144 @@ "plain-wordmark" ], "font": [ - "plain", - "plain-wordmark" + "plain", + "plain-wordmark" + ] + }, + "color": "#d18900", + "aliases": [] + }, + { + "name": "traefikmesh", + "altnames": [], + "tags": [ + "mesh", + "kubernetes" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain-wordmark", + "line", + "line-wordmark" + ], + "font": [ + "original", + "plain-wordmark", + "line", + "line-wordmark" + ] + }, + "color": "#9D0FB0", + "aliases": [ + { + "base": "original", + "alias": "plain" + } + ] + }, + { + "name": "traefikproxy", + "altnames": [], + "tags": [ + "proxy", + "router" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain-wordmark", + "line", + "line-wordmark" + ], + "font": [ + "original", + "plain-wordmark", + "line", + "line-wordmark" ] }, - "color": "#d18900", - "aliases": [] + "color": "#24a1c1", + "aliases": [ + { + "base": "original", + "alias": "plain" + } + ] }, { "name": "travis", + "altnames": [ + "travisci" + ], "tags": [ "platform", "integration" ], "versions": { "svg": [ + "original", + "original-wordmark", "plain", - "plain-wordmark" + "plain-wordmark", + "line", + "line-wordmark" ], "font": [ "plain", - "plain-wordmark" + "plain-wordmark", + "line", + "line-wordmark" ] }, - "color": "#bb2031", + "color": "#2d3136", "aliases": [] }, { - "name": "thealgorithms", + "name": "trello", + "altnames": [ + "atlassiantrello" + ], "tags": [ - "organization", - "algorithms" + "platform", + "organize" ], "versions": { "svg": [ "original", "original-wordmark", "plain", - "plain-wordmark" + "plain-wordmark", + "line", + "line-wordmark" ], "font": [ "plain", - "plain-wordmark" + "plain-wordmark", + "line", + "line-wordmark" ] }, - "color": "#00BCB4", + "color": "#0052cc", "aliases": [] }, { - "name": "trello", + "name": "trpc", + "altnames": [ + "Typescript Remote Procedure Call" + ], "tags": [ - "platform", - "organize" + "typescript", + "javascript", + "typesafe", + "api" ], "versions": { "svg": [ + "original", + "original-wordmark", "plain", "plain-wordmark" ], @@ -4882,11 +10633,14 @@ "plain-wordmark" ] }, - "color": "#23719f", + "color": "#398ccb", "aliases": [] }, { "name": "twitter", + "altnames": [ + "x" + ], "tags": [ "auth" ], @@ -4898,19 +10652,24 @@ "original" ] }, - "color": "#1da1f2", + "color": "#000", "aliases": [ - { - "base": "original", - "alias": "plain" - } + { + "base": "original", + "alias": "plain" + } ] }, { "name": "typescript", + "altnames": [ + "ts" + ], "tags": [ "programming", - "transpiler" + "transpiler", + "javascript", + "language" ], "versions": { "svg": [ @@ -4931,10 +10690,42 @@ }, { "name": "typo3", + "altnames": [], "tags": [ "cms", "php" ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain-wordmark", + "line", + "line-wordmark" + ], + "font": [ + "original", + "plain-wordmark", + "line", + "line-wordmark" + ] + }, + "color": "#f49700", + "aliases": [ + { + "base": "original", + "alias": "plain" + } + ] + }, + { + "name": "ubuntu", + "altnames": [], + "tags": [ + "os", + "open-source", + "linux" + ], "versions": { "svg": [ "original", @@ -4947,16 +10738,24 @@ "plain-wordmark" ] }, - "color": "#f49700", + "color": "#e95420", "aliases": [] }, { - "name": "ubuntu", + "name": "unifiedmodelinglanguage", + "altnames": [ + "uml", + "unified modeling language" + ], "tags": [ - "os" + "modeling", + "design", + "language" ], "versions": { "svg": [ + "original", + "original-wordmark", "plain", "plain-wordmark" ], @@ -4965,31 +10764,41 @@ "plain-wordmark" ] }, - "color": "#dd4814", + "color": "#452e7f", "aliases": [] }, { "name": "unity", + "altnames": [], "tags": [ + "C#", + "c-sharp", "csharp", "engine", - "game" + "game-engine" ], "versions": { "svg": [ "original", - "original-wordmark" + "original-wordmark", + "plain", + "plain-wordmark", + "line", + "line-wordmark" ], "font": [ - "original", - "original-wordmark" + "plain", + "plain-wordmark", + "line", + "line-wordmark" ] }, - "color": "#000000", + "color": "#4d4d4d", "aliases": [] }, { "name": "unix", + "altnames": [], "tags": [ "os" ], @@ -5006,10 +10815,11 @@ }, { "name": "unrealengine", + "altnames": [], "tags": [ "c++", "engine", - "game" + "game-engine" ], "versions": { "svg": [ @@ -5035,6 +10845,9 @@ }, { "name": "uwsgi", + "altnames": [ + "uwebservergatewayinterface" + ], "tags": [ "hosting" ], @@ -5050,8 +10863,42 @@ "color": "#bad05e", "aliases": [] }, + { + "name": "v8", + "altnames": [ + "v8 engine" + ], + "tags": [ + "javascript-runtime", + "framework", + "javascript", + "web", + "cpp" + ], + "versions": { + "svg": [ + "original", + "plain" + ], + "font": [ + "plain" + ] + }, + "color": "#00C4CC", + "aliases": [ + { + "base": "original", + "alias": "original-wordmark" + }, + { + "base": "plain", + "alias": "plain-wordmark" + } + ] + }, { "name": "vagrant", + "altnames": [], "tags": [ "platform" ], @@ -5070,69 +10917,227 @@ "color": "#127eff", "aliases": [] }, + { + "name": "vala", + "altnames": [], + "tags": [ + "programming", + "language" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] + }, + "color": "#a56de2", + "aliases": [] + }, + { + "name": "vault", + "altnames": [ + "HashiCorp Vault" + ], + "tags": [ + "tool", + "security", + "infrastructure" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain-wordmark" + ], + "font": [ + "original", + "plain-wordmark" + ] + }, + "color": "#ffd814", + "aliases": [ + { + "base": "original", + "alias": "plain" + } + ] + }, + { + "name": "vercel", + "altnames": [], + "tags": [ + "hosting", + "platform", + "deployment", + "git" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "line", + "line-wordmark" + ], + "font": [ + "original", + "original-wordmark", + "line", + "line-wordmark" + ] + }, + "color": "#000", + "aliases": [ + { + "base": "original", + "alias": "plain" + }, + { + "base": "original-wordmark", + "alias": "plain-wordmark" + } + ] + }, + { + "name": "vertx", + "altnames": [ + "eclipsevertx" + ], + "tags": [ + "sdk", + "java", + "framework" + ], + "versions": { + "svg": [ + "original", + "original-wordmark", + "plain", + "plain-wordmark", + "line", + "line-wordmark" + ], + "font": [ + "plain", + "plain-wordmark", + "line", + "line-wordmark" + ] + }, + "color": "#782a91", + "aliases": [] + }, { "name": "vim", + "altnames": [ + "viimproved" + ], "tags": [ "editor" ], "versions": { "svg": [ "original", - "plain" + "plain" + ], + "font": [ + "plain" + ] + }, + "color": "#179a33", + "aliases": [] + }, + { + "name": "visualbasic", + "altnames": [ + "vb" + ], + "tags": [ + "programming", + "language" + ], + "versions": { + "svg": [ + "original", + "plain", + "line" ], "font": [ - "plain" + "plain", + "line" ] }, - "color": "#179a33", + "color": "#004e8c", "aliases": [] }, { "name": "visualstudio", + "altnames": [ + "vs" + ], "tags": [ "editor" ], "versions": { "svg": [ + "original", "plain", - "plain-wordmark" + "line" ], "font": [ "plain", - "plain-wordmark" + "line" ] }, - "color": "#68217A", + "color": "#52218a", "aliases": [] }, { - "name": "vuejs", + "name": "vite", + "altnames": [], "tags": [ - "framework" + "web3", + "blockchain", + "DAG" ], "versions": { "svg": [ "original", - "original-wordmark", - "plain", - "plain-wordmark", - "line", - "line-wordmark" + "original-wordmark" ], "font": [ - "plain", - "plain-wordmark", - "line", - "line-wordmark" + "original", + "original-wordmark" ] }, - "color": "#41B883", - "aliases": [] + "color": "#006BFF", + "aliases": [ + { + "base": "original", + "alias": "plain" + }, + { + "base": "original-wordmark", + "alias": "plain-wordmark" + } + ] }, { - "name": "vuestorefront", + "name": "vitejs", + "altnames": [ + "vite.js", + "Vite" + ], "tags": [ - "framework" + "javascript", + "build", + "compiler", + "esbuild" ], "versions": { "svg": [ @@ -5143,14 +11148,16 @@ "plain" ] }, - "color": "#5ecf7b", + "color": "#ffdd35", "aliases": [] }, { - "name": "vscode", + "name": "vitess", + "altnames": [], "tags": [ - "editor", - "ide" + "sharding", + "database", + "mysql" ], "versions": { "svg": [ @@ -5164,36 +11171,44 @@ "plain-wordmark" ] }, - "color": "#3C99D4", + "color": "#f16827", "aliases": [] }, { - "name": "webflow", + "name": "vitest", + "altnames": [], "tags": [ - "cms", - "ecommerce" + "framework", + "open-source", + "testing", + "vite" ], "versions": { "svg": [ - "original" + "original", + "plain" ], "font": [ - "original" + "plain" ] }, - "color": "#4353ff", + "color": "#fcc72b", "aliases": [] }, { - "name": "weblate", + "name": "vscode", + "altnames": [ + "visualstudiocode" + ], "tags": [ - "localization" + "editor", + "ide" ], "versions": { "svg": [ "original", - "plain", "original-wordmark", + "plain", "plain-wordmark" ], "font": [ @@ -5201,105 +11216,120 @@ "plain-wordmark" ] }, - "color": "#2eccaa", + "color": "#3C99D4", "aliases": [] }, { - "name": "webpack", + "name": "vsphere", + "altnames": [ + "vmwarevsphere" + ], "tags": [ - "package", - "manager" + "hypervisor", + "operating-system", + "vmware" ], "versions": { "svg": [ "original", "original-wordmark", "plain", - "plain-wordmark" + "plain-wordmark", + "line", + "line-wordmark" ], "font": [ "plain", - "plain-wordmark" + "plain-wordmark", + "line", + "line-wordmark" ] }, - "color": "#1C78C0", + "color": "#0091da", "aliases": [] }, { - "name": "webstorm", + "name": "vuejs", + "altnames": [], "tags": [ - "editor" + "framework" ], "versions": { "svg": [ "original", "original-wordmark", "plain", - "plain-wordmark" + "plain-wordmark", + "line", + "line-wordmark" ], "font": [ "plain", - "plain-wordmark" + "plain-wordmark", + "line", + "line-wordmark" ] }, - "color": "#2788B5", + "color": "#41B883", "aliases": [] }, { - "name": "windows8", + "name": "vuestorefront", + "altnames": [], "tags": [ - "os" + "framework" ], "versions": { "svg": [ "original", - "original-wordmark" + "plain" ], "font": [ - "original", - "original-wordmark" + "plain" ] }, - "color": "#00adef", - "aliases": [ - { - "base": "original", - "alias": "plain" - }, - { - "base": "original-wordmark", - "alias": "plain-wordmark" - } - ] + "color": "#5ecf7b", + "aliases": [] }, { - "name": "woocommerce", + "name": "vuetify", + "altnames": [], "tags": [ - "ecommerce" + "css", + "framework", + "vuejs-library", + "material-design" ], "versions": { "svg": [ "original", "plain", - "original-wordmark", - "plain-wordmark" + "line" ], "font": [ - "plain", - "plain-wordmark" + "line", + "plain" ] }, - "color": "#7f54b3", + "color": "#1697F6", "aliases": [] }, { - "name": "wordpress", + "name": "vyper", + "altnames": [ + "vyperlang" + ], "tags": [ - "cms" + "programming", + "language", + "python", + "blockchain", + "ethereum" ], "versions": { "svg": [ "original", + "original-wordmark", "plain", "plain-wordmark" ], @@ -5308,79 +11338,84 @@ "plain-wordmark" ] }, - "color": "#494949", + "color": "#000000", "aliases": [] }, { - "name": "xamarin", + "name": "wasm", + "altnames": [ + "WebAssembly" + ], "tags": [ - "application", + "binary", "programming", - "editor", - "ide", - "ios", - "mobile", - "apple", - "android", - "windows" + "virtual machine", + "web", + "language" ], "versions": { "svg": [ "original", - "original-wordmark" + "original-wordmark", + "plain-wordmark" ], "font": [ "original", - "original-wordmark" + "plain-wordmark" ] }, - "color": "#3498DB", + "color": "#654ff0", "aliases": [ { - "base":"original", - "alias":"plain" - }, - { - "base":"original-wordmark", - "alias":"plain-wordmark" + "base": "original", + "alias": "plain" } ] }, { - "name": "xcode", + "name": "webflow", + "altnames": [], "tags": [ - "application", - "editor", - "ide", - "ios", - "iphone", - "mobile", - "apple" - ], + "cms", + "ecommerce" + ], "versions": { "svg": [ - "original", - "plain" + "original" ], "font": [ - "plain" + "original" ] }, - "color": "#069CEC", + "color": "#4353ff", "aliases": [] }, { - "name": "xd", - "tags": ["design", "editor", "ui"], + "name": "weblate", + "altnames": [], + "tags": [ + "localization" + ], "versions": { - "svg": ["plain", "line"], - "font": ["plain", "line"] + "svg": [ + "original", + "plain", + "original-wordmark", + "plain-wordmark" + ], + "font": [ + "plain", + "plain-wordmark" + ] }, - "color": "#DD80BC", + "color": "#2eccaa", "aliases": [] }, { - "name": "yarn", + "name": "webpack", + "altnames": [ + "webpackjs" + ], "tags": [ "package", "manager" @@ -5388,21 +11423,24 @@ "versions": { "svg": [ "original", - "original-wordmark" + "original-wordmark", + "plain", + "plain-wordmark" ], "font": [ "plain", "plain-wordmark" ] }, - "color": "#2c8ebb", + "color": "#1C78C0", "aliases": [] }, { - "name": "yii", + "name": "webstorm", + "altnames": [], "tags": [ - "php", - "framework" + "jetbrains", + "editor" ], "versions": { "svg": [ @@ -5416,80 +11454,95 @@ "plain-wordmark" ] }, - "color": "#0073bb", + "color": "#07c3f2", "aliases": [] }, { - "name": "yunohost", + "name": "windows11", + "altnames": [], "tags": [ "os" ], "versions": { "svg": [ "original", - "plain" + "original-wordmark" ], "font": [ - "plain" + "original", + "original-wordmark" ] }, - "color": "#ffffff", - "aliases": [] + "color": "#0078d4", + "aliases": [ + { + "base": "original", + "alias": "plain" + }, + { + "base": "original-wordmark", + "alias": "plain-wordmark" + } + ] }, { - "name": "zend", + "name": "windows8", + "altnames": [], "tags": [ - "php", - "framework" + "os" ], "versions": { "svg": [ - "plain", - "plain-wordmark" + "original", + "original-wordmark" ], "font": [ - "plain", - "plain-wordmark" + "original", + "original-wordmark" ] }, - "color": "#68b604", - "aliases": [] + "color": "#00adef", + "aliases": [ + { + "base": "original", + "alias": "plain" + }, + { + "base": "original-wordmark", + "alias": "plain-wordmark" + } + ] }, { - "name": "zig", + "name": "woocommerce", + "altnames": [], "tags": [ - "language" + "ecommerce" ], "versions": { "svg": [ "original", + "plain", "original-wordmark", "plain-wordmark" ], "font": [ - "original", + "plain", "plain-wordmark" ] }, - "color": "#f7a41d", - "aliases": [ - { - "base":"original", - "alias":"plain" - } - ] + "color": "#7f54b3", + "aliases": [] }, { - "name": "pytest", + "name": "wordpress", + "altnames": [], "tags": [ - "python", - "framework", - "testing" + "cms" ], "versions": { "svg": [ "original", - "original-wordmark", "plain", "plain-wordmark" ], @@ -5498,153 +11551,183 @@ "plain-wordmark" ] }, - "color": "#009fe3", + "color": "#494949", "aliases": [] }, { - "name": "opencv", + "name": "xamarin", + "altnames": [], "tags": [ - "library", - "c/c++", - "computer-vision" + "application", + "programming", + "editor", + "ide", + "ios", + "mobile", + "apple", + "android", + "windows" ], "versions": { "svg": [ "original", - "original-wordmark", - "plain", - "plain-wordmark" + "original-wordmark" ], "font": [ - "plain", - "plain-wordmark" + "original", + "original-wordmark" ] }, - "color": "#128dff", - "aliases": [] + "color": "#3498DB", + "aliases": [ + { + "base": "original", + "alias": "plain" + }, + { + "base": "original-wordmark", + "alias": "plain-wordmark" + } + ] }, { - "name": "fastapi", + "name": "xcode", + "altnames": [], "tags": [ - "python", - "framework" + "application", + "editor", + "ide", + "ios", + "iphone", + "mobile", + "apple" ], "versions": { "svg": [ "original", - "original-wordmark", - "plain", - "plain-wordmark" + "plain" ], "font": [ - "plain", - "plain-wordmark" + "plain" ] }, - "color": "#009688", + "color": "#069CEC", "aliases": [] }, { - "name": "k3s", + "name": "xd", + "altnames": [ + "adobexd" + ], "tags": [ - "kubernetes", - "container", - "platform" + "design", + "editor", + "ui" ], "versions": { "svg": [ "original", - "original-wordmark", - "plain-wordmark" + "plain", + "line" ], "font": [ - "original", - "plain-wordmark" + "plain", + "line" ] }, - "color": "#ffc519", - "aliases": [ - { - "base": "original", - "alias": "plain" - } - ] + "color": "#470137", + "aliases": [] }, { - "name": "packer", + "name": "xml", + "altnames": [ + "extensiblemarkuplanguage" + ], "tags": [ - "infrastructure", - "infrastructure-as-code", - "continuous-delivery" + "markup", + "language" ], "versions": { "svg": [ "original", - "original-wordmark" + "plain", + "line" ], "font": [ - "original", - "original-wordmark" + "plain", + "line" ] }, - "color": "#1d94dd", + "color": "#005fad", "aliases": [ { "base": "original", - "alias": "plain" + "alias": "original-wordmark" }, { - "base": "original-wordmark", + "base": "plain", "alias": "plain-wordmark" + }, + { + "base": "line", + "alias": "line-wordmark" } ] }, { - "name": "anaconda", + "name": "yaml", + "altnames": [ + "YAML Ain't Markup Language" + ], "tags": [ - "python", - "data-science" + "data", + "language" ], "versions": { "svg": [ "original", - "original-wordmark" + "plain" ], "font": [ - "original", - "original-wordmark" + "plain" ] }, - "color": "#3eb049", + "color": "#cb171e", "aliases": [ { "base": "original", - "alias": "plain" + "alias": "original-wordmark" }, { - "base": "original-wordmark", + "base": "plain", "alias": "plain-wordmark" } ] }, { - "name": "rspec", + "name": "yarn", + "altnames": [], "tags": [ - "ruby", - "framework", - "testing" + "package", + "manager", + "javascript", + "js" ], "versions": { "svg": [ "original", - "original-wordmark" + "original-wordmark", + "line", + "line-wordmark" ], "font": [ "original", - "original-wordmark" + "original-wordmark", + "line", + "line-wordmark" ] }, - "color": "#6de1fa", + "color": "#2c8ebb", "aliases": [ { "base": "original", @@ -5657,10 +11740,13 @@ ] }, { - "name": "argocd", + "name": "yii", + "altnames": [ + "yesitis" + ], "tags": [ - "gitops", - "continuous-delivery" + "php", + "framework" ], "versions": { "svg": [ @@ -5674,108 +11760,110 @@ "plain-wordmark" ] }, - "color": "#ef7b4d", + "color": "#40b3d8", "aliases": [] }, { - "name": "prometheus", + "name": "yugabytedb", + "altnames": [], "tags": [ - "monitoring", - "observability", - "analysis" + "database", + "relational", + "sql", + "scale", + "open-source" ], "versions": { "svg": [ "original", - "original-wordmark" + "original-wordmark", + "plain", + "plain-wordmark" ], "font": [ - "original", - "original-wordmark" + "plain", + "plain-wordmark" ] }, - "color": "#e75225", + "color": "#ff5f3b", "aliases": [] }, { - "name": "blender", + "name": "yunohost", + "altnames": [], "tags": [ - "modelling", - "python", - "3d", - "animation" + "os" ], "versions": { "svg": [ "original", - "original-wordmark" + "plain" ], "font": [ - "original", - "original-wordmark" + "plain" ] }, - "color": "#DC7B2E", + "color": "#ffffff", "aliases": [] }, { - "name": "dropwizard", + "name": "zend", + "altnames": [], "tags": [ - "java", + "php", "framework" ], "versions": { "svg": [ "original", - "plain" + "original-wordmark", + "line", + "line-wordmark" ], "font": [ - "plain" - ] - }, - "color": "#24265d", - "aliases": [] -}, -{ - "name": "vuetify", - "tags": [ - "css", - "framework", - "vuejs-library", - "material-design" - ], - "versions": { - "svg": [ "original", - "plain", - "line" - ], - "font": [ + "original-wordmark", "line", - "plain" - ] + "line-wordmark" + ] }, - "color": "#1697F6", - "aliases": [] + "color": "#68b604", + "aliases": [ + { + "base": "original", + "alias": "plain" + }, + { + "base": "original-wordmark", + "alias": "plain-wordmark" + } + ] }, { - "name": "fedora", + "name": "zig", + "altnames": [ + "ziglang" + ], "tags": [ - "linux", - "distribuition", - "desktop" - ], + "language" + ], "versions": { "svg": [ "original", - "plain" + "original-wordmark", + "plain-wordmark" ], "font": [ - "plain" - ] + "original", + "plain-wordmark" + ] }, - "color": "#294172", - "aliases": [] + "color": "#f7a41d", + "aliases": [ + { + "base": "original", + "alias": "plain" + } + ] } - ] diff --git a/devicon.min.css b/devicon.min.css index ed9ccd4ca..e0b3d5385 100644 --- a/devicon.min.css +++ b/devicon.min.css @@ -1 +1 @@ -īģŋ@font-face{font-family:"devicon";src:url("fonts/devicon.eot?biu5f3");src:url("fonts/devicon.eot?biu5f3#iefix") format("embedded-opentype"),url("fonts/devicon.ttf?biu5f3") format("truetype"),url("fonts/devicon.woff?biu5f3") format("woff"),url("fonts/devicon.svg?biu5f3#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-openal-plain:before{content:""}.devicon-kaggle-original-wordmark:before,.devicon-kaggle-plain-wordmark:before{content:""}.devicon-kaggle-original:before,.devicon-kaggle-plain:before{content:""}.devicon-pytest-plain-wordmark:before{content:""}.devicon-pytest-plain:before{content:""}.devicon-fastapi-plain-wordmark:before{content:""}.devicon-fastapi-plain:before{content:"î¤ļ"}.devicon-opencv-plain-wordmark:before{content:""}.devicon-opencv-plain:before{content:""}.devicon-k3s-plain-wordmark:before{content:""}.devicon-k3s-original:before,.devicon-k3s-plain:before{content:""}.devicon-packer-original-wordmark:before,.devicon-packer-plain-wordmark:before{content:""}.devicon-packer-original:before,.devicon-packer-plain:before{content:""}.devicon-anaconda-original-wordmark:before,.devicon-anaconda-plain-wordmark:before{content:""}.devicon-anaconda-original:before,.devicon-anaconda-plain:before{content:""}.devicon-prometheus-original-wordmark:before{content:""}.devicon-prometheus-original:before{content:""}.devicon-rspec-original-wordmark:before,.devicon-rspec-plain-wordmark:before{content:"î¨ĸ"}.devicon-rspec-original:before,.devicon-rspec-plain:before{content:"î¨Ŗ"}.devicon-argocd-plain-wordmark:before{content:""}.devicon-argocd-plain:before{content:"î¨Ĩ"}.devicon-blender-original-wordmark:before{content:"î¨Ļ"}.devicon-blender-original:before{content:""}.devicon-jetbrains-plain:before{content:""}.devicon-cmake-plain-wordmark:before{content:""}.devicon-cmake-plain:before{content:"î¨Ē"}.devicon-dropwizard-plain:before{content:"î¨Ģ"}.devicon-nuget-original-wordmark:before{content:"î¨Ŧ"}.devicon-nuget-original:before{content:""}.devicon-podman-plain-wordmark:before{content:""}.devicon-podman-plain:before{content:""}.devicon-networkx-original:before{content:""}.devicon-sqlite-plain-wordmark:before{content:""}.devicon-sqlite-plain:before{content:""}.devicon-discordjs-plain-wordmark:before{content:"î¨ŗ"}.devicon-discordjs-plain:before{content:""}.devicon-unrealengine-original-wordmark:before,.devicon-unrealengine-plain-wordmark:before{content:"î¨ĩ"}.devicon-unrealengine-original:before,.devicon-unrealengine-plain:before{content:"î¨ļ"}.devicon-django-plain-wordmark:before{content:""}.devicon-django-plain:before{content:""}.devicon-devicon-line-wordmark:before{content:""}.devicon-devicon-line:before{content:"î¨ē"}.devicon-devicon-plain-wordmark:before{content:"î¨ģ"}.devicon-devicon-plain:before{content:"î¨ŧ"}.devicon-bootstrap-plain-wordmark:before{content:"î¨Ŋ"}.devicon-bootstrap-plain:before{content:""}.devicon-solidity-plain:before{content:"î¨ŋ"}.devicon-polygon-plain:before{content:""}.devicon-maya-plain-wordmark:before{content:""}.devicon-maya-plain:before{content:""}.devicon-xcode-plain:before{content:""}.devicon-selenium-original:before,.devicon-selenium-plain:before{content:""}.devicon-ifttt-original:before,.devicon-ifttt-plain:before{content:""}.devicon-pytorch-plain-wordmark:before{content:""}.devicon-pytorch-original:before,.devicon-pytorch-plain:before{content:""}.devicon-xamarin-original-wordmark:before,.devicon-xamarin-plain-wordmark:before{content:""}.devicon-xamarin-original:before,.devicon-xamarin-plain:before{content:""}.devicon-hugo-plain-wordmark:before{content:""}.devicon-hugo-plain:before{content:""}.devicon-grafana-original-wordmark:before,.devicon-grafana-plain-wordmark:before{content:""}.devicon-grafana-original:before,.devicon-grafana-plain:before{content:""}.devicon-ansible-plain-wordmark:before{content:""}.devicon-ansible-plain:before{content:""}.devicon-shotgrid-original-wordmark:before,.devicon-shotgrid-plain-wordmark:before{content:""}.devicon-shotgrid-plain:before{content:""}.devicon-androidstudio-plain-wordmark:before{content:""}.devicon-androidstudio-plain:before{content:""}.devicon-eslint-original-wordmark:before,.devicon-eslint-plain-wordmark:before{content:""}.devicon-eslint-original:before,.devicon-eslint-plain:before{content:""}.devicon-latex-original:before,.devicon-latex-plain:before{content:""}.devicon-vuetify-plain:before{content:""}.devicon-vuetify-line:before{content:""}.devicon-sdl-plain:before{content:""}.devicon-bitbucket-original-wordmark:before,.devicon-bitbucket-plain-wordmark:before{content:""}.devicon-bitbucket-original:before,.devicon-bitbucket-plain:before{content:""}.devicon-confluence-original-wordmark:before,.devicon-confluence-plain-wordmark:before{content:""}.devicon-confluence-original:before,.devicon-confluence-plain:before{content:""}.devicon-fedora-plain:before{content:""}.devicon-rect-plain:before{content:""}.devicon-bamboo-original-wordmark:before,.devicon-bamboo-plain-wordmark:before{content:""}.devicon-bamboo-original:before,.devicon-bamboo-plain:before{content:""}.devicon-jira-plain-wordmark:before{content:"îŠĸ"}.devicon-jira-plain:before{content:"îŠŖ"}.devicon-terraform-plain-wordmark:before{content:""}.devicon-terraform-plain:before{content:"îŠĨ"}.devicon-webflow-original:before{content:"îŠĻ"}.devicon-gentoo-plain:before{content:""}.devicon-gentoo-plain-wordmark:before{content:""}.devicon-opensuse-plain-wordmark:before{content:""}.devicon-opensuse-plain:before{content:"îŠĒ"}.devicon-storybook-plain-wordmark:before{content:""}.devicon-storybook-plain:before{content:""}.devicon-pandas-original-wordmark:before,.devicon-pandas-plain-wordmark:before{content:""}.devicon-pandas-original:before,.devicon-pandas-plain:before{content:""}.devicon-centos-plain-wordmark:before{content:""}.devicon-centos-plain:before{content:""}.devicon-azure-plain-wordmark:before{content:""}.devicon-azure-plain:before{content:""}.devicon-go-line:before{content:""}.devicon-go-plain:before{content:""}.devicon-go-original-wordmark:before,.devicon-go-plain-wordmark:before{content:""}.devicon-msdos-line:before{content:""}.devicon-arduino-plain-wordmark:before{content:""}.devicon-arduino-plain:before{content:""}.devicon-qt-original:before,.devicon-qt-plain:before{content:""}.devicon-gcc-plain:before{content:""}.devicon-svelte-plain-wordmark:before{content:""}.devicon-svelte-plain:before{content:""}.devicon-slack-plain-wordmark:before{content:""}.devicon-slack-plain:before{content:""}.devicon-canva-original:before,.devicon-canva-plain:before{content:""}.devicon-jamstack-plain-wordmark:before{content:""}.devicon-jamstack-original:before,.devicon-jamstack-plain:before{content:""}.devicon-denojs-original-wordmark:before,.devicon-denojs-plain-wordmark:before{content:""}.devicon-denojs-original:before,.devicon-denojs-plain:before{content:""}.devicon-apachekafka-original-wordmark:before,.devicon-apachekafka-plain-wordmark:before{content:""}.devicon-apachekafka-original:before,.devicon-apachekafka-plain:before{content:""}.devicon-filezilla-plain-wordmark:before{content:""}.devicon-filezilla-plain:before{content:"î¤ĸ"}.devicon-opengl-plain:before{content:"î¤Ŗ"}.devicon-putty-plain:before{content:""}.devicon-opera-plain-wordmark:before{content:"î¤Ĩ"}.devicon-opera-plain:before{content:"î¤Ļ"}.devicon-subversion-original:before,.devicon-subversion-plain:before{content:""}.devicon-tortoisegit-line:before{content:""}.devicon-tortoisegit-plain:before{content:""}.devicon-towergit-plain-wordmark:before{content:"î¤Ē"}.devicon-towergit-plain:before{content:"î¤Ģ"}.devicon-unity-original-wordmark:before{content:"î¤Ŧ"}.devicon-unity-original:before{content:""}.devicon-neo4j-plain-wordmark:before{content:""}.devicon-neo4j-plain:before{content:""}.devicon-nuxtjs-plain-wordmark:before{content:""}.devicon-nuxtjs-plain:before{content:""}.devicon-socketio-original-wordmark:before,.devicon-socketio-plain-wordmark:before{content:""}.devicon-socketio-original:before,.devicon-socketio-plain:before{content:"î¤ŗ"}.devicon-processing-plain-wordmark:before{content:""}.devicon-processing-plain:before{content:"î¤ĩ"}.devicon-feathersjs-original:before{content:""}.devicon-adonisjs-original-wordmark:before,.devicon-adonisjs-plain-wordmark:before{content:""}.devicon-adonisjs-original:before,.devicon-adonisjs-plain:before{content:"î¤ē"}.devicon-numpy-original-wordmark:before{content:"î¤ģ"}.devicon-numpy-original:before,.devicon-numpy-plain:before{content:"î¤ŧ"}.devicon-matlab-line:before{content:"î¤Ŋ"}.devicon-matlab-plain:before{content:""}.devicon-clojurescript-plain:before{content:"î¤ŋ"}.devicon-threejs-original-wordmark:before{content:"îĨ€"}.devicon-threejs-original:before{content:"îĨ"}.devicon-markdown-original:before,.devicon-markdown-plain:before{content:"îĨ‚"}.devicon-nixos-plain-wordmark:before{content:"îĻ’"}.devicon-nixos-plain:before{content:"îϞ"}.devicon-perl-plain:before{content:"îĻŗ"}.devicon-tensorflow-line-wordmark:before{content:"îĻ´"}.devicon-tensorflow-line:before{content:"îĻĩ"}.devicon-tensorflow-original-wordmark:before{content:"îĻļ"}.devicon-tensorflow-original:before{content:"îώ"}.devicon-zig-plain-wordmark:before{content:"îϏ"}.devicon-zig-original:before,.devicon-zig-plain:before{content:"îĻš"}.devicon-raspberrypi-line-wordmark:before{content:"îĻē"}.devicon-raspberrypi-line:before{content:"îĻģ"}.devicon-embeddedc-plain-wordmark:before{content:"îĻŧ"}.devicon-embeddedc-plain:before{content:"îĻŊ"}.devicon-labview-plain-wordmark:before{content:"îĻž"}.devicon-labview-plain:before{content:"îĻŋ"}.devicon-modx-plain-wordmark:before{content:""}.devicon-modx-plain:before{content:""}.devicon-knockout-plain-wordmark:before{content:""}.devicon-rstudio-plain:before{content:""}.devicon-phalcon-plain:before{content:""}.devicon-minitab-plain:before{content:""}.devicon-bulma-plain:before{content:""}.devicon-spss-plain:before{content:""}.devicon-karma-plain:before{content:""}.devicon-jest-plain:before{content:""}.devicon-circleci-plain-wordmark:before{content:""}.devicon-circleci-plain:before{content:""}.devicon-codecov-plain:before{content:""}.devicon-magento-line:before{content:""}.devicon-magento-original-wordmark:before{content:""}.devicon-magento-original:before{content:""}.devicon-shopware-original-wordmark:before{content:""}.devicon-shopware-original:before{content:""}.devicon-salesforce-plain:before{content:""}.devicon-vuestorefront-plain:before{content:""}.devicon-unix-original:before{content:""}.devicon-godot-plain-wordmark:before{content:""}.devicon-godot-plain:before{content:""}.devicon-vscode-plain-wordmark:before{content:""}.devicon-vscode-plain:before{content:""}.devicon-julia-plain-wordmark:before{content:""}.devicon-julia-plain:before{content:""}.devicon-crystal-original-wordmark:before{content:""}.devicon-crystal-original:before{content:""}.devicon-tailwindcss-plain:before{content:""}.devicon-tailwindcss-original-wordmark:before{content:"î§ "}.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-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-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-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-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-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-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-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-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-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-adonisjs-original.colored,.devicon-adonisjs-original-wordmark.colored,.devicon-adonisjs-plain.colored,.devicon-adonisjs-plain-wordmark.colored{color:#5a45ff}.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-androidstudio-plain.colored,.devicon-androidstudio-plain-wordmark.colored{color:#4285f4}.devicon-aarch64-plain.colored{color:#16358c}.devicon-angularjs-plain.colored,.devicon-angularjs-plain-wordmark.colored{color:#c4473a}.devicon-ansible-plain.colored,.devicon-ansible-plain-wordmark.colored{color:#1a1918}.devicon-apache-plain.colored,.devicon-apache-plain-wordmark.colored,.devicon-apache-line.colored,.devicon-apache-line-wordmark.colored{color:#303284}.devicon-apachekafka-original.colored,.devicon-apachekafka-original-wordmark.colored,.devicon-apachekafka-plain.colored,.devicon-apachekafka-plain-wordmark.colored{color:#231f20}.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-arduino-plain.colored,.devicon-arduino-plain-wordmark.colored{color:#00979d}.devicon-atom-original.colored,.devicon-atom-original-wordmark.colored,.devicon-atom-plain.colored,.devicon-atom-plain-wordmark.colored{color:#67595d}.devicon-azure-plain.colored,.devicon-azure-plain-wordmark.colored{color:#0089d6}.devicon-babel-plain.colored,.devicon-babel-original.colored{color:#f9dc3e}.devicon-backbonejs-plain.colored,.devicon-backbonejs-plain-wordmark.colored{color:#002a41}.devicon-bamboo-original.colored,.devicon-bamboo-original-wordmark.colored,.devicon-bamboo-plain.colored,.devicon-bamboo-plain-wordmark.colored{color:#1068e2}.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-bulma-plain.colored{color:#00d1b2}.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-canva-original.colored,.devicon-canva-plain.colored{color:#00c4cc}.devicon-centos-plain.colored,.devicon-centos-plain-wordmark.colored{color:#932178}.devicon-ceylon-plain.colored{color:#ab710a}.devicon-chrome-plain.colored,.devicon-chrome-plain-wordmark.colored{color:#ce4e4e}.devicon-circleci-plain.colored,.devicon-circleci-plain-wordmark.colored{color:#343434}.devicon-clojure-line.colored,.devicon-clojure-plain.colored,.devicon-clojure-plain.colored{color:#5881d8}.devicon-cmake-plain.colored,.devicon-cmake-plain-wordmark.colored{color:#0e8a16}.devicon-clojurescript-plain.colored{color:#96ca4b}.devicon-codecov-plain.colored{color:#e0225c}.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-crystal-original.colored,.devicon-crystal-original-wordmark.colored{color:#000}.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-denojs-original.colored,.devicon-denojs-original-wordmark.colored,.devicon-denojs-plain.colored,.devicon-denojs-plain-wordmark.colored{color:#000}.devicon-devicon-plain.colored,.devicon-devicon-plain-wordmark.colored,.devicon-devicon-line.colored,.devicon-devicon-line-wordmark.colored{color:#60be86}.devicon-django-plain.colored,.devicon-django-plain-wordmark.colored{color:#092e20}.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-discordjs-plain.colored,.devicon-discordjs-plain-wordmark.colored{color:#2a2c3e}.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-embeddedc-plain.colored,.devicon-embeddedc-plain-wordmark.colored{color:#444}.devicon-erlang-plain.colored,.devicon-erlang-plain-wordmark.colored{color:#a90533}.devicon-eslint-original.colored,.devicon-eslint-original-wordmark.colored,.devicon-eslint-plain.colored,.devicon-eslint-plain-wordmark.colored{color:#4b32c3}.devicon-express-original.colored,.devicon-express-original-wordmark.colored{color:#444}.devicon-facebook-plain.colored,.devicon-facebook-original.colored{color:#3d5a98}.devicon-feathersjs-original.colored{color:#333}.devicon-figma-plain.colored{color:#f24e1e}.devicon-filezilla-plain.colored,.devicon-filezilla-plain-wordmark.colored{color:#b30000}.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-rect-plain.colored{color:#262626}.devicon-gcc-plain.colored{color:#ffcfab}.devicon-gentoo-plain-wordmark.colored,.devicon-gentoo-plain.colored{color:#9991d9}.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-original-wordmark.colored,.devicon-go-plain.colored,.devicon-go-line.colored,.devicon-go-plain-wordmark.colored{color:#00acd7}.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-grafana-original.colored,.devicon-grafana-original-wordmark.colored,.devicon-grafana-plain.colored,.devicon-grafana-plain-wordmark.colored{color:#e78040}.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-godot-plain.colored,.devicon-godot-plain-wordmark.colored{color:#478cbf}.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-hugo-plain.colored,.devicon-hugo-plain-wordmark.colored{color:#ff4088}.devicon-ie10-original.colored,.devicon-ie10-plain.colored{color:#1ebbee}.devicon-ifttt-original.colored,.devicon-ifttt-plain.colored{color:#000}.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-jamstack-original.colored,.devicon-jamstack-plain-wordmark.colored,.devicon-jamstack-plain.colored{color:#f0047f}.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-jest-plain.colored{color:#99425b}.devicon-jenkins-line.colored,.devicon-jenkins-plain.colored{color:#f0d6b7}.devicon-jetbrains-plain.colored{color:#fdcc21}.devicon-jira-plain.colored,.devicon-jira-plain-wordmark.colored{color:#2684ff}.devicon-jquery-plain.colored,.devicon-jquery-plain-wordmark.colored{color:#0769ad}.devicon-julia-plain.colored,.devicon-julia-plain-wordmark.colored{color:#28a745}.devicon-jupyter-plain.colored,.devicon-jupyter-plain-wordmark.colored{color:#f37726}.devicon-kaggle-original.colored,.devicon-kaggle-original-wordmark.colored,.devicon-kaggle-plain.colored,.devicon-kaggle-plain-wordmark.colored{color:#20beff}.devicon-karma-plain.colored{color:#56c5a8}.devicon-kotlin-plain.colored,.devicon-kotlin-plain-wordmark.colored{color:#7c6db2}.devicon-knockout-plain-wordmark.colored{color:#e42e16}.devicon-krakenjs-plain.colored,.devicon-krakenjs-plain-wordmark.colored{color:#0081c2}.devicon-kubernetes-plain.colored,.devicon-kubernetes-plain-wordmark.colored{color:#486bb3}.devicon-labview-plain.colored,.devicon-labview-plain-wordmark.colored{color:#fed500}.devicon-laravel-plain.colored,.devicon-laravel-plain-wordmark.colored{color:#fd4f31}.devicon-latex-original.colored,.devicon-latex-plain.colored{color:#000}.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-matlab-plain.colored,.devicon-matlab-line.colored{color:#6dd0c7}.devicon-magento-original.colored,.devicon-magento-original-wordmark.colored,.devicon-magento-line.colored{color:#f26322}.devicon-markdown-original.colored,.devicon-markdown-plain.colored{color:#000}.devicon-maya-plain.colored,.devicon-maya-plain-wordmark.colored{color:#149b9a}.devicon-meteor-plain.colored,.devicon-meteor-plain-wordmark.colored{color:#df5052}.devicon-minitab-plain.colored{color:#8dc63f}.devicon-mocha-plain.colored{color:#8d6748}.devicon-modx-plain.colored,.devicon-modx-plain-wordmark.colored{color:#00decc}.devicon-mongodb-plain.colored,.devicon-mongodb-plain-wordmark.colored{color:#4faa41}.devicon-moodle-plain.colored,.devicon-moodle-plain-wordmark.colored{color:#f7931e}.devicon-msdos-line.colored{color:red}.devicon-mysql-plain.colored,.devicon-mysql-plain-wordmark.colored{color:#00618a}.devicon-neo4j-plain.colored,.devicon-neo4j-plain-wordmark.colored{color:#018bff}.devicon-nestjs-plain.colored,.devicon-nestjs-plain-wordmark.colored{color:#df234f}.devicon-networkx-original.colored{color:#2c7fb8}.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-nixos-plain.colored,.devicon-nixos-plain-wordmark.colored{color:#5277c3}.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-nuget-original.colored,.devicon-nuget-original-wordmark.colored{color:#004880}.devicon-numpy-original.colored,.devicon-numpy-original-wordmark.colored,.devicon-numpy-plain.colored{color:#4dabcf}.devicon-nuxtjs-plain.colored,.devicon-nuxtjs-plain-wordmark.colored{color:#00c48d}.devicon-objectivec-plain.colored{color:#0b5a9d}.devicon-opera-plain.colored,.devicon-opera-plain-wordmark.colored{color:#f7192d}.devicon-ocaml-plain.colored,.devicon-ocaml-plain-wordmark.colored{color:#f18803}.devicon-openal-plain.colored{color:#7e000d}.devicon-opengl-plain.colored{color:#5586a4}.devicon-opensuse-plain.colored,.devicon-opensuse-plain-wordmark.colored{color:#73ba25}.devicon-oracle-original.colored,.devicon-oracle-plain.colored{color:#ea1b22}.devicon-pandas-original.colored,.devicon-pandas-original-wordmark.colored,.devicon-pandas-plain.colored,.devicon-pandas-plain-wordmark.colored{color:#130754}.devicon-perl-plain.colored{color:#212177}.devicon-phalcon-plain.colored{color:#76c39b}.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-podman-plain.colored,.devicon-podman-plain-wordmark.colored{color:#872b9e}.devicon-polygon-plain.colored{color:#38285b}.devicon-postgresql-plain.colored,.devicon-postgresql-plain-wordmark.colored{color:#336791}.devicon-premierepro-plain.colored{color:#2a0634}.devicon-processing-plain.colored,.devicon-processing-plain-wordmark.colored{color:#000}.devicon-protractor-plain.colored,.devicon-protractor-plain-wordmark.colored{color:#b7111d}.devicon-putty-plain.colored{color:#0000fc}.devicon-pycharm-plain.colored,.devicon-pycharm-plain-wordmark.colored{color:#4d8548}.devicon-python-plain.colored,.devicon-python-plain-wordmark.colored{color:#ffd845}.devicon-pytorch-original.colored,.devicon-pytorch-plain-wordmark.colored,.devicon-pytorch-plain.colored{color:#ee4c2c}.devicon-raspberrypi-line.colored,.devicon-raspberrypi-line-wordmark.colored{color:#c51850}.devicon-phoenix-plain.colored,.devicon-phoenix-plain-wordmark.colored{color:#f15524}.devicon-qt-original.colored,.devicon-qt-plain.colored{color:#41cd52}.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-salesforce-plain.colored{color:#00a1e0}.devicon-sdl-plain.colored{color:#173354}.devicon-rstudio-plain.colored{color:#75aadb}.devicon-sass-original.colored,.devicon-sass-plain.colored{color:#c69}.devicon-scala-plain.colored,.devicon-scala-plain-wordmark.colored{color:#de3423}.devicon-selenium-original.colored,.devicon-selenium-plain.colored{color:#cf0a2c}.devicon-sequelize-plain.colored,.devicon-sequelize-plain-wordmark.colored,.devicon-sequelize-plain.colored,.devicon-sequelize-plain-wordmark.colored{color:#3b4b72}.devicon-shopware-original.colored,.devicon-shopware-original-wordmark.colored{color:#179eff}.devicon-shotgrid-plain.colored,.devicon-shotgrid-original-wordmark.colored,.devicon-shotgrid-plain-wordmark.colored{color:#000}.devicon-sketch-line.colored,.devicon-sketch-line-wordmark.colored{color:#fdad00}.devicon-slack-plain.colored,.devicon-slack-plain-wordmark.colored{color:#2d333a}.devicon-socketio-original.colored,.devicon-socketio-original-wordmark.colored,.devicon-socketio-plain.colored,.devicon-socketio-plain-wordmark.colored{color:#010101}.devicon-solidity-plain.colored{color:#383838}.devicon-sourcetree-original.colored,.devicon-sourcetree-original-wordmark.colored,.devicon-sourcetree-plain.colored,.devicon-sourcetree-plain-wordmark.colored{color:#205081}.devicon-spring-plain.colored,.devicon-spring-plain-wordmark.colored{color:#5fb832}.devicon-spss-plain.colored{color:#cc1e4c}.devicon-sqlalchemy-plain.colored,.devicon-sqlalchemy-original-wordmark.colored,.devicon-sqlalchemy-plain-wordmark.colored{color:#333}.devicon-sqlite-plain.colored,.devicon-sqlite-plain-wordmark.colored{color:#0f80cc}.devicon-subversion-original.colored,.devicon-subversion-plain.colored{color:#809cc8}.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-svelte-plain.colored,.devicon-svelte-plain-wordmark.colored{color:#ff3e00}.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-storybook-plain.colored,.devicon-storybook-plain-wordmark.colored{color:#ff4785}.devicon-tailwindcss-original-wordmark.colored,.devicon-tailwindcss-plain.colored{color:#2298bd}.devicon-tensorflow-original.colored,.devicon-tensorflow-original-wordmark.colored,.devicon-tensorflow-line.colored,.devicon-tensorflow-line-wordmark.colored{color:#ff6f00}.devicon-terraform-plain.colored,.devicon-terraform-plain-wordmark.colored{color:#5c4ee5}.devicon-threejs-original.colored,.devicon-threejs-original-wordmark.colored{color:#000}.devicon-tomcat-line.colored,.devicon-tomcat-line-wordmark.colored{color:#d1a41a}.devicon-tortoisegit-plain.colored,.devicon-tortoisegit-line.colored{color:#4a8fb5}.devicon-towergit-plain.colored,.devicon-towergit-plain-wordmark.colored{color:#d18900}.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-unity-original.colored,.devicon-unity-original-wordmark.colored{color:#000}.devicon-unix-original.colored{color:#4051b5}.devicon-unrealengine-original.colored,.devicon-unrealengine-original-wordmark.colored,.devicon-unrealengine-plain.colored,.devicon-unrealengine-plain-wordmark.colored{color:#000}.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-vuestorefront-plain.colored{color:#5ecf7b}.devicon-vscode-plain.colored,.devicon-vscode-plain-wordmark.colored{color:#3c99d4}.devicon-webflow-original.colored{color:#4353ff}.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-xamarin-original.colored,.devicon-xamarin-original-wordmark.colored,.devicon-xamarin-plain.colored,.devicon-xamarin-plain-wordmark.colored{color:#3498db}.devicon-xcode-plain.colored{color:#069cec}.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}.devicon-zig-original.colored,.devicon-zig-plain-wordmark.colored,.devicon-zig-plain.colored{color:#f7a41d}.devicon-pytest-plain.colored,.devicon-pytest-plain-wordmark.colored{color:#009fe3}.devicon-opencv-plain.colored,.devicon-opencv-plain-wordmark.colored{color:#128dff}.devicon-fastapi-plain.colored,.devicon-fastapi-plain-wordmark.colored{color:#009688}.devicon-k3s-original.colored,.devicon-k3s-plain-wordmark.colored,.devicon-k3s-plain.colored{color:#ffc519}.devicon-packer-original.colored,.devicon-packer-original-wordmark.colored,.devicon-packer-plain.colored,.devicon-packer-plain-wordmark.colored{color:#1d94dd}.devicon-anaconda-original.colored,.devicon-anaconda-original-wordmark.colored,.devicon-anaconda-plain.colored,.devicon-anaconda-plain-wordmark.colored{color:#3eb049}.devicon-rspec-original.colored,.devicon-rspec-original-wordmark.colored,.devicon-rspec-plain.colored,.devicon-rspec-plain-wordmark.colored{color:#6de1fa}.devicon-argocd-plain.colored,.devicon-argocd-plain-wordmark.colored{color:#ef7b4d}.devicon-prometheus-original.colored,.devicon-prometheus-original-wordmark.colored{color:#e75225}.devicon-blender-original.colored,.devicon-blender-original-wordmark.colored{color:#dc7b2e}.devicon-dropwizard-plain.colored{color:#24265d}.devicon-vuetify-line.colored,.devicon-vuetify-plain.colored{color:#1697f6}.devicon-fedora-plain.colored{color:#294172} \ No newline at end of file +īģŋ@font-face{font-family:"devicon";src:url("fonts/devicon.ttf?iehcku") format("truetype"),url("fonts/devicon.woff?iehcku") format("woff"),url("fonts/devicon.svg?iehcku#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-aarch64-line:before,.devicon-aarch64-line-wordmark:before{content:""}.devicon-aarch64-plain:before,.devicon-aarch64-plain-wordmark:before{content:""}.devicon-adonisjs-original:before,.devicon-adonisjs-plain:before{content:""}.devicon-adonisjs-original-wordmark:before,.devicon-adonisjs-plain-wordmark:before{content:""}.devicon-aftereffects-plain:before{content:""}.devicon-akka-plain:before{content:""}.devicon-akka-plain-wordmark:before{content:""}.devicon-algolia-original:before{content:""}.devicon-algolia-original-wordmark:before{content:""}.devicon-alpinejs-original:before,.devicon-alpinejs-plain:before{content:""}.devicon-alpinejs-original-wordmark:before,.devicon-alpinejs-plain-wordmark:before{content:""}.devicon-amazonwebservices-line-wordmark:before,.devicon-amazonwebservices-line:before{content:""}.devicon-amazonwebservices-plain-wordmark:before,.devicon-amazonwebservices-plain:before{content:""}.devicon-anaconda-original:before,.devicon-anaconda-plain:before{content:""}.devicon-anaconda-original-wordmark:before,.devicon-anaconda-plain-wordmark:before{content:""}.devicon-android-plain:before{content:""}.devicon-android-plain-wordmark:before{content:""}.devicon-androidstudio-plain:before{content:""}.devicon-androidstudio-plain-wordmark:before{content:""}.devicon-angularjs-plain:before{content:""}.devicon-angularjs-plain-wordmark:before{content:""}.devicon-angularmaterial-plain:before{content:""}.devicon-angular-plain:before{content:""}.devicon-angular-plain-wordmark:before{content:""}.devicon-ansible-plain:before{content:""}.devicon-ansible-plain-wordmark:before{content:""}.devicon-antdesign-plain:before{content:""}.devicon-antdesign-plain-wordmark:before{content:""}.devicon-apacheairflow-plain:before{content:""}.devicon-apacheairflow-plain-wordmark:before{content:""}.devicon-apachekafka-original:before,.devicon-apachekafka-plain:before{content:""}.devicon-apachekafka-original-wordmark:before,.devicon-apachekafka-plain-wordmark:before{content:""}.devicon-apache-line:before{content:""}.devicon-apache-line-wordmark:before{content:""}.devicon-apache-plain:before{content:"î¤ĸ"}.devicon-apache-plain-wordmark:before{content:"î¤Ŗ"}.devicon-apachespark-original:before,.devicon-apachespark-plain:before{content:""}.devicon-apachespark-plain-wordmark:before{content:"î¤Ĩ"}.devicon-apl-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-appwrite-plain:before,.devicon-appwrite-original:before{content:"î¤Ē"}.devicon-appwrite-plain-wordmark:before,.devicon-appwrite-original-wordmark:before{content:"î¤Ģ"}.devicon-archlinux-plain:before{content:"î¤Ŧ"}.devicon-archlinux-plain-wordmark:before{content:""}.devicon-arduino-plain:before{content:""}.devicon-arduino-plain-wordmark:before{content:""}.devicon-argocd-plain:before{content:""}.devicon-argocd-plain-wordmark:before{content:""}.devicon-astro-plain:before{content:""}.devicon-astro-plain-wordmark:before{content:"î¤ŗ"}.devicon-atom-original:before,.devicon-atom-plain:before{content:""}.devicon-atom-original-wordmark:before,.devicon-atom-plain-wordmark:before{content:"î¤ĩ"}.devicon-awk-plain-wordmark:before,.devicon-awk-plain:before{content:"î¤ļ"}.devicon-axios-plain:before{content:""}.devicon-axios-plain-wordmark:before{content:""}.devicon-azuredevops-plain:before{content:""}.devicon-azure-plain:before{content:"î¤ē"}.devicon-azure-plain-wordmark:before{content:"î¤ģ"}.devicon-azuresqldatabase-plain:before{content:"î¤ŧ"}.devicon-babel-plain:before,.devicon-babel-original:before{content:"î¤Ŋ"}.devicon-backbonejs-plain:before{content:""}.devicon-backbonejs-plain-wordmark:before{content:"î¤ŋ"}.devicon-ballerina-line:before{content:"îĨ€"}.devicon-ballerina-line-wordmark:before{content:"îĨ"}.devicon-ballerina-original:before,.devicon-ballerina-plain:before{content:"îĨ‚"}.devicon-ballerina-original-wordmark:before,.devicon-ballerina-plain-wordmark:before{content:"îĨƒ"}.devicon-bamboo-original:before,.devicon-bamboo-plain:before{content:"îĨ„"}.devicon-bamboo-original-wordmark:before,.devicon-bamboo-plain-wordmark:before{content:"îĨ…"}.devicon-bash-plain:before{content:"îĨ†"}.devicon-beats-plain:before{content:"îĨ‡"}.devicon-behance-plain:before{content:"îĨˆ"}.devicon-behance-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-blazor-line:before{content:"îĨŒ"}.devicon-blazor-original:before,.devicon-blazor-plain:before{content:"îĨ"}.devicon-blender-original:before{content:"îĨŽ"}.devicon-blender-original-wordmark:before{content:"îĨ"}.devicon-bootstrap-plain:before{content:"îĨ"}.devicon-bootstrap-plain-wordmark:before{content:"îĨ‘"}.devicon-bower-line:before{content:"îĨ’"}.devicon-bower-line-wordmark:before{content:"îĨ“"}.devicon-bower-plain:before{content:"îĨ”"}.devicon-bower-plain-wordmark:before{content:"îĨ•"}.devicon-browserstack-line:before{content:"îĨ–"}.devicon-browserstack-line-wordmark:before{content:"îĨ—"}.devicon-browserstack-plain:before{content:"îĨ˜"}.devicon-browserstack-plain-wordmark:before{content:"îĨ™"}.devicon-bulma-plain:before{content:"îĨš"}.devicon-bun-line:before{content:"îĨ›"}.devicon-bun-plain:before{content:"îĨœ"}.devicon-cairo-plain:before{content:"îĨ"}.devicon-cairo-plain-wordmark:before{content:"îĨž"}.devicon-cakephp-plain:before{content:"îĨŸ"}.devicon-cakephp-plain-wordmark:before{content:"îĨ "}.devicon-canva-original:before,.devicon-canva-plain:before{content:"îĨĄ"}.devicon-capacitor-plain:before{content:"îĨĸ"}.devicon-capacitor-plain-wordmark:before{content:"îĨŖ"}.devicon-carbon-original:before,.devicon-carbon-plain:before{content:"îĨ¤"}.devicon-cassandra-plain:before{content:"îĨĨ"}.devicon-cassandra-plain-wordmark:before{content:"îĨĻ"}.devicon-centos-plain:before{content:"îĨ§"}.devicon-centos-plain-wordmark:before{content:"îĨ¨"}.devicon-ceylon-plain:before{content:"îĨŠ"}.devicon-ceylon-plain-wordmark:before{content:"îĨĒ"}.devicon-chrome-plain:before{content:"îĨĢ"}.devicon-chrome-plain-wordmark:before{content:"îĨŦ"}.devicon-circleci-plain:before{content:"îĨ­"}.devicon-circleci-plain-wordmark:before{content:"îĨŽ"}.devicon-clarity-plain:before{content:"îĨ¯"}.devicon-clarity-plain-wordmark:before{content:"îĨ°"}.devicon-c-line:before,.devicon-c-line-wordmark:before{content:"îĨą"}.devicon-clion-plain:before{content:"îĨ˛"}.devicon-clion-plain-wordmark:before{content:"îĨŗ"}.devicon-clojure-line:before,.devicon-clojure-plain:before{content:"îĨ´"}.devicon-clojurescript-plain:before{content:"îĨĩ"}.devicon-cloudflare-plain:before{content:"îĨļ"}.devicon-cloudflare-plain-wordmark:before{content:"îĨˇ"}.devicon-cloudflareworkers-plain:before{content:"îĨ¸"}.devicon-cloudflareworkers-plain-wordmark:before{content:"îĨš"}.devicon-cmake-plain:before{content:"îĨē"}.devicon-cmake-plain-wordmark:before{content:"îĨģ"}.devicon-codeac-original:before{content:"îĨŧ"}.devicon-codecov-plain:before{content:"îĨŊ"}.devicon-codeigniter-plain:before{content:"îĨž"}.devicon-codeigniter-plain-wordmark:before{content:"îĨŋ"}.devicon-codepen-line:before{content:"îĻ€"}.devicon-codepen-line-wordmark:before{content:"îρ"}.devicon-codepen-original:before,.devicon-codepen-plain:before{content:"îĻ‚"}.devicon-codepen-original-wordmark:before,.devicon-codepen-plain-wordmark:before{content:"îσ"}.devicon-coffeescript-original:before,.devicon-coffeescript-plain:before{content:"îĻ„"}.devicon-coffeescript-original-wordmark:before,.devicon-coffeescript-plain-wordmark:before{content:"îĻ…"}.devicon-composer-line:before,.devicon-composer-plain:before{content:"îφ"}.devicon-composer-line-wordmark:before,.devicon-composer-plain-wordmark:before{content:"îχ"}.devicon-confluence-line:before{content:"îψ"}.devicon-confluence-line-wordmark:before{content:"îω"}.devicon-confluence-plain:before{content:"îϊ"}.devicon-confluence-plain-wordmark:before{content:"îĻ‹"}.devicon-consul-original:before,.devicon-consul-plain:before{content:"îό"}.devicon-consul-plain-wordmark:before{content:"îĻ"}.devicon-contao-original:before{content:"îĻŽ"}.devicon-contao-original-wordmark:before{content:"îĻ"}.devicon-corejs-original:before,.devicon-corejs-plain:before{content:"îϐ"}.devicon-corejs-original-wordmark:before,.devicon-corejs-plain-wordmark:before{content:"îĻ‘"}.devicon-cosmosdb-plain:before{content:"îĻ’"}.devicon-cosmosdb-plain-wordmark:before{content:"îĻ“"}.devicon-couchbase-original:before,.devicon-couchbase-plain:before{content:"îĻ”"}.devicon-couchbase-plain-wordmark:before{content:"îĻ•"}.devicon-couchdb-plain:before{content:"îĻ–"}.devicon-couchdb-plain-wordmark:before{content:"îĻ—"}.devicon-c-plain:before,.devicon-c-plain-wordmark:before{content:"îϘ"}.devicon-cplusplus-line:before,.devicon-cplusplus-line-wordmark:before{content:"îĻ™"}.devicon-cplusplus-plain:before,.devicon-cplusplus-plain-wordmark:before{content:"îϚ"}.devicon-crystal-line:before{content:"îĻ›"}.devicon-crystal-line-wordmark:before{content:"îϜ"}.devicon-crystal-original:before,.devicon-crystal-plain:before{content:"îĻ"}.devicon-crystal-original-wordmark:before,.devicon-crystal-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-css3-plain:before{content:"îĻĄ"}.devicon-css3-plain-wordmark:before{content:"îĻĸ"}.devicon-cucumber-plain:before{content:"îĻŖ"}.devicon-cucumber-plain-wordmark:before{content:"îϤ"}.devicon-cypressio-line:before{content:"îĻĨ"}.devicon-cypressio-line-wordmark:before{content:"îĻĻ"}.devicon-cypressio-plain:before{content:"îϧ"}.devicon-cypressio-plain-wordmark:before{content:"îύ"}.devicon-d3js-plain:before{content:"îĻŠ"}.devicon-dart-plain:before{content:"îĻĒ"}.devicon-dart-plain-wordmark:before{content:"îĻĢ"}.devicon-datagrip-plain:before{content:"îĻŦ"}.devicon-datagrip-plain-wordmark:before{content:"îĻ­"}.devicon-dataspell-plain:before{content:"îĻŽ"}.devicon-dataspell-plain-wordmark:before{content:"îϝ"}.devicon-dbeaver-plain:before{content:"îϰ"}.devicon-debian-plain:before{content:"îĻą"}.devicon-debian-plain-wordmark:before{content:"îϞ"}.devicon-denojs-original:before,.devicon-denojs-plain:before{content:"îĻŗ"}.devicon-denojs-original-wordmark:before,.devicon-denojs-plain-wordmark:before{content:"îĻ´"}.devicon-devicon-line:before{content:"îĻĩ"}.devicon-devicon-line-wordmark:before{content:"îĻļ"}.devicon-devicon-plain:before{content:"îώ"}.devicon-devicon-plain-wordmark:before{content:"îϏ"}.devicon-digitalocean-original:before,.devicon-digitalocean-plain:before{content:"îĻš"}.devicon-digitalocean-original-wordmark:before,.devicon-digitalocean-plain-wordmark:before{content:"îĻē"}.devicon-discordjs-plain:before{content:"îĻģ"}.devicon-discordjs-plain-wordmark:before{content:"îĻŧ"}.devicon-django-plain:before{content:"îĻŊ"}.devicon-django-plain-wordmark:before{content:"îĻž"}.devicon-djangorest-line:before{content:"îĻŋ"}.devicon-djangorest-line-wordmark:before{content:""}.devicon-djangorest-plain:before{content:""}.devicon-djangorest-plain-wordmark:before{content:""}.devicon-docker-plain:before{content:""}.devicon-docker-plain-wordmark:before{content:""}.devicon-doctrine-line:before{content:""}.devicon-doctrine-line-wordmark:before{content:""}.devicon-doctrine-plain:before{content:""}.devicon-doctrine-plain-wordmark:before{content:""}.devicon-dotnetcore-plain:before{content:""}.devicon-dot-net-plain:before{content:""}.devicon-dot-net-plain-wordmark:before{content:""}.devicon-dreamweaver-line:before{content:""}.devicon-dreamweaver-plain:before{content:""}.devicon-dropwizard-plain:before{content:""}.devicon-drupal-plain:before{content:""}.devicon-drupal-plain-wordmark:before{content:""}.devicon-dynamodb-plain:before{content:""}.devicon-eclipse-plain:before{content:""}.devicon-eclipse-plain-wordmark:before{content:""}.devicon-ecto-original:before,.devicon-ecto-plain:before{content:""}.devicon-ecto-plain-wordmark:before{content:""}.devicon-elasticsearch-plain:before{content:""}.devicon-elasticsearch-plain-wordmark:before{content:""}.devicon-electron-original:before{content:""}.devicon-electron-original-wordmark:before{content:""}.devicon-eleventy-plain:before{content:""}.devicon-elixir-plain:before{content:""}.devicon-elixir-plain-wordmark:before{content:""}.devicon-elm-plain:before{content:""}.devicon-elm-plain-wordmark:before{content:""}.devicon-emacs-original:before{content:""}.devicon-embeddedc-plain:before{content:"î§ "}.devicon-embeddedc-plain-wordmark:before{content:"î§Ą"}.devicon-ember-original-wordmark:before,.devicon-ember-plain-wordmark:before{content:"î§ĸ"}.devicon-ember-plain:before{content:"î§Ŗ"}.devicon-envoy-plain:before{content:""}.devicon-envoy-plain-wordmark:before{content:"î§Ĩ"}.devicon-erlang-plain:before{content:"î§Ļ"}.devicon-erlang-plain-wordmark:before{content:"î§§"}.devicon-eslint-line:before{content:""}.devicon-eslint-line-wordmark:before{content:"î§Š"}.devicon-eslint-plain:before{content:"î§Ē"}.devicon-eslint-plain-wordmark:before{content:"î§Ģ"}.devicon-express-original:before{content:"î§Ŧ"}.devicon-express-original-wordmark:before{content:"î§­"}.devicon-facebook-plain:before,.devicon-facebook-original:before{content:"î§Ž"}.devicon-fastapi-plain:before{content:""}.devicon-fastapi-plain-wordmark:before{content:"î§°"}.devicon-fastify-plain:before{content:"î§ą"}.devicon-fastify-plain-wordmark:before{content:""}.devicon-faunadb-line:before{content:"î§ŗ"}.devicon-faunadb-line-wordmark:before{content:"î§´"}.devicon-faunadb-original:before,.devicon-faunadb-plain:before{content:"î§ĩ"}.devicon-faunadb-original-wordmark:before,.devicon-faunadb-plain-wordmark:before{content:"î§ļ"}.devicon-feathersjs-original:before{content:""}.devicon-fedora-plain:before{content:""}.devicon-figma-plain:before{content:"î§š"}.devicon-filezilla-line:before{content:"î§ē"}.devicon-filezilla-line-wordmark:before{content:"î§ģ"}.devicon-filezilla-plain:before{content:"î§ŧ"}.devicon-filezilla-plain-wordmark:before{content:"î§Ŋ"}.devicon-firebase-line:before{content:"î§ž"}.devicon-firebase-line-wordmark:before{content:"î§ŋ"}.devicon-firebase-plain:before{content:""}.devicon-firebase-plain-wordmark:before{content:""}.devicon-firefox-plain:before{content:""}.devicon-firefox-plain-wordmark:before{content:""}.devicon-flask-original:before,.devicon-flask-plain:before{content:""}.devicon-flask-original-wordmark:before,.devicon-flask-plain-wordmark:before{content:""}.devicon-flutter-plain:before{content:""}.devicon-fortran-original:before{content:""}.devicon-foundation-plain:before{content:""}.devicon-foundation-plain-wordmark:before{content:""}.devicon-framermotion-original:before,.devicon-framermotion-plain:before{content:""}.devicon-framermotion-original-wordmark:before,.devicon-framermotion-plain-wordmark:before{content:""}.devicon-framework7-original:before,.devicon-framework7-plain:before{content:""}.devicon-framework7-original-wordmark:before,.devicon-framework7-plain-wordmark:before{content:""}.devicon-fsharp-plain:before{content:""}.devicon-gatling-line:before{content:""}.devicon-gatling-line-wordmark:before{content:""}.devicon-gatling-original:before,.devicon-gatling-plain:before{content:""}.devicon-gatling-plain-wordmark:before{content:""}.devicon-gatsby-original:before,.devicon-gatsby-plain:before{content:""}.devicon-gatsby-plain-wordmark:before{content:""}.devicon-gazebo-plain:before{content:""}.devicon-gazebo-plain-wordmark:before{content:""}.devicon-gcc-line:before,.devicon-gcc-line-wordmark:before{content:""}.devicon-gcc-plain:before,.devicon-gcc-plain-wordmark:before{content:""}.devicon-gentoo-line:before{content:""}.devicon-gentoo-line-wordmark:before{content:""}.devicon-gentoo-plain:before{content:""}.devicon-gentoo-plain-wordmark:before{content:""}.devicon-ghost-original:before{content:""}.devicon-ghost-original-wordmark:before{content:""}.devicon-gimp-line:before{content:""}.devicon-gimp-line-wordmark:before{content:""}.devicon-gimp-plain:before{content:""}.devicon-gimp-plain-wordmark:before{content:"î¨ĸ"}.devicon-gitbook-line:before{content:"î¨Ŗ"}.devicon-gitbook-line-wordmark:before{content:""}.devicon-gitbook-original:before,.devicon-gitbook-plain:before{content:"î¨Ĩ"}.devicon-gitbook-original-wordmark:before,.devicon-gitbook-plain-wordmark:before{content:"î¨Ļ"}.devicon-githubactions-plain:before{content:""}.devicon-githubcodespaces-plain:before{content:""}.devicon-github-original:before,.devicon-github-plain:before{content:""}.devicon-github-original-wordmark:before{content:"î¨Ē"}.devicon-gitlab-plain:before{content:"î¨Ģ"}.devicon-gitlab-plain-wordmark:before{content:"î¨Ŧ"}.devicon-git-plain:before{content:""}.devicon-git-plain-wordmark:before{content:""}.devicon-gitpod-plain:before{content:""}.devicon-gitpod-plain-wordmark:before{content:""}.devicon-gitter-plain:before{content:""}.devicon-gitter-plain-wordmark:before{content:""}.devicon-godot-plain:before{content:"î¨ŗ"}.devicon-godot-plain-wordmark:before{content:""}.devicon-goland-plain:before{content:"î¨ĩ"}.devicon-goland-plain-wordmark:before{content:"î¨ļ"}.devicon-go-line:before{content:""}.devicon-googlecloud-plain:before{content:""}.devicon-googlecloud-plain-wordmark:before{content:""}.devicon-google-plain:before,.devicon-google-original:before{content:"î¨ē"}.devicon-google-plain-wordmark:before,.devicon-google-original-wordmark:before{content:"î¨ģ"}.devicon-go-original-wordmark:before,.devicon-go-plain-wordmark:before{content:"î¨ŧ"}.devicon-go-plain:before{content:"î¨Ŋ"}.devicon-gradle-original:before,.devicon-gradle-plain:before{content:""}.devicon-gradle-original-wordmark:before,.devicon-gradle-plain-wordmark:before{content:"î¨ŋ"}.devicon-grafana-line:before{content:""}.devicon-grafana-line-wordmark:before{content:""}.devicon-grafana-plain:before{content:""}.devicon-grafana-plain-wordmark:before{content:""}.devicon-grails-plain:before{content:""}.devicon-graphql-plain:before{content:""}.devicon-graphql-plain-wordmark:before{content:""}.devicon-groovy-plain:before{content:""}.devicon-grpc-plain:before{content:""}.devicon-grunt-line:before{content:""}.devicon-grunt-line-wordmark:before{content:""}.devicon-grunt-plain:before{content:""}.devicon-grunt-plain-wordmark:before{content:""}.devicon-gulp-plain:before{content:""}.devicon-hadoop-plain:before,.devicon-hadoop-line:before{content:""}.devicon-hadoop-plain-wordmark:before,.devicon-hadoop-line-wordmark:before{content:""}.devicon-handlebars-line:before{content:""}.devicon-handlebars-line-wordmark:before{content:""}.devicon-handlebars-original:before,.devicon-handlebars-plain:before{content:""}.devicon-handlebars-original-wordmark:before,.devicon-handlebars-plain-wordmark:before{content:""}.devicon-hardhat-plain:before{content:""}.devicon-hardhat-plain-wordmark:before{content:""}.devicon-harvester-original:before,.devicon-harvester-plain:before{content:""}.devicon-harvester-plain-wordmark:before{content:""}.devicon-haskell-plain:before{content:""}.devicon-haskell-plain-wordmark:before{content:""}.devicon-haxe-plain:before{content:""}.devicon-helm-line:before{content:""}.devicon-helm-original:before,.devicon-helm-plain:before{content:""}.devicon-heroku-original:before,.devicon-heroku-line:before{content:""}.devicon-heroku-original-wordmark:before,.devicon-heroku-line-wordmark:before{content:""}.devicon-heroku-plain:before{content:""}.devicon-heroku-plain-wordmark:before{content:""}.devicon-hibernate-plain:before{content:""}.devicon-hibernate-plain-wordmark:before{content:"îŠĸ"}.devicon-homebrew-line:before{content:"îŠŖ"}.devicon-homebrew-line-wordmark:before{content:""}.devicon-homebrew-plain:before{content:"îŠĨ"}.devicon-homebrew-plain-wordmark:before{content:"îŠĻ"}.devicon-html5-plain:before{content:""}.devicon-html5-plain-wordmark:before{content:""}.devicon-hugo-plain:before{content:""}.devicon-hugo-plain-wordmark:before{content:"îŠĒ"}.devicon-ie10-original:before,.devicon-ie10-plain:before{content:"îŠĢ"}.devicon-ifttt-original:before,.devicon-ifttt-plain:before{content:"îŠŦ"}.devicon-illustrator-line:before{content:""}.devicon-illustrator-plain:before{content:""}.devicon-influxdb-original:before,.devicon-influxdb-plain:before{content:""}.devicon-influxdb-original-wordmark:before,.devicon-influxdb-plain-wordmark:before{content:""}.devicon-inkscape-plain:before{content:""}.devicon-inkscape-plain-wordmark:before{content:""}.devicon-insomnia-plain:before{content:"îŠŗ"}.devicon-insomnia-plain-wordmark:before{content:""}.devicon-intellij-plain:before{content:"îŠĩ"}.devicon-intellij-plain-wordmark:before{content:"îŠļ"}.devicon-ionic-original:before{content:""}.devicon-ionic-original-wordmark:before{content:""}.devicon-jaegertracing-plain:before{content:""}.devicon-jaegertracing-plain-wordmark:before{content:"îŠē"}.devicon-jamstack-original:before,.devicon-jamstack-plain:before{content:"îŠģ"}.devicon-jamstack-plain-wordmark:before{content:"îŠŧ"}.devicon-jasmine-original:before,.devicon-jasmine-plain:before{content:"îŠŊ"}.devicon-jasmine-original-wordmark:before,.devicon-jasmine-plain-wordmark:before{content:""}.devicon-java-plain:before{content:"îŠŋ"}.devicon-java-plain-wordmark:before{content:"îĒ€"}.devicon-javascript-plain:before{content:"îǁ"}.devicon-jeet-plain:before{content:"îĒ‚"}.devicon-jeet-plain-wordmark:before{content:"îǃ"}.devicon-jekyll-plain:before{content:"îĒ„"}.devicon-jekyll-plain-wordmark:before{content:"îĒ…"}.devicon-jenkins-line:before{content:"îdž"}.devicon-jenkins-plain:before{content:"îLJ"}.devicon-jest-plain:before{content:"îLj"}.devicon-jetbrains-plain:before{content:"îlj"}.devicon-jetpackcompose-line:before{content:"îNJ"}.devicon-jetpackcompose-line-wordmark:before{content:"îĒ‹"}.devicon-jetpackcompose-plain:before{content:"înj"}.devicon-jetpackcompose-plain-wordmark:before{content:"îĒ"}.devicon-jiraalign-plain:before{content:"îĒŽ"}.devicon-jiraalign-plain-wordmark:before{content:"îĒ"}.devicon-jira-plain:before{content:"îǐ"}.devicon-jira-plain-wordmark:before{content:"îĒ‘"}.devicon-jquery-plain:before{content:"îĒ’"}.devicon-jquery-plain-wordmark:before{content:"îĒ“"}.devicon-json-plain:before{content:"îĒ”"}.devicon-jule-original:before,.devicon-jule-plain:before{content:"îĒ•"}.devicon-jule-original-wordmark:before,.devicon-jule-plain-wordmark:before{content:"îĒ–"}.devicon-julia-plain:before{content:"îĒ—"}.devicon-julia-plain-wordmark:before{content:"îǘ"}.devicon-junit-line:before{content:"îĒ™"}.devicon-junit-line-wordmark:before{content:"îǚ"}.devicon-junit-plain:before{content:"îĒ›"}.devicon-junit-plain-wordmark:before{content:"îǜ"}.devicon-jupyter-plain:before{content:"îĒ"}.devicon-jupyter-plain-wordmark:before{content:"îĒž"}.devicon-k3os-line:before{content:"îǟ"}.devicon-k3os-line-wordmark:before{content:"îĒ "}.devicon-k3os-original:before,.devicon-k3os-plain:before{content:"îĒĄ"}.devicon-k3os-plain-wordmark:before{content:"îĒĸ"}.devicon-k3s-original:before,.devicon-k3s-plain:before{content:"îĒŖ"}.devicon-k3s-plain-wordmark:before{content:"îǤ"}.devicon-k6-original:before,.devicon-k6-plain:before{content:"îĒĨ"}.devicon-kaggle-original:before,.devicon-kaggle-plain:before{content:"îĒĻ"}.devicon-kaggle-original-wordmark:before,.devicon-kaggle-plain-wordmark:before{content:"îǧ"}.devicon-karatelabs-plain:before{content:"îǍ"}.devicon-karatelabs-plain-wordmark:before{content:"îĒŠ"}.devicon-karma-plain:before{content:"îĒĒ"}.devicon-kdeneon-plain:before{content:"îĒĢ"}.devicon-keras-line:before{content:"îĒŦ"}.devicon-keras-line-wordmark:before{content:"îĒ­"}.devicon-keras-plain:before{content:"îĒŽ"}.devicon-keras-plain-wordmark:before{content:"îǝ"}.devicon-kibana-plain:before{content:"îǰ"}.devicon-kibana-plain-wordmark:before{content:"îĒą"}.devicon-knexjs-original:before,.devicon-knexjs-plain:before{content:"îǞ"}.devicon-knexjs-plain-wordmark:before{content:"îĒŗ"}.devicon-knockout-plain-wordmark:before{content:"îĒ´"}.devicon-kotlin-plain:before{content:"îĒĩ"}.devicon-kotlin-plain-wordmark:before{content:"îĒļ"}.devicon-krakenjs-plain:before{content:"îǎ"}.devicon-krakenjs-plain-wordmark:before{content:"îǏ"}.devicon-ktor-plain:before{content:"îĒš"}.devicon-ktor-plain-wordmark:before{content:"îĒē"}.devicon-kubernetes-line:before{content:"îĒģ"}.devicon-kubernetes-line-wordmark:before{content:"îĒŧ"}.devicon-kubernetes-plain:before{content:"îĒŊ"}.devicon-kubernetes-plain-wordmark:before{content:"îĒž"}.devicon-labview-plain:before{content:"îĒŋ"}.devicon-labview-plain-wordmark:before{content:"îĢ€"}.devicon-laravel-line:before{content:"î́"}.devicon-laravel-line-wordmark:before{content:"îĢ‚"}.devicon-laravel-original:before,.devicon-laravel-plain:before{content:"î̃"}.devicon-laravel-original-wordmark:before,.devicon-laravel-plain-wordmark:before{content:"îĢ„"}.devicon-latex-original:before,.devicon-latex-plain:before{content:"îĢ…"}.devicon-less-plain-wordmark:before{content:"î̆"}.devicon-linkedin-plain:before{content:"î̇"}.devicon-linkedin-plain-wordmark:before{content:"î̈"}.devicon-linux-plain:before{content:"î̉"}.devicon-liquibase-original:before,.devicon-liquibase-plain:before{content:"î̊"}.devicon-liquibase-original-wordmark:before,.devicon-liquibase-plain-wordmark:before{content:"îĢ‹"}.devicon-livewire-plain:before{content:"î̌"}.devicon-livewire-plain-wordmark:before{content:"îĢ"}.devicon-llvm-plain:before{content:"îĢŽ"}.devicon-lodash-plain:before{content:"îĢ"}.devicon-logstash-plain:before{content:"î̐"}.devicon-logstash-plain-wordmark:before{content:"îĢ‘"}.devicon-lua-line:before,.devicon-lua-line-wordmark:before{content:"îĢ’"}.devicon-lua-plain:before,.devicon-lua-plain-wordmark:before{content:"îĢ“"}.devicon-lumen-original:before,.devicon-lumen-plain:before{content:"îĢ”"}.devicon-magento-line:before{content:"îĢ•"}.devicon-magento-line-wordmark:before{content:"îĢ–"}.devicon-magento-original:before,.devicon-magento-plain:before{content:"îĢ—"}.devicon-magento-plain-wordmark:before{content:"î̘"}.devicon-mariadb-original:before,.devicon-mariadb-plain:before{content:"îĢ™"}.devicon-mariadb-original-wordmark:before,.devicon-mariadb-plain-wordmark:before{content:"î̚"}.devicon-markdown-original:before,.devicon-markdown-plain:before{content:"îĢ›"}.devicon-materializecss-plain:before{content:"î̜"}.devicon-materialui-plain:before{content:"îĢ"}.devicon-matlab-line:before{content:"îĢž"}.devicon-matlab-plain:before{content:"î̟"}.devicon-matplotlib-plain:before{content:"îĢ "}.devicon-matplotlib-plain-wordmark:before{content:"îĢĄ"}.devicon-maven-plain:before{content:"îĢĸ"}.devicon-maven-plain-wordmark:before{content:"îĢŖ"}.devicon-maya-plain:before{content:"î̤"}.devicon-maya-plain-wordmark:before{content:"îĢĨ"}.devicon-meteor-plain:before{content:"îĢĻ"}.devicon-meteor-plain-wordmark:before{content:"î̧"}.devicon-microsoftsqlserver-line:before{content:"î̍"}.devicon-microsoftsqlserver-line-wordmark:before{content:"îĢŠ"}.devicon-microsoftsqlserver-plain:before{content:"îĢĒ"}.devicon-microsoftsqlserver-plain-wordmark:before{content:"îĢĢ"}.devicon-minitab-plain:before{content:"îĢŦ"}.devicon-mithril-line:before{content:"îĢ­"}.devicon-mithril-original:before,.devicon-mithril-plain:before{content:"îĢŽ"}.devicon-mobx-plain:before{content:"î̝"}.devicon-mocha-plain:before{content:"ḭ̂"}.devicon-modx-plain:before{content:"îĢą"}.devicon-modx-plain-wordmark:before{content:"î̞"}.devicon-moleculer-original:before,.devicon-moleculer-plain:before{content:"îĢŗ"}.devicon-moleculer-original-wordmark:before,.devicon-moleculer-plain-wordmark:before{content:"îĢ´"}.devicon-mongodb-plain:before{content:"îĢĩ"}.devicon-mongodb-plain-wordmark:before{content:"îĢļ"}.devicon-mongoose-original:before{content:"î̎"}.devicon-mongoose-original-wordmark:before{content:"î̏"}.devicon-moodle-plain:before{content:"îĢš"}.devicon-moodle-plain-wordmark:before{content:"îĢē"}.devicon-msdos-line:before{content:"îĢģ"}.devicon-msdos-plain:before{content:"îĢŧ"}.devicon-mysql-original:before,.devicon-mysql-plain:before{content:"îĢŊ"}.devicon-mysql-plain-wordmark:before{content:"îĢž"}.devicon-nano-plain:before{content:"îĢŋ"}.devicon-nano-plain-wordmark:before{content:"îŦ€"}.devicon-neo4j-plain:before{content:"îŦ"}.devicon-neo4j-plain-wordmark:before{content:"îŦ‚"}.devicon-neovim-line:before{content:"îŦƒ"}.devicon-neovim-line-wordmark:before{content:"îŦ„"}.devicon-neovim-plain:before{content:"îŦ…"}.devicon-neovim-plain-wordmark:before{content:"îŦ†"}.devicon-nestjs-line:before{content:"îŦ‡"}.devicon-nestjs-line-wordmark:before{content:"îŦˆ"}.devicon-nestjs-original:before,.devicon-nestjs-plain:before{content:"îŦ‰"}.devicon-nestjs-original-wordmark:before,.devicon-nestjs-plain-wordmark:before{content:"îŦŠ"}.devicon-netlify-plain:before{content:"îŦ‹"}.devicon-netlify-plain-wordmark:before{content:"îŦŒ"}.devicon-networkx-line:before{content:"îŦ"}.devicon-networkx-line-wordmark:before{content:"îŦŽ"}.devicon-networkx-plain:before{content:"îŦ"}.devicon-networkx-plain-wordmark:before{content:"îŦ"}.devicon-nextjs-line:before{content:"îŦ‘"}.devicon-nextjs-line-wordmark:before{content:"îŦ’"}.devicon-nextjs-original-wordmark:before,.devicon-nextjs-plain-wordmark:before{content:"îŦ“"}.devicon-nextjs-plain:before{content:"îŦ”"}.devicon-nginx-original:before,.devicon-nginx-original-wordmark:before,.devicon-nginx-plain:before,.devicon-nginx-plain-wordmark:before{content:"îŦ•"}.devicon-ngrx-plain:before{content:"îŦ–"}.devicon-nhibernate-line:before{content:"îŦ—"}.devicon-nhibernate-line-wordmark:before{content:"îŦ˜"}.devicon-nhibernate-plain:before{content:"îŦ™"}.devicon-nhibernate-plain-wordmark:before{content:"îŦš"}.devicon-nimble-plain:before{content:"îŦ›"}.devicon-nim-line:before{content:"îŦœ"}.devicon-nim-line-wordmark:before{content:"îŦ"}.devicon-nim-plain:before{content:"îŦž"}.devicon-nim-plain-wordmark:before{content:"îŦŸ"}.devicon-nixos-plain:before{content:"îŦ "}.devicon-nixos-plain-wordmark:before{content:"îŦĄ"}.devicon-nodejs-line:before{content:"îŦĸ"}.devicon-nodejs-line-wordmark:before{content:"îŦŖ"}.devicon-nodejs-plain:before{content:"îŦ¤"}.devicon-nodejs-plain-wordmark:before{content:"îŦĨ"}.devicon-nodemon-line:before{content:"îŦĻ"}.devicon-nodemon-plain:before{content:"îŦ§"}.devicon-nodewebkit-line:before{content:"îŦ¨"}.devicon-nodewebkit-line-wordmark:before{content:"îŦŠ"}.devicon-nodewebkit-plain:before{content:"îŦĒ"}.devicon-nodewebkit-plain-wordmark:before{content:"îŦĢ"}.devicon-nomad-original:before,.devicon-nomad-plain:before{content:"îŦŦ"}.devicon-nomad-plain-wordmark:before{content:"îŦ­"}.devicon-norg-plain:before{content:"îŦŽ"}.devicon-notion-line:before{content:"îŦ¯"}.devicon-notion-plain:before{content:"îŦ°"}.devicon-npm-original-wordmark:before{content:"îŦą"}.devicon-nuget-original:before{content:"îŦ˛"}.devicon-nuget-original-wordmark:before{content:"îŦŗ"}.devicon-numpy-line:before{content:"îŦ´"}.devicon-numpy-line-wordmark:before{content:"îŦĩ"}.devicon-numpy-plain:before{content:"îŦļ"}.devicon-numpy-plain-wordmark:before{content:"îŦˇ"}.devicon-nuxtjs-plain:before{content:"îŦ¸"}.devicon-nuxtjs-plain-wordmark:before{content:"îŦš"}.devicon-oauth-plain:before,.devicon-oauth-plain-wordmark:before{content:"îŦē"}.devicon-objectivec-plain:before{content:"îŦģ"}.devicon-ocaml-plain:before{content:"îŦŧ"}.devicon-ocaml-plain-wordmark:before{content:"îŦŊ"}.devicon-ohmyzsh-plain:before{content:"îŦž"}.devicon-okta-plain:before{content:"îŦŋ"}.devicon-okta-plain-wordmark:before{content:""}.devicon-openal-plain:before{content:""}.devicon-openapi-line:before{content:""}.devicon-openapi-line-wordmark:before{content:""}.devicon-openapi-plain:before{content:""}.devicon-openapi-plain-wordmark:before{content:""}.devicon-opencl-line:before,.devicon-opencl-line-wordmark:before{content:""}.devicon-opencl-plain:before,.devicon-opencl-plain-wordmark:before{content:""}.devicon-opencv-plain:before{content:""}.devicon-opencv-plain-wordmark:before{content:""}.devicon-opengl-plain:before{content:""}.devicon-openstack-original:before,.devicon-openstack-plain:before{content:""}.devicon-openstack-plain-wordmark:before{content:""}.devicon-opensuse-original:before,.devicon-opensuse-plain:before{content:""}.devicon-opensuse-original-wordmark:before,.devicon-opensuse-plain-wordmark:before{content:""}.devicon-opentelemetry-plain:before{content:""}.devicon-opentelemetry-plain-wordmark:before{content:""}.devicon-opera-plain:before{content:""}.devicon-opera-plain-wordmark:before{content:""}.devicon-oracle-original:before,.devicon-oracle-plain:before{content:""}.devicon-ory-original:before,.devicon-ory-plain:before{content:""}.devicon-ory-original-wordmark:before,.devicon-ory-plain-wordmark:before{content:""}.devicon-p5js-original:before,.devicon-p5js-plain:before,.devicon-p5js-original-wordmark:before,.devicon-p5js-plain-wordmark:before{content:""}.devicon-packer-line:before{content:""}.devicon-packer-line-wordmark:before{content:""}.devicon-packer-plain:before{content:""}.devicon-packer-plain-wordmark:before{content:""}.devicon-pandas-line:before{content:""}.devicon-pandas-line-wordmark:before{content:""}.devicon-pandas-plain:before{content:""}.devicon-pandas-plain-wordmark:before{content:""}.devicon-perl-plain:before{content:""}.devicon-pfsense-original:before,.devicon-pfsense-plain:before{content:"î­ "}.devicon-pfsense-original-wordmark:before,.devicon-pfsense-plain-wordmark:before{content:"î­Ą"}.devicon-phalcon-plain:before{content:"î­ĸ"}.devicon-phoenix-original:before,.devicon-phoenix-plain:before{content:"î­Ŗ"}.devicon-phoenix-plain-wordmark:before{content:"î­¤"}.devicon-photonengine-plain:before,.devicon-photonengine-plain-wordmark:before{content:"î­Ĩ"}.devicon-photoshop-line:before{content:"î­Ļ"}.devicon-photoshop-plain:before{content:"î­§"}.devicon-php-plain:before{content:"î­¨"}.devicon-phpstorm-plain:before{content:"î­Š"}.devicon-phpstorm-plain-wordmark:before{content:"î­Ē"}.devicon-playwright-plain:before{content:"î­Ģ"}.devicon-plotly-plain:before{content:"î­Ŧ"}.devicon-plotly-plain-wordmark:before{content:"î­­"}.devicon-pnpm-plain:before{content:"î­Ž"}.devicon-pnpm-plain-wordmark:before{content:"î­¯"}.devicon-podman-plain:before{content:"î­°"}.devicon-podman-plain-wordmark:before{content:"î­ą"}.devicon-poetry-plain:before{content:"î­˛"}.devicon-polygon-plain:before{content:"î­ŗ"}.devicon-polygon-plain-wordmark:before{content:"î­´"}.devicon-portainer-original:before,.devicon-portainer-plain:before{content:"î­ĩ"}.devicon-portainer-original-wordmark:before,.devicon-portainer-plain-wordmark:before{content:"î­ļ"}.devicon-postcss-original:before,.devicon-postcss-plain:before{content:"î­ˇ"}.devicon-postcss-plain-wordmark:before{content:"î­¸"}.devicon-postgresql-plain:before{content:"î­š"}.devicon-postgresql-plain-wordmark:before{content:"î­ē"}.devicon-postman-plain:before{content:"î­ģ"}.devicon-postman-plain-wordmark:before{content:"î­ŧ"}.devicon-powershell-plain:before{content:"î­Ŋ"}.devicon-premierepro-plain:before{content:"î­ž"}.devicon-prisma-original:before,.devicon-prisma-plain:before{content:"î­ŋ"}.devicon-prisma-original-wordmark:before,.devicon-prisma-plain-wordmark:before{content:""}.devicon-processing-plain:before{content:""}.devicon-processing-plain-wordmark:before{content:""}.devicon-prolog-plain:before{content:""}.devicon-prolog-plain-wordmark:before{content:""}.devicon-prometheus-line:before{content:""}.devicon-prometheus-line-wordmark:before{content:""}.devicon-prometheus-original:before,.devicon-prometheus-plain:before{content:""}.devicon-prometheus-plain-wordmark:before{content:""}.devicon-protractor-line:before{content:""}.devicon-protractor-line-wordmark:before{content:""}.devicon-protractor-plain:before{content:""}.devicon-protractor-plain-wordmark:before{content:""}.devicon-pulsar-original:before,.devicon-pulsar-plain:before{content:""}.devicon-pulsar-original-wordmark:before,.devicon-pulsar-plain-wordmark:before{content:""}.devicon-pulumi-plain:before{content:""}.devicon-pulumi-plain-wordmark:before{content:""}.devicon-puppeteer-plain:before,.devicon-puppeteer-plain-wordmark:before{content:""}.devicon-purescript-original:before{content:""}.devicon-purescript-original-wordmark:before{content:""}.devicon-putty-plain:before{content:""}.devicon-pycharm-plain:before{content:""}.devicon-pycharm-plain-wordmark:before{content:""}.devicon-pypi-plain:before{content:""}.devicon-pypi-plain-wordmark:before{content:""}.devicon-pyscript-plain-wordmark:before{content:""}.devicon-pytest-plain:before{content:""}.devicon-pytest-plain-wordmark:before{content:""}.devicon-python-plain:before{content:""}.devicon-python-plain-wordmark:before{content:""}.devicon-pytorch-original:before,.devicon-pytorch-plain:before{content:""}.devicon-pytorch-plain-wordmark:before{content:""}.devicon-qodana-plain:before{content:""}.devicon-qodana-plain-wordmark:before{content:""}.devicon-qt-original:before,.devicon-qt-plain:before{content:"îŽĸ"}.devicon-quarkus-plain:before{content:"îŽŖ"}.devicon-quarkus-plain-wordmark:before{content:""}.devicon-quasar-plain:before{content:"îŽĨ"}.devicon-quasar-plain-wordmark:before{content:"îŽĻ"}.devicon-qwik-plain:before{content:""}.devicon-qwik-plain-wordmark:before{content:""}.devicon-rabbitmq-original:before,.devicon-rabbitmq-plain:before{content:""}.devicon-rabbitmq-plain-wordmark:before{content:"îŽĒ"}.devicon-rails-plain:before{content:"îŽĢ"}.devicon-rails-plain-wordmark:before{content:"îŽŦ"}.devicon-railway-line:before{content:""}.devicon-railway-line-wordmark:before{content:""}.devicon-railway-original:before,.devicon-railway-plain:before{content:""}.devicon-railway-original-wordmark:before,.devicon-railway-plain-wordmark:before{content:""}.devicon-rancher-line:before{content:""}.devicon-rancher-line-wordmark:before{content:""}.devicon-rancher-original:before,.devicon-rancher-plain:before{content:"îŽŗ"}.devicon-rancher-plain-wordmark:before{content:""}.devicon-raspberrypi-line:before{content:"îŽĩ"}.devicon-raspberrypi-line-wordmark:before{content:"îŽļ"}.devicon-raspberrypi-plain:before{content:""}.devicon-raspberrypi-plain-wordmark:before{content:""}.devicon-reach-plain:before{content:""}.devicon-reactbootstrap-original:before,.devicon-reactbootstrap-plain:before{content:"îŽē"}.devicon-reactnavigation-original:before,.devicon-reactnavigation-plain:before{content:"îŽģ"}.devicon-react-original:before,.devicon-react-plain:before{content:"îŽŧ"}.devicon-react-original-wordmark:before,.devicon-react-plain-wordmark:before{content:"îŽŊ"}.devicon-reactrouter-plain:before{content:""}.devicon-reactrouter-plain-wordmark:before{content:"îŽŋ"}.devicon-readthedocs-line:before{content:""}.devicon-readthedocs-original:before,.devicon-readthedocs-plain:before{content:""}.devicon-readthedocs-original-wordmark:before,.devicon-readthedocs-plain-wordmark:before{content:""}.devicon-realm-plain:before{content:""}.devicon-realm-plain-wordmark:before{content:""}.devicon-rect-plain:before{content:""}.devicon-redhat-plain:before{content:""}.devicon-redhat-plain-wordmark:before{content:""}.devicon-redis-plain:before{content:""}.devicon-redis-plain-wordmark:before{content:""}.devicon-redux-original:before,.devicon-redux-plain:before{content:""}.devicon-renpy-plain:before{content:""}.devicon-replit-original:before,.devicon-replit-plain:before{content:""}.devicon-replit-plain-wordmark:before{content:""}.devicon-rider-plain:before{content:""}.devicon-rider-plain-wordmark:before{content:""}.devicon-r-line:before{content:""}.devicon-rocksdb-line:before{content:""}.devicon-rocksdb-plain:before{content:""}.devicon-rockylinux-original:before,.devicon-rockylinux-plain:before{content:""}.devicon-rockylinux-plain-wordmark:before{content:""}.devicon-rollup-line:before{content:""}.devicon-rollup-line-wordmark:before{content:""}.devicon-rollup-plain:before{content:""}.devicon-rollup-plain-wordmark:before{content:""}.devicon-ros-original:before{content:""}.devicon-ros-original-wordmark:before{content:""}.devicon-r-plain:before{content:""}.devicon-rspec-line:before{content:""}.devicon-rspec-line-wordmark:before{content:""}.devicon-rspec-plain:before{content:""}.devicon-rspec-plain-wordmark:before{content:""}.devicon-rstudio-plain:before{content:""}.devicon-rubymine-plain:before{content:"î¯Ą"}.devicon-rubymine-plain-wordmark:before{content:"î¯ĸ"}.devicon-ruby-plain:before{content:"î¯Ŗ"}.devicon-ruby-plain-wordmark:before{content:""}.devicon-rust-line:before{content:"î¯Ĩ"}.devicon-rust-original:before,.devicon-rust-plain:before{content:"î¯Ļ"}.devicon-rxjs-plain:before{content:""}.devicon-safari-line:before{content:""}.devicon-safari-line-wordmark:before{content:""}.devicon-safari-plain:before{content:"î¯Ē"}.devicon-safari-plain-wordmark:before{content:"î¯Ģ"}.devicon-salesforce-plain:before{content:"î¯Ŧ"}.devicon-sanity-plain:before{content:""}.devicon-sass-original:before,.devicon-sass-plain:before{content:""}.devicon-scala-plain:before{content:""}.devicon-scala-plain-wordmark:before{content:""}.devicon-scalingo-line:before{content:"î¯ą"}.devicon-scalingo-line-wordmark:before{content:"î¯˛"}.devicon-scalingo-plain:before{content:"î¯ŗ"}.devicon-scalingo-plain-wordmark:before{content:""}.devicon-scikitlearn-line:before,.devicon-scikitlearn-line-wordmark:before{content:"î¯ĩ"}.devicon-scikitlearn-plain:before,.devicon-scikitlearn-plain-wordmark:before{content:"î¯ļ"}.devicon-sdl-plain:before{content:"î¯ˇ"}.devicon-selenium-original:before,.devicon-selenium-plain:before{content:""}.devicon-sema-original:before,.devicon-sema-plain:before{content:""}.devicon-sema-original-wordmark:before,.devicon-sema-plain-wordmark:before{content:"î¯ē"}.devicon-sentry-original:before,.devicon-sentry-plain:before{content:"î¯ģ"}.devicon-sentry-original-wordmark:before,.devicon-sentry-plain-wordmark:before{content:"î¯ŧ"}.devicon-sequelize-plain:before{content:"î¯Ŋ"}.devicon-sequelize-plain-wordmark:before{content:""}.devicon-shopware-original:before{content:"î¯ŋ"}.devicon-shopware-original-wordmark:before{content:""}.devicon-shotgrid-original-wordmark:before,.devicon-shotgrid-plain-wordmark:before{content:""}.devicon-shotgrid-plain:before{content:""}.devicon-sketch-line:before{content:""}.devicon-sketch-line-wordmark:before{content:""}.devicon-sketch-plain:before{content:""}.devicon-sketch-plain-wordmark:before{content:""}.devicon-slack-plain:before{content:""}.devicon-slack-plain-wordmark:before{content:""}.devicon-socketio-original:before,.devicon-socketio-plain:before{content:""}.devicon-socketio-original-wordmark:before,.devicon-socketio-plain-wordmark:before{content:""}.devicon-solidity-plain:before{content:""}.devicon-solidjs-plain:before{content:""}.devicon-solidjs-plain-wordmark:before{content:""}.devicon-sonarqube-line:before{content:""}.devicon-sonarqube-line-wordmark:before{content:""}.devicon-sonarqube-original:before,.devicon-sonarqube-plain:before{content:""}.devicon-sonarqube-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-spack-plain:before{content:""}.devicon-splunk-original-wordmark:before,.devicon-splunk-plain-wordmark:before{content:""}.devicon-spring-original:before,.devicon-spring-plain:before{content:""}.devicon-spring-original-wordmark:before,.devicon-spring-plain-wordmark:before{content:""}.devicon-spss-plain:before{content:""}.devicon-spyder-plain:before{content:""}.devicon-spyder-plain-wordmark:before{content:""}.devicon-sqlalchemy-plain:before{content:""}.devicon-sqlalchemy-plain-wordmark:before{content:""}.devicon-sqldeveloper-plain:before{content:""}.devicon-sqlite-plain:before{content:""}.devicon-sqlite-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-stackoverflow-line:before{content:"î°ĸ"}.devicon-stackoverflow-line-wordmark:before{content:"î°Ŗ"}.devicon-stackoverflow-plain:before{content:"î°¤"}.devicon-stackoverflow-plain-wordmark:before{content:"î°Ĩ"}.devicon-stata-original-wordmark:before,.devicon-stata-plain-wordmark:before{content:"î°Ļ"}.devicon-storybook-plain:before{content:"î°§"}.devicon-storybook-plain-wordmark:before{content:"î°¨"}.devicon-streamlit-plain:before{content:"î°Š"}.devicon-streamlit-plain-wordmark:before{content:"î°Ē"}.devicon-stylus-original:before{content:"î°Ģ"}.devicon-subversion-original:before,.devicon-subversion-plain:before{content:"î°Ŧ"}.devicon-subversion-plain-wordmark:before{content:"î°­"}.devicon-supabase-plain:before{content:"î°Ž"}.devicon-supabase-plain-wordmark:before{content:"î°¯"}.devicon-svelte-plain:before{content:"î°°"}.devicon-svelte-plain-wordmark:before{content:"î°ą"}.devicon-swagger-plain:before{content:"î°˛"}.devicon-swagger-plain-wordmark:before{content:"î°ŗ"}.devicon-swift-plain:before{content:"î°´"}.devicon-swift-plain-wordmark:before{content:"î°ĩ"}.devicon-swiper-original:before,.devicon-swiper-plain:before{content:"î°ļ"}.devicon-symfony-original:before,.devicon-symfony-plain:before{content:"î°ˇ"}.devicon-symfony-original-wordmark:before,.devicon-symfony-plain-wordmark:before{content:"î°¸"}.devicon-tailwindcss-original:before,.devicon-tailwindcss-plain:before{content:"î°š"}.devicon-tailwindcss-plain-wordmark:before{content:"î°ē"}.devicon-tauri-plain:before{content:"î°ģ"}.devicon-tauri-plain-wordmark:before{content:"î°ŧ"}.devicon-tensorflow-line:before{content:"î°Ŋ"}.devicon-tensorflow-line-wordmark:before{content:"î°ž"}.devicon-tensorflow-original:before{content:"î°ŋ"}.devicon-tensorflow-original-wordmark:before{content:""}.devicon-terraform-plain:before{content:""}.devicon-terraform-plain-wordmark:before{content:""}.devicon-tex-original:before,.devicon-tex-original-wordmark:before,.devicon-tex-plain:before,.devicon-tex-plain-wordmark:before{content:""}.devicon-thealgorithms-plain:before{content:""}.devicon-thealgorithms-plain-wordmark:before{content:""}.devicon-threedsmax-plain:before,.devicon-threedsmax-plain-wordmark:before{content:""}.devicon-threejs-original:before{content:""}.devicon-threejs-original-wordmark:before{content:""}.devicon-titaniumsdk-original:before,.devicon-titaniumsdk-plain:before{content:""}.devicon-tomcat-line:before{content:""}.devicon-tomcat-line-wordmark:before{content:""}.devicon-tortoisegit-line:before{content:""}.devicon-tortoisegit-plain:before{content:""}.devicon-towergit-plain:before{content:""}.devicon-towergit-plain-wordmark:before{content:""}.devicon-traefikmesh-line:before{content:""}.devicon-traefikmesh-line-wordmark:before{content:""}.devicon-traefikmesh-original:before,.devicon-traefikmesh-plain:before{content:""}.devicon-traefikmesh-plain-wordmark:before{content:""}.devicon-traefikproxy-line:before{content:""}.devicon-traefikproxy-line-wordmark:before{content:""}.devicon-traefikproxy-original:before,.devicon-traefikproxy-plain:before{content:""}.devicon-traefikproxy-plain-wordmark:before{content:""}.devicon-travis-line:before{content:""}.devicon-travis-line-wordmark:before{content:""}.devicon-travis-plain:before{content:""}.devicon-travis-plain-wordmark:before{content:""}.devicon-trello-line:before{content:""}.devicon-trello-line-wordmark:before{content:""}.devicon-trello-plain:before{content:""}.devicon-trello-plain-wordmark:before{content:""}.devicon-trpc-plain:before{content:"îą "}.devicon-trpc-plain-wordmark:before{content:""}.devicon-twitter-original:before,.devicon-twitter-plain:before{content:"îąĸ"}.devicon-typescript-plain:before,.devicon-typescript-original:before{content:"îąŖ"}.devicon-typo3-line:before{content:""}.devicon-typo3-line-wordmark:before{content:"îąĨ"}.devicon-typo3-original:before,.devicon-typo3-plain:before{content:"îąĻ"}.devicon-typo3-plain-wordmark:before{content:"îą§"}.devicon-ubuntu-plain:before{content:""}.devicon-ubuntu-plain-wordmark:before{content:""}.devicon-unifiedmodelinglanguage-plain:before{content:"îąĒ"}.devicon-unifiedmodelinglanguage-plain-wordmark:before{content:"îąĢ"}.devicon-unity-line:before{content:"îąŦ"}.devicon-unity-line-wordmark:before{content:"îą­"}.devicon-unity-plain:before{content:""}.devicon-unity-plain-wordmark:before{content:"îą¯"}.devicon-unix-original:before{content:"îą°"}.devicon-unrealengine-original:before,.devicon-unrealengine-plain:before{content:"îąą"}.devicon-unrealengine-original-wordmark:before,.devicon-unrealengine-plain-wordmark:before{content:""}.devicon-uwsgi-plain:before{content:"îąŗ"}.devicon-v8-plain:before,.devicon-v8-plain-wordmark:before{content:"îą´"}.devicon-vagrant-plain:before{content:"îąĩ"}.devicon-vagrant-plain-wordmark:before{content:"îąļ"}.devicon-vala-plain:before{content:""}.devicon-vala-plain-wordmark:before{content:""}.devicon-vault-original:before,.devicon-vault-plain:before{content:"îąš"}.devicon-vault-plain-wordmark:before{content:"îąē"}.devicon-vercel-line:before{content:"îąģ"}.devicon-vercel-line-wordmark:before{content:"îąŧ"}.devicon-vercel-original:before,.devicon-vercel-plain:before{content:"îąŊ"}.devicon-vercel-original-wordmark:before,.devicon-vercel-plain-wordmark:before{content:"îąž"}.devicon-vertx-line:before{content:"îąŋ"}.devicon-vertx-line-wordmark:before{content:""}.devicon-vertx-plain:before{content:""}.devicon-vertx-plain-wordmark:before{content:""}.devicon-vim-plain:before{content:""}.devicon-visualbasic-line:before{content:""}.devicon-visualbasic-plain:before{content:""}.devicon-visualstudio-line:before{content:""}.devicon-visualstudio-plain:before{content:""}.devicon-vitejs-plain:before{content:""}.devicon-vite-original:before,.devicon-vite-plain:before{content:""}.devicon-vite-original-wordmark:before,.devicon-vite-plain-wordmark:before{content:""}.devicon-vitess-plain:before{content:""}.devicon-vitess-plain-wordmark:before{content:""}.devicon-vitest-plain:before{content:""}.devicon-vscode-plain:before{content:""}.devicon-vscode-plain-wordmark:before{content:""}.devicon-vsphere-line:before{content:""}.devicon-vsphere-line-wordmark:before{content:""}.devicon-vsphere-plain:before{content:""}.devicon-vsphere-plain-wordmark:before{content:""}.devicon-vuejs-line:before{content:""}.devicon-vuejs-line-wordmark:before{content:""}.devicon-vuejs-plain:before{content:""}.devicon-vuejs-plain-wordmark:before{content:""}.devicon-vuestorefront-plain:before{content:""}.devicon-vuetify-line:before{content:""}.devicon-vuetify-plain:before{content:""}.devicon-vyper-plain:before{content:""}.devicon-vyper-plain-wordmark:before{content:""}.devicon-wasm-original:before,.devicon-wasm-plain:before{content:""}.devicon-wasm-plain-wordmark:before{content:""}.devicon-webflow-original:before{content:""}.devicon-weblate-plain:before{content:""}.devicon-weblate-plain-wordmark:before{content:""}.devicon-webpack-plain:before{content:"î˛ĸ"}.devicon-webpack-plain-wordmark:before{content:"î˛Ŗ"}.devicon-webstorm-plain:before{content:""}.devicon-webstorm-plain-wordmark:before{content:"î˛Ĩ"}.devicon-windows8-original:before,.devicon-windows8-plain:before{content:"î˛Ļ"}.devicon-windows8-original-wordmark:before,.devicon-windows8-plain-wordmark:before{content:""}.devicon-windows11-original:before,.devicon-windows11-plain:before{content:""}.devicon-windows11-original-wordmark:before,.devicon-windows11-plain-wordmark:before{content:""}.devicon-woocommerce-plain:before{content:"î˛Ē"}.devicon-woocommerce-plain-wordmark:before{content:"î˛Ģ"}.devicon-wordpress-plain:before{content:"î˛Ŧ"}.devicon-wordpress-plain-wordmark:before{content:""}.devicon-xamarin-original:before,.devicon-xamarin-plain:before{content:""}.devicon-xamarin-original-wordmark:before,.devicon-xamarin-plain-wordmark:before{content:"î˛¯"}.devicon-xcode-plain:before{content:""}.devicon-xd-line:before{content:""}.devicon-xd-plain:before{content:""}.devicon-xml-line:before,.devicon-xml-line-wordmark:before{content:"î˛ŗ"}.devicon-xml-plain:before,.devicon-xml-plain-wordmark:before{content:""}.devicon-yaml-plain:before,.devicon-yaml-plain-wordmark:before{content:"î˛ĩ"}.devicon-yarn-line:before{content:"î˛ļ"}.devicon-yarn-line-wordmark:before{content:""}.devicon-yarn-original:before,.devicon-yarn-plain:before{content:""}.devicon-yarn-original-wordmark:before,.devicon-yarn-plain-wordmark:before{content:""}.devicon-yii-plain:before{content:"î˛ē"}.devicon-yii-plain-wordmark:before{content:"î˛ģ"}.devicon-yugabytedb-plain:before{content:"î˛ŧ"}.devicon-yugabytedb-plain-wordmark:before{content:"î˛Ŋ"}.devicon-yunohost-plain:before{content:""}.devicon-zend-line:before{content:"î˛ŋ"}.devicon-zend-line-wordmark:before{content:"îŗ€"}.devicon-zend-original:before,.devicon-zend-plain:before{content:"îŗ"}.devicon-zend-original-wordmark:before,.devicon-zend-plain-wordmark:before{content:"îŗ‚"}.devicon-zig-original:before,.devicon-zig-plain:before{content:"îŗƒ"}.devicon-zig-plain-wordmark:before{content:"îŗ„"}.devicon-threedsmax-plain.colored,.devicon-threedsmax-original-wordmark.colored,.devicon-threedsmax-plain-wordmark.colored{color:#37a5cc}.devicon-aarch64-plain.colored,.devicon-aarch64-line.colored,.devicon-aarch64-original-wordmark.colored,.devicon-aarch64-plain-wordmark.colored,.devicon-aarch64-line-wordmark.colored{color:#16358c}.devicon-adonisjs-original.colored,.devicon-adonisjs-original-wordmark.colored,.devicon-adonisjs-plain.colored,.devicon-adonisjs-plain-wordmark.colored{color:#5a45ff}.devicon-aftereffects-plain.colored{color:#1f0740}.devicon-akka-plain.colored,.devicon-akka-plain-wordmark.colored{color:#15a9ce}.devicon-algolia-original.colored,.devicon-algolia-original-wordmark.colored{color:#003dff}.devicon-alpinejs-original.colored,.devicon-alpinejs-original-wordmark.colored,.devicon-alpinejs-plain.colored,.devicon-alpinejs-plain-wordmark.colored{color:#2d3441}.devicon-amazonwebservices-plain-wordmark.colored,.devicon-amazonwebservices-line-wordmark.colored,.devicon-amazonwebservices-original.colored,.devicon-amazonwebservices-plain.colored,.devicon-amazonwebservices-line.colored{color:#f90}.devicon-anaconda-original.colored,.devicon-anaconda-original-wordmark.colored,.devicon-anaconda-plain.colored,.devicon-anaconda-plain-wordmark.colored{color:#3eb049}.devicon-android-plain.colored,.devicon-android-plain-wordmark.colored{color:#a4c439}.devicon-androidstudio-plain.colored,.devicon-androidstudio-plain-wordmark.colored{color:#4285f4}.devicon-angular-plain.colored,.devicon-angular-plain-wordmark.colored{color:#fff}.devicon-angularjs-plain.colored,.devicon-angularjs-plain-wordmark.colored{color:#c4473a}.devicon-angularmaterial-plain.colored{color:#ffa726}.devicon-ansible-plain.colored,.devicon-ansible-plain-wordmark.colored{color:#1a1918}.devicon-antdesign-plain.colored,.devicon-antdesign-plain-wordmark.colored{color:#0073bb}.devicon-apache-plain.colored,.devicon-apache-plain-wordmark.colored,.devicon-apache-line.colored,.devicon-apache-line-wordmark.colored{color:#cb2533}.devicon-apacheairflow-plain.colored,.devicon-apacheairflow-plain-wordmark.colored{color:#017cee}.devicon-apachekafka-original.colored,.devicon-apachekafka-original-wordmark.colored,.devicon-apachekafka-plain.colored,.devicon-apachekafka-plain-wordmark.colored{color:#231f20}.devicon-apachespark-original.colored,.devicon-apachespark-plain-wordmark.colored,.devicon-apachespark-plain.colored{color:#e15919}.devicon-apl-plain.colored{color:#24a148}.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-archlinux-plain.colored,.devicon-archlinux-plain-wordmark.colored{color:#1791cf}.devicon-arduino-plain.colored,.devicon-arduino-plain-wordmark.colored{color:#00979d}.devicon-argocd-plain.colored,.devicon-argocd-plain-wordmark.colored{color:#ef7b4d}.devicon-astro-plain.colored,.devicon-astro-plain-wordmark.colored{color:#ff5d01}.devicon-atom-original.colored,.devicon-atom-original-wordmark.colored,.devicon-atom-plain.colored,.devicon-atom-plain-wordmark.colored{color:#67595d}.devicon-awk-plain-wordmark.colored,.devicon-awk-original.colored,.devicon-awk-plain.colored{color:#0a094d}.devicon-axios-plain.colored,.devicon-axios-plain-wordmark.colored{color:#5a29e4}.devicon-azure-plain.colored,.devicon-azure-plain-wordmark.colored{color:#0089d6}.devicon-azuredevops-plain.colored{color:#0078d4}.devicon-azuresqldatabase-plain.colored{color:#005ba1}.devicon-babel-plain.colored,.devicon-babel-original.colored{color:#f9dc3e}.devicon-backbonejs-plain.colored,.devicon-backbonejs-plain-wordmark.colored{color:#002a41}.devicon-ballerina-original.colored,.devicon-ballerina-original-wordmark.colored,.devicon-ballerina-line.colored,.devicon-ballerina-line-wordmark.colored,.devicon-ballerina-plain.colored,.devicon-ballerina-plain-wordmark.colored{color:#46c0bc}.devicon-bamboo-original.colored,.devicon-bamboo-original-wordmark.colored,.devicon-bamboo-plain.colored,.devicon-bamboo-plain-wordmark.colored{color:#1068e2}.devicon-bash-plain.colored{color:#293138}.devicon-beats-plain.colored{color:#07c}.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-blazor-original.colored,.devicon-blazor-line.colored,.devicon-blazor-plain.colored{color:#5c2d91}.devicon-blender-original.colored,.devicon-blender-original-wordmark.colored{color:#dc7b2e}.devicon-bootstrap-plain.colored,.devicon-bootstrap-plain-wordmark.colored{color:#712cf9}.devicon-bower-plain.colored,.devicon-bower-plain-wordmark.colored,.devicon-bower-line.colored,.devicon-bower-line-wordmark.colored{color:#ef5734}.devicon-browserstack-plain.colored,.devicon-browserstack-plain-wordmark.colored,.devicon-browserstack-line.colored,.devicon-browserstack-line-wordmark.colored{color:#0070f0}.devicon-bulma-plain.colored{color:#00d1b2}.devicon-bun-plain.colored,.devicon-bun-line.colored{color:#fbf0df}.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-cairo-plain.colored,.devicon-cairo-plain-wordmark.colored{color:#f39914}.devicon-cakephp-plain.colored,.devicon-cakephp-plain-wordmark.colored{color:#d43d44}.devicon-canva-original.colored,.devicon-canva-plain.colored{color:#00c4cc}.devicon-capacitor-plain.colored,.devicon-capacitor-plain-wordmark.colored{color:#53b9ff}.devicon-carbon-original.colored,.devicon-carbon-plain.colored{color:#000}.devicon-cassandra-plain.colored,.devicon-cassandra-plain-wordmark.colored{color:#1185b0}.devicon-centos-plain.colored,.devicon-centos-plain-wordmark.colored{color:#932178}.devicon-ceylon-plain.colored,.devicon-ceylon-plain-wordmark.colored{color:#ab710a}.devicon-chrome-plain.colored,.devicon-chrome-plain-wordmark.colored{color:#ce4e4e}.devicon-circleci-plain.colored,.devicon-circleci-plain-wordmark.colored{color:#343434}.devicon-clarity-plain.colored,.devicon-clarity-plain-wordmark.colored{color:#13171a}.devicon-clion-plain.colored,.devicon-clion-plain-wordmark.colored{color:#21d789}.devicon-clojure-line.colored,.devicon-clojure-plain.colored,.devicon-clojure-plain.colored{color:#5881d8}.devicon-clojurescript-plain.colored{color:#96ca4b}.devicon-cloudflare-plain.colored,.devicon-cloudflare-plain-wordmark.colored{color:#f38020}.devicon-cloudflareworkers-plain.colored,.devicon-cloudflareworkers-plain-wordmark.colored{color:#ea9344}.devicon-cmake-plain.colored,.devicon-cmake-plain-wordmark.colored{color:#0e8a16}.devicon-codeac-original.colored{color:#005096}.devicon-codecov-plain.colored{color:#e0225c}.devicon-codeigniter-plain.colored,.devicon-codeigniter-plain-wordmark.colored{color:#ee4323}.devicon-codepen-original.colored,.devicon-codepen-original-wordmark.colored,.devicon-codepen-line.colored,.devicon-codepen-line-wordmark.colored,.devicon-codepen-plain.colored,.devicon-codepen-plain-wordmark.colored{color:#000}.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-plain.colored,.devicon-confluence-plain-wordmark.colored,.devicon-confluence-line.colored,.devicon-confluence-line-wordmark.colored{color:#136be6}.devicon-consul-original.colored,.devicon-consul-plain-wordmark.colored,.devicon-consul-plain.colored{color:#e03875}.devicon-contao-original.colored,.devicon-contao-original-wordmark.colored{color:#f47c00}.devicon-corejs-original.colored,.devicon-corejs-original-wordmark.colored,.devicon-corejs-plain.colored,.devicon-corejs-plain-wordmark.colored{color:#000}.devicon-cosmosdb-plain.colored,.devicon-cosmosdb-plain-wordmark.colored{color:#59b3d8}.devicon-couchbase-original.colored,.devicon-couchbase-plain-wordmark.colored,.devicon-couchbase-plain.colored{color:#ea2328}.devicon-couchdb-plain.colored,.devicon-couchdb-plain-wordmark.colored{color:#e42528}.devicon-cplusplus-plain.colored,.devicon-cplusplus-line.colored,.devicon-cplusplus-plain-wordmark.colored,.devicon-cplusplus-line-wordmark.colored{color:#004482}.devicon-crystal-original.colored,.devicon-crystal-original-wordmark.colored,.devicon-crystal-line.colored,.devicon-crystal-line-wordmark.colored,.devicon-crystal-plain.colored,.devicon-crystal-plain-wordmark.colored{color:#000}.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-cypressio-plain.colored,.devicon-cypressio-plain-wordmark.colored,.devicon-cypressio-line.colored,.devicon-cypressio-line-wordmark.colored{color:#1b1e2e}.devicon-d3js-plain.colored{color:#f7974e}.devicon-dart-plain.colored,.devicon-dart-plain-wordmark.colored{color:#00a8e1}.devicon-datagrip-plain.colored,.devicon-datagrip-plain-wordmark.colored{color:#21d789}.devicon-dataspell-plain.colored,.devicon-dataspell-plain-wordmark.colored{color:#087cfa}.devicon-dbeaver-plain.colored{color:#382a24}.devicon-debian-plain.colored,.devicon-debian-plain-wordmark.colored{color:#a80030}.devicon-denojs-original.colored,.devicon-denojs-original-wordmark.colored,.devicon-denojs-plain.colored,.devicon-denojs-plain-wordmark.colored{color:#000}.devicon-devicon-plain.colored,.devicon-devicon-plain-wordmark.colored,.devicon-devicon-line.colored,.devicon-devicon-line-wordmark.colored{color:#60be86}.devicon-digitalocean-original.colored,.devicon-digitalocean-original-wordmark.colored,.devicon-digitalocean-plain.colored,.devicon-digitalocean-plain-wordmark.colored{color:#0080ff}.devicon-discordjs-plain.colored,.devicon-discordjs-plain-wordmark.colored{color:#0c0c14}.devicon-django-plain.colored,.devicon-django-plain-wordmark.colored{color:#092e20}.devicon-djangorest-plain.colored,.devicon-djangorest-line.colored,.devicon-djangorest-plain-wordmark.colored,.devicon-djangorest-line-wordmark.colored{color:#a30000}.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-dreamweaver-plain.colored,.devicon-dreamweaver-line.colored{color:#470137}.devicon-dropwizard-plain.colored{color:#24265d}.devicon-drupal-plain.colored,.devicon-drupal-plain-wordmark.colored{color:#0073ba}.devicon-dynamodb-plain.colored{color:#527fff}.devicon-eclipse-plain-wordmark.colored,.devicon-eclipse-plain.colored{color:#2c2255}.devicon-ecto-original.colored,.devicon-ecto-plain-wordmark.colored,.devicon-ecto-plain.colored{color:#77bf43}.devicon-elasticsearch-plain-wordmark.colored,.devicon-elasticsearch-plain.colored{color:#00bfb3}.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-emacs-original.colored{color:#421f5f}.devicon-embeddedc-plain.colored,.devicon-embeddedc-plain-wordmark.colored{color:#444}.devicon-ember-original-wordmark.colored,.devicon-ember-plain.colored,.devicon-ember-plain-wordmark.colored{color:#e04e39}.devicon-envoy-plain.colored,.devicon-envoy-plain-wordmark.colored{color:#e13eaf}.devicon-erlang-plain.colored,.devicon-erlang-plain-wordmark.colored{color:#a90533}.devicon-eslint-plain.colored,.devicon-eslint-plain-wordmark.colored,.devicon-eslint-line.colored,.devicon-eslint-line-wordmark.colored{color:#4b32c3}.devicon-express-original.colored,.devicon-express-original-wordmark.colored{color:#444}.devicon-facebook-plain.colored,.devicon-facebook-original.colored{color:#3d5a98}.devicon-fastapi-plain.colored,.devicon-fastapi-plain-wordmark.colored{color:#009688}.devicon-fastify-plain.colored,.devicon-fastify-plain-wordmark.colored{color:#000}.devicon-faunadb-original-wordmark.colored,.devicon-faunadb-original.colored,.devicon-faunadb-line.colored,.devicon-faunadb-line-wordmark.colored,.devicon-faunadb-plain.colored,.devicon-faunadb-plain-wordmark.colored{color:#3a1ab6}.devicon-feathersjs-original.colored{color:#333}.devicon-fedora-plain.colored{color:#294172}.devicon-figma-plain.colored{color:#f24e1e}.devicon-filezilla-plain.colored,.devicon-filezilla-plain-wordmark.colored,.devicon-filezilla-line.colored,.devicon-filezilla-line-wordmark.colored{color:#bb0001}.devicon-firebase-plain.colored,.devicon-firebase-plain-wordmark.colored,.devicon-firebase-line.colored,.devicon-firebase-line-wordmark.colored{color:#ffa000}.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-fortran-original.colored{color:#734f96}.devicon-foundation-plain.colored,.devicon-foundation-plain-wordmark.colored{color:#008cba}.devicon-framermotion-original.colored,.devicon-framermotion-original-wordmark.colored,.devicon-framermotion-plain.colored,.devicon-framermotion-plain-wordmark.colored{color:#000}.devicon-framework7-original.colored,.devicon-framework7-original-wordmark.colored,.devicon-framework7-plain.colored,.devicon-framework7-plain-wordmark.colored{color:#ee350f}.devicon-fsharp-plain.colored{color:#378bba}.devicon-gatling-original.colored,.devicon-gatling-plain-wordmark.colored,.devicon-gatling-line.colored,.devicon-gatling-line-wordmark.colored,.devicon-gatling-plain.colored{color:#f78557}.devicon-gatsby-original.colored,.devicon-gatsby-plain-wordmark.colored,.devicon-gatsby-plain.colored{color:#64328b}.devicon-gazebo-plain.colored,.devicon-gazebo-plain-wordmark.colored{color:#f58113}.devicon-gcc-plain.colored,.devicon-gcc-line.colored,.devicon-gcc-original-wordmark.colored,.devicon-gcc-plain-wordmark.colored,.devicon-gcc-line-wordmark.colored{color:#ffcfab}.devicon-gentoo-plain.colored,.devicon-gentoo-plain-wordmark.colored,.devicon-gentoo-line.colored,.devicon-gentoo-line-wordmark.colored{color:#9991d9}.devicon-ghost-original.colored,.devicon-ghost-original-wordmark.colored{color:#000}.devicon-gimp-plain.colored,.devicon-gimp-plain-wordmark.colored,.devicon-gimp-line.colored,.devicon-gimp-line-wordmark.colored{color:#716955}.devicon-git-plain.colored,.devicon-git-plain-wordmark.colored{color:#f34f29}.devicon-gitbook-original.colored,.devicon-gitbook-original-wordmark.colored,.devicon-gitbook-line.colored,.devicon-gitbook-line-wordmark.colored,.devicon-gitbook-plain.colored,.devicon-gitbook-plain-wordmark.colored{color:#346ddb}.devicon-github-original.colored,.devicon-github-original-wordmark.colored,.devicon-github-plain.colored{color:#181616}.devicon-githubactions-plain.colored{color:#2088ff}.devicon-githubcodespaces-plain.colored{color:#24292e}.devicon-gitlab-plain.colored,.devicon-gitlab-plain-wordmark.colored{color:#e24329}.devicon-gitpod-plain.colored,.devicon-gitpod-plain-wordmark.colored{color:#ffa132}.devicon-gitter-plain.colored,.devicon-gitter-plain-wordmark.colored{color:#000}.devicon-go-original-wordmark.colored,.devicon-go-plain.colored,.devicon-go-line.colored,.devicon-go-plain-wordmark.colored{color:#00acd7}.devicon-godot-plain.colored,.devicon-godot-plain-wordmark.colored{color:#478cbf}.devicon-goland-plain.colored,.devicon-goland-plain-wordmark.colored{color:#087cfa}.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-original.colored,.devicon-gradle-original-wordmark.colored,.devicon-gradle-plain.colored,.devicon-gradle-plain-wordmark.colored{color:#02303a}.devicon-grafana-plain.colored,.devicon-grafana-plain-wordmark.colored,.devicon-grafana-line.colored,.devicon-grafana-line-wordmark.colored{color:#f7a525}.devicon-grails-plain.colored{color:#feb571}.devicon-graphql-plain.colored,.devicon-graphql-plain-wordmark.colored{color:#e434aa}.devicon-groovy-plain.colored{color:#619cbc}.devicon-grpc-plain.colored{color:#00b0ad}.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-hadoop-plain.colored,.devicon-hadoop-plain-wordmark.colored,.devicon-hadoop-line.colored,.devicon-hadoop-line-wordmark.colored{color:#ff0}.devicon-handlebars-original.colored,.devicon-handlebars-original-wordmark.colored,.devicon-handlebars-line.colored,.devicon-handlebars-line-wordmark.colored,.devicon-handlebars-plain.colored,.devicon-handlebars-plain-wordmark.colored{color:#000}.devicon-hardhat-plain.colored,.devicon-hardhat-plain-wordmark.colored{color:#fff100}.devicon-harvester-original.colored,.devicon-harvester-plain-wordmark.colored,.devicon-harvester-plain.colored{color:#00a580}.devicon-haskell-plain.colored,.devicon-haskell-plain-wordmark.colored{color:#5e5185}.devicon-haxe-plain.colored{color:#ea8220}.devicon-helm-original.colored,.devicon-helm-line.colored,.devicon-helm-plain.colored{color:#0f1689}.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{color:#6762a6}.devicon-hibernate-plain.colored,.devicon-hibernate-plain-wordmark.colored{color:#bcae79}.devicon-homebrew-plain.colored,.devicon-homebrew-plain-wordmark.colored,.devicon-homebrew-line.colored,.devicon-homebrew-line-wordmark.colored{color:#fbb040}.devicon-html5-plain.colored,.devicon-html5-plain-wordmark.colored{color:#e54d26}.devicon-hugo-plain.colored,.devicon-hugo-plain-wordmark.colored{color:#ff4088}.devicon-ie10-original.colored,.devicon-ie10-plain.colored{color:#1ebbee}.devicon-ifttt-original.colored,.devicon-ifttt-plain.colored{color:#000}.devicon-illustrator-plain.colored,.devicon-illustrator-line.colored{color:#faa625}.devicon-influxdb-original.colored,.devicon-influxdb-original-wordmark.colored,.devicon-influxdb-plain.colored,.devicon-influxdb-plain-wordmark.colored{color:#020a47}.devicon-inkscape-plain.colored,.devicon-inkscape-plain-wordmark.colored{color:#000}.devicon-insomnia-plain.colored,.devicon-insomnia-plain-wordmark.colored{color:#4000bf}.devicon-intellij-plain.colored,.devicon-intellij-plain-wordmark.colored{color:#087cfa}.devicon-ionic-original.colored,.devicon-ionic-original-wordmark.colored{color:#4e8ef7}.devicon-jaegertracing-plain.colored,.devicon-jaegertracing-plain-wordmark.colored{color:#67cfe3}.devicon-jamstack-original.colored,.devicon-jamstack-plain-wordmark.colored,.devicon-jamstack-plain.colored{color:#f0047f}.devicon-jasmine-original.colored,.devicon-jasmine-original-wordmark.colored,.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-jekyll-plain.colored,.devicon-jekyll-plain-wordmark.colored{color:#000}.devicon-jenkins-line.colored,.devicon-jenkins-plain.colored{color:#f0d6b7}.devicon-jest-plain.colored{color:#99425b}.devicon-jetbrains-plain.colored{color:#fdcc21}.devicon-jetpackcompose-plain-wordmark.colored,.devicon-jetpackcompose-plain.colored,.devicon-jetpackcompose-line.colored,.devicon-jetpackcompose-line-wordmark.colored{color:#4285f4}.devicon-jira-plain.colored,.devicon-jira-plain-wordmark.colored{color:#2684ff}.devicon-jiraalign-plain.colored,.devicon-jiraalign-plain-wordmark.colored{color:#2684ff}.devicon-jquery-plain.colored,.devicon-jquery-plain-wordmark.colored{color:#0769ad}.devicon-json-plain.colored{color:#505050}.devicon-jule-original.colored,.devicon-jule-original-wordmark.colored,.devicon-jule-plain.colored,.devicon-jule-plain-wordmark.colored{color:#5f7389}.devicon-julia-plain.colored,.devicon-julia-plain-wordmark.colored{color:#28a745}.devicon-junit-plain.colored,.devicon-junit-plain-wordmark.colored,.devicon-junit-line.colored,.devicon-junit-line-wordmark.colored{color:#dc514a}.devicon-jupyter-plain.colored,.devicon-jupyter-plain-wordmark.colored{color:#f37726}.devicon-k3os-original.colored,.devicon-k3os-plain-wordmark.colored,.devicon-k3os-line.colored,.devicon-k3os-line-wordmark.colored,.devicon-k3os-plain.colored{color:#fd824e}.devicon-k3s-original.colored,.devicon-k3s-plain-wordmark.colored,.devicon-k3s-plain.colored{color:#ffc519}.devicon-k6-original.colored,.devicon-k6-plain.colored{color:#7d64ff}.devicon-kaggle-original.colored,.devicon-kaggle-original-wordmark.colored,.devicon-kaggle-plain.colored,.devicon-kaggle-plain-wordmark.colored{color:#20beff}.devicon-karatelabs-plain.colored,.devicon-karatelabs-plain-wordmark.colored{color:#000}.devicon-karma-plain.colored{color:#56c5a8}.devicon-kdeneon-plain.colored{color:#21769a}.devicon-keras-plain.colored,.devicon-keras-plain-wordmark.colored,.devicon-keras-line.colored,.devicon-keras-line-wordmark.colored{color:#d00000}.devicon-kibana-plain.colored,.devicon-kibana-plain-wordmark.colored{color:#f04e98}.devicon-knexjs-original.colored,.devicon-knexjs-plain-wordmark.colored,.devicon-knexjs-plain.colored{color:#e16426}.devicon-knockout-plain-wordmark.colored{color:#e42e16}.devicon-kotlin-plain.colored,.devicon-kotlin-plain-wordmark.colored{color:#c711e1}.devicon-krakenjs-plain.colored,.devicon-krakenjs-plain-wordmark.colored{color:#0081c2}.devicon-ktor-plain.colored,.devicon-ktor-plain-wordmark.colored{color:#fc801d}.devicon-kubernetes-plain.colored,.devicon-kubernetes-plain-wordmark.colored,.devicon-kubernetes-line.colored,.devicon-kubernetes-line-wordmark.colored{color:#326ce5}.devicon-labview-plain.colored,.devicon-labview-plain-wordmark.colored{color:#fed500}.devicon-laravel-original.colored,.devicon-laravel-original-wordmark.colored,.devicon-laravel-line.colored,.devicon-laravel-line-wordmark.colored,.devicon-laravel-plain.colored,.devicon-laravel-plain-wordmark.colored{color:#f0513f}.devicon-latex-original.colored,.devicon-latex-plain.colored{color:#000}.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-liquibase-original-wordmark.colored,.devicon-liquibase-original.colored,.devicon-liquibase-plain.colored,.devicon-liquibase-plain-wordmark.colored{color:#ff3c00}.devicon-livewire-plain-wordmark.colored,.devicon-livewire-plain.colored{color:#fb70a9}.devicon-llvm-plain.colored{color:#5a90b6}.devicon-lodash-plain.colored{color:#000}.devicon-logstash-plain-wordmark.colored,.devicon-logstash-plain.colored{color:#fec514}.devicon-lua-plain.colored,.devicon-lua-line.colored,.devicon-lua-original-wordmark.colored,.devicon-lua-plain-wordmark.colored,.devicon-lua-line-wordmark.colored{color:navy}.devicon-lumen-original.colored,.devicon-lumen-plain.colored{color:#e54537}.devicon-magento-original.colored,.devicon-magento-plain-wordmark.colored,.devicon-magento-line.colored,.devicon-magento-line-wordmark.colored,.devicon-magento-plain.colored{color:#f26322}.devicon-mariadb-original.colored,.devicon-mariadb-original-wordmark.colored,.devicon-mariadb-plain.colored,.devicon-mariadb-plain-wordmark.colored{color:#003545}.devicon-markdown-original.colored,.devicon-markdown-plain.colored{color:#000}.devicon-materializecss-plain.colored{color:#eb7077}.devicon-materialui-plain.colored{color:#1fa6ca}.devicon-matlab-plain.colored,.devicon-matlab-line.colored{color:#6dd0c7}.devicon-matplotlib-plain.colored,.devicon-matplotlib-plain-wordmark.colored{color:#11557c}.devicon-maven-plain.colored,.devicon-maven-plain-wordmark.colored{color:#e97826}.devicon-maya-plain.colored,.devicon-maya-plain-wordmark.colored{color:#149b9a}.devicon-meteor-plain.colored,.devicon-meteor-plain-wordmark.colored{color:#df5052}.devicon-microsoftsqlserver-plain.colored,.devicon-microsoftsqlserver-plain-wordmark.colored,.devicon-microsoftsqlserver-line.colored,.devicon-microsoftsqlserver-line-wordmark.colored{color:#ee352c}.devicon-minitab-plain.colored{color:#8dc63f}.devicon-mithril-original.colored,.devicon-mithril-line.colored,.devicon-mithril-plain.colored{color:#010002}.devicon-mobx-plain.colored{color:#e05e11}.devicon-mocha-plain.colored{color:#8d6748}.devicon-modx-plain.colored,.devicon-modx-plain-wordmark.colored{color:#00decc}.devicon-moleculer-original.colored,.devicon-moleculer-original-wordmark.colored,.devicon-moleculer-plain.colored,.devicon-moleculer-plain-wordmark.colored{color:#3cafce}.devicon-mongodb-plain.colored,.devicon-mongodb-plain-wordmark.colored{color:#4faa41}.devicon-mongoose-original.colored,.devicon-mongoose-original-wordmark.colored{color:#860000}.devicon-moodle-plain.colored,.devicon-moodle-plain-wordmark.colored{color:#f7931e}.devicon-msdos-plain.colored,.devicon-msdos-line.colored{color:#000}.devicon-mysql-original.colored,.devicon-mysql-plain-wordmark.colored,.devicon-mysql-plain.colored{color:#00618a}.devicon-nano-plain.colored,.devicon-nano-plain-wordmark.colored{color:#c8f}.devicon-neo4j-plain.colored,.devicon-neo4j-plain-wordmark.colored{color:#018bff}.devicon-neovim-plain.colored,.devicon-neovim-plain-wordmark.colored,.devicon-neovim-line.colored,.devicon-neovim-line-wordmark.colored{color:#5fb950}.devicon-nestjs-original.colored,.devicon-nestjs-original-wordmark.colored,.devicon-nestjs-line.colored,.devicon-nestjs-line-wordmark.colored,.devicon-nestjs-plain.colored,.devicon-nestjs-plain-wordmark.colored{color:#df234f}.devicon-netlify-plain.colored,.devicon-netlify-plain-wordmark.colored{color:#05bdba}.devicon-networkx-plain.colored,.devicon-networkx-plain-wordmark.colored,.devicon-networkx-line.colored,.devicon-networkx-line-wordmark.colored{color:#2c7fb8}.devicon-nextjs-original-wordmark.colored,.devicon-nextjs-plain.colored,.devicon-nextjs-line.colored,.devicon-nextjs-line-wordmark.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{color:#090}.devicon-ngrx-plain.colored{color:#412846}.devicon-nhibernate-plain-wordmark.colored,.devicon-nhibernate-plain.colored,.devicon-nhibernate-line.colored,.devicon-nhibernate-line-wordmark.colored{color:#903a36}.devicon-nim-plain.colored,.devicon-nim-plain-wordmark.colored,.devicon-nim-line.colored,.devicon-nim-line-wordmark.colored{color:#ffe953}.devicon-nimble-plain.colored{color:#f7e941}.devicon-nixos-plain.colored,.devicon-nixos-plain-wordmark.colored{color:#5277c3}.devicon-nodejs-plain.colored,.devicon-nodejs-plain-wordmark.colored,.devicon-nodejs-line.colored,.devicon-nodejs-line-wordmark.colored{color:#5fa04e}.devicon-nodemon-plain.colored,.devicon-nodemon-line.colored{color:#76d04b}.devicon-nodewebkit-plain.colored,.devicon-nodewebkit-plain-wordmark.colored,.devicon-nodewebkit-line.colored,.devicon-nodewebkit-line-wordmark.colored{color:#3d3b47}.devicon-nomad-original.colored,.devicon-nomad-plain-wordmark.colored,.devicon-nomad-plain.colored{color:#00ca8e}.devicon-norg-plain.colored{color:#4878be}.devicon-notion-plain.colored,.devicon-notion-line.colored{color:#fff}.devicon-npm-original-wordmark.colored{color:#cb3837}.devicon-nuget-original.colored,.devicon-nuget-original-wordmark.colored{color:#004880}.devicon-numpy-plain.colored,.devicon-numpy-plain-wordmark.colored,.devicon-numpy-line.colored,.devicon-numpy-line-wordmark.colored{color:#4dabcf}.devicon-nuxtjs-plain.colored,.devicon-nuxtjs-plain-wordmark.colored{color:#00c48d}.devicon-oauth-plain.colored,.devicon-oauth-original-wordmark.colored,.devicon-oauth-plain-wordmark.colored{color:#000}.devicon-objectivec-plain.colored{color:#0b5a9d}.devicon-ocaml-plain.colored,.devicon-ocaml-plain-wordmark.colored{color:#f18803}.devicon-ohmyzsh-plain.colored{color:#000}.devicon-okta-plain.colored,.devicon-okta-plain-wordmark.colored{color:#0f82c2}.devicon-openal-plain.colored{color:#7e000d}.devicon-openapi-plain.colored,.devicon-openapi-plain-wordmark.colored,.devicon-openapi-line.colored,.devicon-openapi-line-wordmark.colored{color:#91d400}.devicon-opencl-plain.colored,.devicon-opencl-line.colored,.devicon-opencl-original-wordmark.colored,.devicon-opencl-plain-wordmark.colored,.devicon-opencl-line-wordmark.colored{color:#000}.devicon-opencv-plain.colored,.devicon-opencv-plain-wordmark.colored{color:#128dff}.devicon-opengl-plain.colored{color:#5586a4}.devicon-openstack-original.colored,.devicon-openstack-plain-wordmark.colored,.devicon-openstack-plain.colored{color:#ed1944}.devicon-opensuse-original.colored,.devicon-opensuse-original-wordmark.colored,.devicon-opensuse-plain.colored,.devicon-opensuse-plain-wordmark.colored{color:#73ba25}.devicon-opentelemetry-plain.colored,.devicon-opentelemetry-plain-wordmark.colored{color:#f5a800}.devicon-opera-plain.colored,.devicon-opera-plain-wordmark.colored{color:#f7192d}.devicon-oracle-original.colored,.devicon-oracle-plain.colored{color:#ea1b22}.devicon-ory-original.colored,.devicon-ory-original-wordmark.colored,.devicon-ory-plain.colored,.devicon-ory-plain-wordmark.colored{color:#5528ff}.devicon-p5js-original.colored,.devicon-p5js-plain.colored,.devicon-p5js-original-wordmark.colored,.devicon-p5js-plain-wordmark.colored{color:#ed225d}.devicon-packer-plain.colored,.devicon-packer-plain-wordmark.colored,.devicon-packer-line.colored,.devicon-packer-line-wordmark.colored{color:#1d94dd}.devicon-pandas-plain.colored,.devicon-pandas-plain-wordmark.colored,.devicon-pandas-line.colored,.devicon-pandas-line-wordmark.colored{color:#130754}.devicon-perl-plain.colored{color:#212177}.devicon-pfsense-original.colored,.devicon-pfsense-original-wordmark.colored,.devicon-pfsense-plain.colored,.devicon-pfsense-plain-wordmark.colored{color:#000}.devicon-phalcon-plain.colored{color:#76c39b}.devicon-phoenix-original.colored,.devicon-phoenix-plain-wordmark.colored,.devicon-phoenix-plain.colored{color:#fd4f00}.devicon-photonengine-plain.colored,.devicon-photonengine-original-wordmark.colored,.devicon-photonengine-plain-wordmark.colored{color:#004480}.devicon-photoshop-plain.colored,.devicon-photoshop-line.colored{color:#001e36}.devicon-php-plain.colored{color:#777bb3}.devicon-phpstorm-plain.colored,.devicon-phpstorm-plain-wordmark.colored{color:#b74af7}.devicon-playwright-plain.colored{color:#2ead33}.devicon-plotly-plain.colored,.devicon-plotly-plain-wordmark.colored{color:#3d4c73}.devicon-pnpm-plain.colored,.devicon-pnpm-plain-wordmark.colored{color:#f9ad00}.devicon-podman-plain.colored,.devicon-podman-plain-wordmark.colored{color:#892ca0}.devicon-poetry-plain.colored{color:#0080c5}.devicon-polygon-plain.colored,.devicon-polygon-plain-wordmark.colored{color:#7950dd}.devicon-portainer-original.colored,.devicon-portainer-original-wordmark.colored,.devicon-portainer-plain.colored,.devicon-portainer-plain-wordmark.colored{color:#3bbced}.devicon-postcss-original.colored,.devicon-postcss-plain-wordmark.colored,.devicon-postcss-plain.colored{color:#dd3a0a}.devicon-postgresql-plain.colored,.devicon-postgresql-plain-wordmark.colored{color:#336791}.devicon-postman-plain.colored,.devicon-postman-plain-wordmark.colored{color:#f37036}.devicon-powershell-plain.colored{color:#1e2a3a}.devicon-premierepro-plain.colored{color:#2a0634}.devicon-prisma-original.colored,.devicon-prisma-original-wordmark.colored,.devicon-prisma-plain.colored,.devicon-prisma-plain-wordmark.colored{color:#2d3748}.devicon-processing-plain.colored,.devicon-processing-plain-wordmark.colored{color:#000}.devicon-prolog-plain.colored,.devicon-prolog-plain-wordmark.colored{color:#f46c30}.devicon-prometheus-original.colored,.devicon-prometheus-plain-wordmark.colored,.devicon-prometheus-line.colored,.devicon-prometheus-line-wordmark.colored,.devicon-prometheus-plain.colored{color:#e75225}.devicon-protractor-plain.colored,.devicon-protractor-plain-wordmark.colored,.devicon-protractor-line.colored,.devicon-protractor-line-wordmark.colored{color:#d51c2f}.devicon-pulsar-original.colored,.devicon-pulsar-original-wordmark.colored,.devicon-pulsar-plain.colored,.devicon-pulsar-plain-wordmark.colored{color:#2c3e50}.devicon-pulumi-plain.colored,.devicon-pulumi-plain-wordmark.colored{color:#f6bf29}.devicon-puppeteer-plain.colored,.devicon-puppeteer-original-wordmark.colored,.devicon-puppeteer-plain-wordmark.colored{color:#00d8a2}.devicon-purescript-original.colored,.devicon-purescript-original-wordmark.colored{color:#14161a}.devicon-putty-plain.colored{color:#0000fc}.devicon-pycharm-plain.colored,.devicon-pycharm-plain-wordmark.colored{color:#21d789}.devicon-pypi-plain.colored,.devicon-pypi-plain-wordmark.colored{color:#3775a9}.devicon-pyscript-plain-wordmark.colored{color:#fda703}.devicon-pytest-plain.colored,.devicon-pytest-plain-wordmark.colored{color:#009fe3}.devicon-python-plain.colored,.devicon-python-plain-wordmark.colored{color:#ffd845}.devicon-pytorch-original.colored,.devicon-pytorch-plain-wordmark.colored,.devicon-pytorch-plain.colored{color:#ee4c2c}.devicon-qodana-plain.colored,.devicon-qodana-plain-wordmark.colored{color:#ff318c}.devicon-qt-original.colored,.devicon-qt-plain.colored{color:#41cd52}.devicon-quarkus-plain.colored,.devicon-quarkus-plain-wordmark.colored{color:#4695eb}.devicon-quasar-plain-wordmark.colored,.devicon-quasar-plain.colored{color:#00b4ff}.devicon-qwik-plain.colored,.devicon-qwik-plain-wordmark.colored{color:#18b6f6}.devicon-r-plain.colored,.devicon-r-line.colored{color:#1f65b7}.devicon-rabbitmq-original.colored,.devicon-rabbitmq-plain-wordmark.colored,.devicon-rabbitmq-plain.colored{color:#f60}.devicon-rails-plain.colored,.devicon-rails-plain-wordmark.colored{color:#c00}.devicon-railway-original.colored,.devicon-railway-original-wordmark.colored,.devicon-railway-line.colored,.devicon-railway-line-wordmark.colored,.devicon-railway-plain.colored,.devicon-railway-plain-wordmark.colored{color:#fff}.devicon-rancher-original.colored,.devicon-rancher-plain-wordmark.colored,.devicon-rancher-line.colored,.devicon-rancher-line-wordmark.colored,.devicon-rancher-plain.colored{color:#2453ff}.devicon-raspberrypi-plain.colored,.devicon-raspberrypi-plain-wordmark.colored,.devicon-raspberrypi-line.colored,.devicon-raspberrypi-line-wordmark.colored{color:#c51850}.devicon-reach-plain.colored{color:#6ac6e7}.devicon-react-original.colored,.devicon-react-original-wordmark.colored,.devicon-react-plain.colored,.devicon-react-plain-wordmark.colored{color:#61dafb}.devicon-reactbootstrap-original.colored,.devicon-reactbootstrap-plain.colored{color:#41e0fd}.devicon-reactnavigation-original.colored,.devicon-reactnavigation-plain.colored{color:#7b61c1}.devicon-readthedocs-original.colored,.devicon-readthedocs-original-wordmark.colored,.devicon-readthedocs-line.colored,.devicon-readthedocs-plain.colored,.devicon-readthedocs-plain-wordmark.colored{color:#32322a}.devicon-realm-plain.colored,.devicon-realm-plain-wordmark.colored{color:#6e60f9}.devicon-rect-plain.colored{color:#262626}.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-renpy-plain.colored{color:#ff7f7f}.devicon-replit-original.colored,.devicon-replit-plain-wordmark.colored,.devicon-replit-plain.colored{color:#f26207}.devicon-rider-plain.colored,.devicon-rider-plain-wordmark.colored{color:#dd1265}.devicon-rocksdb-plain.colored,.devicon-rocksdb-line.colored{color:#ffbe00}.devicon-rockylinux-original.colored,.devicon-rockylinux-plain-wordmark.colored,.devicon-rockylinux-plain.colored{color:#10b982}.devicon-rollup-plain.colored,.devicon-rollup-plain-wordmark.colored,.devicon-rollup-line.colored,.devicon-rollup-line-wordmark.colored{color:#f33}.devicon-ros-original.colored,.devicon-ros-original-wordmark.colored{color:#21304c}.devicon-rspec-plain.colored,.devicon-rspec-plain-wordmark.colored,.devicon-rspec-line.colored,.devicon-rspec-line-wordmark.colored{color:#6de1fa}.devicon-rstudio-plain.colored{color:#75aadb}.devicon-ruby-plain.colored,.devicon-ruby-plain-wordmark.colored{color:#d91404}.devicon-rubymine-plain.colored,.devicon-rubymine-plain-wordmark.colored{color:#fc801d}.devicon-rust-original.colored,.devicon-rust-line.colored,.devicon-rust-plain.colored{color:#000}.devicon-rxjs-plain.colored{color:#df1c85}.devicon-safari-plain.colored,.devicon-safari-plain-wordmark.colored,.devicon-safari-line-wordmark.colored,.devicon-safari-line.colored{color:#1b88ca}.devicon-salesforce-plain.colored{color:#00a1e0}.devicon-sanity-plain.colored{color:#f03e2f}.devicon-sass-original.colored,.devicon-sass-plain.colored{color:#c69}.devicon-scala-plain.colored,.devicon-scala-plain-wordmark.colored{color:#de3423}.devicon-scalingo-plain.colored,.devicon-scalingo-plain-wordmark.colored,.devicon-scalingo-line.colored,.devicon-scalingo-line-wordmark.colored{color:#173aee}.devicon-scikitlearn-plain.colored,.devicon-scikitlearn-line.colored,.devicon-scikitlearn-original-wordmark.colored,.devicon-scikitlearn-plain-wordmark.colored,.devicon-scikitlearn-line-wordmark.colored{color:#f89939}.devicon-sdl-plain.colored{color:#173354}.devicon-selenium-original.colored,.devicon-selenium-plain.colored{color:#cf0a2c}.devicon-sema-original.colored,.devicon-sema-original-wordmark.colored,.devicon-sema-plain.colored,.devicon-sema-plain-wordmark.colored{color:#000}.devicon-sentry-original.colored,.devicon-sentry-original-wordmark.colored,.devicon-sentry-plain.colored,.devicon-sentry-plain-wordmark.colored{color:#362d59}.devicon-reactrouter-plain.colored,.devicon-reactrouter-plain-wordmark.colored{color:#f44250}.devicon-sequelize-plain.colored,.devicon-sequelize-plain-wordmark.colored{color:#3b4b72}.devicon-shopware-original.colored,.devicon-shopware-original-wordmark.colored{color:#179eff}.devicon-shotgrid-plain.colored,.devicon-shotgrid-original-wordmark.colored,.devicon-shotgrid-plain-wordmark.colored{color:#000}.devicon-sketch-plain.colored,.devicon-sketch-plain-wordmark.colored,.devicon-sketch-line.colored,.devicon-sketch-line-wordmark.colored{color:#fdad00}.devicon-slack-plain.colored,.devicon-slack-plain-wordmark.colored{color:#2d333a}.devicon-socketio-original.colored,.devicon-socketio-original-wordmark.colored,.devicon-socketio-plain.colored,.devicon-socketio-plain-wordmark.colored{color:#010101}.devicon-solidity-plain.colored{color:#383838}.devicon-solidjs-plain.colored,.devicon-solidjs-plain-wordmark.colored{color:#2c4f7c}.devicon-sonarqube-original.colored,.devicon-sonarqube-plain-wordmark.colored,.devicon-sonarqube-line.colored,.devicon-sonarqube-line-wordmark.colored,.devicon-sonarqube-plain.colored{color:#549dd0}.devicon-sourcetree-original.colored,.devicon-sourcetree-original-wordmark.colored,.devicon-sourcetree-plain.colored,.devicon-sourcetree-plain-wordmark.colored{color:#205081}.devicon-spack-plain.colored{color:#0f3a80}.devicon-splunk-original-wordmark.colored,.devicon-splunk-plain-wordmark.colored{color:#0c1724}.devicon-spring-original.colored,.devicon-spring-original-wordmark.colored,.devicon-spring-plain.colored,.devicon-spring-plain-wordmark.colored{color:#5fb832}.devicon-spss-plain.colored{color:#cc1e4c}.devicon-spyder-plain.colored,.devicon-spyder-plain-wordmark.colored{color:#8c0000}.devicon-sqlalchemy-plain.colored,.devicon-sqlalchemy-plain-wordmark.colored{color:#333}.devicon-sqldeveloper-plain.colored{color:#adadad}.devicon-sqlite-plain.colored,.devicon-sqlite-plain-wordmark.colored{color:#0f80cc}.devicon-ssh-original.colored,.devicon-ssh-original-wordmark.colored,.devicon-ssh-plain.colored,.devicon-ssh-plain-wordmark.colored{color:#231f20}.devicon-stackoverflow-plain.colored,.devicon-stackoverflow-plain-wordmark.colored,.devicon-stackoverflow-line.colored,.devicon-stackoverflow-line-wordmark.colored{color:#f58025}.devicon-stata-original-wordmark.colored,.devicon-stata-plain-wordmark.colored{color:#195f92}.devicon-storybook-plain.colored,.devicon-storybook-plain-wordmark.colored{color:#ff4785}.devicon-streamlit-plain.colored,.devicon-streamlit-plain-wordmark.colored{color:#7d353b}.devicon-stylus-original.colored{color:#333}.devicon-subversion-original.colored,.devicon-subversion-plain-wordmark.colored,.devicon-subversion-plain.colored{color:#809cc8}.devicon-supabase-plain.colored,.devicon-supabase-plain-wordmark.colored{color:#3ecf8e}.devicon-svelte-plain.colored,.devicon-svelte-plain-wordmark.colored{color:#ff3e00}.devicon-swagger-plain.colored,.devicon-swagger-plain-wordmark.colored{color:#85ea2d}.devicon-swift-plain.colored,.devicon-swift-plain-wordmark.colored{color:#f05138}.devicon-swiper-original.colored,.devicon-swiper-plain.colored{color:#0080ff}.devicon-symfony-original.colored,.devicon-symfony-original-wordmark.colored,.devicon-symfony-plain.colored,.devicon-symfony-plain-wordmark.colored{color:#1a171b}.devicon-tailwindcss-original.colored,.devicon-tailwindcss-plain-wordmark.colored,.devicon-tailwindcss-plain.colored{color:#38bdf8}.devicon-tauri-plain.colored,.devicon-tauri-plain-wordmark.colored{color:#ffc131}.devicon-tensorflow-original.colored,.devicon-tensorflow-original-wordmark.colored,.devicon-tensorflow-line.colored,.devicon-tensorflow-line-wordmark.colored{color:#ff6f00}.devicon-terraform-plain.colored,.devicon-terraform-plain-wordmark.colored{color:#5c4ee5}.devicon-tex-original.colored,.devicon-tex-original-wordmark.colored,.devicon-tex-plain.colored,.devicon-tex-plain-wordmark.colored{color:#000}.devicon-thealgorithms-plain.colored,.devicon-thealgorithms-plain-wordmark.colored{color:#00bcb4}.devicon-threejs-original.colored,.devicon-threejs-original-wordmark.colored{color:#000}.devicon-titaniumsdk-original.colored,.devicon-titaniumsdk-plain.colored{color:#bd222b}.devicon-tomcat-line.colored,.devicon-tomcat-line-wordmark.colored{color:#d1a41a}.devicon-tortoisegit-plain.colored,.devicon-tortoisegit-line.colored{color:#4b8eb4}.devicon-towergit-plain.colored,.devicon-towergit-plain-wordmark.colored{color:#d18900}.devicon-traefikmesh-original.colored,.devicon-traefikmesh-plain-wordmark.colored,.devicon-traefikmesh-line.colored,.devicon-traefikmesh-line-wordmark.colored,.devicon-traefikmesh-plain.colored{color:#9d0fb0}.devicon-traefikproxy-original.colored,.devicon-traefikproxy-plain-wordmark.colored,.devicon-traefikproxy-line.colored,.devicon-traefikproxy-line-wordmark.colored,.devicon-traefikproxy-plain.colored{color:#24a1c1}.devicon-travis-plain.colored,.devicon-travis-plain-wordmark.colored,.devicon-travis-line.colored,.devicon-travis-line-wordmark.colored{color:#2d3136}.devicon-trello-plain.colored,.devicon-trello-plain-wordmark.colored,.devicon-trello-line.colored,.devicon-trello-line-wordmark.colored{color:#0052cc}.devicon-trpc-plain.colored,.devicon-trpc-plain-wordmark.colored{color:#398ccb}.devicon-twitter-original.colored,.devicon-twitter-plain.colored{color:#000}.devicon-typescript-plain.colored,.devicon-typescript-original.colored{color:#007acc}.devicon-typo3-original.colored,.devicon-typo3-plain-wordmark.colored,.devicon-typo3-line.colored,.devicon-typo3-line-wordmark.colored,.devicon-typo3-plain.colored{color:#f49700}.devicon-ubuntu-plain.colored,.devicon-ubuntu-plain-wordmark.colored{color:#e95420}.devicon-unifiedmodelinglanguage-plain.colored,.devicon-unifiedmodelinglanguage-plain-wordmark.colored{color:#452e7f}.devicon-unity-plain.colored,.devicon-unity-plain-wordmark.colored,.devicon-unity-line.colored,.devicon-unity-line-wordmark.colored{color:#4d4d4d}.devicon-unix-original.colored{color:#4051b5}.devicon-unrealengine-original.colored,.devicon-unrealengine-original-wordmark.colored,.devicon-unrealengine-plain.colored,.devicon-unrealengine-plain-wordmark.colored{color:#000}.devicon-uwsgi-plain.colored{color:#bad05e}.devicon-v8-plain.colored,.devicon-v8-original-wordmark.colored,.devicon-v8-plain-wordmark.colored{color:#00c4cc}.devicon-vagrant-plain.colored,.devicon-vagrant-plain-wordmark.colored{color:#127eff}.devicon-vala-plain.colored,.devicon-vala-plain-wordmark.colored{color:#a56de2}.devicon-vault-original.colored,.devicon-vault-plain-wordmark.colored,.devicon-vault-plain.colored{color:#ffd814}.devicon-vercel-original.colored,.devicon-vercel-original-wordmark.colored,.devicon-vercel-line.colored,.devicon-vercel-line-wordmark.colored,.devicon-vercel-plain.colored,.devicon-vercel-plain-wordmark.colored{color:#000}.devicon-vertx-plain.colored,.devicon-vertx-plain-wordmark.colored,.devicon-vertx-line.colored,.devicon-vertx-line-wordmark.colored{color:#782a91}.devicon-vim-plain.colored{color:#179a33}.devicon-visualbasic-plain.colored,.devicon-visualbasic-line.colored{color:#004e8c}.devicon-visualstudio-plain.colored,.devicon-visualstudio-line.colored{color:#52218a}.devicon-vite-original.colored,.devicon-vite-original-wordmark.colored,.devicon-vite-plain.colored,.devicon-vite-plain-wordmark.colored{color:#006bff}.devicon-vitejs-plain.colored{color:#ffdd35}.devicon-vitess-plain.colored,.devicon-vitess-plain-wordmark.colored{color:#f16827}.devicon-vitest-plain.colored{color:#fcc72b}.devicon-vscode-plain.colored,.devicon-vscode-plain-wordmark.colored{color:#3c99d4}.devicon-vsphere-plain.colored,.devicon-vsphere-plain-wordmark.colored,.devicon-vsphere-line.colored,.devicon-vsphere-line-wordmark.colored{color:#0091da}.devicon-vuejs-plain.colored,.devicon-vuejs-plain-wordmark.colored,.devicon-vuejs-line.colored,.devicon-vuejs-line-wordmark.colored{color:#41b883}.devicon-vuestorefront-plain.colored{color:#5ecf7b}.devicon-vuetify-line.colored,.devicon-vuetify-plain.colored{color:#1697f6}.devicon-vyper-plain.colored,.devicon-vyper-plain-wordmark.colored{color:#000}.devicon-wasm-original.colored,.devicon-wasm-plain-wordmark.colored,.devicon-wasm-plain.colored{color:#654ff0}.devicon-webflow-original.colored{color:#4353ff}.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:#07c3f2}.devicon-windows11-original.colored,.devicon-windows11-original-wordmark.colored,.devicon-windows11-plain.colored,.devicon-windows11-plain-wordmark.colored{color:#0078d4}.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-xamarin-original.colored,.devicon-xamarin-original-wordmark.colored,.devicon-xamarin-plain.colored,.devicon-xamarin-plain-wordmark.colored{color:#3498db}.devicon-xcode-plain.colored{color:#069cec}.devicon-xd-plain.colored,.devicon-xd-line.colored{color:#470137}.devicon-xml-plain.colored,.devicon-xml-line.colored,.devicon-xml-original-wordmark.colored,.devicon-xml-plain-wordmark.colored,.devicon-xml-line-wordmark.colored{color:#005fad}.devicon-yaml-plain.colored,.devicon-yaml-original-wordmark.colored,.devicon-yaml-plain-wordmark.colored{color:#cb171e}.devicon-yarn-original.colored,.devicon-yarn-original-wordmark.colored,.devicon-yarn-line.colored,.devicon-yarn-line-wordmark.colored,.devicon-yarn-plain.colored,.devicon-yarn-plain-wordmark.colored{color:#2c8ebb}.devicon-yii-plain.colored,.devicon-yii-plain-wordmark.colored{color:#40b3d8}.devicon-yugabytedb-plain.colored,.devicon-yugabytedb-plain-wordmark.colored{color:#ff5f3b}.devicon-yunohost-plain.colored{color:#fff}.devicon-zend-original.colored,.devicon-zend-original-wordmark.colored,.devicon-zend-line.colored,.devicon-zend-line-wordmark.colored,.devicon-zend-plain.colored,.devicon-zend-plain-wordmark.colored{color:#68b604}.devicon-zig-original.colored,.devicon-zig-plain-wordmark.colored,.devicon-zig-plain.colored{color:#f7a41d} \ No newline at end of file diff --git a/docs/assets/css/style.css b/docs/assets/css/style.css index 37f6cb7b2..2ae904529 100644 --- a/docs/assets/css/style.css +++ b/docs/assets/css/style.css @@ -4,9 +4,9 @@ @import url(https://fonts.googleapis.com/css?family=Damion); :root { /* color */ - --primaryColor: #60be86; + --primaryColor: #3D9561; --primaryColorDark: #2D804E; - --primaryColorLight: #65d693; + --primaryColorLight: #4AB475; --grey: #4c6857; /* sizing */ @@ -415,11 +415,29 @@ input[type='color']:hover { .main { margin: 0 0 0 480px; } -.search { +.result { + max-width: 75px; +} + +.computed-data { + color: var(--primaryColor); + font-weight: bold; + list-style: none; + padding: 0; + width: 80%; + margin: 25px auto; + display: flex; +} + +.computed-data li { + width: 33.33%; text-align: center; } + +.search { + text-align: center; + margin: 4rem 0 1rem 0; } + .search input { - width: 300px; - margin: 4rem; padding: .5rem 1rem; border: 0; border-bottom: 2px solid var(--primaryColor); diff --git a/docs/assets/js/script.js b/docs/assets/js/script.js index 153ca460c..ded17c898 100644 --- a/docs/assets/js/script.js +++ b/docs/assets/js/script.js @@ -14,7 +14,7 @@ devicon.controller('IconListCtrl', function($scope, $http, $compile) { var gitHubPath = 'devicons/devicon'; var url = 'https://api.github.com/repos/' + gitHubPath + '/tags'; - $scope.latestReleaseTagging = 'master'; + $scope.latestReleaseTagging = 'latest'; $http.get(url).success(function (data) { if(data.length > 0) { $scope.latestReleaseTagging = data[0].name; @@ -24,7 +24,20 @@ devicon.controller('IconListCtrl', function($scope, $http, $compile) { }); var versionStr = '@' + $scope.latestReleaseTagging; - var baseUrl = `https://cdn.jsdelivr.net/gh/${gitHubPath}${versionStr}/` + var baseUrl + + // Make sure one of the files exist, otherwise, use fallback link. + var path = '/devicon.json'; + var xhr = new XMLHttpRequest(); + xhr.open('HEAD', path, false); + xhr.send(); + if (xhr.status == "404") { + baseUrl = `https://cdn.jsdelivr.net/gh/${gitHubPath}${versionStr}/` + } else { + baseUrl = `/`; + } + + $scope.baseUrl = baseUrl // Get devicon.json $http.get(baseUrl + 'devicon.json').success(function(data) { @@ -38,9 +51,12 @@ devicon.controller('IconListCtrl', function($scope, $http, $compile) { $scope.icons = []; $scope.selectedIcon = {}; + // Miscellaneous stuff + $scope.totalFonts = 0; // Total fonts and SVGs combined + // background color related stuff // default is the default site background color - $scope.DEFAULT_BACKGROUND = "#60be86"; + $scope.DEFAULT_BACKGROUND = "#3D9561"; $scope.fontBackground = $scope.DEFAULT_BACKGROUND; $scope.svgBackground = $scope.DEFAULT_BACKGROUND; @@ -55,11 +71,14 @@ devicon.controller('IconListCtrl', function($scope, $http, $compile) { // New icon format var icon = { name: devicon.name, + altnames: devicon.altnames, svg: devicon.versions.svg, font: devicon.versions.font, main: "" }; + $scope.totalFonts += devicon.versions.font.length + devicon.versions.svg.length; + // Loop through devicon.json icons for (var i = 0; i < devicon.versions.font.length; i++) { @@ -95,6 +114,9 @@ devicon.controller('IconListCtrl', function($scope, $http, $compile) { $scope.selectedFontIndex = 0; $scope.selectedSvgIndex = 0; + // Computes miscellaneous data + $scope.avgFonts = $scope.totalFonts / $scope.icons.length // Avg number of fonts and SVGs combined + /*------ End of "Re-format devicon.json" ------*/ }); diff --git a/docs/index.html b/docs/index.html index 6b3b645ed..80f1fbf8c 100644 --- a/docs/index.html +++ b/docs/index.html @@ -3,7 +3,7 @@ - + @@ -31,7 +31,7 @@ - + @@ -41,12 +41,7 @@ - - - - +