Compare commits
119 Commits
align-ligh
...
feat/text-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e5777ff2d6 | ||
|
|
4a17349626 | ||
|
|
8906c0f96f | ||
|
|
32a0abc476 | ||
|
|
7c795b98d9 | ||
|
|
4a2765f653 | ||
|
|
34c17ea08e | ||
|
|
5b4a4b5fed | ||
|
|
c7edb6a6cf | ||
|
|
f03b65304f | ||
|
|
25f545d632 | ||
|
|
a3c97bf92a | ||
|
|
6edf5d7040 | ||
|
|
bb53077e97 | ||
|
|
57b0e6a1aa | ||
|
|
038e4dc73d | ||
|
|
6001d195a6 | ||
|
|
293f67bcc8 | ||
|
|
2c71578fa1 | ||
|
|
a8a24ae364 | ||
|
|
73a75ae124 | ||
|
|
3a91838364 | ||
|
|
185e5fa075 | ||
|
|
a456697fbe | ||
|
|
256f567207 | ||
|
|
773e3b78a3 | ||
|
|
5f33a8a401 | ||
|
|
699302e475 | ||
|
|
372d2bf652 | ||
|
|
97a870ca49 | ||
|
|
df229355fb | ||
|
|
0f3afe29fe | ||
|
|
6940dbeca5 | ||
|
|
0d7c599a3a | ||
|
|
b4f1a6385d | ||
|
|
ff3312bef1 | ||
|
|
a3b6c4765a | ||
|
|
da6c0b88b4 | ||
|
|
32a7c170a4 | ||
|
|
c355e76f91 | ||
|
|
fc40975c50 | ||
|
|
f5d0570d18 | ||
|
|
0e003f6e90 | ||
|
|
8465fb4929 | ||
|
|
b0b2ce0d85 | ||
|
|
d8f7d98e95 | ||
|
|
eedb2aff2c | ||
|
|
38cecbb7bf | ||
|
|
b3b88414e7 | ||
|
|
1c14e86dee | ||
|
|
f995c84478 | ||
|
|
090f48c1c7 | ||
|
|
cfb5917a5d | ||
|
|
ab684250cf | ||
|
|
6f51ba60ab | ||
|
|
3bcbbf426c | ||
|
|
36a355d3e2 | ||
|
|
0d6a321f62 | ||
|
|
14c7fd714b | ||
|
|
02d538daaa | ||
|
|
904c769db1 | ||
|
|
ff264625ed | ||
|
|
a3bf6bcbc5 | ||
|
|
a6f5bb9aaf | ||
|
|
f7f464e3c4 | ||
|
|
8c0d46330a | ||
|
|
bb97a00273 | ||
|
|
bc9ee8c022 | ||
|
|
783e3d1f4b | ||
|
|
7ed66b5da7 | ||
|
|
bfc5c0e0da | ||
|
|
60bd2cce96 | ||
|
|
874cf07c39 | ||
|
|
51e1d1df7b | ||
|
|
f9563ad359 | ||
|
|
47d15f2b02 | ||
|
|
86edee2778 | ||
|
|
b63e8f549a | ||
|
|
1a18a1de01 | ||
|
|
4af84b39b7 | ||
|
|
e5414be19f | ||
|
|
e90d3c4b7f | ||
|
|
b5e2cca8d9 | ||
|
|
ad849b8deb | ||
|
|
16d6e34c3f | ||
|
|
5be07bbfb8 | ||
|
|
49559f9e6c | ||
|
|
8dcb579d13 | ||
|
|
275bdc1332 | ||
|
|
d6e8d88808 | ||
|
|
0b62278274 | ||
|
|
0902983a17 | ||
|
|
b13b34fc40 | ||
|
|
c1599b49d1 | ||
|
|
184c846b11 | ||
|
|
1ded8cefd4 | ||
|
|
a522f27bef | ||
|
|
f99c0a0b6d | ||
|
|
cd27ff7dd5 | ||
|
|
91e2898ad4 | ||
|
|
30de0b6d7b | ||
|
|
12ff80b6ac | ||
|
|
e025298b7f | ||
|
|
5bc9b0e13a | ||
|
|
6839eb5bba | ||
|
|
24251aa825 | ||
|
|
7ef4f9ac28 | ||
|
|
63349f7490 | ||
|
|
6e3a39a4cf | ||
|
|
0e22539f06 | ||
|
|
24cc8c1b6f | ||
|
|
677f789686 | ||
|
|
62ab677ee3 | ||
|
|
bf78bc6a24 | ||
|
|
86b89f5518 | ||
|
|
15f841cb09 | ||
|
|
6041e37119 | ||
|
|
9dec2c6daa | ||
|
|
27980bc6be |
3
.github/ISSUE_TEMPLATE/add_normal_icon.yml
vendored
@@ -10,16 +10,19 @@ body:
|
||||
Once you've submitted the issue, sombody from the team will review it, before adding a label which automatically creates a pull request with the other filetypes.
|
||||
If you submit a PNG icon, please note, that the SVG can not be generated from it.
|
||||
- type: input
|
||||
id: name
|
||||
attributes:
|
||||
label: Icon name
|
||||
description: The name has to be unique and should be kebab-case.
|
||||
placeholder: e.g. "icon-name"
|
||||
- type: textarea
|
||||
id: icon
|
||||
attributes:
|
||||
label: Paste icon
|
||||
description: |
|
||||
Please paste the icon here. It will automatically upload it to github.
|
||||
- type: dropdown
|
||||
id: type
|
||||
attributes:
|
||||
label: Icon type
|
||||
options:
|
||||
|
||||
15
.github/workflows/daily_release.yml
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
name: Trigger Cloudflare Pages Build
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 0 * * *' # Runs every day at midnight UTC
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
cron_job:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Run Your Cron Job
|
||||
run: |
|
||||
curl -X POST "${{ secrets.CLOUDFLARE_DEPLOY_HOOK_URL }}"
|
||||
@@ -8,7 +8,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
# This condition ensures the job only runs when the 'approved' label is added and the issue title starts with 'feat(icons): add '
|
||||
if: |
|
||||
contains(github.event.issue.labels.*.name, 'approved') &&
|
||||
contains(github.event.issue.labels.*.name, 'approved') &&
|
||||
startsWith(github.event.issue.title, 'feat(icons): add ')
|
||||
env:
|
||||
ICON_TYPE: ${{ contains(github.event.issue.labels.*.name, 'normal-icon') && 'normal' || 'monochrome' }}
|
||||
@@ -49,8 +49,6 @@ jobs:
|
||||
INPUT_ISSUE_FORM: ${{ steps.parse_issue_form.outputs.ISSUE_FORM }}
|
||||
- name: Generate File Tree
|
||||
run: python scripts/generate_file_tree.py svg png webp
|
||||
- name: Generate ICONS.md
|
||||
run: python scripts/generate_icons_page.py
|
||||
- name: Generate full metadata file
|
||||
run: python scripts/generate_metadata.py
|
||||
- name: Extract icon name
|
||||
|
||||
@@ -8,7 +8,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
# This condition ensures the job only runs when the 'approved' label is updated and the issue title starts with 'feat(icons): update '
|
||||
if: |
|
||||
contains(github.event.issue.labels.*.name, 'approved') &&
|
||||
contains(github.event.issue.labels.*.name, 'approved') &&
|
||||
startsWith(github.event.issue.title, 'feat(icons): update ')
|
||||
env:
|
||||
ICON_TYPE: ${{ contains(github.event.issue.labels.*.name, 'normal-icon') && 'normal' || 'monochrome' }}
|
||||
@@ -49,8 +49,6 @@ jobs:
|
||||
INPUT_ISSUE_FORM: ${{ steps.parse_issue_form.outputs.ISSUE_FORM }}
|
||||
- name: Generate File Tree
|
||||
run: python scripts/generate_file_tree.py svg png webp
|
||||
- name: Generate ICONS.md
|
||||
run: python scripts/generate_icons_page.py
|
||||
- name: Generate full metadata file
|
||||
run: python scripts/generate_metadata.py
|
||||
- name: Extract icon name
|
||||
|
||||
@@ -77,14 +77,9 @@ jobs:
|
||||
with:
|
||||
python-version: "3.9"
|
||||
|
||||
- name: Generate ICONS.md
|
||||
run: python scripts/generate_icons_page.py
|
||||
|
||||
- name: Commit and Push Changes
|
||||
run: |
|
||||
git config --global user.email "homarr-labs@proton.me"
|
||||
git config --global user.name "Dashboard Icons Bot"
|
||||
git add ICONS.md
|
||||
git commit -m "ci(github-actions): generate ICONS.md" || exit 0
|
||||
git pull --rebase origin ${{ github.ref_name }}
|
||||
git push origin HEAD:${{ github.ref_name }}
|
||||
|
||||
@@ -1,30 +1,42 @@
|
||||
## Code of Conduct
|
||||
# Code of Conduct
|
||||
|
||||
We are committed to creating a welcoming and harassment-free environment for everyone who contributes to our icon repository. This includes people of all genders, gender identities, sexual orientations, disabilities, appearances, body sizes, races, ages, religions, and nationalities.
|
||||
## Our Commitment
|
||||
|
||||
### Communication
|
||||
We are committed to maintaining a welcoming and inclusive environment for everyone who contributes to our icon collection. This includes people of all backgrounds, identities, and experiences.
|
||||
|
||||
All communication should be appropriate for a professional audience, respectful, constructive, and considerate of people from different backgrounds. Please aim to create a positive and inclusive atmosphere.
|
||||
## Expected Behavior
|
||||
|
||||
### Prohibited Behavior
|
||||
- Be respectful and constructive in all communications
|
||||
- Focus on what's best for the community
|
||||
- Show empathy towards other community members
|
||||
- Be open to different viewpoints and experiences
|
||||
|
||||
We do not tolerate harassment, intimidation, discrimination, or any other inappropriate conduct, whether in communication or behavior. Prohibited actions include:
|
||||
## Unacceptable Behavior
|
||||
|
||||
- The use of sexual language or imagery
|
||||
- Deliberate intimidation or stalking
|
||||
- Unwelcome sexual attention or harassment
|
||||
- Inappropriate physical contact
|
||||
- Disruptions during events or conversations
|
||||
- Discrimination of any kind
|
||||
The following behaviors are unacceptable:
|
||||
|
||||
### Reporting
|
||||
- Harassment, discrimination, or intimidation
|
||||
- Offensive comments related to personal characteristics
|
||||
- Unwelcome sexual attention or advances
|
||||
- Disruptive behavior in community spaces
|
||||
- Any other conduct that could reasonably be considered inappropriate
|
||||
|
||||
If you witness or experience behavior that violates this code of conduct, please report it immediately to [homarr-labs@proton.me](mailto:homarr-labs@proton.me). All reports will be reviewed confidentially and promptly, and appropriate actions will be taken.
|
||||
## Reporting
|
||||
|
||||
### Consequences
|
||||
If you experience or witness behavior that violates this code:
|
||||
|
||||
Anyone violating this code of conduct may face consequences, such as warnings, removal from the repository, or a ban from future participation. We take violations seriously to ensure a safe and welcoming environment for everyone.
|
||||
1. Contact us at [homarr-labs@proton.me](mailto:homarr-labs@proton.me)
|
||||
2. Provide as much detail as possible about the incident
|
||||
3. All reports will be reviewed confidentially
|
||||
|
||||
### Acknowledgment
|
||||
## Enforcement
|
||||
|
||||
By contributing to this repository, you agree to adhere to this code of conduct. Thank you for helping us create an inclusive and supportive environment for all contributors.
|
||||
Violations of this code may result in:
|
||||
|
||||
- Warning
|
||||
- Temporary suspension
|
||||
- Permanent ban from the community
|
||||
|
||||
## Attribution
|
||||
|
||||
This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org/), version 2.0.
|
||||
|
||||
146
CONTRIBUTING.md
@@ -1,104 +1,104 @@
|
||||

|
||||
# Contributing to Dashboard Icons
|
||||
|
||||
## Contribution Guidelines
|
||||
|
||||
Thank you for your interest in contributing to the icon repository! To ensure smooth collaboration, please follow these guidelines. Your contributions help make this project better.
|
||||
Thank you for your interest in contributing to our icon collection! These guidelines will help ensure smooth collaboration and maintain the quality of our collection.
|
||||
|
||||
## Table of Contents
|
||||
|
||||
- [Contribution Guidelines](#contribution-guidelines)
|
||||
- [Table of Contents](#table-of-contents)
|
||||
- [Icon Specifications](#icon-specifications)
|
||||
- [Format](#format)
|
||||
- [Cropping](#cropping)
|
||||
- [Light and Dark Versions](#light-and-dark-versions)
|
||||
- [File Naming](#file-naming)
|
||||
- [Quality Requirements](#quality-requirements)
|
||||
- [Git Commit Messages](#git-commit-messages)
|
||||
- [Contribution Process](#contribution-process)
|
||||
- [Code of Conduct](#code-of-conduct)
|
||||
- [Contact](#contact)
|
||||
- [Contributing to Dashboard Icons](#contributing-to-dashboard-icons)
|
||||
- [Table of Contents](#table-of-contents)
|
||||
- [Icon Specifications](#icon-specifications)
|
||||
- [Format Requirements](#format-requirements)
|
||||
- [Quality Standards](#quality-standards)
|
||||
- [Light \& Dark Variants](#light--dark-variants)
|
||||
- [File Naming](#file-naming)
|
||||
- [Requesting New Icons](#requesting-new-icons)
|
||||
- [Improving the Repository](#improving-the-repository)
|
||||
- [Code of Conduct](#code-of-conduct)
|
||||
- [Questions?](#questions)
|
||||
|
||||
## Icon Specifications
|
||||
|
||||
### Format
|
||||
### Format Requirements
|
||||
|
||||
- **SVG Format Required**: All icons should be submitted in SVG format. If an SVG version is unavailable, a PNG version will suffice, and a WEBP version will be generated accordingly.
|
||||
- **Automatic PNG and WEBP Generation**: PNG and WEBP versions are generated automatically from the SVG (or PNG) files using the following settings:
|
||||
- **Dimensions**:
|
||||
- Height: 512 pixels
|
||||
- Width: Auto (maintaining aspect ratio)
|
||||
- **Transparency**: Enabled
|
||||
- **SVG Format**: All icons must be submitted in SVG format
|
||||
- **Auto-Generated Formats**: PNG and WEBP versions are generated automatically with:
|
||||
- Height: 512 pixels
|
||||
- Width: Auto (maintaining aspect ratio)
|
||||
- Transparency: Enabled
|
||||
|
||||
### Cropping
|
||||
### Quality Standards
|
||||
|
||||
- **Remove Empty Space**: Crop any empty space from your SVG files to ensure the icon is properly centered and sized. You can use [SVG Crop](https://svgcrop.com/) to assist with this.
|
||||
- **Clean SVG**: No embedded raster images in SVG files
|
||||
- **Proper Cropping**: Remove empty space for proper centering
|
||||
- Use [SVG Crop](https://svgcrop.com/) for assistance
|
||||
- **No Upscaling**: Maintain original quality without artificial enlargement
|
||||
|
||||
### Light and Dark Versions
|
||||
### Light & Dark Variants
|
||||
|
||||
- **Monochrome or Single Primary Color Icons**:
|
||||
- If your icon is monochrome, please provide additional versions if applicable:
|
||||
- **`-light` Version**: For icons primarily dark or using black as a main color, provide a `-light` version for light backgrounds.
|
||||
- **`-dark` Version**: For icons primarily light or using white as a main color, provide a `-dark` version for dark backgrounds.
|
||||
- **Examples**:
|
||||
- A black logo should include a `-light` version where black is inverted.
|
||||
- A multicolored logo using black should provide a `-light` version with the black replaced.
|
||||
- **Tool Recommendation**: [DEEditor](https://deeditor.com/) can help adjust icon colors if needed.
|
||||
For monochrome or single-color icons:
|
||||
|
||||
- **Light Variant**: Required for dark backgrounds
|
||||
- Invert black elements
|
||||
- Adjust colors for visibility
|
||||
- **Dark Variant**: Required for light backgrounds
|
||||
- Invert white elements
|
||||
- Adjust colors for visibility
|
||||
|
||||
**Tool Recommendation**: [DEEditor](https://deeditor.com/) for color adjustments
|
||||
|
||||
### File Naming
|
||||
|
||||
- **Kebab Case**: Name your files using kebab case (lowercase words separated by hyphens). For example, "Nextcloud Calendar" becomes `nextcloud-calendar.svg`.
|
||||
- **Note**: Filenames are automatically converted to kebab case, but please double-check your naming to avoid conflicts or errors.
|
||||
- **Kebab Case**: Use lowercase with hyphens
|
||||
- Example: "Nextcloud Calendar" → `nextcloud-calendar.svg`
|
||||
- **Variant Suffixes**:
|
||||
- `-light` for dark backgrounds
|
||||
- `-dark` for light backgrounds
|
||||
|
||||
### Quality Requirements
|
||||
## Requesting New Icons
|
||||
|
||||
- **No Upscaled Images**: Icons should maintain their original quality without artificial enlargement.
|
||||
- **No Embedded Raster Images in SVGs**: Ensure that SVG files are true vector graphics without embedded raster images.
|
||||
To request a new icon:
|
||||
|
||||
## Git Commit Messages
|
||||
1. **Create an Issue**:
|
||||
- Use the appropriate [issue template](https://github.com/homarr-labs/dashboard-icons/issues/new/choose)
|
||||
- Choose between "Light & dark icon" or "Normal icon" template
|
||||
|
||||
- **Use Semantic Commits**: Follow the format <type>(scope): description:
|
||||
- `feat(icons): add nextcloud-calendar` when adding new icons.
|
||||
2. **Provide Information**:
|
||||
- Service/application name
|
||||
- Official logo or icon source
|
||||
- Any specific requirements or notes
|
||||
|
||||
## Contribution Process
|
||||
3. **Upload Icon** (optional):
|
||||
- Attach the SVG file directly to the issue
|
||||
- Include both light and dark variants if applicable
|
||||
|
||||
### Adding an icon
|
||||
4. **Wait for Review**:
|
||||
- Our team will review your request
|
||||
- We may request adjustments if needed
|
||||
- Once approved, we'll add the icon to the collection
|
||||
|
||||
To add an icon to the repository, follow these steps:
|
||||
## Improving the Repository
|
||||
|
||||
1. **Create issue**: Create an issue from one of the add [templates](https://github.com/homarr-labs/dashboard-icons/issues/new/choose):
|
||||
- **Light & dark icon**: Use this template to request a new icon with both light and dark versions.
|
||||
- **Normal icon**: Use this template to request a new icon with a single version.
|
||||
2. **Fill out the template**: Provide the requested information in the template. You can upload the icons directly to the issue.
|
||||
3. **Wait for approval**: Wait for the issue to be approved by a maintainer. If any changes are needed, they will be requested in the issue.
|
||||
4. **Maintainer approves & merges**: Once the issue is approved, a pull request with all the necessary changes will be created and merged by a maintainer.
|
||||
To contribute to the repository itself:
|
||||
|
||||
### Updating an icon
|
||||
1. **Fork the Repository**
|
||||
2. **Make Your Changes**:
|
||||
- Documentation improvements
|
||||
- Website enhancements
|
||||
- Repository maintenance
|
||||
- Bug fixes
|
||||
|
||||
To update an icon in the repository, follow these steps:
|
||||
|
||||
1. **Create issue**: Create an issue from the update [template](https://github.com/homarr-labs/dashboard-icons/issues/new/choose).
|
||||
- **Light & dark icon**: Use this template to request a new icon with both light and dark versions.
|
||||
- **Normal icon**: Use this template to request a new icon with a single version.
|
||||
2. **Fill out the template**: Provide the requested information in the template. You can upload the icons directly to the issue.
|
||||
3. **Wait for approval**: Wait for the issue to be approved by a maintainer. If any changes are needed, they will be requested in the issue.
|
||||
4. **Maintainer approves & merges**: Once the issue is approved, a pull request with all the necessary changes will be created and merged by a maintainer.
|
||||
|
||||
### Change metadata / any other change
|
||||
|
||||
To change the metadata of an existing icon or any other change, follow these steps:
|
||||
|
||||
1. **Fork the Repository**: Create a fork of this repository on your GitHub account.
|
||||
2. **Clone the Repository**: Clone your forked repository to your local machine.
|
||||
3. **Add Your Icons**: Place your SVG icon(s) into the appropriate directory, following the specifications above.
|
||||
4. **Commit Your Changes**: Commit your additions with clear and descriptive commit messages using Gitmoji.
|
||||
5. **Push to Your Fork**: Push your committed changes to your forked repository on GitHub.
|
||||
6. **Create a Pull Request**: Submit a pull request to the main repository for review.
|
||||
3. **Submit a Pull Request**:
|
||||
- Use semantic commit messages following the format: `<type>(scope): description`
|
||||
- `feat(icons): add nextcloud-calendar`
|
||||
- `fix(website): correct icon preview`
|
||||
- `docs(readme): update installation instructions`
|
||||
- Reference any related issues
|
||||
- Follow our [Code of Conduct](CODE_OF_CONDUCT.md)
|
||||
|
||||
## Code of Conduct
|
||||
|
||||
By contributing, you agree to abide by our [Code of Conduct](CODE_OF_CONDUCT.md). Please review it to understand the expectations for all participants.
|
||||
|
||||
## Contact
|
||||
## Questions?
|
||||
|
||||
If you have any questions or need assistance, feel free to reach out at [homarr-labs@proton.me](mailto:homarr-labs@proton.me). I'm happy to help.
|
||||
If you have any questions or need assistance, contact us at [homarr-labs@proton.me](mailto:homarr-labs@proton.me).
|
||||
|
||||
184
README.md
@@ -1,116 +1,126 @@
|
||||
> [!WARNING]
|
||||
> The repository has been migrated from `walkxcode` to `homarr-labs` as I no longer have the capacity to maintain it. The Homarr team will now handle management and maintenance, ensuring that functionality remains unchanged. The project will always be usable outside of Homarr and no breaking changes will be introduced.
|
||||
> ― *Bjorn*
|
||||
>
|
||||
> The license and guidelines have been updated, so please review them. To help with maintenance, contact us at [homarr-labs@proton.me](mailto:homarr-labs@proton.me).
|
||||
# Dashboard Icons
|
||||
|
||||
[](https://www.jsdelivr.com/package/gh/homarr-labs/dashboard-icons)
|
||||
[](https://www.jsdelivr.com/package/gh/walkxcode/dashboard-icons)
|
||||
[](https://www.jsdelivr.com/package/gh/walkxcode/dashboard-icons)
|
||||
[](https://www.jsdelivr.com/package/gh/homarr-labs/dashboard-icons)
|
||||
[](https://github.com/homarr-labs/dashboard-icons/stargazers)
|
||||
[](https://github.com/homarr-labs/dashboard-icons/graphs/contributors)
|
||||
|
||||
[https://icons.homarr.dev](https://icons.homarr.dev)
|
||||
> **Your definitive source for dashboard icons.**
|
||||
|
||||
## Dashboard Icons
|
||||
A collection of over 1800 curated icons for services, applications and tools, designed specifically for dashboards and app directories.
|
||||
|
||||
Your definitive source for dashboard icons.
|
||||
[**View icons →**](https://icons.homarr.dev)
|
||||
**[→ Browse the collection at dashboardicons.com](https://dashboardicons.com)**
|
||||
|
||||
## Table of Contents
|
||||
## Why Dashboard Icons?
|
||||
|
||||
- [Dashboard Icons](#dashboard-icons)
|
||||
- [Table of Contents](#table-of-contents)
|
||||
- [Icon Requests](#icon-requests)
|
||||
- [Supported Dashboards](#supported-dashboards)
|
||||
- [Usage and Details](#usage-and-details)
|
||||
- [Direct Links](#direct-links)
|
||||
- [Base URL](#base-url)
|
||||
- [Icon Name](#icon-name)
|
||||
- [Formats](#formats)
|
||||
- [Dark/Light Variants](#darklight-variants)
|
||||
- [Downloading Icons](#downloading-icons)
|
||||
- [Disclaimer](#disclaimer)
|
||||
- **Comprehensive Collection**: 1800+ icons for all popular services and tools
|
||||
- **Consistent Style**: Uniform visual language across different services
|
||||
- **Multiple Formats**: Available in SVG, PNG, and WEBP to suit your needs
|
||||
- **Light & Dark Variants**: Icons optimized for both light and dark themes
|
||||
- **Community-Driven**: Easy process to request missing icons
|
||||
|
||||
## Icon Requests
|
||||
<p align="center">
|
||||
<a href="https://dashboardicons.com">
|
||||
<video width="650" autoplay loop muted playsinline>
|
||||
<source src="assets/preview.mp4" type="video/mp4">
|
||||
Your browser does not support the video tag.
|
||||
</video>
|
||||
</a>
|
||||
</p>
|
||||
|
||||
If you’d like to add a new icon, please review our [Contribution Guidelines](CONTRIBUTING.md) and then submit a request using [our issue templates](https://github.com/homarr-labs/dashboard-icons/issues/new/choose).
|
||||
## Using the Icons
|
||||
|
||||
## Supported Dashboards
|
||||
### Website
|
||||
|
||||
Dashboard Icons integrate seamlessly with several popular dashboards, including:
|
||||
Find and download icons at [dashboardicons.com](https://dashboardicons.com):
|
||||
|
||||
1. Search for the icon you need
|
||||
2. Click on an icon to view details
|
||||
3. Choose your preferred format
|
||||
4. Download or copy the direct link
|
||||
|
||||
### Direct Links
|
||||
|
||||
Use icons from CDN with this pattern:
|
||||
|
||||
```
|
||||
<Base URL>/<Format>/<Icon Name>.<Format>
|
||||
```
|
||||
|
||||
**Base URL options:**
|
||||
- jsDelivr (recommended): `https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons`
|
||||
- GitHub Direct: `https://raw.githubusercontent.com/homarr-labs/dashboard-icons/main`
|
||||
|
||||
**Example:**
|
||||
```html
|
||||
<img src="https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/plex.svg" alt="Plex">
|
||||
```
|
||||
|
||||
### Technical Details
|
||||
|
||||
- **Naming Convention**: Kebab-case (lowercase with hyphens)
|
||||
- Example: "Nextcloud Calendar" → `nextcloud-calendar`
|
||||
|
||||
- **Available Formats**:
|
||||
- SVG: Vector format (original source)
|
||||
- PNG: 512px height (auto-generated)
|
||||
- WEBP: 512px height (auto-generated)
|
||||
|
||||
- **Variants**:
|
||||
- `-light` suffix for dark backgrounds (e.g., `github-light.svg`)
|
||||
- `-dark` suffix for light backgrounds (e.g., `github-dark.svg`)
|
||||
|
||||
- **Command Line**:
|
||||
```bash
|
||||
# Download with curl
|
||||
curl -O https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/nextcloud.svg
|
||||
|
||||
# Download with wget
|
||||
wget https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/nextcloud.svg
|
||||
```
|
||||
|
||||
## Dashboard Integration
|
||||
|
||||
These icons integrate seamlessly with popular dashboard applications:
|
||||
|
||||
- [Homarr](https://github.com/ajnart/homarr)
|
||||
- [Homepage](https://github.com/gethomepage/homepage)
|
||||
- [Dashy](https://github.com/Lissy93/dashy)
|
||||
|
||||
## Usage and Details
|
||||
...and many others!
|
||||
|
||||
### Direct Links
|
||||
## Contributing
|
||||
|
||||
You can use icons directly from GitHub or through the lightning-fast jsDelivr CDN. The structure of a direct link is as follows:
|
||||
### Request Icons
|
||||
|
||||
```
|
||||
https://<Base URL>/<Format>/<Name>.<Format>
|
||||
```
|
||||
Need an icon that's not in our collection?
|
||||
|
||||
For example, the WEBP version of the Nextcloud Calendar icon is available at:
|
||||
1. Check the [Contribution Guidelines](CONTRIBUTING.md) for specifications
|
||||
2. Submit a request using our [issue templates](https://github.com/homarr-labs/dashboard-icons/issues/new/choose)
|
||||
3. Provide service details and optionally upload the icon
|
||||
4. Our team will review, optimize, and add it to the collection
|
||||
|
||||
```
|
||||
https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/webp/nextcloud-calendar.webp
|
||||
```
|
||||
### Improve the Repository
|
||||
|
||||
#### Base URL
|
||||
Want to help with the repository itself?
|
||||
|
||||
We recommend using jsDelivr:
|
||||
- Review our [Contribution Guidelines](CONTRIBUTING.md)
|
||||
- Fork the repository, make your changes, and submit a pull request
|
||||
- We welcome help with documentation, website improvements, and maintenance
|
||||
|
||||
- `https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons`
|
||||
## Support
|
||||
|
||||
Alternatively, you can reference the repository directly:
|
||||
- **GitHub Issues**: Report bugs or request icons
|
||||
- **Email**: [homarr-labs@proton.me](mailto:homarr-labs@proton.me)
|
||||
|
||||
- `https://raw.githubusercontent.com/homarr-labs/dashboard-icons/refs/heads/main`
|
||||
## Legal
|
||||
|
||||
#### Icon Name
|
||||
**Disclaimer**: All product names, trademarks, and registered trademarks are the property of their respective owners. Icons are used for identification purposes only and do not imply endorsement.
|
||||
|
||||
Icons follow kebab-case formatting (all lowercase words separated by hyphens). For example, "Nextcloud Calendar" becomes `nextcloud-calendar`.
|
||||
**License**: This project is available under the terms of the [LICENSE](LICENSE) file.
|
||||
|
||||
#### Formats
|
||||
---
|
||||
|
||||
Icons are available in these formats:
|
||||
|
||||
- SVG
|
||||
- PNG
|
||||
- WEBP
|
||||
|
||||
*All icons are generated from the base SVG file. For more details, see the [Contribution Guidelines](CONTRIBUTING.md).*
|
||||
|
||||
### Dark/Light Variants
|
||||
|
||||
Some icons may have very light or dark colors, which might reduce visibility on certain backgrounds. In such cases, a `-light` or `-dark` suffix is appended—for instance, "2fauth" becomes `2fauth-light`.
|
||||
|
||||
*More specifics are available in the [Contribution Guidelines](CONTRIBUTING.md).*
|
||||
|
||||
### Downloading Icons
|
||||
|
||||
1. **Browse & Download:**
|
||||
Visit [https://icons.homarr.dev](https://icons.homarr.dev) to easily view and download icons.
|
||||
|
||||
2. **Using the Browser:**
|
||||
On the icons page ([ICONS.md](ICONS.md)), right-click any icon link and select "Save link as".
|
||||
**Note:** Loading the icons page displays every icon in the repository, which may lead to high data usage, slow performance, or even browser crashes on less powerful devices. For faster access, use the direct links or download icons individually.
|
||||
|
||||
3. **Using the Terminal:**
|
||||
Download icons via `curl` or `wget` by using the following structure:
|
||||
|
||||
```bash
|
||||
curl -O https://<Base URL>/<Format>/<Name>.<Format>
|
||||
```
|
||||
|
||||
or
|
||||
|
||||
```bash
|
||||
wget https://<Base URL>/<Format>/<Name>.<Format>
|
||||
```
|
||||
|
||||
## Disclaimer
|
||||
|
||||
Unless stated otherwise, all images and assets in this repository—including product names, trademarks, and registered trademarks—belong to their respective owners and are used solely for identification purposes. Their inclusion does not imply endorsement.
|
||||
|
||||
For more details, please review the [LICENSE](LICENSE). If you have any questions or concerns, contact us at [homarr-labs@proton.me](mailto:homarr-labs@proton.me).
|
||||
<p align="center">
|
||||
Made with ♥ by the <a href="https://github.com/homarr-labs">Homarr Labs</a> team and contributors
|
||||
</p>
|
||||
|
||||
916
SEO.md
Normal file
@@ -0,0 +1,916 @@
|
||||
# Dashboard Icons SEO Audit 2025
|
||||
|
||||
## Overview
|
||||
|
||||
This document presents a comprehensive SEO audit for the Dashboard Icons website built with Next.js 15.3. The audit analyzes current implementation and provides detailed recommendations based on the latest Next.js best practices for optimal search engine visibility and performance.
|
||||
|
||||
## Table of Contents
|
||||
|
||||
- [Current Implementation Assessment](#current-implementation-assessment)
|
||||
- [Metadata Implementation](#metadata-implementation)
|
||||
- [SEO Optimization Checklist](#seo-optimization-checklist)
|
||||
- [Technical SEO](#technical-seo)
|
||||
- [Performance Optimization](#performance-optimization)
|
||||
- [Content and User Experience](#content-and-user-experience)
|
||||
- [Mobile Optimization](#mobile-optimization)
|
||||
- [Advanced Next.js 15.3 SEO Features](#advanced-nextjs-153-seo-features)
|
||||
- [Recommendations](#recommendations)
|
||||
- [Conclusion](#conclusion)
|
||||
- [References](#references)
|
||||
|
||||
## Current Implementation Assessment
|
||||
|
||||
The Dashboard Icons project currently implements several good SEO practices:
|
||||
|
||||
- [x] Basic metadata configuration in layout.tsx and page.tsx files
|
||||
- [x] Dynamic title and description generation with appropriate keyword inclusion
|
||||
- [x] Open Graph tags for social sharing with proper image dimensions
|
||||
- [x] Twitter Card metadata implementation for social visibility
|
||||
- [x] Proper use of semantic HTML elements for content structure
|
||||
- [x] Server-side rendering for improved indexing and crawler access
|
||||
- [x] Canonical URLs properly configured across page types
|
||||
- [x] Image optimization with next/image component for improved Core Web Vitals
|
||||
|
||||
However, there are several opportunities for improvement:
|
||||
|
||||
- [ ] No robots.txt implementation for directing crawler behavior
|
||||
- [ ] Missing XML sitemap for improved content discovery
|
||||
- [ ] No structured data (JSON-LD) for enhanced search results
|
||||
- [ ] Limited use of advanced Next.js 15.3 metadata features
|
||||
- [ ] Missing breadcrumb navigation for enhanced user experience and SEO
|
||||
- [ ] No dynamic OG images for improved social sharing
|
||||
|
||||
## Metadata Implementation
|
||||
|
||||
The project uses Next.js App Router's built-in metadata API effectively across different page types:
|
||||
|
||||
### Root Layout Metadata Analysis
|
||||
|
||||
In `layout.tsx`, the site establishes global metadata that provides a solid foundation:
|
||||
|
||||
```typescript
|
||||
// In layout.tsx
|
||||
export async function generateMetadata(): Promise<Metadata> {
|
||||
const { totalIcons } = await getTotalIcons()
|
||||
|
||||
return {
|
||||
metadataBase: new URL(WEB_URL),
|
||||
title: websiteTitle,
|
||||
description: getDescription(totalIcons),
|
||||
keywords: ["dashboard icons", "service icons", "application icons", "tool icons", "web dashboard", "app directory"],
|
||||
robots: {
|
||||
index: true,
|
||||
follow: true,
|
||||
googleBot: "index, follow",
|
||||
},
|
||||
openGraph: {
|
||||
siteName: WEB_URL,
|
||||
title: websiteTitle,
|
||||
url: BASE_URL,
|
||||
description: getDescription(totalIcons),
|
||||
images: [
|
||||
{
|
||||
url: "/og-image.png",
|
||||
width: 1200,
|
||||
height: 630,
|
||||
alt: "Dashboard Icons - Dashboard icons for self hosted services",
|
||||
type: "image/png",
|
||||
},
|
||||
],
|
||||
},
|
||||
twitter: {
|
||||
card: "summary_large_image",
|
||||
title: WEB_URL,
|
||||
description: getDescription(totalIcons),
|
||||
images: ["/og-image.png"],
|
||||
},
|
||||
applicationName: WEB_URL,
|
||||
alternates: {
|
||||
canonical: BASE_URL,
|
||||
},
|
||||
// Additional configurations...
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**Strengths:**
|
||||
- Properly sets metadataBase for all relative URLs
|
||||
- Includes comprehensive metadata for SEO and social sharing
|
||||
- Dynamically generates description based on content (totalIcons)
|
||||
- Properly configures robots directives
|
||||
|
||||
**Areas for improvement:**
|
||||
- The `websiteTitle` ("Free Dashboard Icons - Download High-Quality UI & App Icons") could be more specific
|
||||
- The OpenGraph URL points to BASE_URL (CDN) rather than WEB_URL (the actual site)
|
||||
- Twitter title uses WEB_URL instead of an actual title
|
||||
- Missing locale information for international SEO
|
||||
|
||||
### Page-Specific Metadata Analysis
|
||||
|
||||
For individual icon pages, metadata is comprehensively generated based on icon data:
|
||||
|
||||
```typescript
|
||||
// In [icon]/page.tsx
|
||||
export async function generateMetadata({ params, searchParams }: Props, parent: ResolvingMetadata): Promise<Metadata> {
|
||||
const { icon } = await params
|
||||
const iconsData = await getAllIcons()
|
||||
// ...processing code...
|
||||
const formattedIconName = icon
|
||||
.split("-")
|
||||
.map((word) => word.charAt(0).toUpperCase() + word.slice(1))
|
||||
.join(" ")
|
||||
|
||||
return {
|
||||
title: `${formattedIconName} Icon | Dashboard Icons`,
|
||||
description: `Download the ${formattedIconName} icon in SVG, PNG, and WEBP formats for FREE. Part of a collection of ${totalIcons} curated icons...`,
|
||||
openGraph: {
|
||||
title: `${formattedIconName} Icon | Dashboard Icons`,
|
||||
description: `Download the ${formattedIconName} icon in SVG, PNG, and WEBP formats for FREE...`,
|
||||
type: "article",
|
||||
url: pageUrl,
|
||||
authors: [authorName],
|
||||
publishedTime: updateDate.toISOString(),
|
||||
modifiedTime: updateDate.toISOString(),
|
||||
section: "Icons",
|
||||
tags: [formattedIconName, "dashboard icon", "service icon", ...],
|
||||
},
|
||||
twitter: {
|
||||
card: "summary_large_image",
|
||||
title: `${formattedIconName} Icon | Dashboard Icons`,
|
||||
description: `Download the ${formattedIconName} icon...`,
|
||||
images: [iconImageUrl],
|
||||
},
|
||||
alternates: {
|
||||
canonical: pageUrl,
|
||||
media: {
|
||||
png: iconImageUrl,
|
||||
svg: `${BASE_URL}/svg/${icon}.svg`,
|
||||
webp: `${BASE_URL}/webp/${icon}.webp`,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**Strengths:**
|
||||
- Excellent dynamic title generation with proper formatting
|
||||
- Comprehensive description with icon-specific information
|
||||
- Proper OpenGraph article configuration with author and timestamp data
|
||||
- Well-structured alternates configuration for different media types
|
||||
- Good keyword inclusion in meta tags
|
||||
|
||||
**Areas for improvement:**
|
||||
- Could benefit from structured data for product/image entity
|
||||
- Could implement dynamic OG images with the ImageResponse API
|
||||
|
||||
### Icons Browse Page Metadata Analysis
|
||||
|
||||
The icons browse page implements specific metadata optimized for its purpose:
|
||||
|
||||
```typescript
|
||||
// In icons/page.tsx
|
||||
export async function generateMetadata(): Promise<Metadata> {
|
||||
const icons = await getIconsArray()
|
||||
const totalIcons = icons.length
|
||||
|
||||
return {
|
||||
title: "Browse Icons | Free Dashboard Icons",
|
||||
description: `Search and browse through our collection of ${totalIcons} curated icons for services, applications and tools...`,
|
||||
keywords: [
|
||||
"browse icons",
|
||||
"dashboard icons",
|
||||
"icon search",
|
||||
// ...
|
||||
],
|
||||
openGraph: {
|
||||
title: "Browse Icons | Free Dashboard Icons",
|
||||
description: `Search and browse through our collection of ${totalIcons} curated icons...`,
|
||||
// ...
|
||||
},
|
||||
// Additional configurations...
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**Strengths:**
|
||||
- Clear, purpose-driven title
|
||||
- Dynamic description that includes the collection size
|
||||
- Relevant keywords for the browse page functionality
|
||||
|
||||
**Areas for improvement:**
|
||||
- Could implement pagination metadata (prev/next) if applicable
|
||||
- Missing structured data for collection/gallery
|
||||
|
||||
## SEO Optimization Checklist
|
||||
|
||||
### Metadata and Head Tags
|
||||
|
||||
- [x] Page titles are unique, descriptive, and include keywords
|
||||
- [x] Meta descriptions are compelling and keyword-rich (under 160 characters)
|
||||
- [x] Open Graph tags are implemented for social sharing
|
||||
- [x] Twitter Card metadata is implemented
|
||||
- [x] Canonical URLs are properly set
|
||||
- [ ] Structured data/JSON-LD for rich snippets
|
||||
- [x] Properly configured viewport meta tag
|
||||
- [x] Favicon and apple-touch-icon are set
|
||||
- [x] Keywords meta tag is implemented (though not as influential for rankings as before)
|
||||
- [ ] Language and locale information (hreflang) for international SEO
|
||||
|
||||
### Indexation and Crawling
|
||||
|
||||
- [x] Server-side rendering for improved indexability
|
||||
- [ ] robots.txt file implementation
|
||||
- [ ] XML sitemap generation
|
||||
- [x] Proper HTTP status codes (200, 404, etc.)
|
||||
- [x] Internal linking structure
|
||||
- [ ] Pagination handling with proper rel="next" and rel="prev" tags
|
||||
- [ ] Implementation of dynamic sitemap with Next.js 15.3 file-based API
|
||||
|
||||
### Content Structure
|
||||
|
||||
- [x] Clean URL structure (`/icons/[icon]`)
|
||||
- [x] Semantic HTML headings (h1, h2, etc.)
|
||||
- [x] Content hierarchy matches visual hierarchy
|
||||
- [ ] Breadcrumb navigation for improved user experience and crawlability
|
||||
- [ ] Schema.org markup for content types
|
||||
|
||||
## Technical SEO
|
||||
|
||||
### Server-side Rendering and Static Generation
|
||||
|
||||
The project effectively uses Next.js App Router to implement:
|
||||
|
||||
- **Static Generation (SSG)** for homepage and catalog pages, providing fast initial load times and improved indexability
|
||||
- **Server-Side Rendering (SSR)** for dynamic content, ensuring fresh content is always accessible to crawlers
|
||||
- **Incremental Static Regeneration (ISR)** potential for optimal performance and content freshness
|
||||
|
||||
These approaches ensure search engines can properly crawl and index content while providing optimal performance.
|
||||
|
||||
### Dynamic Routes Implementation
|
||||
|
||||
Dynamic routes like `/icons/[icon]` are properly implemented with `generateStaticParams` to pre-render paths at build time:
|
||||
|
||||
```typescript
|
||||
export async function generateStaticParams() {
|
||||
const iconsData = await getAllIcons()
|
||||
return Object.keys(iconsData).map((icon) => ({
|
||||
icon,
|
||||
}))
|
||||
}
|
||||
```
|
||||
|
||||
This approach ensures all icon pages are pre-rendered during build time, optimizing both performance and SEO by making all content immediately available to search engine crawlers without requiring JavaScript execution.
|
||||
|
||||
### Missing Critical Components
|
||||
|
||||
#### robots.txt Implementation
|
||||
|
||||
Currently missing a robots.txt file which is essential for directing search engine crawlers. Next.js 15.3 offers a file-based API that should be implemented:
|
||||
|
||||
```typescript
|
||||
// app/robots.ts
|
||||
import { MetadataRoute } from 'next'
|
||||
|
||||
export default function robots(): MetadataRoute.Robots {
|
||||
return {
|
||||
rules: {
|
||||
userAgent: '*',
|
||||
allow: '/',
|
||||
},
|
||||
sitemap: 'https://dashboardicons.com/sitemap.xml',
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### sitemap.xml Implementation
|
||||
|
||||
No sitemap implementation was found. A sitemap is critical for search engines to discover and index all pages efficiently. Next.js 15.3's file-based API makes this easy to implement:
|
||||
|
||||
```typescript
|
||||
// app/sitemap.ts
|
||||
import { MetadataRoute } from 'next'
|
||||
import { getAllIcons } from '@/lib/api'
|
||||
import { BASE_URL, WEB_URL } from '@/constants'
|
||||
|
||||
export default async function sitemap(): MetadataRoute.Sitemap {
|
||||
const iconsData = await getAllIcons()
|
||||
const lastModified = new Date()
|
||||
|
||||
// Base routes
|
||||
const routes = [
|
||||
{
|
||||
url: WEB_URL,
|
||||
lastModified,
|
||||
changeFrequency: 'weekly',
|
||||
priority: 1.0,
|
||||
},
|
||||
{
|
||||
url: `${WEB_URL}/icons`,
|
||||
lastModified,
|
||||
changeFrequency: 'daily',
|
||||
priority: 0.9,
|
||||
},
|
||||
// Other static routes
|
||||
]
|
||||
|
||||
// Icon routes
|
||||
const iconRoutes = Object.keys(iconsData).map((icon) => ({
|
||||
url: `${WEB_URL}/icons/${icon}`,
|
||||
lastModified: new Date(iconsData[icon].update.timestamp),
|
||||
changeFrequency: 'weekly' as const,
|
||||
priority: 0.7,
|
||||
}))
|
||||
|
||||
return [...routes, ...iconRoutes]
|
||||
}
|
||||
```
|
||||
|
||||
For larger icon collections, Next.js 15.3 supports `generateSitemaps` for creating multiple sitemap files:
|
||||
|
||||
```typescript
|
||||
// app/sitemap.ts
|
||||
export async function generateSitemaps() {
|
||||
const totalIcons = await getTotalIconCount()
|
||||
// Google's limit is 50,000 URLs per sitemap
|
||||
const sitemapsNeeded = Math.ceil(totalIcons / 50000)
|
||||
|
||||
return Array.from({ length: sitemapsNeeded }, (_, i) => ({ id: i }))
|
||||
}
|
||||
|
||||
export default async function sitemap({ id }: { id: number }): Promise<MetadataRoute.Sitemap> {
|
||||
// Fetch icons for this specific sitemap segment
|
||||
// ...implementation
|
||||
}
|
||||
```
|
||||
|
||||
#### JSON-LD Structured Data
|
||||
|
||||
Missing structured data for improved search results appearance. For icon pages, implement ImageObject schema:
|
||||
|
||||
```typescript
|
||||
// In [icon]/page.tsx component
|
||||
import { JsonLd } from 'next-seo';
|
||||
|
||||
// Within component return statement
|
||||
return (
|
||||
<>
|
||||
<JsonLd
|
||||
type="ImageObject"
|
||||
data={{
|
||||
'@context': 'https://schema.org',
|
||||
'@type': 'ImageObject',
|
||||
name: `${formattedIconName} Icon`,
|
||||
description: `Dashboard icon for ${formattedIconName}`,
|
||||
contentUrl: `${BASE_URL}/png/${icon}.png`,
|
||||
license: 'https://creativecommons.org/licenses/by-sa/4.0/',
|
||||
acquireLicensePage: `${WEB_URL}/icons/${icon}`,
|
||||
creditText: `Dashboard Icons`,
|
||||
creator: {
|
||||
'@type': 'Person',
|
||||
name: authorData.name || authorData.login
|
||||
}
|
||||
}}
|
||||
/>
|
||||
<IconDetails icon={icon} iconData={originalIconData} authorData={authorData} />
|
||||
</>
|
||||
)
|
||||
```
|
||||
|
||||
For the homepage, implement Organization schema:
|
||||
|
||||
```typescript
|
||||
// In layout.tsx or page.tsx
|
||||
import { JsonLd } from 'next-seo';
|
||||
|
||||
// Within component return statement
|
||||
<JsonLd
|
||||
type="Organization"
|
||||
data={{
|
||||
'@context': 'https://schema.org',
|
||||
'@type': 'Organization',
|
||||
name: 'Dashboard Icons',
|
||||
url: WEB_URL,
|
||||
logo: `${WEB_URL}/logo.png`,
|
||||
description: 'Collection of free icons for self-hosted dashboards and services',
|
||||
sameAs: [
|
||||
REPO_PATH,
|
||||
// Social media links if available
|
||||
]
|
||||
}}
|
||||
/>
|
||||
```
|
||||
|
||||
## Performance Optimization
|
||||
|
||||
### Core Web Vitals
|
||||
|
||||
Performance is a crucial SEO factor. Current implementation has:
|
||||
|
||||
- [x] Image optimization through next/image (reduces LCP)
|
||||
- [x] Font optimization with the Inter variable font
|
||||
- [ ] Proper lazy loading of below-the-fold content
|
||||
- [ ] Optimized Cumulative Layout Shift (CLS)
|
||||
- [ ] Interaction to Next Paint (INP) optimization
|
||||
|
||||
### Detailed Recommendations
|
||||
|
||||
#### 1. Image Optimization
|
||||
|
||||
- **Priority attribute**: Add priority attribute to critical above-the-fold images:
|
||||
```tsx
|
||||
<Image
|
||||
src="/hero-image.jpg"
|
||||
alt="Dashboard Icons"
|
||||
width={1200}
|
||||
height={630}
|
||||
priority
|
||||
/>
|
||||
```
|
||||
|
||||
- **Size optimization**: Ensure images use appropriate sizes for their display contexts:
|
||||
```tsx
|
||||
<Image
|
||||
src={`${BASE_URL}/png/${icon}.png`}
|
||||
alt={`${formattedIconName} icon`}
|
||||
width={64}
|
||||
height={64}
|
||||
sizes="(max-width: 640px) 32px, (max-width: 1024px) 48px, 64px"
|
||||
/>
|
||||
```
|
||||
|
||||
#### 2. JavaScript Optimization
|
||||
|
||||
- **Use dynamic imports**: Implement dynamic imports for non-critical components:
|
||||
```tsx
|
||||
import dynamic from 'next/dynamic'
|
||||
|
||||
const IconGrid = dynamic(() => import('@/components/IconGrid'), {
|
||||
loading: () => <p>Loading icons...</p>,
|
||||
})
|
||||
```
|
||||
|
||||
- **Component-level code splitting**: Break large components into smaller, more manageable pieces
|
||||
|
||||
#### 3. Core Web Vitals Focus
|
||||
|
||||
- **LCP Optimization**:
|
||||
- Preload critical resources
|
||||
- Optimize server response time
|
||||
- Prioritize above-the-fold content rendering
|
||||
|
||||
- **CLS Minimization**:
|
||||
- Reserve space for dynamic content
|
||||
- Define explicit width/height for images and embeds
|
||||
- Avoid inserting content above existing content
|
||||
|
||||
- **INP Improvement**:
|
||||
- Optimize event handlers
|
||||
- Use debouncing for input-related events
|
||||
- Avoid long-running JavaScript tasks
|
||||
|
||||
## Content and User Experience
|
||||
|
||||
- [x] Clean, semantic HTML structure
|
||||
- [x] Clear content hierarchy with proper heading tags
|
||||
- [ ] Comprehensive alt text for all images
|
||||
- [x] Mobile-friendly responsive design
|
||||
- [ ] Breadcrumb navigation for improved user experience and SEO
|
||||
- [ ] Related icons section for internal linking and improved user engagement
|
||||
|
||||
### Recommended Content Improvements
|
||||
|
||||
#### Breadcrumb Navigation
|
||||
|
||||
Implement structured breadcrumb navigation with Schema.org markup:
|
||||
|
||||
```tsx
|
||||
// components/Breadcrumbs.tsx
|
||||
import Link from 'next/link'
|
||||
import { JsonLd } from 'next-seo'
|
||||
|
||||
interface BreadcrumbItem {
|
||||
name: string
|
||||
url: string
|
||||
}
|
||||
|
||||
export function Breadcrumbs({ items }: { items: BreadcrumbItem[] }) {
|
||||
return (
|
||||
<>
|
||||
<JsonLd
|
||||
type="BreadcrumbList"
|
||||
data={{
|
||||
'@context': 'https://schema.org',
|
||||
'@type': 'BreadcrumbList',
|
||||
itemListElement: items.map((item, index) => ({
|
||||
'@type': 'ListItem',
|
||||
position: index + 1,
|
||||
name: item.name,
|
||||
item: item.url,
|
||||
})),
|
||||
}}
|
||||
/>
|
||||
<nav aria-label="Breadcrumb" className="breadcrumbs">
|
||||
<ol>
|
||||
{items.map((item, index) => (
|
||||
<li key={item.url}>
|
||||
{index < items.length - 1 ? (
|
||||
<Link href={item.url}>{item.name}</Link>
|
||||
) : (
|
||||
<span aria-current="page">{item.name}</span>
|
||||
)}
|
||||
</li>
|
||||
))}
|
||||
</ol>
|
||||
</nav>
|
||||
</>
|
||||
)
|
||||
}
|
||||
```
|
||||
|
||||
#### Related Icons Section
|
||||
|
||||
Add a related icons section to improve internal linking and user engagement:
|
||||
|
||||
```tsx
|
||||
// components/RelatedIcons.tsx
|
||||
import Link from 'next/link'
|
||||
import Image from 'next/image'
|
||||
import { BASE_URL } from '@/constants'
|
||||
|
||||
export function RelatedIcons({
|
||||
currentIcon,
|
||||
similarIcons
|
||||
}: {
|
||||
currentIcon: string,
|
||||
similarIcons: string[]
|
||||
}) {
|
||||
return (
|
||||
<section aria-labelledby="related-icons-heading">
|
||||
<h2 id="related-icons-heading">Related Icons</h2>
|
||||
<div className="icon-grid">
|
||||
{similarIcons.map(icon => (
|
||||
<Link
|
||||
key={icon}
|
||||
href={`/icons/${icon}`}
|
||||
className="icon-card"
|
||||
>
|
||||
<Image
|
||||
src={`${BASE_URL}/png/${icon}.png`}
|
||||
alt={`${icon.split('-').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join(' ')} icon`}
|
||||
width={48}
|
||||
height={48}
|
||||
/>
|
||||
<span>{icon.split('-').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join(' ')}</span>
|
||||
</Link>
|
||||
))}
|
||||
</div>
|
||||
</section>
|
||||
)
|
||||
}
|
||||
```
|
||||
|
||||
## Mobile Optimization
|
||||
|
||||
- [x] Responsive design with fluid layouts
|
||||
- [x] Appropriate viewport configuration:
|
||||
```html
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, minimumScale=1, maximumScale=5, userScalable=true, themeColor=#ffffff, viewportFit=cover" />
|
||||
```
|
||||
- [ ] Touch-friendly navigation and interface elements (minimum 44x44px tap targets)
|
||||
- [ ] Mobile page speed optimization (reduced JavaScript, optimized images)
|
||||
|
||||
### Mobile-Specific Recommendations
|
||||
|
||||
1. **Implement mobile-specific image handling**:
|
||||
```tsx
|
||||
<Image
|
||||
src={`${BASE_URL}/png/${icon}.png`}
|
||||
alt={`${formattedIconName} icon`}
|
||||
width={64}
|
||||
height={64}
|
||||
sizes="(max-width: 480px) 32px, 64px"
|
||||
quality={90}
|
||||
/>
|
||||
```
|
||||
|
||||
2. **Enhanced touch targets for mobile**:
|
||||
```css
|
||||
@media (max-width: 768px) {
|
||||
.nav-link, .button, .interactive-element {
|
||||
min-height: 44px;
|
||||
min-width: 44px;
|
||||
padding: 12px;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
3. **Simplified navigation for mobile**:
|
||||
Implement a hamburger menu or collapsible navigation for mobile devices
|
||||
|
||||
## Advanced Next.js 15.3 SEO Features
|
||||
|
||||
Next.js 15.3 offers enhanced SEO features that should be implemented:
|
||||
|
||||
### Dynamic OG Images
|
||||
|
||||
Implement dynamic Open Graph images using the ImageResponse API:
|
||||
|
||||
```typescript
|
||||
// app/icons/[icon]/opengraph-image.tsx
|
||||
import { ImageResponse } from 'next/og'
|
||||
import { getAllIcons } from '@/lib/api'
|
||||
import { BASE_URL } from '@/constants'
|
||||
|
||||
export const runtime = 'edge'
|
||||
export const alt = 'Dashboard Icon Preview'
|
||||
export const size = { width: 1200, height: 630 }
|
||||
export const contentType = 'image/png'
|
||||
|
||||
export default async function OgImage({ params }: { params: { icon: string } }) {
|
||||
const { icon } = params
|
||||
const iconsData = await getAllIcons()
|
||||
const iconData = iconsData[icon]
|
||||
|
||||
if (!iconData) {
|
||||
return new ImageResponse(
|
||||
(
|
||||
<div
|
||||
style={{
|
||||
display: 'flex',
|
||||
flexDirection: 'column',
|
||||
alignItems: 'center',
|
||||
justifyContent: 'center',
|
||||
width: '100%',
|
||||
height: '100%',
|
||||
backgroundColor: '#f8fafc',
|
||||
color: '#334155',
|
||||
fontFamily: 'sans-serif',
|
||||
}}
|
||||
>
|
||||
<h1 style={{ fontSize: 64 }}>Icon Not Found</h1>
|
||||
</div>
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
const formattedIconName = icon
|
||||
.split('-')
|
||||
.map((word) => word.charAt(0).toUpperCase() + word.slice(1))
|
||||
.join(' ')
|
||||
|
||||
return new ImageResponse(
|
||||
(
|
||||
<div
|
||||
style={{
|
||||
display: 'flex',
|
||||
flexDirection: 'column',
|
||||
alignItems: 'center',
|
||||
justifyContent: 'center',
|
||||
width: '100%',
|
||||
height: '100%',
|
||||
backgroundColor: '#f8fafc',
|
||||
color: '#334155',
|
||||
fontFamily: 'sans-serif',
|
||||
padding: 40,
|
||||
}}
|
||||
>
|
||||
<img
|
||||
src={`${BASE_URL}/png/${icon}.png`}
|
||||
width={200}
|
||||
height={200}
|
||||
alt={`${formattedIconName} icon`}
|
||||
style={{ marginBottom: 40 }}
|
||||
/>
|
||||
<h1 style={{ fontSize: 64, marginBottom: 20, textAlign: 'center' }}>
|
||||
{formattedIconName} Icon
|
||||
</h1>
|
||||
<p style={{ fontSize: 32, textAlign: 'center' }}>
|
||||
Free download in SVG, PNG, and WEBP formats
|
||||
</p>
|
||||
</div>
|
||||
)
|
||||
)
|
||||
}
|
||||
```
|
||||
|
||||
### Next.js Route Segments for SEO
|
||||
|
||||
Utilize route segment config options to optimize SEO aspects:
|
||||
|
||||
```typescript
|
||||
// app/icons/[icon]/page.tsx
|
||||
export const dynamic = 'force-static' // Ensure static generation even with dynamic data fetching
|
||||
export const revalidate = 3600 // Revalidate content every hour
|
||||
export const fetchCache = 'force-cache' // Enforce caching of fetched data
|
||||
export const generateStaticParams = async () => {
|
||||
// Generate static paths for all icons
|
||||
const iconsData = await getAllIcons()
|
||||
return Object.keys(iconsData).map((icon) => ({ icon }))
|
||||
}
|
||||
```
|
||||
|
||||
### Advanced Caching Strategies
|
||||
|
||||
Implement advanced caching with revalidation tags for dynamic content:
|
||||
|
||||
```typescript
|
||||
// lib/api.ts
|
||||
import { cache, revalidateTag } from 'next/cache'
|
||||
|
||||
// Cache API calls using tags
|
||||
export const getTotalIcons = cache(
|
||||
async () => {
|
||||
const response = await fetch(METADATA_URL, {
|
||||
next: { tags: ['icons-metadata'] },
|
||||
})
|
||||
const data = await response.json()
|
||||
return { totalIcons: Object.keys(data).length }
|
||||
}
|
||||
)
|
||||
|
||||
// Function to trigger revalidation when new icons are added
|
||||
export async function revalidateIconsCache() {
|
||||
revalidateTag('icons-metadata')
|
||||
}
|
||||
```
|
||||
|
||||
## Recommendations
|
||||
|
||||
### Immediate (High Impact/Low Effort)
|
||||
|
||||
1. **Create robots.txt**
|
||||
- Implement a file-based robots.txt using Next.js 15.3 API
|
||||
- Include sitemap reference
|
||||
```typescript
|
||||
// app/robots.ts
|
||||
import { MetadataRoute } from 'next'
|
||||
|
||||
export default function robots(): MetadataRoute.Robots {
|
||||
return {
|
||||
rules: {
|
||||
userAgent: '*',
|
||||
allow: '/',
|
||||
},
|
||||
sitemap: 'https://dashboardicons.com/sitemap.xml',
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
2. **Generate XML Sitemap**
|
||||
- Create a dynamic sitemap.xml file using Next.js 15.3 file-based API
|
||||
- Include changefreq and priority attributes
|
||||
- Implement sitemap index for large icon collections
|
||||
```typescript
|
||||
// app/sitemap.ts
|
||||
import { MetadataRoute } from 'next'
|
||||
import { getAllIcons } from '@/lib/api'
|
||||
import { WEB_URL } from '@/constants'
|
||||
|
||||
export default async function sitemap(): MetadataRoute.Sitemap {
|
||||
const iconsData = await getAllIcons()
|
||||
// Implementation as shown in Technical SEO section
|
||||
}
|
||||
```
|
||||
|
||||
3. **Add Structured Data**
|
||||
- Implement JSON-LD for icon pages (ImageObject schema)
|
||||
- Add WebSite schema to the homepage
|
||||
- Include BreadcrumbList schema for navigation
|
||||
```typescript
|
||||
// app/layout.tsx
|
||||
import { JsonLd } from 'next-seo'
|
||||
|
||||
// In component return
|
||||
<JsonLd
|
||||
type="WebSite"
|
||||
data={{
|
||||
'@context': 'https://schema.org',
|
||||
'@type': 'WebSite',
|
||||
name: 'Dashboard Icons',
|
||||
url: WEB_URL,
|
||||
description: getDescription(totalIcons),
|
||||
potentialAction: {
|
||||
'@type': 'SearchAction',
|
||||
target: `${WEB_URL}/icons?q={search_term_string}`,
|
||||
'query-input': 'required name=search_term_string'
|
||||
}
|
||||
}}
|
||||
/>
|
||||
```
|
||||
|
||||
4. **Enhance Internal Linking**
|
||||
- Implement breadcrumb navigation
|
||||
- Add "related icons" or "similar icons" sections
|
||||
- Create more internal links between icon categories or tags
|
||||
|
||||
### Medium-term Improvements
|
||||
|
||||
1. **Performance Optimization**
|
||||
- Implement priority attribute for critical images
|
||||
- Optimize component-level code splitting
|
||||
- Refine Largest Contentful Paint (LCP) elements
|
||||
|
||||
2. **Enhanced Metadata**
|
||||
- Implement dynamic OG images with the ImageResponse API
|
||||
- Add more specific structured data for each icon category
|
||||
- Implement comprehensive hreflang tags if multilingual support is added
|
||||
|
||||
3. **Content Enhancement**
|
||||
- Add more descriptive text for each icon
|
||||
- Include usage examples and contexts
|
||||
- Improve alt text for all images with detailed descriptions
|
||||
|
||||
### Long-term Strategy
|
||||
|
||||
1. **Advanced Metrics Tracking**
|
||||
- Implement Real User Monitoring (RUM)
|
||||
- Set up Core Web Vitals tracking in the field
|
||||
- Establish regular SEO audit cycles
|
||||
|
||||
2. **Enhanced User Experience**
|
||||
- Implement advanced search functionality with filtering options
|
||||
- Add user collections/favorites feature
|
||||
- Develop a comprehensive filtering system by icon type, style, color, etc.
|
||||
|
||||
3. **Content Expansion**
|
||||
- Add tutorials on how to use the icons
|
||||
- Create themed icon collections
|
||||
- Implement a blog for icon design tips and updates
|
||||
|
||||
## Conclusion
|
||||
|
||||
### Overall SEO Health Assessment
|
||||
|
||||
The Dashboard Icons website currently implements many SEO best practices through Next.js 15.3's App Router features. The project demonstrates strong implementation of:
|
||||
|
||||
- Metadata configuration with the built-in Metadata API
|
||||
- Dynamic generation of page-specific metadata
|
||||
- Open Graph and Twitter Card integration
|
||||
- Server-side rendering and static generation
|
||||
- Proper canonical URL management
|
||||
- Clean, semantic HTML structure
|
||||
- Responsive design for mobile devices
|
||||
|
||||
However, several critical components are missing that would significantly improve search engine visibility:
|
||||
|
||||
1. **Missing Technical Components**:
|
||||
- No robots.txt file
|
||||
- No XML sitemap
|
||||
- No structured data (JSON-LD)
|
||||
- Limited use of Next.js 15.3's advanced features
|
||||
|
||||
2. **Performance Optimization Gaps**:
|
||||
- Missing priority attributes on critical images
|
||||
- Limited implementation of advanced caching strategies
|
||||
- Potential Core Web Vitals optimizations
|
||||
|
||||
3. **Enhanced User Experience Opportunities**:
|
||||
- No breadcrumb navigation
|
||||
- Limited internal linking between related icons
|
||||
- Missing advanced search and filtering capabilities
|
||||
|
||||
### SEO Implementation Score
|
||||
|
||||
| Category | Score | Notes |
|
||||
|----------|-------|-------|
|
||||
| Metadata Implementation | 8/10 | Strong implementation, missing structured data |
|
||||
| Technical SEO | 6/10 | Missing robots.txt and sitemap |
|
||||
| Performance | 7/10 | Good image optimization, room for improvement |
|
||||
| Content Structure | 7/10 | Semantic HTML present, needs better internal linking |
|
||||
| Mobile Optimization | 8/10 | Responsive design, opportunity for touch optimizations |
|
||||
| Next.js 15.3 Features | 5/10 | Not utilizing latest features like dynamic OG images |
|
||||
| Overall | 6.8/10 | Good foundation, specific improvements needed |
|
||||
|
||||
### Priority Action Items
|
||||
|
||||
1. **Immediate (High Impact/Low Effort)**:
|
||||
- Create robots.txt file using file-based API
|
||||
- Generate XML sitemap with Next.js 15.3 API
|
||||
- Add JSON-LD structured data to all page types
|
||||
|
||||
2. **Short-term (Medium Impact)**:
|
||||
- Optimize Core Web Vitals (LCP, CLS, INP)
|
||||
- Add priority attribute to above-the-fold images
|
||||
- Implement breadcrumb navigation with schema
|
||||
|
||||
3. **Long-term (Strategic)**:
|
||||
- Implement dynamic OG images with ImageResponse API
|
||||
- Add more descriptive content for each icon
|
||||
- Develop a comprehensive internal linking strategy
|
||||
- Consider content expansion with tutorials and icon usage guides
|
||||
|
||||
By implementing these SEO improvements, Dashboard Icons will significantly enhance its search engine visibility, user experience, and overall organic traffic growth potential. The existing implementation provides a solid foundation, and these targeted enhancements will help maximize the site's search performance in an increasingly competitive landscape.
|
||||
|
||||
## References
|
||||
|
||||
1. [Next.js 15.3 Metadata API Documentation](https://nextjs.org/docs/app/building-your-application/optimizing/metadata)
|
||||
2. [Google's SEO Starter Guide](https://developers.google.com/search/docs/fundamentals/seo-starter-guide)
|
||||
3. [Next.js File-Based Metadata](https://nextjs.org/docs/app/api-reference/file-conventions/metadata)
|
||||
4. [Core Web Vitals - Google Web Dev](https://web.dev/articles/vitals)
|
||||
5. [Schema.org Documentation](https://schema.org/docs/documents.html)
|
||||
6. [Next.js Image Component Documentation](https://nextjs.org/docs/app/api-reference/components/image)
|
||||
7. [Next.js ImageResponse API](https://nextjs.org/docs/app/api-reference/functions/image-response)
|
||||
8. [Google Search Central Documentation](https://developers.google.com/search)
|
||||
9. [Next.js 15.3 App Router SEO Checklist](https://dev.to/simplr_sh/nextjs-15-app-router-seo-comprehensive-checklist-3d3f)
|
||||
10. [Mobile Optimization - Google Search Central](https://developers.google.com/search/mobile-sites)
|
||||
11. [Next.js 15.3 Performance Optimization](https://nextjs.org/docs/app/building-your-application/optimizing)
|
||||
BIN
assets/preview.mp4
Normal file
14
meta/buildium.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"base": "svg",
|
||||
"aliases": [],
|
||||
"categories": [
|
||||
"Finance"
|
||||
],
|
||||
"update": {
|
||||
"timestamp": "2025-04-22T18:36:00.262663",
|
||||
"author": {
|
||||
"id": 41155244,
|
||||
"login": "giovannicalabro"
|
||||
}
|
||||
}
|
||||
}
|
||||
14
meta/calibre-web-automated-book-downloader.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"base": "png",
|
||||
"aliases": [],
|
||||
"categories": [
|
||||
"Media"
|
||||
],
|
||||
"update": {
|
||||
"timestamp": "2025-04-22T17:31:36.311538",
|
||||
"author": {
|
||||
"id": 2319445,
|
||||
"login": "samcro1967"
|
||||
}
|
||||
}
|
||||
}
|
||||
14
meta/doplarr.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"base": "svg",
|
||||
"aliases": [],
|
||||
"categories": [
|
||||
"Media"
|
||||
],
|
||||
"update": {
|
||||
"timestamp": "2025-04-22T17:34:50.612136",
|
||||
"author": {
|
||||
"id": 2319445,
|
||||
"login": "samcro1967"
|
||||
}
|
||||
}
|
||||
}
|
||||
16
meta/emsesp.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"base": "svg",
|
||||
"aliases": [
|
||||
"ems-esp"
|
||||
],
|
||||
"categories": [
|
||||
"Cloud"
|
||||
],
|
||||
"update": {
|
||||
"timestamp": "2025-04-22T16:56:16.429675",
|
||||
"author": {
|
||||
"id": 33312839,
|
||||
"login": "vladbejenaru"
|
||||
}
|
||||
}
|
||||
}
|
||||
14
meta/entergy.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"base": "svg",
|
||||
"aliases": [],
|
||||
"categories": [
|
||||
"Finance"
|
||||
],
|
||||
"update": {
|
||||
"timestamp": "2025-04-22T18:33:50.980132",
|
||||
"author": {
|
||||
"id": 41155244,
|
||||
"login": "giovannicalabro"
|
||||
}
|
||||
}
|
||||
}
|
||||
15
meta/gomft.json
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"base": "svg",
|
||||
"aliases": [],
|
||||
"categories": [
|
||||
"File",
|
||||
"Cloud"
|
||||
],
|
||||
"update": {
|
||||
"timestamp": "2025-04-22T17:02:14.266586",
|
||||
"author": {
|
||||
"id": 105980537,
|
||||
"login": "keywal"
|
||||
}
|
||||
}
|
||||
}
|
||||
12
meta/gone-man-switch.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"base": "png",
|
||||
"aliases": [],
|
||||
"categories": [],
|
||||
"update": {
|
||||
"timestamp": "2025-04-22T17:37:06.429465",
|
||||
"author": {
|
||||
"id": 2319445,
|
||||
"login": "samcro1967"
|
||||
}
|
||||
}
|
||||
}
|
||||
14
meta/image-maid.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"base": "png",
|
||||
"aliases": [],
|
||||
"categories": [
|
||||
"Media"
|
||||
],
|
||||
"update": {
|
||||
"timestamp": "2025-04-22T18:22:01.834809",
|
||||
"author": {
|
||||
"id": 2319445,
|
||||
"login": "samcro1967"
|
||||
}
|
||||
}
|
||||
}
|
||||
14
meta/karaoke-eternal.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"base": "png",
|
||||
"aliases": [],
|
||||
"categories": [
|
||||
"Media"
|
||||
],
|
||||
"update": {
|
||||
"timestamp": "2025-04-22T17:43:20.146082",
|
||||
"author": {
|
||||
"id": 2319445,
|
||||
"login": "samcro1967"
|
||||
}
|
||||
}
|
||||
}
|
||||
16
meta/librechat.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"base": "svg",
|
||||
"aliases": [
|
||||
"libre-chat"
|
||||
],
|
||||
"categories": [
|
||||
"Development"
|
||||
],
|
||||
"update": {
|
||||
"timestamp": "2025-04-22T19:10:20.864971",
|
||||
"author": {
|
||||
"id": 1473979,
|
||||
"login": "lukacat10"
|
||||
}
|
||||
}
|
||||
}
|
||||
14
meta/loxone-full.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"base": "svg",
|
||||
"aliases": [],
|
||||
"categories": [
|
||||
"Hardware"
|
||||
],
|
||||
"update": {
|
||||
"timestamp": "2025-04-22T18:55:13.785687",
|
||||
"author": {
|
||||
"id": 63781622,
|
||||
"login": "Meierschlumpf"
|
||||
}
|
||||
}
|
||||
}
|
||||
14
meta/loxone.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"base": "svg",
|
||||
"aliases": [],
|
||||
"categories": [
|
||||
"Hardware"
|
||||
],
|
||||
"update": {
|
||||
"timestamp": "2025-04-22T18:51:42.311628",
|
||||
"author": {
|
||||
"id": 39389502,
|
||||
"login": "TeHtloTs"
|
||||
}
|
||||
}
|
||||
}
|
||||
14
meta/marzban.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"base": "png",
|
||||
"aliases": [],
|
||||
"categories": [
|
||||
"Security"
|
||||
],
|
||||
"update": {
|
||||
"timestamp": "2025-04-22T17:17:13.363083",
|
||||
"author": {
|
||||
"id": 27157792,
|
||||
"login": "nazarukroman"
|
||||
}
|
||||
}
|
||||
}
|
||||
14
meta/noisedash.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"base": "svg",
|
||||
"aliases": [],
|
||||
"categories": [
|
||||
"Media"
|
||||
],
|
||||
"update": {
|
||||
"timestamp": "2025-04-22T17:48:13.427885",
|
||||
"author": {
|
||||
"id": 2319445,
|
||||
"login": "samcro1967"
|
||||
}
|
||||
}
|
||||
}
|
||||
17
meta/pangolin.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"base": "svg",
|
||||
"aliases": [
|
||||
"pangolin",
|
||||
"pangolin-newt"
|
||||
],
|
||||
"categories": [
|
||||
"Cloud"
|
||||
],
|
||||
"update": {
|
||||
"timestamp": "2025-04-22T18:57:05.718417",
|
||||
"author": {
|
||||
"id": 7034912,
|
||||
"login": "leodr99"
|
||||
}
|
||||
}
|
||||
}
|
||||
14
meta/pretix.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"base": "svg",
|
||||
"aliases": [],
|
||||
"categories": [
|
||||
"E-Commerce"
|
||||
],
|
||||
"update": {
|
||||
"timestamp": "2025-04-22T18:58:38.751308",
|
||||
"author": {
|
||||
"id": 1832823,
|
||||
"login": "alemairebe"
|
||||
}
|
||||
}
|
||||
}
|
||||
12
meta/recyclarr.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"base": "svg",
|
||||
"aliases": [],
|
||||
"categories": [],
|
||||
"update": {
|
||||
"timestamp": "2025-04-22T19:06:08.669890",
|
||||
"author": {
|
||||
"id": 100090983,
|
||||
"login": "Dan-Ev"
|
||||
}
|
||||
}
|
||||
}
|
||||
12
meta/release-argus.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"base": "svg",
|
||||
"aliases": [],
|
||||
"categories": [],
|
||||
"update": {
|
||||
"timestamp": "2025-04-22T17:25:54.525668",
|
||||
"author": {
|
||||
"id": 2319445,
|
||||
"login": "samcro1967"
|
||||
}
|
||||
}
|
||||
}
|
||||
14
meta/series-troxide.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"base": "svg",
|
||||
"aliases": [],
|
||||
"categories": [
|
||||
"Media"
|
||||
],
|
||||
"update": {
|
||||
"timestamp": "2025-04-22T18:25:38.709896",
|
||||
"author": {
|
||||
"id": 2319445,
|
||||
"login": "samcro1967"
|
||||
}
|
||||
}
|
||||
}
|
||||
14
meta/stream-harvestarr.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"base": "png",
|
||||
"aliases": [],
|
||||
"categories": [
|
||||
"Media"
|
||||
],
|
||||
"update": {
|
||||
"timestamp": "2025-04-22T18:28:27.157439",
|
||||
"author": {
|
||||
"id": 2319445,
|
||||
"login": "samcro1967"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"base": "svg",
|
||||
"aliases": [
|
||||
"vodacom"
|
||||
"vodafone"
|
||||
],
|
||||
"categories": [],
|
||||
"update": {
|
||||
@@ -11,4 +11,4 @@
|
||||
"login": "JonasJoKuJonas"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
14
meta/watchlistarr.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"base": "png",
|
||||
"aliases": [],
|
||||
"categories": [
|
||||
"Media"
|
||||
],
|
||||
"update": {
|
||||
"timestamp": "2025-04-22T18:31:18.100212",
|
||||
"author": {
|
||||
"id": 2319445,
|
||||
"login": "samcro1967"
|
||||
}
|
||||
}
|
||||
}
|
||||
6073
metadata.json
BIN
png/buildium.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
png/calibre-web-automated-book-downloader.png
Normal file
|
After Width: | Height: | Size: 36 KiB |
BIN
png/doplarr.png
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
png/emsesp.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
png/entergy.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
png/gomft.png
Normal file
|
After Width: | Height: | Size: 38 KiB |
BIN
png/gone-man-switch.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
png/image-maid.png
Normal file
|
After Width: | Height: | Size: 32 KiB |
BIN
png/karaoke-eternal.png
Normal file
|
After Width: | Height: | Size: 44 KiB |
BIN
png/librechat.png
Normal file
|
After Width: | Height: | Size: 34 KiB |
BIN
png/loxone-full.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
png/loxone.png
Normal file
|
After Width: | Height: | Size: 4.0 KiB |
BIN
png/marzban.png
Normal file
|
After Width: | Height: | Size: 33 KiB |
BIN
png/noisedash.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
png/pangolin.png
Normal file
|
After Width: | Height: | Size: 8.6 KiB |
BIN
png/pretix.png
Normal file
|
After Width: | Height: | Size: 5.2 KiB |
BIN
png/recyclarr.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
png/release-argus.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
png/series-troxide.png
Normal file
|
After Width: | Height: | Size: 27 KiB |
BIN
png/stream-harvestarr.png
Normal file
|
After Width: | Height: | Size: 169 KiB |
BIN
png/watchlistarr.png
Normal file
|
After Width: | Height: | Size: 199 KiB |
@@ -1,11 +0,0 @@
|
||||
[](https://www.jsdelivr.com/package/gh/homarr-labs/dashboard-icons)
|
||||
[](https://www.jsdelivr.com/package/gh/walkxcode/dashboard-icons)
|
||||
|
||||
## Dashboard Icons
|
||||
|
||||
The best source for dashboard icons.<br />
|
||||
[**← Back to repository**](https://github.com/homarr-labs/dashboard-icons/)
|
||||
|
||||
<!-- ICONS -->
|
||||
|
||||
<!-- END ICONS -->
|
||||
@@ -1,85 +0,0 @@
|
||||
import json
|
||||
import pathlib
|
||||
from pathlib import Path
|
||||
import sys
|
||||
|
||||
# Read the JSON file
|
||||
def read_tree_json(file_path):
|
||||
with open(file_path, 'r', encoding='UTF-8') as f:
|
||||
return json.load(f)
|
||||
|
||||
# Generate a table row with checkmarks for available formats and links
|
||||
def generate_table_row(icon_name, formats):
|
||||
# Prepare the checkmarks and links for each format if they exist
|
||||
webp_check = '✅' if formats['webp'] else '❌'
|
||||
png_check = '✅' if formats['png'] else '❌'
|
||||
svg_check = '✅' if formats['svg'] else '❌'
|
||||
|
||||
# Prepare the links for each format if they exist
|
||||
webp_link = f'<a href="https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/webp/{icon_name}.webp">WebP</a>' if formats['webp'] else 'WebP'
|
||||
png_link = f'<a href="https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/{icon_name}.png">PNG</a>' if formats['png'] else 'PNG'
|
||||
svg_link = f'<a href="https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/{icon_name}.svg">SVG</a>' if formats['svg'] else 'SVG'
|
||||
|
||||
# Combine checkmarks and links (or just name if not available)
|
||||
webp_info = f'{webp_check} {webp_link}' if formats['webp'] else f'{webp_check} {webp_link}'
|
||||
png_info = f'{png_check} {png_link}' if formats['png'] else f'{png_check} {png_link}'
|
||||
svg_info = f'{svg_check} {svg_link}' if formats['svg'] else f'{svg_check} {svg_link}'
|
||||
|
||||
# Generate preview using WebP
|
||||
preview = f'<img src="https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/webp/{icon_name}.webp" height="50" alt="{icon_name}">'
|
||||
|
||||
return f"| {icon_name} | {webp_info} {png_info} {svg_info} | {preview} |"
|
||||
|
||||
if __name__ == "__main__":
|
||||
# Define paths
|
||||
root = pathlib.Path(__file__).parent.resolve()
|
||||
tree_json_path = root.parent / "tree.json"
|
||||
template_path = root / "TEMPLATE.md"
|
||||
icons_md_path = root.parent / "ICONS.md"
|
||||
|
||||
# Load the tree.json data
|
||||
formats = read_tree_json(tree_json_path)
|
||||
|
||||
# Create a dictionary to hold icons by their base name (ignoring file extensions)
|
||||
icons_dict = {}
|
||||
|
||||
# Check the formats and group icons by their base name
|
||||
for ext, icons in formats.items():
|
||||
for icon in icons:
|
||||
base_name = icon.rsplit('.', 1)[0] # Get base name (without extension)
|
||||
if base_name not in icons_dict:
|
||||
icons_dict[base_name] = {'webp': False, 'png': False, 'svg': False}
|
||||
icons_dict[base_name][ext] = True
|
||||
|
||||
# Create table for all icons (unique names)
|
||||
table_rows = []
|
||||
|
||||
for icon_name in sorted(icons_dict.keys()):
|
||||
table_row = generate_table_row(icon_name, icons_dict[icon_name])
|
||||
table_rows.append(table_row)
|
||||
|
||||
# Prepare the table with header and rows
|
||||
table_header = "| Name | Links | Preview |"
|
||||
table_separator = "|------|-------|---------|"
|
||||
table_content = "\n".join(table_rows)
|
||||
table = f"{table_header}\n{table_separator}\n{table_content}"
|
||||
|
||||
# Read the template file
|
||||
with open(template_path, "r", encoding="UTF-8") as f:
|
||||
template = f.read()
|
||||
|
||||
# Find the line that starts with "<!-- ICONS -->"
|
||||
try:
|
||||
line_number = template.index("<!-- ICONS -->")
|
||||
except ValueError:
|
||||
print("<!-- ICONS --> placeholder not found in TEMPLATE.md")
|
||||
sys.exit(1)
|
||||
|
||||
# Insert the table after the placeholder
|
||||
updated_template = template[:line_number] + "<!-- ICONS -->\n" + table + template[line_number + len("<!-- ICONS -->"):]
|
||||
|
||||
# Write the new ICONS.md file
|
||||
with open(icons_md_path, "w", encoding="UTF-8") as f:
|
||||
f.write(updated_template)
|
||||
|
||||
print("ICONS.md has been successfully generated.")
|
||||
1
svg/Beacon-Logo.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg viewBox="0 0 93 20" xmlns="http://www.w3.org/2000/svg" width="93" height="20" fill="none"><path fill="#FF7E23" fill-rule="evenodd" d="M6.815 19.719c4.869 0 7.122-2.254 7.122-5.494 0-2.845-1.83-4.79-4.197-5.352 1.662-.647 2.844-2.028 2.844-4.028 0-2.59-1.94-4.845-5.911-4.845H0v19.719h6.815ZM3.096 8V2.733h3.322c2.028 0 3.097.958 3.097 2.535C9.515 6.873 8.417 8 6.389 8H3.096Zm7.742 5.747c0-1.944-1.24-3.324-4.196-3.324H3.096v6.563h3.577c2.928 0 4.165-1.24 4.165-3.24Zm18.78-.226H18.043c.452 2.59 2.48 3.888 4.814 3.888 1.943 0 2.983-.507 4.055-1.353l1.717 1.634C27.335 19.157 25.476 20 22.774 20c-3.687 0-7.716-2.507-7.716-7.578 0-5.1 4.14-7.632 7.432-7.632 3.325 0 7.831 2.533 7.127 8.73Zm-11.545-2.255h8.813c-.28-2.59-2.505-3.86-4.39-3.86-1.86.003-3.945 1.27-4.423 3.86Zm19.874-6.479c-3.293 0-7.263 2.48-7.263 7.607 0 5.126 3.97 7.606 7.263 7.606 2.535 0 4.281-1.466 4.872-2.677h.168v2.393h3.041V5.068h-3.041v2.394h-.168c-.591-1.211-2.337-2.675-4.872-2.675Zm.395 2.706c2.279 0 4.73 1.632 4.73 4.9 0 3.27-2.449 4.903-4.73 4.9-2.28 0-4.701-1.633-4.701-4.9 0-3.265 2.42-4.9 4.7-4.9Zm20.832 1.913 2.366-1.07c-1.323-2.364-3.603-3.546-6.252-3.549-3.322 0-7.574 2.533-7.574 7.633 0 5.097 4.252 7.578 7.574 7.578 2.676 0 4.927-1.154 6.279-3.521l-2.393-1.07c-.874 1.183-2.056 1.887-3.857 1.887-2.167 0-4.646-1.634-4.646-4.874 0-3.295 2.48-4.929 4.646-4.929 1.801 0 2.986.733 3.857 1.915ZM69.871 20c3.35 0 7.602-2.48 7.602-7.578 0-5.1-4.251-7.632-7.602-7.632s-7.603 2.533-7.603 7.632c0 5.098 4.252 7.578 7.603 7.578Zm.002-2.704c-2.166 0-4.645-1.634-4.645-4.873 0-3.295 2.476-4.93 4.645-4.93 2.17 0 4.646 1.635 4.646 4.93 0 3.24-2.477 4.873-4.646 4.873Zm22.858 2.423V11.24c0-4.564-2.757-6.45-5.489-6.45-3.18 0-4.758 2.477-5.04 3.323V5.071h-3.04v14.645h3.04v-8.76c.14-1.237 1.493-3.491 3.998-3.491 1.857 0 3.49 1.156 3.49 3.943v8.31h3.041Z" clip-rule="evenodd"/></svg>
|
||||
|
After Width: | Height: | Size: 1.8 KiB |
22
svg/D3.svg
Normal file
@@ -0,0 +1,22 @@
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="-10 -10 116 111" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<clipPath id="clip">
|
||||
<path d="M0,0h7.75a45.5,45.5 0 1 1 0,91h-7.75v-20h7.75a25.5,25.5 0 1 0 0,-51h-7.75zm36.2510,0h32a27.75,27.75 0 0 1 21.331,45.5a27.75,27.75 0 0 1 -21.331,45.5h-32a53.6895,53.6895 0 0 0 18.7464,-20h13.2526a7.75,7.75 0 1 0 0,-15.5h-7.75a53.6895,53.6895 0 0 0 0,-20h7.75a7.75,7.75 0 1 0 0,-15.5h-13.2526a53.6895,53.6895 0 0 0 -18.7464,-20z"/>
|
||||
</clipPath>
|
||||
<linearGradient id="gradient-1" gradientUnits="userSpaceOnUse" x1="7" y1="64" x2="50" y2="107">
|
||||
<stop offset="0" stop-color="#f9a03c"/>
|
||||
<stop offset="1" stop-color="#f7974e"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="gradient-2" gradientUnits="userSpaceOnUse" x1="2" y1="-2" x2="87" y2="84">
|
||||
<stop offset="0" stop-color="#f26d58"/>
|
||||
<stop offset="1" stop-color="#f9a03c"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="gradient-3" gradientUnits="userSpaceOnUse" x1="45" y1="-10" x2="108" y2="53">
|
||||
<stop offset="0" stop-color="#b84e51"/>
|
||||
<stop offset="1" stop-color="#f68e48"/>
|
||||
</linearGradient>
|
||||
<g clip-path="url(#clip)">
|
||||
<path d="M-100,-102m-28,0v300h300z" fill="url(#gradient-1)"/>
|
||||
<path d="M-100,-102m28,0h300v300z" fill="url(#gradient-3)"/>
|
||||
<path d="M-100,-102l300,300" fill="none" stroke="url(#gradient-2)" stroke-width="40"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
1
svg/Google-Colaboratory.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="977" height="602" style="pointer-events:none;display:block;width:100%;height:100%" viewBox="0 0 24 24"><path fill="#E8710A" d="M4.54 9.46 2.19 7.1a6.93 6.93 0 0 0 0 9.79l2.36-2.36a3.59 3.59 0 0 1-.01-5.07Z"/><path fill="#F9AB00" d="m2.19 7.1 2.35 2.36a3.59 3.59 0 0 1 5.08 0l1.71-2.93-.1-.08a6.93 6.93 0 0 0-9.04.65ZM11.34 17.46l-1.72-2.92a3.59 3.59 0 0 1-5.08 0L2.19 16.9a6.93 6.93 0 0 0 9 .65l.11-.09M12 7.1a6.93 6.93 0 0 0 0 9.79l2.36-2.36a3.59 3.59 0 1 1 5.08-5.08l2.37-2.35a6.93 6.93 0 0 0-9.81 0Z"/><path fill="#E8710A" d="m21.81 7.1-2.35 2.36a3.59 3.59 0 0 1-5.08 5.08L12 16.9a6.93 6.93 0 0 0 9.81-9.8Z"/></svg>
|
||||
|
After Width: | Height: | Size: 665 B |
4
svg/adobe-xd.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 240 234">
|
||||
<path fill="#470137" d="M42.5 0h155C221 0 240 19 240 42.5v149c0 23.5-19 42.5-42.5 42.5h-155C19 234 0 215 0 191.5v-149C0 19 19 0 42.5 0z"/>
|
||||
<path fill="#ff61f6" d="m126.2 61.5-30 49.5 32 52.5c.2.4.3.8.2 1.2-.1.4-.5.1-1.1.2h-22.9c-1.6 0-2.7-.1-3.4-1.1-2.1-4.2-4.3-8.3-6.4-12.5-2.1-4.1-4.4-8.3-6.8-12.6-2.4-4.3-4.8-8.6-7.2-13h-.2c-2.1 4.3-4.4 8.6-6.7 12.9-2.3 4.3-4.6 8.6-6.8 12.8-2.3 4.2-4.6 8.5-6.9 12.6-.4 1-1.2 1.1-2.3 1.1h-22c-.4 0-.7.2-.7-.3-.1-.4 0-.8.2-1.1l31.1-51L36 61.4c-.3-.4-.4-.8-.2-1 .2-.3.6-.4 1-.4h22.7c.5 0 1 .1 1.4.2.4.2.7.5 1 .9 1.9 4.3 4.1 8.6 6.4 12.9 2.4 4.3 4.7 8.5 7.2 12.7 2.4 4.2 4.6 8.4 6.7 12.7h.2c2.1-4.4 4.3-8.7 6.5-12.9 2.2-4.2 4.5-8.4 6.8-12.6 2.3-4.2 4.5-8.5 6.7-12.6.1-.4.3-.8.6-1 .4-.2.8-.3 1.3-.2h21.1c.5-.1 1 .2 1.1.7.1.1-.1.5-.3.7zM172.4 167c-7.4.1-14.8-1.4-21.5-4.5-6.3-2.9-11.5-7.7-15.1-13.6-3.7-6.1-5.5-13.7-5.5-22.8-.1-7.4 1.8-14.7 5.5-21.1 3.8-6.5 9.3-11.9 15.9-15.5 7-3.9 15.4-5.8 25.3-5.8.5 0 1.2 0 2.1.1.9.1 1.9.1 3.1.2V52.4c0-.7.3-1.1 1-1.1h20.3c.5-.1.9.3 1 .7v95.4c0 1.8.1 3.8.2 6 .2 2.1.3 4.1.4 5.8 0 .7-.3 1.3-1 1.6-5.2 2.2-10.7 3.8-16.3 4.8-5.1.9-10.2 1.4-15.4 1.4zm9.8-20v-44c-.9-.2-1.8-.4-2.7-.5-1.1-.1-2.2-.2-3.3-.2-3.9 0-7.8.8-11.3 2.6-3.4 1.7-6.3 4.2-8.5 7.4s-3.3 7.5-3.3 12.7c-.1 3.5.5 7 1.7 10.3 1 2.7 2.5 5.1 4.5 7.1 1.9 1.8 4.2 3.2 6.8 4 2.7.9 5.5 1.3 8.3 1.3 1.5 0 2.9-.1 4.2-.2 1.3.1 2.4-.1 3.6-.5z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
1
svg/affinity-designer.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" clip-rule="evenodd" viewBox="0 0 1024 1024"><path fill="#134881" d="M1024 100c0-55.192-44.808-100-100-100H100C44.808 0 0 44.808 0 100v824c0 55.192 44.808 100 100 100h824c55.192 0 100-44.808 100-100V100Z"/><path fill="url(#a)" d="M2477 909.311c-.17 21.934-18.03 39.689-40 39.689h-403.69l-172.55-298.876H2477v259.187ZM1603 909V733.513L1983.19 75h148.58l-321.19 556.33L1993.98 949H1643c-22.08 0-40-17.923-40-40Zm487.17-292.956h-150.22c-16.77 0-32.27-8.8-40.65-23.327-8.38-14.502-8.38-32.433 0-46.935l75.15-130.17 115.72 200.432ZM2437 75c21.97 0 39.83 17.755 40 39.689v501.355h-347.48l-135.41-234.495L2171.1 75H2437Z" transform="translate(-1528)"/><defs><radialGradient id="a" cx="0" cy="0" r="1" gradientTransform="translate(2271.03 -89.26) scale(1038.26)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#6be1fb"/><stop offset="1" stop-color="#38bdfa"/></radialGradient></defs></svg>
|
||||
|
After Width: | Height: | Size: 1020 B |
1
svg/affinity-photo.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" clip-rule="evenodd" viewBox="0 0 1024 1024"><path fill="#4e3188" d="M1023.994 100c0-55.192-44.807-100-99.999-100H100.002C44.81 0 .002 44.808.002 100v824c0 55.192 44.808 100 100 100h823.993c55.192 0 100-44.808 100-100V100Z"/><path fill="url(#a)" d="M3547 650.087V909c0 21.809-17.49 39.566-39.2 39.992l-264.42-.001-172.64-298.904H3547Zm-342.96 298.904h-467.78l234.02-404.714 233.76 404.714Zm-505.34-2.629c-14.15-5.425-24.44-18.652-25.59-34.397l-.11-178.463 190.17-329.251h148.64L2698.7 946.362Zm449.05-542.726c12.95.054 25.34 7.661 32.03 18.935.07.114.2.344.2.344l39.3 68.052.34.564c6.42 11.234 6.67 25.389.25 36.827-13.17 23.042-26.55 45.973-39.83 68.96-6.52 11.179-18.86 18.473-31.98 18.636-25.03.105-75.22.047-75.29.047-12.95-.054-25.54-6.959-32.24-18.233-.15-.244-.43-.743-.43-.743s-39.32-68.059-39.4-68.217c-6.43-11.234-6.42-25.747 0-37.185.09-.168.29-.504.29-.504s26.31-45.638 39.48-68.457c6.52-11.179 18.89-18.87 32-19.034.22-.001.66-.011.66-.011l74.17.019h.45Zm372.14-326.51-311.25 538.875H3547V115c0-17.566-11.35-32.503-27.11-37.874ZM3053.34 75h428.43l-231.7 401.157-214.21-370.881L3053.34 75Zm96.18 295.191h-266.68l133.34-230.855 133.34 230.855Z" transform="matrix(1 0 0 1 -2597.98 0)"/><defs><radialGradient id="a" cx="0" cy="0" r="1" gradientTransform="translate(3341.03 -89.259) scale(1038.25)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#f9a6ff"/><stop offset="1" stop-color="#ea73ff"/></radialGradient></defs></svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
1
svg/affinity-publisher.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" clip-rule="evenodd" viewBox="0 0 1024 1024"><path fill="#891b26" d="M1024 100c0-55.192-44.808-100-100-100H100C44.808 0 0 44.808 0 100v824c0 55.192 44.808 100 100 100h824c55.192 0 100-44.808 100-100V100Z"/><path fill="url(#a)" d="m4145.14 949-257.8-446.348L3754 733.508V909c0 22.077 17.92 40 40 40h351.14Zm187.99 0h-148.64s-192.55-333.487-257.06-445.057c-12.63-21.85-12.64-48.87-.01-70.724 23.33-40.368 53.92-93.31 53.92-93.31L4333.13 949Zm187.99 0h-148.64l-369.29-646.928 72.14-124.89L4521.12 949ZM4628 808.578V909c0 22.077-17.92 40-40 40h-27.53L4095 143.121 4134.35 75h69.95L4628 808.578ZM4588 75h-344.36L4628 740.456V115c0-22.077-17.92-40-40-40Z" transform="translate(-3678.99)"/><defs><radialGradient id="a" cx="0" cy="0" r="1" gradientTransform="translate(4421.95 -89.26) scale(1038.26)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ffae71"/><stop offset="1" stop-color="#ff9350"/></radialGradient></defs></svg>
|
||||
|
After Width: | Height: | Size: 1.0 KiB |
1
svg/afordin-dark.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg width="196" height="256" viewBox="0 0 196 256" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M109.337 48.428c0-6.421-2.518-12.579-7-17.12-4.483-4.54-10.563-7.092-16.902-7.094 6.34-.002 12.42-2.554 16.902-7.094s7-10.7 7-17.12c0 6.421 2.518 12.58 7.002 17.121a23.76 23.76 0 0 0 16.905 7.093 23.76 23.76 0 0 0-16.905 7.093c-4.484 4.54-7.002 10.7-7.002 17.12m29.694 44.055a31.5 31.5 0 0 0-11.353-15.22 30.87 30.87 0 0 0-17.943-5.805 30.86 30.86 0 0 0-17.964 5.74 31.5 31.5 0 0 0-11.406 15.18l-25.795 73.16h37.412l17.46-57.182 22.773 77.722 10.669 31.871c3.384 11.026 10.162 20.667 19.343 27.512 9.182 6.846 20.285 10.537 31.687 10.534H196zM22.692 256h1.791a53 53 0 0 0 31.165-10.155c9.085-6.602 15.897-15.923 19.477-26.651l.418-1.249.307-.961H36.44z" fill="#fff"/><path d="M79.43 209.426c17.013-3.116 29.917-18.19 29.917-36.321H35.864c-9.511.001-18.633 3.829-25.358 10.64S0 199.793 0 209.426z" fill="#fff"/></svg>
|
||||
|
After Width: | Height: | Size: 924 B |
1
svg/afordin-light.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg width="196" height="256" viewBox="0 0 196 256" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M109.337 48.428c0-6.421-2.518-12.579-7-17.12-4.483-4.54-10.563-7.092-16.902-7.094 6.34-.002 12.42-2.554 16.902-7.094s7-10.7 7-17.12c0 6.421 2.518 12.58 7.002 17.121a23.76 23.76 0 0 0 16.905 7.093 23.76 23.76 0 0 0-16.905 7.093c-4.484 4.54-7.002 10.7-7.002 17.12m29.694 44.055a31.5 31.5 0 0 0-11.353-15.22 30.87 30.87 0 0 0-17.943-5.805 30.86 30.86 0 0 0-17.964 5.74 31.5 31.5 0 0 0-11.406 15.18l-25.795 73.16h37.412l17.46-57.182 22.773 77.722 10.669 31.871c3.384 11.026 10.162 20.667 19.343 27.512 9.182 6.846 20.285 10.537 31.687 10.534H196zM22.692 256h1.791a53 53 0 0 0 31.165-10.155c9.085-6.602 15.897-15.923 19.477-26.651l.418-1.249.307-.961H36.44z" fill="#000"/><path d="M79.43 209.426c17.013-3.116 29.917-18.19 29.917-36.321H35.864c-9.511.001-18.633 3.829-25.358 10.64S0 199.793 0 209.426z" fill="#000"/></svg>
|
||||
|
After Width: | Height: | Size: 924 B |
12
svg/after-effects.svg
Normal file
@@ -0,0 +1,12 @@
|
||||
<svg width="83" height="80" viewBox="0 0 83 80" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_912_9)">
|
||||
<path d="M67.5214 0H14.5299C6.50526 0 0 6.50526 0 14.5299V65.4701C0 73.4947 6.50526 80 14.5299 80H67.5214C75.546 80 82.0513 73.4947 82.0513 65.4701V14.5299C82.0513 6.50526 75.546 0 67.5214 0Z" fill="#00005B"/>
|
||||
<path d="M32.9624 47.8634H20.2474L17.6604 55.915C17.6252 56.0616 17.54 56.1913 17.4194 56.2817C17.2988 56.3721 17.1504 56.4177 16.9999 56.4104H10.5599C10.1927 56.4104 10.0642 56.2086 10.1746 55.805L21.1832 24.2314C21.2932 23.9012 21.4034 23.5783 21.5134 23.156C21.6576 22.4216 21.7313 21.6752 21.7336 20.9268C21.7261 20.8745 21.731 20.8212 21.7477 20.771C21.7644 20.7209 21.7926 20.6753 21.83 20.6379C21.8674 20.6005 21.9129 20.5723 21.9631 20.5556C22.0132 20.5389 22.0666 20.534 22.1189 20.5415H30.8708C31.127 20.5415 31.2738 20.6332 31.3111 20.8168L43.8058 55.86C43.9158 56.2272 43.8057 56.4107 43.4756 56.4104H36.32C36.1971 56.4241 36.0734 56.3925 35.9721 56.3216C35.8708 56.2507 35.7988 56.1453 35.7696 56.0251L32.9624 47.8634ZM22.2291 41.0745H30.9258C30.7056 40.3409 30.4487 39.5152 30.1551 38.5975C29.861 37.6807 29.5491 36.6991 29.2194 35.6527C28.8892 34.607 28.559 33.5611 28.2287 32.5153C27.8985 31.4695 27.5957 30.4604 27.3204 29.4879C27.0453 28.5161 26.7976 27.6263 26.5774 26.8184H26.5223C26.2126 28.305 25.8268 29.7747 25.3664 31.2218C24.8521 32.8731 24.3292 34.5611 23.7977 36.2857C23.2654 38.011 22.7425 39.6072 22.2291 41.0745Z" fill="#9999FF"/>
|
||||
<path d="M64.0619 44.7295H53.2185C53.3513 45.8024 53.7076 46.8355 54.2644 47.7622C54.8799 48.6798 55.7504 49.3973 56.7687 49.8263C58.1487 50.4234 59.6413 50.716 61.1447 50.684C62.3374 50.6611 63.5256 50.5306 64.6949 50.2942C65.7407 50.153 66.7656 49.8858 67.7473 49.4985C67.9304 49.3523 68.0226 49.4435 68.0226 49.7737V55.0028C68.0316 55.1452 68.0031 55.2876 67.9399 55.4156C67.8769 55.5157 67.7923 55.6003 67.6922 55.6632C66.6033 56.1456 65.4574 56.4869 64.2821 56.6791C62.6854 56.979 61.0627 57.1173 59.4383 57.092C56.8323 57.092 54.6489 56.6883 52.8882 55.881C51.2236 55.1477 49.7535 54.0357 48.5949 52.6335C47.5127 51.3123 46.7077 49.7866 46.228 48.1475C45.753 46.5297 45.512 44.8522 45.5125 43.1661C45.5074 41.3251 45.7954 39.4949 46.3657 37.7444C46.9149 36.0369 47.7834 34.4492 48.9252 33.0658C50.0513 31.6985 51.4595 30.5908 53.0534 29.8182C54.6677 29.0296 56.5761 28.7466 58.7778 28.7466C60.6037 28.7005 62.4173 29.0576 64.0894 29.7924C65.4955 30.3921 66.7333 31.3269 67.6947 32.5153C68.5965 33.679 69.2859 34.9927 69.7313 36.3959C70.165 37.7481 70.3878 39.1591 70.3918 40.5791C70.3918 41.3867 70.3643 42.1206 70.3092 42.7808C70.2543 43.4413 70.2084 43.9183 70.1716 44.2119C70.1574 44.3333 70.099 44.4452 70.0077 44.5263C69.9163 44.6075 69.7984 44.6523 69.6762 44.6523C69.456 44.6523 69.0799 44.6798 68.5479 44.7349C68.0155 44.7899 67.355 44.8266 66.5664 44.8449C65.7768 44.8638 64.9426 44.7295 64.0619 44.7295ZM53.2185 39.7153H60.4291C61.3098 39.7153 61.9611 39.7061 62.383 39.6878C62.6654 39.6595 62.938 39.5692 63.1813 39.4232V39.0929C63.1702 38.6624 63.096 38.2359 62.9611 37.827C62.6641 36.8879 62.0671 36.0723 61.2616 35.5055C60.4561 34.9387 59.4869 34.652 58.5027 34.6895C57.5764 34.6335 56.6538 34.8483 55.8474 35.3077C55.0411 35.7671 54.3858 36.4511 53.9616 37.2765C53.5845 38.0442 53.3336 38.8677 53.2185 39.7153Z" fill="#9999FF"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_912_9">
|
||||
<rect width="82.0513" height="80" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.4 KiB |
7
svg/ahooks-wordmark-dark.svg
Normal file
@@ -0,0 +1,7 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="139" height="44" viewBox="0 0 139 44">
|
||||
<g fill="none" fill-rule="nonzero">
|
||||
<rect width="44.005" height="44.005" fill="#4569D4" rx="22.003" />
|
||||
<path fill="#FFF"
|
||||
d="M22.967 20.242c2.227-.12 4.104 1.11 5.63 3.69-.233 3.16-.586 5.326-1.06 6.5l.35 1.23c.12.706.474 1.353 1.06 1.94.82 1.053 1.23 1.99 1.23 2.81l-2.99.7c-1.173-.7-1.993-1.754-2.46-3.16-1.993 2.226-3.926 3.28-5.8 3.16-3.046-.354-4.746-2.17-5.1-5.45.354-6.094 2.347-9.844 5.98-11.25 1.287-.354 2.34-.41 3.16-.17Zm-5.45 9.31.18 2.11c.234.82.467 1.23.7 1.23h1.23c1.64 0 3.164-1.757 4.57-5.27l.53-2.81c-.353-.82-1.056-1.23-2.11-1.23h-.18c-2.573 0-4.213 1.99-4.92 5.97ZM52.227 6.002l.88 1.23v2.99c0 3.633-.177 7.85-.53 12.65v-1.75c.586-.827 2.403-1.18 5.45-1.06 2.813-.234 3.983 2.17 3.51 7.21-.58 3.633.416 5.86 2.99 6.68v2.46l-1.76.53c-3.98.113-5.737-3.99-5.27-12.31l-.35-.17c-3.514 0-5.27 4.216-5.27 12.65h-1.76c-1.407-.467-2.11-1.697-2.11-3.69.586 0 1.346-8.264 2.28-24.79.353-1.754 1-2.63 1.94-2.63ZM75.207 19.882h1.06c4.567.24 7.027 3.17 7.38 8.79-.233 4.926-2.87 7.8-7.91 8.62-4.686 0-7.09-2.814-7.21-8.44.94-5.627 3.167-8.617 6.68-8.97Zm-2.64 7.56-.17 2.46c.114 2.113 1.227 3.403 3.34 3.87 2.814-.82 4.22-2.46 4.22-4.92.467-3.167-.883-4.984-4.05-5.45-2.106.466-3.22 1.813-3.34 4.04ZM94.325 19.882h1.06c4.566.24 7.026 3.17 7.38 8.79-.234 4.926-2.87 7.8-7.91 8.62-4.687 0-7.09-2.814-7.21-8.44.94-5.627 3.166-8.617 6.68-8.97Zm-2.64 7.56-.17 2.46c.113 2.113 1.226 3.403 3.34 3.87 2.813-.82 4.22-2.46 4.22-4.92.466-3.167-.884-4.984-4.05-5.45-2.107.466-3.22 1.813-3.34 4.04ZM110.279 10.742l.88-.87c.82-.12 1.64.113 2.46.7-.587 5.626-.937 8.906-1.05 9.84.82-.587 1.756-.88 2.81-.88 3.513.586 4.86 2.11 4.04 4.57-.114 2.933-1.754 4.693-4.92 5.28l.35.52c1.873 2.7 3.28 4.05 4.22 4.05h1.93c.94.586 1.41 1.173 1.41 1.76v.35c-.82 1.286-1.934 1.93-3.34 1.93-1.64.233-4.57-2.637-8.79-8.61v1.23c.466-.354.406 2.106-.18 7.38h-1.75c-.94 0-1.41-.527-1.41-1.58l-.18-1.06c.94-4.687 2.113-12.89 3.52-24.61Zm1.58 14.07-.35 2.11h1.76c1.64-.707 2.52-1.704 2.64-2.99v-1.23c0 .113-.294.23-.88.35-1.174 0-2.23.586-3.17 1.76ZM133.438 19.712c2.226 0 3.693.88 4.4 2.64v1.23c-.82 0-2.054-.237-3.7-.71h-.17c-1.287.233-2.167.763-2.64 1.59l.53.87c4.1 2.466 6.15 4.226 6.15 5.28.353.586.53 1.173.53 1.76-.82 3.866-2.93 5.506-6.33 4.92-3.634 0-5.567-2.054-5.8-6.16l1.93-.52c1.06 2.34 2.466 3.276 4.22 2.81 1.293.12 1.996-.407 2.11-1.58a9.93 9.93 0 0 0-3.95-3.17c-1.587-.7-2.437-1.987-2.55-3.86 0-2.814 1.756-4.514 5.27-5.1Z" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.5 KiB |
9
svg/ahooks-wordmark-light.svg
Normal file
@@ -0,0 +1,9 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="139" height="44" viewBox="0 0 139 44">
|
||||
<g fill="none" fill-rule="nonzero">
|
||||
<rect width="44.005" height="44.005" fill="#4569D4" rx="22.003" />
|
||||
<path fill="#FFF"
|
||||
d="M22.967 20.242c2.227-.12 4.104 1.11 5.63 3.69-.233 3.16-.586 5.326-1.06 6.5l.35 1.23c.12.706.474 1.353 1.06 1.94.82 1.053 1.23 1.99 1.23 2.81l-2.99.7c-1.173-.7-1.993-1.754-2.46-3.16-1.993 2.226-3.926 3.28-5.8 3.16-3.046-.354-4.746-2.17-5.1-5.45.354-6.094 2.347-9.844 5.98-11.25 1.287-.354 2.34-.41 3.16-.17Zm-5.45 9.31.18 2.11c.234.82.467 1.23.7 1.23h1.23c1.64 0 3.164-1.757 4.57-5.27l.53-2.81c-.353-.82-1.056-1.23-2.11-1.23h-.18c-2.573 0-4.213 1.99-4.92 5.97Z" />
|
||||
<path fill="#080E29"
|
||||
d="m52.227 6.002.88 1.23v2.99c0 3.633-.177 7.85-.53 12.65v-1.75c.586-.827 2.403-1.18 5.45-1.06 2.813-.234 3.983 2.17 3.51 7.21-.58 3.633.416 5.86 2.99 6.68v2.46l-1.76.53c-3.98.113-5.737-3.99-5.27-12.31l-.35-.17c-3.514 0-5.27 4.216-5.27 12.65h-1.76c-1.407-.467-2.11-1.697-2.11-3.69.586 0 1.346-8.264 2.28-24.79.353-1.754 1-2.63 1.94-2.63ZM75.207 19.882h1.06c4.567.24 7.027 3.17 7.38 8.79-.233 4.926-2.87 7.8-7.91 8.62-4.686 0-7.09-2.814-7.21-8.44.94-5.627 3.167-8.617 6.68-8.97Zm-2.64 7.56-.17 2.46c.114 2.113 1.227 3.403 3.34 3.87 2.814-.82 4.22-2.46 4.22-4.92.467-3.167-.883-4.984-4.05-5.45-2.106.466-3.22 1.813-3.34 4.04ZM94.325 19.882h1.06c4.566.24 7.026 3.17 7.38 8.79-.234 4.926-2.87 7.8-7.91 8.62-4.687 0-7.09-2.814-7.21-8.44.94-5.627 3.166-8.617 6.68-8.97Zm-2.64 7.56-.17 2.46c.113 2.113 1.226 3.403 3.34 3.87 2.813-.82 4.22-2.46 4.22-4.92.466-3.167-.884-4.984-4.05-5.45-2.107.466-3.22 1.813-3.34 4.04ZM110.279 10.742l.88-.87c.82-.12 1.64.113 2.46.7-.587 5.626-.937 8.906-1.05 9.84.82-.587 1.756-.88 2.81-.88 3.513.586 4.86 2.11 4.04 4.57-.114 2.933-1.754 4.693-4.92 5.28l.35.52c1.873 2.7 3.28 4.05 4.22 4.05h1.93c.94.586 1.41 1.173 1.41 1.76v.35c-.82 1.286-1.934 1.93-3.34 1.93-1.64.233-4.57-2.637-8.79-8.61v1.23c.466-.354.406 2.106-.18 7.38h-1.75c-.94 0-1.41-.527-1.41-1.58l-.18-1.06c.94-4.687 2.113-12.89 3.52-24.61Zm1.58 14.07-.35 2.11h1.76c1.64-.707 2.52-1.704 2.64-2.99v-1.23c0 .113-.294.23-.88.35-1.174 0-2.23.586-3.17 1.76ZM133.438 19.712c2.226 0 3.693.88 4.4 2.64v1.23c-.82 0-2.054-.237-3.7-.71h-.17c-1.287.233-2.167.763-2.64 1.59l.53.87c4.1 2.466 6.15 4.226 6.15 5.28.353.586.53 1.173.53 1.76-.82 3.866-2.93 5.506-6.33 4.92-3.634 0-5.567-2.054-5.8-6.16l1.93-.52c1.06 2.34 2.466 3.276 4.22 2.81 1.293.12 1.996-.407 2.11-1.58a9.93 9.93 0 0 0-3.95-3.17c-1.587-.7-2.437-1.987-2.55-3.86 0-2.814 1.756-4.514 5.27-5.1Z" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.5 KiB |
7
svg/ahooks.svg
Normal file
@@ -0,0 +1,7 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="44" height="44" viewBox="0 0 44 44">
|
||||
<g fill="none" fill-rule="nonzero">
|
||||
<rect width="44.005" height="44.005" fill="#4569D4" rx="22.003" />
|
||||
<path fill="#FFF"
|
||||
d="M22.967 20.242c2.227-.12 4.104 1.11 5.63 3.69-.233 3.16-.586 5.326-1.06 6.5l.35 1.23c.12.706.474 1.353 1.06 1.94.82 1.053 1.23 1.99 1.23 2.81l-2.99.7c-1.173-.7-1.993-1.754-2.46-3.16-1.993 2.226-3.926 3.28-5.8 3.16-3.046-.354-4.746-2.17-5.1-5.45.354-6.094 2.347-9.844 5.98-11.25 1.287-.354 2.34-.41 3.16-.17Zm-5.45 9.31.18 2.11c.234.82.467 1.23.7 1.23h1.23c1.64 0 3.164-1.757 4.57-5.27l.53-2.81c-.353-.82-1.056-1.23-2.11-1.23h-.18c-2.573 0-4.213 1.99-4.92 5.97Z" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 706 B |
3
svg/airbnb-wordmark.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="329.775 439.999 320.426 100.002">
|
||||
<path fill="#ff5a5f" d="M498.65 465.125c0 3.604-2.904 6.506-6.508 6.506s-6.506-2.902-6.506-6.506 2.803-6.506 6.506-6.506c3.706.1 6.508 3.003 6.508 6.506zm-26.828 13.114v1.602s-3.102-4.006-9.709-4.006c-10.91 0-19.42 8.309-19.42 19.82 0 11.412 8.41 19.82 19.42 19.82 6.707 0 9.709-4.104 9.709-4.104v1.701c0 .801.602 1.4 1.402 1.4h8.107v-37.639h-8.107c-.8.003-1.402.705-1.402 1.406zm0 24.123c-1.5 2.203-4.504 4.105-8.107 4.105-6.406 0-11.312-4.004-11.312-10.812 0-6.807 4.906-10.811 11.312-10.811 3.504 0 6.707 2.002 8.107 4.104v13.414zm15.516-25.526h9.609v37.639h-9.609v-37.639zm143.545-1.002c-6.607 0-9.711 4.006-9.711 4.006v-21.121h-9.609v55.756h8.109c.801 0 1.4-.701 1.4-1.402v-1.701s3.104 4.104 9.709 4.104c10.912 0 19.42-8.406 19.42-19.818s-8.508-19.824-19.318-19.824zm-1.602 30.532c-3.705 0-6.607-1.9-8.109-4.104v-13.414c1.502-2.002 4.705-4.104 8.109-4.104 6.406 0 11.311 4.004 11.311 10.811s-4.904 10.811-11.311 10.811zm-22.722-14.213v22.422h-9.611v-21.322c0-6.205-2.002-8.709-7.404-8.709-2.902 0-5.906 1.502-7.811 3.705v26.227h-9.607v-37.639h7.605c.801 0 1.402.701 1.402 1.402v1.602c2.803-2.904 6.506-4.006 10.209-4.006 4.205 0 7.709 1.203 10.512 3.605 3.402 2.803 4.705 6.406 4.705 12.713zm-57.76-16.319c-6.605 0-9.709 4.006-9.709 4.006v-21.121h-9.609v55.756h8.107c.801 0 1.402-.701 1.402-1.402v-1.701s3.104 4.104 9.709 4.104c10.912 0 19.42-8.406 19.42-19.818.1-11.413-8.408-19.824-19.32-19.824zm-1.602 30.532c-3.703 0-6.605-1.9-8.107-4.104v-13.414c1.502-2.002 4.705-4.104 8.107-4.104 6.408 0 11.312 4.004 11.312 10.811s-4.904 10.811-11.312 10.811zm-26.025-30.532c2.902 0 4.404.502 4.404.502v8.908s-8.008-2.703-13.012 3.004v26.326h-9.611v-37.738h8.109c.801 0 1.4.701 1.4 1.402v1.602c1.804-2.103 5.708-4.006 8.71-4.006zm-99.799 35.237c-.5-1.201-1.001-2.502-1.501-3.604-.802-1.801-1.603-3.504-2.302-5.105l-.1-.1c-6.908-15.016-14.314-30.23-22.123-45.244l-.3-.602a196.953 196.953 0 0 1-2.401-4.705c-1.002-1.803-2.002-3.703-3.604-5.506-3.203-4.004-7.808-6.207-12.712-6.207-5.006 0-9.51 2.203-12.812 6.006-1.502 1.801-2.604 3.703-3.604 5.506a217.271 217.271 0 0 1-2.401 4.705l-.301.602c-7.708 15.014-15.215 30.229-22.122 45.244l-.101.199c-.7 1.604-1.502 3.305-2.303 5.105-.5 1.102-1 2.303-1.5 3.604-1.302 3.703-1.703 7.207-1.201 10.812 1.101 7.508 6.105 13.812 13.013 16.617 2.603 1.102 5.306 1.602 8.108 1.602.801 0 1.801-.1 2.603-.201 3.304-.4 6.707-1.5 10.011-3.402 4.104-2.303 8.008-5.605 12.412-10.41 4.404 4.805 8.408 8.107 12.412 10.41 3.305 1.902 6.707 3.002 10.01 3.402.801.102 1.803.201 2.604.201 2.803 0 5.605-.5 8.107-1.602 7.008-2.805 11.912-9.209 13.014-16.617.795-3.503.395-7.005-.906-10.71zm-45.144 5.205c-5.406-6.807-8.91-13.213-10.11-18.617-.5-2.303-.601-4.305-.3-6.107.199-1.602.801-3.004 1.602-4.205 1.902-2.701 5.105-4.404 8.809-4.404 3.705 0 7.008 1.602 8.81 4.404.801 1.201 1.401 2.604 1.603 4.205.299 1.803.199 3.904-.301 6.107-1.205 5.304-4.709 11.711-10.113 18.617zm39.938 4.705c-.7 5.205-4.204 9.711-9.108 11.713-2.402 1-5.006 1.301-7.607 1-2.502-.301-5.006-1.102-7.607-2.602-3.604-2.004-7.207-5.105-11.412-9.711 6.606-8.107 10.61-15.516 12.112-22.121.701-3.104.802-5.906.5-8.51-.399-2.502-1.301-4.805-2.702-6.807-3.105-4.506-8.311-7.107-14.115-7.107s-11.01 2.703-14.113 7.107c-1.401 2.002-2.303 4.305-2.703 6.807-.4 2.604-.301 5.506.5 8.51 1.501 6.605 5.605 14.113 12.111 22.221-4.104 4.605-7.808 7.709-11.412 9.711-2.603 1.502-5.104 2.303-7.606 2.602-2.702.301-5.306-.1-7.608-1-4.904-2.002-8.408-6.508-9.108-11.713-.3-2.502-.101-5.004.901-7.807.299-1.002.801-2.002 1.301-3.203.701-1.602 1.5-3.305 2.302-5.006l.101-.199c6.906-14.916 14.313-30.131 22.021-44.945l.3-.602c.802-1.5 1.603-3.102 2.403-4.604.801-1.602 1.701-3.104 2.803-4.406 2.102-2.4 4.904-3.703 8.008-3.703s5.906 1.303 8.008 3.703c1.102 1.305 2.002 2.807 2.803 4.406.802 1.502 1.603 3.104 2.402 4.604l.301.602a1325.424 1325.424 0 0 1 21.922 45.045v.1c.802 1.604 1.502 3.404 2.303 5.008.5 1.199 1.001 2.199 1.301 3.201.799 2.6 1.099 5.104.698 7.706z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.9 KiB |
3
svg/airbnb.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg enable-background="new 0 0 1991.3 2143.2" viewBox="0 0 1991.3 2143.2" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m1851.6 1735.6c-15 111.6-90.1 208.1-195.2 251-51.5 21.4-107.3 27.9-163.1 21.4-53.6-6.4-107.3-23.6-163-55.7-77.2-43-154.5-109.4-244.6-208.1 141.6-173.8 227.4-332.5 259.6-474.1 15-66.5 17.2-126.6 10.7-182.4-8.6-53.6-27.9-103-57.9-145.9-66.5-96.5-178.1-152.3-302.5-152.3s-236 57.9-302.5 152.3c-30 42.9-49.3 92.3-57.9 145.9-8.6 55.8-6.4 118 10.7 182.4 32.2 141.6 120.1 302.5 259.6 476.2-88 98.7-167.3 165.2-244.6 208.1-55.8 32.2-109.4 49.4-163 55.8-55.3 6.2-111.2-1.2-163-21.4-105.1-42.9-180.2-139.5-195.2-251-6.4-53.6-2.1-107.2 19.3-167.3 6.4-21.5 17.2-42.9 27.9-68.6 15-34.3 32.2-70.8 49.3-107.3l2.2-4.3c148-319.7 306.8-645.8 472-963.3l6.4-12.9c17.2-32.1 34.3-66.5 51.5-98.7 17.2-34.3 36.5-66.5 60.1-94.4 45.1-51.5 105.1-79.4 171.6-79.4s126.6 27.9 171.6 79.4c23.6 27.9 42.9 60.1 60.1 94.4 17.2 32.2 34.3 66.5 51.5 98.6l6.5 12.9c163 319.6 321.8 645.7 469.8 965.4v2.1c17.2 34.3 32.2 73 49.3 107.3 10.7 25.8 21.5 47.2 27.9 68.6 17.1 55.9 23.5 109.5 14.9 165.3zm-856-100.9c-115.8-145.9-190.9-283.2-216.7-399-10.7-49.4-12.9-92.3-6.4-130.9 4.3-34.3 17.2-64.4 34.3-90.1 40.8-57.9 109.4-94.4 188.8-94.4s150.2 34.4 188.8 94.4c17.2 25.8 30 55.8 34.3 90.1 6.4 38.6 4.3 83.7-6.4 130.9-25.7 113.7-100.8 251-216.7 399zm967.6-111.5c-10.7-25.7-21.5-53.6-32.2-77.2-17.2-38.6-34.3-75.1-49.4-109.4l-2.1-2.1c-148-321.8-306.8-647.9-474.1-969.7l-6.4-12.9c-17.2-32.2-34.3-66.5-51.5-100.8-21.5-38.6-42.9-79.4-77.2-118-68.7-85.9-167.4-133.1-272.5-133.1-107.3 0-203.8 47.2-274.7 128.7-32.2 38.6-55.8 79.4-77.2 118-17.2 34.3-34.3 68.6-51.5 100.8l-6.4 12.8c-165.2 321.8-326.1 647.9-474.1 969.7l-2.1 4.3c-15 34.3-32.2 70.8-49.4 109.4-11.5 25.4-22.2 51.2-32.2 77.2-27.9 79.4-36.5 154.5-25.8 231.7 23.6 160.9 130.9 296.1 278.9 356.1 55.8 23.6 113.7 34.3 173.8 34.3 17.2 0 38.6-2.1 55.8-4.3 70.8-8.6 143.7-32.1 214.5-72.9 88-49.3 171.6-120.1 266-223.1 94.4 103 180.2 173.8 266 223.1 70.8 40.8 143.7 64.3 214.5 72.9 17.2 2.2 38.6 4.3 55.8 4.3 60.1 0 120.1-10.7 173.8-34.3 150.2-60.1 255.3-197.4 278.9-356.1 17.2-75 8.6-150-19.2-229.4z" fill="#e0565b"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
1
svg/alacritty.svg
Normal file
|
After Width: | Height: | Size: 9.6 KiB |
1
svg/algolia.svg
Normal file
|
After Width: | Height: | Size: 5.2 KiB |
20
svg/algorand.svg
Normal file
@@ -0,0 +1,20 @@
|
||||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32">
|
||||
<defs>
|
||||
<linearGradient id="c" x1="16" x2="16" y1="0" y2="30" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0%" stop-color="#FFF" stop-opacity=".5"/>
|
||||
<stop offset="100%" stop-opacity=".5"/>
|
||||
</linearGradient>
|
||||
<filter id="a" width="1.08" height="1.0966667" x="-.04" y="-.04" filterUnits="objectBoundingBox">
|
||||
<feOffset dy=".5" in="SourceAlpha" result="shadowOffsetOuter1"/>
|
||||
<feGaussianBlur in="shadowOffsetOuter1" result="shadowBlurOuter1" stdDeviation=".5"/>
|
||||
<feComposite in="shadowBlurOuter1" in2="SourceAlpha" operator="out" result="shadowBlurOuter1"/>
|
||||
<feColorMatrix in="shadowBlurOuter1" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.199473505 0"/>
|
||||
</filter>
|
||||
<circle id="b" cx="16" cy="15" r="15"/>
|
||||
</defs>
|
||||
<use xlink:href="#b" filter="url(#a)" style="display:inline;fill-rule:evenodd"/>
|
||||
<use xlink:href="#b" fill="#627eea" style="display:inline;fill:#e5e5e5;fill-opacity:1;fill-rule:evenodd"/>
|
||||
<use xlink:href="#b" fill="url(#c)" style="display:inline;mix-blend-mode:soft-light;fill:url(#c);fill-rule:evenodd"/>
|
||||
<circle cx="16" cy="15" r="14.5" stroke="#000" stroke-opacity=".097" style="display:inline;fill:none;fill-rule:evenodd"/>
|
||||
<path d="m10.331859 23 7.221238-12.601771.99115 3.256638L13.022125 23h2.83186l3.539822-6.088495L20.951328 23H23.5l-2.40708-9.061945 1.699118-2.973453h-2.548674L19.252216 7h-2.407083L7.5 23Z" style="fill:#000;fill-opacity:1;stroke:none;stroke-width:.141594;stroke-opacity:1"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.6 KiB |
66
svg/aliexpress-wordmark.svg
Normal file
@@ -0,0 +1,66 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="57.573334mm"
|
||||
height="13.387917mm"
|
||||
viewBox="0 0 57.573334 13.387917"
|
||||
version="1.1">
|
||||
<style
|
||||
type="text/css">
|
||||
.st0{fill:#E43225;}
|
||||
.st1{fill:#F7971D;}
|
||||
</style>
|
||||
<g
|
||||
transform="translate(-76.290715,-142.89532)">
|
||||
<g
|
||||
transform="matrix(0.26458333,0,0,0.26458333,38.931549,83.337617)">
|
||||
<g>
|
||||
<path
|
||||
class="st0"
|
||||
d="m 195.5,262.8 v -33.5 h 19.8 v 4.2 h -15.7 v 10.3 h 14.1 v 4.2 h -14.1 v 10.5 h 16.8 v 4.2 h -20.9 z" />
|
||||
<path
|
||||
class="st0"
|
||||
d="m 237.2,262.8 -6.8,-8.9 -6.8,8.9 h -4.8 l 9.3,-11.9 -9.8,-12.3 h 5.4 l 6.7,9.2 6.8,-9.2 h 5.3 l -9.3,12.3 8.8,11.9 z" />
|
||||
<path
|
||||
class="st0"
|
||||
d="m 248.6,259.2 v 16.5 h -4.1 V 251 c 0,-6.3 4.8,-13 12.3,-13 7.6,0 13.3,4.8 13.3,12.7 0,7.7 -5.8,13 -12.4,13 -3.2,0 -7.5,-1.4 -9.1,-4.5 z m 17.2,-8.5 c 0,-5.4 -3.5,-8.6 -9.7,-8.3 -3,0.1 -7.6,2.3 -7.2,10 0.1,2.5 2.7,7.2 8.4,7.2 4.9,0 8.5,-2.8 8.5,-8.9 z" />
|
||||
<path
|
||||
class="st0"
|
||||
d="m 273.6,262.8 v -24.2 h 4.1 v 2.6 c 2,-2.3 5.1,-3.1 8.4,-3.1 v 4.4 c -0.5,-0.1 -5.4,-0.7 -8.4,5.7 v 14.7 h -4.1 z" />
|
||||
<path
|
||||
class="st0"
|
||||
d="m 287.2,250.7 c 0,-7 5,-12.7 11.9,-12.7 8.6,0 11.8,5.7 11.8,13 v 2 h -19.2 c 0.3,4.6 4.4,7 8.2,6.9 2.8,-0.1 4.7,-0.9 6.7,-2.9 l 2.7,2.8 c -2.5,2.4 -5.7,4 -9.6,4 -7.3,-0.1 -12.5,-5.5 -12.5,-13.1 z m 11.6,-8.6 c -3.9,0 -6.9,3.4 -7.1,7.1 h 14.9 c 0,-3.6 -2.6,-7.1 -7.8,-7.1 z" />
|
||||
<path
|
||||
class="st0"
|
||||
d="m 313,259.4 c 0,0 3,-2.7 3,-2.7 -0.1,0 1.5,1.6 1.7,1.7 0.7,0.6 1.4,1 2.3,1.2 2.6,0.7 7.3,0.5 7.7,-3.1 0.2,-2 -1.3,-3.1 -3,-3.8 -2.2,-0.8 -4.6,-1.1 -6.8,-2.1 -2.5,-1.1 -4.1,-3 -4.1,-5.8 0,-7.3 10.4,-8.5 15.1,-5.1 0.2,0.2 2.5,2.3 2.4,2.3 l -3,2.4 c -1.5,-1.8 -2.9,-2.7 -6.1,-2.7 -1.6,0 -3.8,0.7 -4.2,2.4 -0.6,2.4 2.1,3.3 3.9,3.8 2.4,0.6 5,1 7.1,2.3 2.9,1.8 3.6,5.7 2.5,8.7 -1.2,3.3 -4.8,4.6 -8,4.7 -3.8,0.2 -7.1,-1 -9.8,-3.7 -0.2,0 -0.7,-0.5 -0.7,-0.5 z" />
|
||||
<path
|
||||
class="st0"
|
||||
d="m 334.1,259.4 c 0,0 3,-2.7 3,-2.7 -0.1,0 1.5,1.6 1.7,1.7 0.7,0.6 1.4,1 2.3,1.2 2.6,0.7 7.3,0.5 7.7,-3.1 0.2,-2 -1.3,-3.1 -3,-3.8 -2.2,-0.8 -4.6,-1.1 -6.8,-2.1 -2.5,-1.1 -4.1,-3 -4.1,-5.8 0,-7.3 10.4,-8.5 15.1,-5.1 0.2,0.2 2.5,2.3 2.4,2.3 l -3,2.4 c -1.5,-1.8 -2.9,-2.7 -6.1,-2.7 -1.6,0 -3.8,0.7 -4.2,2.4 -0.6,2.4 2.1,3.3 3.9,3.8 2.4,0.6 5,1 7.1,2.3 2.9,1.8 3.6,5.7 2.5,8.7 -1.2,3.3 -4.8,4.6 -8,4.7 -3.8,0.2 -7.1,-1 -9.8,-3.7 -0.2,0 -0.7,-0.5 -0.7,-0.5 z" />
|
||||
<g>
|
||||
<path
|
||||
class="st0"
|
||||
d="M 353.6,238.6 V 236 h -0.9 v -0.5 h 2.4 v 0.5 h -0.9 v 2.6 z" />
|
||||
<path
|
||||
class="st0"
|
||||
d="m 358.1,238.6 v -2.4 l -0.9,2.4 H 357 l -0.9,-2.4 v 2.4 h -0.5 v -3.1 h 0.8 l 0.8,2.1 0.8,-2.1 h 0.8 v 3.1 z" />
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<path
|
||||
class="st1"
|
||||
d="m 167.7,262.8 -3,-8 h -16.2 l -3,8 h -4.3 l 13,-33.5 h 4.7 l 12.9,33.5 z m -11.3,-28.7 -6.1,16.6 H 163 Z" />
|
||||
<path
|
||||
class="st1"
|
||||
d="m 174.5,262.8 v -33.5 h 4.2 v 33.5 z" />
|
||||
<path
|
||||
class="st1"
|
||||
d="m 185,262.8 v -23.7 h 4.2 v 23.7 z" />
|
||||
<path
|
||||
class="st1"
|
||||
d="m 193.2,231.4 c 0,-0.1 0,-0.1 0,-0.2 0,-0.1 0,-0.1 0,-0.2 -3.2,-0.1 -5.8,-2.7 -5.9,-5.9 -0.1,0 -0.2,0 -0.3,0 -0.1,0 -0.2,0 -0.3,0 -0.1,3.2 -2.7,5.8 -5.9,5.9 0,0.1 0,0.1 0,0.2 0,0.1 0,0.1 0,0.2 3.2,0.1 5.8,2.7 5.9,5.9 0.1,0 0.2,0 0.3,0 0.1,0 0.2,0 0.3,0 0.1,-3.2 2.7,-5.8 5.9,-5.9 z" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.6 KiB |
@@ -1 +1,66 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" id="Livello_1" x="0" y="0" version="1.1" viewBox="0 0 512 512"><style>.st2{fill:#b72025}</style><path d="M469.3 470.8H42.7C18.5 470.8 0 452.3 0 428.1V42.7C0 18.5 18.5 0 42.7 0h426.7C493.5 0 512 18.5 512 42.7v385.4c0 22.7-18.5 42.7-42.7 42.7" style="fill:#f78f1e"/><path d="M469.3 512H42.7C18.5 512 0 493.5 0 469.3V113.8c0-24.2 18.5-42.7 42.7-42.7h426.7c24.2 0 42.7 18.5 42.7 42.7v355.6c-.1 24.1-18.6 42.6-42.8 42.6" style="fill:#dc3326"/><circle cx="128" cy="156.4" r="28.4" class="st2"/><circle cx="384" cy="156.4" r="28.4" class="st2"/><path d="M256 298.7c-78.2 0-142.2-64-142.2-142.2 0-8.5 5.7-14.2 14.2-14.2s14.2 5.7 14.2 14.2c0 62.6 51.2 113.8 113.8 113.8S369.8 219 369.8 156.4c0-8.5 5.7-14.2 14.2-14.2s14.2 5.7 14.2 14.2c0 78.3-64 142.3-142.2 142.3" style="fill:#fff"/></svg>
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="57.573334mm"
|
||||
height="13.387917mm"
|
||||
viewBox="0 0 57.573334 13.387917"
|
||||
version="1.1">
|
||||
<style
|
||||
type="text/css">
|
||||
.st0{fill:#E43225;}
|
||||
.st1{fill:#F7971D;}
|
||||
</style>
|
||||
<g
|
||||
transform="translate(-76.290715,-142.89532)">
|
||||
<g
|
||||
transform="matrix(0.26458333,0,0,0.26458333,38.931549,83.337617)">
|
||||
<g>
|
||||
<path
|
||||
class="st0"
|
||||
d="m 195.5,262.8 v -33.5 h 19.8 v 4.2 h -15.7 v 10.3 h 14.1 v 4.2 h -14.1 v 10.5 h 16.8 v 4.2 h -20.9 z" />
|
||||
<path
|
||||
class="st0"
|
||||
d="m 237.2,262.8 -6.8,-8.9 -6.8,8.9 h -4.8 l 9.3,-11.9 -9.8,-12.3 h 5.4 l 6.7,9.2 6.8,-9.2 h 5.3 l -9.3,12.3 8.8,11.9 z" />
|
||||
<path
|
||||
class="st0"
|
||||
d="m 248.6,259.2 v 16.5 h -4.1 V 251 c 0,-6.3 4.8,-13 12.3,-13 7.6,0 13.3,4.8 13.3,12.7 0,7.7 -5.8,13 -12.4,13 -3.2,0 -7.5,-1.4 -9.1,-4.5 z m 17.2,-8.5 c 0,-5.4 -3.5,-8.6 -9.7,-8.3 -3,0.1 -7.6,2.3 -7.2,10 0.1,2.5 2.7,7.2 8.4,7.2 4.9,0 8.5,-2.8 8.5,-8.9 z" />
|
||||
<path
|
||||
class="st0"
|
||||
d="m 273.6,262.8 v -24.2 h 4.1 v 2.6 c 2,-2.3 5.1,-3.1 8.4,-3.1 v 4.4 c -0.5,-0.1 -5.4,-0.7 -8.4,5.7 v 14.7 h -4.1 z" />
|
||||
<path
|
||||
class="st0"
|
||||
d="m 287.2,250.7 c 0,-7 5,-12.7 11.9,-12.7 8.6,0 11.8,5.7 11.8,13 v 2 h -19.2 c 0.3,4.6 4.4,7 8.2,6.9 2.8,-0.1 4.7,-0.9 6.7,-2.9 l 2.7,2.8 c -2.5,2.4 -5.7,4 -9.6,4 -7.3,-0.1 -12.5,-5.5 -12.5,-13.1 z m 11.6,-8.6 c -3.9,0 -6.9,3.4 -7.1,7.1 h 14.9 c 0,-3.6 -2.6,-7.1 -7.8,-7.1 z" />
|
||||
<path
|
||||
class="st0"
|
||||
d="m 313,259.4 c 0,0 3,-2.7 3,-2.7 -0.1,0 1.5,1.6 1.7,1.7 0.7,0.6 1.4,1 2.3,1.2 2.6,0.7 7.3,0.5 7.7,-3.1 0.2,-2 -1.3,-3.1 -3,-3.8 -2.2,-0.8 -4.6,-1.1 -6.8,-2.1 -2.5,-1.1 -4.1,-3 -4.1,-5.8 0,-7.3 10.4,-8.5 15.1,-5.1 0.2,0.2 2.5,2.3 2.4,2.3 l -3,2.4 c -1.5,-1.8 -2.9,-2.7 -6.1,-2.7 -1.6,0 -3.8,0.7 -4.2,2.4 -0.6,2.4 2.1,3.3 3.9,3.8 2.4,0.6 5,1 7.1,2.3 2.9,1.8 3.6,5.7 2.5,8.7 -1.2,3.3 -4.8,4.6 -8,4.7 -3.8,0.2 -7.1,-1 -9.8,-3.7 -0.2,0 -0.7,-0.5 -0.7,-0.5 z" />
|
||||
<path
|
||||
class="st0"
|
||||
d="m 334.1,259.4 c 0,0 3,-2.7 3,-2.7 -0.1,0 1.5,1.6 1.7,1.7 0.7,0.6 1.4,1 2.3,1.2 2.6,0.7 7.3,0.5 7.7,-3.1 0.2,-2 -1.3,-3.1 -3,-3.8 -2.2,-0.8 -4.6,-1.1 -6.8,-2.1 -2.5,-1.1 -4.1,-3 -4.1,-5.8 0,-7.3 10.4,-8.5 15.1,-5.1 0.2,0.2 2.5,2.3 2.4,2.3 l -3,2.4 c -1.5,-1.8 -2.9,-2.7 -6.1,-2.7 -1.6,0 -3.8,0.7 -4.2,2.4 -0.6,2.4 2.1,3.3 3.9,3.8 2.4,0.6 5,1 7.1,2.3 2.9,1.8 3.6,5.7 2.5,8.7 -1.2,3.3 -4.8,4.6 -8,4.7 -3.8,0.2 -7.1,-1 -9.8,-3.7 -0.2,0 -0.7,-0.5 -0.7,-0.5 z" />
|
||||
<g>
|
||||
<path
|
||||
class="st0"
|
||||
d="M 353.6,238.6 V 236 h -0.9 v -0.5 h 2.4 v 0.5 h -0.9 v 2.6 z" />
|
||||
<path
|
||||
class="st0"
|
||||
d="m 358.1,238.6 v -2.4 l -0.9,2.4 H 357 l -0.9,-2.4 v 2.4 h -0.5 v -3.1 h 0.8 l 0.8,2.1 0.8,-2.1 h 0.8 v 3.1 z" />
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<path
|
||||
class="st1"
|
||||
d="m 167.7,262.8 -3,-8 h -16.2 l -3,8 h -4.3 l 13,-33.5 h 4.7 l 12.9,33.5 z m -11.3,-28.7 -6.1,16.6 H 163 Z" />
|
||||
<path
|
||||
class="st1"
|
||||
d="m 174.5,262.8 v -33.5 h 4.2 v 33.5 z" />
|
||||
<path
|
||||
class="st1"
|
||||
d="m 185,262.8 v -23.7 h 4.2 v 23.7 z" />
|
||||
<path
|
||||
class="st1"
|
||||
d="m 193.2,231.4 c 0,-0.1 0,-0.1 0,-0.2 0,-0.1 0,-0.1 0,-0.2 -3.2,-0.1 -5.8,-2.7 -5.9,-5.9 -0.1,0 -0.2,0 -0.3,0 -0.1,0 -0.2,0 -0.3,0 -0.1,3.2 -2.7,5.8 -5.9,5.9 0,0.1 0,0.1 0,0.2 0,0.1 0,0.1 0,0.2 3.2,0.1 5.8,2.7 5.9,5.9 0.1,0 0.2,0 0.3,0 0.1,0 0.2,0 0.3,0 0.1,-3.2 2.7,-5.8 5.9,-5.9 z" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 842 B After Width: | Height: | Size: 3.6 KiB |
1
svg/amp.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg fill="#005AF0" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>AMP</title><path d="M12 0c6.628 0 12 5.373 12 12s-5.372 12-12 12C5.373 24 0 18.627 0 12S5.373 0 12 0zm-.92 19.278l5.034-8.377a.444.444 0 00.097-.268.455.455 0 00-.455-.455l-2.851.004.924-5.468-.927-.003-5.018 8.367s-.1.183-.1.291c0 .251.204.455.455.455l2.831-.004-.901 5.458z"/></svg>
|
||||
|
After Width: | Height: | Size: 377 B |
1
svg/angular.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 242 256"><g clip-path="url(#a)"><mask id="b" width="242" height="256" x="0" y="0" maskUnits="userSpaceOnUse" style="mask-type:luminance"><path fill="#fff" d="M0 0h242v256H0V0Z"/></mask><g mask="url(#b)"><path fill="url(#c)" d="m241 43-9 136L149 0l92 43Zm-58 176-62 36-63-36 12-31h101l12 31ZM121 68l32 80H88l33-80ZM9 179 0 43 92 0 9 179Z"/><path fill="url(#d)" d="m241 43-9 136L149 0l92 43Zm-58 176-62 36-63-36 12-31h101l12 31ZM121 68l32 80H88l33-80ZM9 179 0 43 92 0 9 179Z"/></g></g><defs><linearGradient id="c" x1="53.2" x2="245" y1="231.9" y2="140.7" gradientUnits="userSpaceOnUse"><stop stop-color="#E40035"/><stop offset=".2" stop-color="#F60A48"/><stop offset=".4" stop-color="#F20755"/><stop offset=".5" stop-color="#DC087D"/><stop offset=".7" stop-color="#9717E7"/><stop offset="1" stop-color="#6C00F5"/></linearGradient> <linearGradient id="d" x1="44.5" x2="170" y1="30.7" y2="174" gradientUnits="userSpaceOnUse"> <stop stop-color="#FF31D9"/><stop offset="1" stop-color="#FF5BE1" stop-opacity="0"/></linearGradient><clipPath id="a"><path fill="#fff" d="M0 0h242v256H0z"/></clipPath></defs></svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
1
svg/animate.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" viewBox="0 0 1146 1117"><path d="M0 0h1145.83v1116.67H0z" style="fill:none"/><path d="M48.642.184h177.4c26.896 0 48.642 21.747 48.642 48.643v170.532c0 26.895-21.746 48.641-48.642 48.641h-177.4C21.746 268 0 246.254 0 219.359V48.827C0 21.931 21.746.184 48.642.184Z" style="fill:#00005b;fill-rule:nonzero" transform="scale(4.167)"/><path d="M75.194 137.641h29.072c-.687-2.403-1.603-5.266-2.632-8.241a344.072 344.072 0 0 1-3.091-9.843c-1.145-3.548-2.175-6.981-3.32-10.529-1.144-3.548-2.174-6.867-3.09-10.186-.916-3.204-1.716-6.18-2.517-8.927h-.23c-1.03 4.921-2.289 9.843-3.891 14.763-1.717 5.494-3.433 11.217-5.265 16.94a224.505 224.505 0 0 1-5.036 16.023Zm35.825 22.775H68.556l-8.698 26.896c-.23 1.03-1.145 1.718-2.175 1.602H35.938c-1.26 0-1.603-.686-1.26-2.06L71.646 81.217c.344-1.145.687-2.061 1.145-3.548.458-2.403.686-4.922.686-7.44-.113-.572.344-1.144.916-1.258h29.758c.915 0 1.373.342 1.488.915l41.66 117.083c.344 1.259 0 1.831-1.144 1.831h-23.921c-.801.114-1.602-.458-1.831-1.259l-9.384-27.125ZM160.232 187.198v-67.985c0-2.059 0-4.463-.115-6.98-.114-2.633-.114-5.036-.228-7.325-.115-2.289-.229-4.464-.343-5.837-.115-.344-.115-.802.228-1.144.343-.23.687-.344 1.145-.344h18.427c.686 0 1.258.114 1.831.344.458.228.801.686.916 1.258.228.687.572 1.603.801 2.518a21.92 21.92 0 0 1 .686 3.777 38.007 38.007 0 0 1 12.133-7.096c4.463-1.488 9.155-2.289 13.848-2.289 3.663 0 7.325.573 10.758 1.717 8.126 2.632 14.535 8.927 17.397 16.938 1.831 4.693 2.517 10.873 2.517 18.313v54.135c0 1.144-.458 1.602-1.488 1.602l-21.516.23c-.916.113-1.716-.458-1.832-1.374v-51.732c-.114-3.433-.8-6.867-2.173-9.958-1.031-2.289-2.633-4.348-4.694-5.722-2.402-1.488-5.035-2.174-7.782-2.06-2.977 0-5.951.458-8.698 1.603-2.519 1.03-4.808 2.517-6.867 4.348v63.177c0 1.145-.458 1.602-1.489 1.602h-21.745c-.802.116-1.488-.457-1.602-1.258-.23-.229-.23-.344-.115-.458Z" style="fill:#99f;fill-rule:nonzero" transform="scale(4.167)"/></svg>
|
||||
|
After Width: | Height: | Size: 2.0 KiB |
43
svg/ant-design-dark-theme.svg
Normal file
@@ -0,0 +1,43 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg width="200px" height="200px" viewBox="0 0 200 200" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- Generator: Sketch 47.1 (45422) - http://www.bohemiancoding.com/sketch -->
|
||||
<title>Group 28 Copy 5</title>
|
||||
<desc>Created with Sketch.</desc>
|
||||
<defs>
|
||||
<linearGradient x1="62.1023273%" y1="0%" x2="108.19718%" y2="37.8635764%" id="linearGradient-1">
|
||||
<stop stop-color="#4285EB" offset="0%"></stop>
|
||||
<stop stop-color="#2EC7FF" offset="100%"></stop>
|
||||
</linearGradient>
|
||||
<linearGradient x1="69.644116%" y1="0%" x2="54.0428975%" y2="108.456714%" id="linearGradient-2">
|
||||
<stop stop-color="#29CDFF" offset="0%"></stop>
|
||||
<stop stop-color="#148EFF" offset="37.8600687%"></stop>
|
||||
<stop stop-color="#0A60FF" offset="100%"></stop>
|
||||
</linearGradient>
|
||||
<linearGradient x1="69.6908165%" y1="-12.9743587%" x2="16.7228981%" y2="117.391248%" id="linearGradient-3">
|
||||
<stop stop-color="#FA816E" offset="0%"></stop>
|
||||
<stop stop-color="#F74A5C" offset="41.472606%"></stop>
|
||||
<stop stop-color="#F51D2C" offset="100%"></stop>
|
||||
</linearGradient>
|
||||
<linearGradient x1="68.1279872%" y1="-35.6905737%" x2="30.4400914%" y2="114.942679%" id="linearGradient-4">
|
||||
<stop stop-color="#FA8E7D" offset="0%"></stop>
|
||||
<stop stop-color="#F74A5C" offset="51.2635191%"></stop>
|
||||
<stop stop-color="#F51D2C" offset="100%"></stop>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="logo" transform="translate(-20.000000, -20.000000)">
|
||||
<g id="Group-28-Copy-5" transform="translate(20.000000, 20.000000)">
|
||||
<g id="Group-27-Copy-3">
|
||||
<g id="Group-25" fill-rule="nonzero">
|
||||
<g id="2">
|
||||
<path d="M91.5880863,4.17652823 L4.17996544,91.5127728 C-0.519240605,96.2081146 -0.519240605,103.791885 4.17996544,108.487227 L91.5880863,195.823472 C96.2872923,200.518814 103.877304,200.518814 108.57651,195.823472 L145.225487,159.204632 C149.433969,154.999611 149.433969,148.181924 145.225487,143.976903 C141.017005,139.771881 134.193707,139.771881 129.985225,143.976903 L102.20193,171.737352 C101.032305,172.906015 99.2571609,172.906015 98.0875359,171.737352 L28.285908,101.993122 C27.1162831,100.824459 27.1162831,99.050775 28.285908,97.8821118 L98.0875359,28.1378823 C99.2571609,26.9692191 101.032305,26.9692191 102.20193,28.1378823 L129.985225,55.8983314 C134.193707,60.1033528 141.017005,60.1033528 145.225487,55.8983314 C149.433969,51.69331 149.433969,44.8756232 145.225487,40.6706018 L108.58055,4.05574592 C103.862049,-0.537986846 96.2692618,-0.500797906 91.5880863,4.17652823 Z" id="Shape" fill="url(#linearGradient-1)"></path>
|
||||
<path d="M91.5880863,4.17652823 L4.17996544,91.5127728 C-0.519240605,96.2081146 -0.519240605,103.791885 4.17996544,108.487227 L91.5880863,195.823472 C96.2872923,200.518814 103.877304,200.518814 108.57651,195.823472 L145.225487,159.204632 C149.433969,154.999611 149.433969,148.181924 145.225487,143.976903 C141.017005,139.771881 134.193707,139.771881 129.985225,143.976903 L102.20193,171.737352 C101.032305,172.906015 99.2571609,172.906015 98.0875359,171.737352 L28.285908,101.993122 C27.1162831,100.824459 27.1162831,99.050775 28.285908,97.8821118 L98.0875359,28.1378823 C100.999864,25.6271836 105.751642,20.541824 112.729652,19.3524487 C117.915585,18.4685261 123.585219,20.4140239 129.738554,25.1889424 C125.624663,21.0784292 118.571995,14.0340304 108.58055,4.05574592 C103.862049,-0.537986846 96.2692618,-0.500797906 91.5880863,4.17652823 Z" id="Shape" fill="url(#linearGradient-2)"></path>
|
||||
</g>
|
||||
<path d="M153.685633,135.854579 C157.894115,140.0596 164.717412,140.0596 168.925894,135.854579 L195.959977,108.842726 C200.659183,104.147384 200.659183,96.5636133 195.960527,91.8688194 L168.690777,64.7181159 C164.472332,60.5180858 157.646868,60.5241425 153.435895,64.7316526 C149.227413,68.936674 149.227413,75.7543607 153.435895,79.9593821 L171.854035,98.3623765 C173.02366,99.5310396 173.02366,101.304724 171.854035,102.473387 L153.685633,120.626849 C149.47715,124.83187 149.47715,131.649557 153.685633,135.854579 Z" id="Shape" fill="url(#linearGradient-3)"></path>
|
||||
</g>
|
||||
<ellipse id="Combined-Shape" fill="url(#linearGradient-4)" cx="100.519339" cy="100.436681" rx="23.6001926" ry="23.580786"></ellipse>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.6 KiB |
1
svg/anthropic-black-dark.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg fill="#ffff" fill-rule="evenodd" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Anthropic</title><path d="M13.827 3.52h3.603L24 20h-3.603l-6.57-16.48zm-7.258 0h3.767L16.906 20h-3.674l-1.343-3.461H5.017l-1.344 3.46H0L6.57 3.522zm4.132 9.959L8.453 7.687 6.205 13.48H10.7z"></path></svg>
|
||||
|
After Width: | Height: | Size: 348 B |
1
svg/anthropic-black-light.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg fill="#000" fill-rule="evenodd" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Anthropic</title><path d="M13.827 3.52h3.603L24 20h-3.603l-6.57-16.48zm-7.258 0h3.767L16.906 20h-3.674l-1.343-3.461H5.017l-1.344 3.46H0L6.57 3.522zm4.132 9.959L8.453 7.687 6.205 13.48H10.7z"></path></svg>
|
||||
|
After Width: | Height: | Size: 347 B |
1
svg/anthropic-black-wordmark-dark.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg fill="#ffff" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 182 24" xmlns="http://www.w3.org/2000/svg"><title>Anthropic</title><path d="M38.247 15.874L29.553 2.338H24.86v19.337h4.002V8.139l8.694 13.536h4.693V2.338h-4.003v13.536zm7.313-9.807h6.487v15.608h4.14V6.067h6.487v-3.73H45.56v3.73zm33.686 3.978h-9.109V2.338h-4.14v19.337h4.14v-7.9h9.109v7.9h4.14V2.338h-4.14v7.707zm13.39-3.978h5.108c2.043 0 3.12.746 3.12 2.155 0 1.408-1.077 2.154-3.12 2.154h-5.107v-4.31zm12.37 2.155c0-3.647-2.679-5.884-7.068-5.884h-9.443v19.337h4.142v-7.57h4.61l4.142 7.57h4.583l-4.586-8.146c2.302-.885 3.62-2.75 3.62-5.307zm12.686 9.91c-3.257 0-5.244-2.32-5.244-6.104 0-3.84 1.987-6.16 5.244-6.16 3.23 0 5.189 2.32 5.189 6.16 0 3.784-1.96 6.105-5.189 6.105zm0-16.132c-5.575 0-9.522 4.144-9.522 10.028 0 5.828 3.947 9.972 9.522 9.972 5.547 0 9.466-4.144 9.466-9.972C127.158 6.144 123.24 2 117.692 2zm22.59 8.929h-5.109V6.067h5.11c2.043 0 3.12.829 3.12 2.43 0 1.603-1.077 2.432-3.12 2.432zm.194-8.591h-9.445v19.337h4.142v-7.017h5.303c4.39 0 7.07-2.32 7.07-6.16 0-3.84-2.68-6.16-7.07-6.16zm35.108 12.839c-.718 1.878-2.153 2.956-4.113 2.956-3.257 0-5.244-2.32-5.244-6.105 0-3.84 1.987-6.16 5.244-6.16 1.96 0 3.395 1.077 4.113 2.955h4.388C178.896 4.68 175.667 2 171.472 2c-5.576 0-9.523 4.144-9.523 10.028 0 5.828 3.947 9.972 9.522 9.972 4.223 0 7.453-2.707 8.529-6.823h-4.416zm-26.39-12.84l7.705 19.338h4.225L153.42 2.338h-4.225zM9.277 14.024l2.636-6.796 2.637 6.796H9.276zm.428-11.685L2 21.675h4.307l1.576-4.06h8.06l1.575 4.06h4.307L14.121 2.338H9.704z"></path></svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
1
svg/anthropic-black-wordmark-light.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg fill="#000" fill-rule="evenodd" style="flex:none;line-height:1" viewBox="0 0 182 24" xmlns="http://www.w3.org/2000/svg"><title>Anthropic</title><path d="M38.247 15.874L29.553 2.338H24.86v19.337h4.002V8.139l8.694 13.536h4.693V2.338h-4.003v13.536zm7.313-9.807h6.487v15.608h4.14V6.067h6.487v-3.73H45.56v3.73zm33.686 3.978h-9.109V2.338h-4.14v19.337h4.14v-7.9h9.109v7.9h4.14V2.338h-4.14v7.707zm13.39-3.978h5.108c2.043 0 3.12.746 3.12 2.155 0 1.408-1.077 2.154-3.12 2.154h-5.107v-4.31zm12.37 2.155c0-3.647-2.679-5.884-7.068-5.884h-9.443v19.337h4.142v-7.57h4.61l4.142 7.57h4.583l-4.586-8.146c2.302-.885 3.62-2.75 3.62-5.307zm12.686 9.91c-3.257 0-5.244-2.32-5.244-6.104 0-3.84 1.987-6.16 5.244-6.16 3.23 0 5.189 2.32 5.189 6.16 0 3.784-1.96 6.105-5.189 6.105zm0-16.132c-5.575 0-9.522 4.144-9.522 10.028 0 5.828 3.947 9.972 9.522 9.972 5.547 0 9.466-4.144 9.466-9.972C127.158 6.144 123.24 2 117.692 2zm22.59 8.929h-5.109V6.067h5.11c2.043 0 3.12.829 3.12 2.43 0 1.603-1.077 2.432-3.12 2.432zm.194-8.591h-9.445v19.337h4.142v-7.017h5.303c4.39 0 7.07-2.32 7.07-6.16 0-3.84-2.68-6.16-7.07-6.16zm35.108 12.839c-.718 1.878-2.153 2.956-4.113 2.956-3.257 0-5.244-2.32-5.244-6.105 0-3.84 1.987-6.16 5.244-6.16 1.96 0 3.395 1.077 4.113 2.955h4.388C178.896 4.68 175.667 2 171.472 2c-5.576 0-9.523 4.144-9.523 10.028 0 5.828 3.947 9.972 9.522 9.972 4.223 0 7.453-2.707 8.529-6.823h-4.416zm-26.39-12.84l7.705 19.338h4.225L153.42 2.338h-4.225zM9.277 14.024l2.636-6.796 2.637 6.796H9.276zm.428-11.685L2 21.675h4.307l1.576-4.06h8.06l1.575 4.06h4.307L14.121 2.338H9.704z"></path></svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
1
svg/anthropic-black.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg fill="#000" fill-rule="evenodd" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Anthropic</title><path d="M13.827 3.52h3.603L24 20h-3.603l-6.57-16.48zm-7.258 0h3.767L16.906 20h-3.674l-1.343-3.461H5.017l-1.344 3.46H0L6.57 3.522zm4.132 9.959L8.453 7.687 6.205 13.48H10.7z"></path></svg>
|
||||
|
After Width: | Height: | Size: 347 B |
1
svg/apidog.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg viewBox="0 0 256 256" xmlns="http://www.w3.org/2000/svg" width="256" height="256" preserveAspectRatio="xMidYMid"><defs><linearGradient id="a" x1="0%" x2="99.996%" y1="36.301%" y2="64.611%"><stop offset="0%" stop-color="#3BF"/><stop offset="100%" stop-color="#73F"/></linearGradient><linearGradient id="b" x1="102.837%" x2="-5.655%" y1="70.777%" y2="28.962%"><stop offset="0%" stop-color="#99C2FF"/><stop offset="100%" stop-color="#FFF"/></linearGradient><linearGradient id="c" x1="49.941%" x2="23.669%" y1="69.215%" y2="32.86%"><stop offset="0%" stop-color="#99C2FF"/><stop offset="100%" stop-color="#FFF"/></linearGradient></defs><path fill="url(#a)" d="M198.391 180.368 194 175.984l-.816-.752a93.674 93.674 0 0 0-65.318-26.504 93.674 93.674 0 0 0-65.309 26.504l-.568.56-4.327 4.384-9.288 9.264a28.238 28.238 0 0 1-20.08 8.384 28.334 28.334 0 0 1-20.006-8.264A28.187 28.187 0 0 1 0 169.6c0-7.49 2.983-14.672 8.288-19.96l20.007-19.96-19.76-19.656A28.225 28.225 0 0 1 0 89.824a28.206 28.206 0 0 1 8.288-19.96c11.06-11.033 28.962-11.033 40.022 0L62.805 84.32a93.746 93.746 0 0 0 65.317 26.48c24.4 0 47.838-9.504 65.31-26.48a2.96 2.96 0 0 1 .632-.632l8.215-8.256 5.464-5.384a27.974 27.974 0 0 1 19.951-8.256 28.293 28.293 0 0 1 20 8.264 28.185 28.185 0 0 1 6.119 30.864 27.843 27.843 0 0 1-6.296 9.176l-19.823 19.776 19.823 19.776a28.04 28.04 0 0 1 8.472 20.144c0 7.48-2.984 14.656-8.288 19.952-11.038 11.026-28.92 11.026-39.958 0l-9.416-9.376h.064Z"/><path fill="url(#b)" d="M178.712 2.136a28.123 28.123 0 0 1 9.184 6.12 28.185 28.185 0 0 1-.064 39.864l-20 19.96-.503.44c-21.958 21.404-56.975 21.404-78.933 0l-.504-.44-20.015-19.96c-10.934-11.033-10.88-28.833.12-39.8C79.011-2.686 96.85-2.715 107.9 8.256l20.015 19.968 19.952-19.968A28.303 28.303 0 0 1 167.88 0a28.24 28.24 0 0 1 10.84 2.136h-.009Z"/><path fill="url(#c)" d="M77.117 253.864a28.159 28.159 0 0 1-9.184-6.12 28.185 28.185 0 0 1 .064-39.864l20.015-19.96.504-.44c21.959-21.395 56.966-21.395 78.925 0l.504.44 20.015 19.96c10.932 11.035 10.875 28.835-.128 39.8-11.014 11.006-28.853 11.035-39.902.064l-20.016-19.968-19.95 19.96A28.302 28.302 0 0 1 87.947 256a28.239 28.239 0 0 1-10.831-2.136Z"/></svg>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
5
svg/apollo.io.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg viewBox="0 0 128 128" xmlns="http://www.w3.org/2000/svg" width="128" height="128" fill="none">
|
||||
<rect width="128" height="128" fill="#FECF40" rx="8" />
|
||||
<path fill="#000"
|
||||
d="M91.044 36.135H78.489l6.51 11.134 6.045-11.134ZM108.494 98.987 63.922 25 19.5 98.832h23.792c3.174 0 6.297-.8 9.058-2.316 2.98-1.638 5.23-4.012 6.989-6.89 2.056-3.367 4.053-6.773 6.077-10.16l5.178-8.67-6.678-11.167-2.961 4.755c-3.375 5.631-6.569 11.392-10.066 16.947-1.759 2.786-4.054 5.418-7.442 6.096a9.686 9.686 0 0 1-1.558.174c-.698.026-1.397.013-2.088.013l24.121-40.99 30.975 52.363h13.597Z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 591 B |
1
svg/apple-music-wordmark-dark.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="#fff" style="enable-background:new 0 0 84.3 20.7" xml:space="preserve" viewBox="0 0 84.3 20.7"><path d="M35.4 20.1V6.6h-.1l-5.4 13.5h-2.1L22.4 6.6h-.1v13.5h-2.5V1.8H23l5.8 14.6h.1l5.8-14.6H38v18.3h-2.6zm16.7 0h-2.6v-2.3h-.1c-.7 1.6-2.1 2.5-4.1 2.5-2.9 0-4.6-1.9-4.6-5V6.7h2.7v8.1c0 2 1 3.1 2.8 3.1 2 0 3.1-1.4 3.1-3.5V6.7H52l.1 13.4zm7.4-13.6c3.1 0 5 1.7 5.1 4.2h-2.5c-.2-1.3-1.1-2.1-2.6-2.1s-2.5.7-2.5 1.8c0 .8.6 1.4 2 1.7l2.1.5c2.7.6 3.7 1.7 3.7 3.6 0 2.4-2.2 4.1-5.3 4.1-3.3 0-5.3-1.6-5.5-4.2h2.7c.2 1.4 1.2 2.1 2.8 2.1 1.6 0 2.6-.7 2.6-1.8 0-.9-.5-1.4-1.9-1.7l-2.1-.5c-2.5-.6-3.7-1.8-3.7-3.8 0-2.3 2-3.9 5.1-3.9zm7.3-3.3c0-.9.7-1.6 1.6-1.6.9 0 1.6.7 1.6 1.6 0 .9-.7 1.6-1.6 1.6-.9 0-1.6-.7-1.6-1.6zm.2 3.5h2.7v13.4H67V6.7zm14.1 4.6c-.3-1.4-1.3-2.6-3.1-2.6-2.1 0-3.5 1.8-3.5 4.6 0 2.9 1.4 4.6 3.5 4.6 1.7 0 2.7-.9 3.1-2.5h2.6c-.3 2.8-2.5 4.8-5.7 4.8-3.8 0-6.2-2.6-6.2-6.9 0-4.2 2.4-6.9 6.2-6.9 3.4 0 5.4 2.2 5.7 4.8l-2.6.1zM11.5 3.6c-.7.8-1.8 1.5-2.9 1.4-.2-1.2.4-2.4 1-3.1.7-.9 1.9-1.5 2.9-1.5.1 1.1-.3 2.3-1 3.2zm1 1.6c.6 0 2.4.2 3.6 2C16 7.3 14 8.5 14 11c0 3 2.6 4 2.6 4 0 .1-.4 1.4-1.3 2.8-.8 1.2-1.7 2.4-3 2.4s-1.7-.8-3.2-.8c-1.5 0-2 .8-3.2.8-1.3 0-2.3-1.3-3.1-2.5-1.7-2.5-3-7-1.2-10 .8-1.5 2.4-2.5 4-2.5 1.3 0 2.5.9 3.2.9.7 0 2.1-1 3.7-.9z"/></svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
1
svg/apple-music-wordmark-light.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="enable-background:new 0 0 84.3 20.7" viewBox="0 0 84.3 20.7"><path d="M35.4 20.1V6.6h-.1l-5.4 13.5h-2.1L22.4 6.6h-.1v13.5h-2.5V1.8H23l5.8 14.6h.1l5.8-14.6H38v18.3h-2.6zm16.7 0h-2.6v-2.3h-.1c-.7 1.6-2.1 2.5-4.1 2.5-2.9 0-4.6-1.9-4.6-5V6.7h2.7v8.1c0 2 1 3.1 2.8 3.1 2 0 3.1-1.4 3.1-3.5V6.7H52l.1 13.4zm7.4-13.6c3.1 0 5 1.7 5.1 4.2h-2.5c-.2-1.3-1.1-2.1-2.6-2.1s-2.5.7-2.5 1.8c0 .8.6 1.4 2 1.7l2.1.5c2.7.6 3.7 1.7 3.7 3.6 0 2.4-2.2 4.1-5.3 4.1-3.3 0-5.3-1.6-5.5-4.2h2.7c.2 1.4 1.2 2.1 2.8 2.1 1.6 0 2.6-.7 2.6-1.8 0-.9-.5-1.4-1.9-1.7l-2.1-.5c-2.5-.6-3.7-1.8-3.7-3.8 0-2.3 2-3.9 5.1-3.9zm7.3-3.3c0-.9.7-1.6 1.6-1.6.9 0 1.6.7 1.6 1.6 0 .9-.7 1.6-1.6 1.6-.9 0-1.6-.7-1.6-1.6zm.2 3.5h2.7v13.4H67V6.7zm14.1 4.6c-.3-1.4-1.3-2.6-3.1-2.6-2.1 0-3.5 1.8-3.5 4.6 0 2.9 1.4 4.6 3.5 4.6 1.7 0 2.7-.9 3.1-2.5h2.6c-.3 2.8-2.5 4.8-5.7 4.8-3.8 0-6.2-2.6-6.2-6.9 0-4.2 2.4-6.9 6.2-6.9 3.4 0 5.4 2.2 5.7 4.8l-2.6.1zM11.5 3.6c-.7.8-1.8 1.5-2.9 1.4-.2-1.2.4-2.4 1-3.1.7-.9 1.9-1.5 2.9-1.5.1 1.1-.3 2.3-1 3.2zm1 1.6c.6 0 2.4.2 3.6 2C16 7.3 14 8.5 14 11c0 3 2.6 4 2.6 4 0 .1-.4 1.4-1.3 2.8-.8 1.2-1.7 2.4-3 2.4s-1.7-.8-3.2-.8c-1.5 0-2 .8-3.2.8-1.3 0-2.3-1.3-3.1-2.5-1.7-2.5-3-7-1.2-10 .8-1.5 2.4-2.5 4-2.5 1.3 0 2.5.9 3.2.9.7 0 2.1-1 3.7-.9z"/></svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
1
svg/arc-browser.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg viewBox="0 0 256 219" xmlns="http://www.w3.org/2000/svg" width="256" height="219" preserveAspectRatio="xMidYMid"><path fill="#FFF" d="M123.632.012c13.836.398 26.332 8.52 32.32 21.089l23.761 49.984.382-.966a58.846 58.846 0 0 0 2.315-7.64l.332-1.548c4.004-20.02 23.463-32.977 43.52-29.016a36.982 36.982 0 0 1 29.018 43.526c-5.337 26.652-19.095 51.387-38.829 70.983l-.625.607 8.33 17.514c9.668 20.33-.349 44.903-21.4 51.799l-.95.297-.725.219a36.691 36.691 0 0 1-9.897 1.373 37.012 37.012 0 0 1-33.42-21.102l-6.43-13.518-1.622.402c-8.692 2.054-17.508 3.192-26.328 3.367l-2.405.024c-8.488 0-17.116-.987-25.736-2.9l-1.7-.396-6.177 12.987a36.972 36.972 0 0 1-20.713 18.852l-1.1.382a36.963 36.963 0 0 1-28.96-2.484c-17.56-9.334-24.256-31.186-15.688-49.235l7.67-16.129-.67-.65C17.39 137.46 9.054 125.67 3.524 112.996l-.737-1.733-.106-.281C-4.93 92.058 4.21 70.517 23.122 62.86c14.834-6.005 31.278-1.693 41.39 9.578l.19.218 24.446-51.422A36.858 36.858 0 0 1 121.535.01L122.57 0l1.062.012Z"/><path fill="#1A007F" d="m87.118 170.045 21.896-46.068c-16.724-3.552-33.551-13.897-43.068-26.482L43.05 145.63c12.723 10.793 27.999 19.276 44.068 24.414"/><path fill="#4E000A" d="M178.495 96.115c-11 13.483-26.275 23.483-42.62 27.379l21.827 45.93c15.931-5.38 30.827-14.069 43.69-25.206l-22.897-48.103Z"/><path fill="#1A007F" d="M43.05 145.631 31.602 169.7c-5.828 12.241-1.449 27.31 10.551 33.689 12.724 6.758 28.379 1.483 34.517-11.38l10.448-21.964A130.635 130.635 0 0 1 43.05 145.63"/><path fill="#FF9396" d="M223.942 43.565a25.137 25.137 0 0 0-29.585 19.723c-2.414 12.07-8.069 23.31-15.862 32.862l22.862 48.137c21.103-18.31 36.688-43.24 42.275-71.137 2.724-13.655-6.104-26.896-19.69-29.585"/><path fill="#002DC8" d="M135.875 123.494c-4.896 1.172-9.896 1.793-14.896 1.793-3.896 0-7.93-.448-11.965-1.31-16.724-3.552-33.551-13.897-43.068-26.482-2.38-3.138-4.31-6.414-5.655-9.759-5.207-12.862-19.862-19.068-32.724-13.896C14.705 79.047 8.5 93.702 13.671 106.563c5.896 14.62 16.31 28.034 29.379 39.068a130.48 130.48 0 0 0 44.033 24.414c11.069 3.551 22.551 5.517 33.862 5.517 12.551 0 24.93-2.173 36.723-6.138l-21.793-45.93Z"/><path fill="#FF536A" d="m213.425 169.596-12.068-25.378-22.862-48.103-.034.035s0-.035.034-.035l-33.24-69.93a25.144 25.144 0 0 0-22.69-14.344c-9.69 0-18.517 5.586-22.689 14.345L65.98 97.495c9.517 12.585 26.344 22.93 43.068 26.482l10.965-23.034c1.035-2.173 4.138-2.173 5.173 0l10.724 22.551h.069-.07l21.828 45.93 10.724 22.551a25.103 25.103 0 0 0 22.723 14.345c2.242 0 4.483-.31 6.69-.931 15.138-4.173 22.31-21.586 15.551-35.793"/></svg>
|
||||
|
After Width: | Height: | Size: 2.5 KiB |
1
svg/arc-dark.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg version="1" xmlns="http://www.w3.org/2000/svg" width="682.667" height="682.667" viewBox="0 0 512 512"><path fill="#fff" d="M236.5.6C233.8.8 225.4 1.9 218 3 147 13.5 83.2 54.1 42.8 114.5c-40.7 60.9-53 138.1-33.3 209.8C26.1 385.1 66 438.4 121 473.4c9.8 6.2 34.9 18.5 47.3 23 13.7 5.1 34.1 10.2 50.9 12.7 20.4 3.2 53.2 3.2 73.6 0 28.2-4.3 50.2-11.2 75.7-23.6 24.8-12.1 45.1-26.4 64.9-45.5 59.9-58.1 87.9-139.8 75.7-221.5C498.5 147 458 83.3 397.5 42.8c-29.9-20-66.2-34-103-39.8-12.7-2-45.9-3.4-58-2.4zM400.8 175c16.1 1.7 43.2 8.2 43.2 10.4 0 .9-12 38.8-12.4 39.3-.1.1-3.7-.9-7.9-2.2-20.3-6.2-46.9-7.7-67.5-3.6C293 231.3 245.1 283.7 238 348.1c-1.4 13-2.4 16.2-6.3 20.6-7.7 8.7-21.3 9.6-29.6 2-3.1-2.9-7.1-11.4-7.1-15.2 0-6.4-4.2-20.4-9-30-10.1-20.2-26.1-34.1-48-41.7-9-3-10.3-3.2-24-3.3-11.4 0-16.1.4-22 2-4.1 1.1-7.9 2-8.4 2s-3.7-8.8-7.2-19.5c-4.5-14-6-19.7-5.1-20.2 1.8-1.1 16-4.8 23-6 9.7-1.6 32-1.3 41.2.7 26.5 5.6 46.7 16.5 65.6 35.6l10.6 10.7 3.2-6.7c8.7-17.7 21.4-35.2 35.9-49.8 39.6-39.9 95.3-60.1 150-54.3z"/></svg>
|
||||
|
After Width: | Height: | Size: 1.0 KiB |
1
svg/arc-fintech-light.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg width="62" height="24" viewBox="0 0 62 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M0 12C0 5.37259 5.58071 0 12.4649 0C19.349 0 24.9297 5.37259 24.9297 12V20.5714V23.6571C24.9297 23.8466 24.7703 24 24.5736 24H18.1631C17.9663 24 17.8069 23.8466 17.8069 23.6571V20.5714V12C17.8069 9.15969 15.4153 6.85714 12.4649 6.85714C9.51451 6.85714 7.12278 9.15969 7.12278 12C7.12278 14.8404 9.51451 17.1429 12.4649 17.1429H16.5605C16.7572 17.1429 16.9166 17.2963 16.9166 17.4857V23.6571C16.9166 23.8466 16.7572 24 16.5605 24H12.4649C5.58071 24 0 18.6274 0 12ZM44.608 2.19125C44.795 2.03861 44.7804 1.7533 44.5688 1.63418C42.7238 0.595354 40.5765 0 38.2849 0C31.4008 0 25.8201 5.37259 25.8201 12V20.5714V23.6571C25.8201 23.8466 25.9794 24 26.1762 24H32.5867C32.7835 24 32.9428 23.8466 32.9428 23.6571V20.5714V12C32.9428 9.15969 35.3345 6.85714 38.2849 6.85714C39.0326 6.85714 39.7446 7.00505 40.3908 7.27214C40.5868 7.35317 40.819 7.26861 40.9008 7.0789C41.7202 5.17615 43.0007 3.50391 44.608 2.19125ZM53.2427 0C56.6033 0 59.6532 1.28028 61.895 3.36182C62.0356 3.49234 62.034 3.70793 61.896 3.84087L57.3659 8.20198C57.2246 8.3381 56.9952 8.33458 56.8478 8.20464C55.8976 7.36774 54.632 6.85714 53.2427 6.85714C50.2923 6.85714 47.9007 9.15969 47.9007 12C47.9007 14.8404 50.2923 17.1429 53.2427 17.1429C54.4627 17.1429 55.5872 16.7493 56.4865 16.0865C56.635 15.9771 56.8462 15.9833 56.9785 16.1107L61.526 20.4886C61.6681 20.6254 61.6649 20.8486 61.5148 20.977C59.314 22.8578 56.417 24 53.2427 24C46.3586 24 40.7779 18.6274 40.7779 12C40.7779 5.37259 46.3586 0 53.2427 0Z" fill="black"/></svg>
|
||||
|
After Width: | Height: | Size: 1.6 KiB |
1
svg/arc.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg version="1" xmlns="http://www.w3.org/2000/svg" width="682.667" height="682.667" viewBox="0 0 512 512"><path d="M236.5.6C233.8.8 225.4 1.9 218 3 147 13.5 83.2 54.1 42.8 114.5c-40.7 60.9-53 138.1-33.3 209.8C26.1 385.1 66 438.4 121 473.4c9.8 6.2 34.9 18.5 47.3 23 13.7 5.1 34.1 10.2 50.9 12.7 20.4 3.2 53.2 3.2 73.6 0 28.2-4.3 50.2-11.2 75.7-23.6 24.8-12.1 45.1-26.4 64.9-45.5 59.9-58.1 87.9-139.8 75.7-221.5C498.5 147 458 83.3 397.5 42.8c-29.9-20-66.2-34-103-39.8-12.7-2-45.9-3.4-58-2.4zM400.8 175c16.1 1.7 43.2 8.2 43.2 10.4 0 .9-12 38.8-12.4 39.3-.1.1-3.7-.9-7.9-2.2-20.3-6.2-46.9-7.7-67.5-3.6C293 231.3 245.1 283.7 238 348.1c-1.4 13-2.4 16.2-6.3 20.6-7.7 8.7-21.3 9.6-29.6 2-3.1-2.9-7.1-11.4-7.1-15.2 0-6.4-4.2-20.4-9-30-10.1-20.2-26.1-34.1-48-41.7-9-3-10.3-3.2-24-3.3-11.4 0-16.1.4-22 2-4.1 1.1-7.9 2-8.4 2s-3.7-8.8-7.2-19.5c-4.5-14-6-19.7-5.1-20.2 1.8-1.1 16-4.8 23-6 9.7-1.6 32-1.3 41.2.7 26.5 5.6 46.7 16.5 65.6 35.6l10.6 10.7 3.2-6.7c8.7-17.7 21.4-35.2 35.9-49.8 39.6-39.9 95.3-60.1 150-54.3z"/></svg>
|
||||
|
After Width: | Height: | Size: 1012 B |
4
svg/asana-wordmark-dark.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 1000 198">
|
||||
<path fill="#fff" fill-rule="evenodd" d="M974.795 150.604c.605 6.893 6.119 15.668 15.672 15.668h5.59c2.166 0 3.943-1.776 3.943-3.944V39.3998h-.025c-.113-2.0709-1.824-3.7296-3.918-3.7296h-17.32c-2.094 0-3.805 1.6587-3.92 3.7296h-.022v9.9886c-10.611-13.0803-27.342-18.5095-44.119-18.5095-38.137 0-69.051 30.9384-69.051 69.1051 0 38.169 30.914 69.108 69.051 69.108v.003c16.777 0 35.06-6.513 44.116-18.507l.003.016Zm-44.052-5.698c-24.254 0-43.918-20.11-43.918-44.9218 0-24.8074 19.664-44.9189 43.918-44.9189 24.253 0 43.914 20.1115 43.914 44.9189 0 24.8118-19.661 44.9218-43.914 44.9218Zm-91.014 9.926-.008-63.6102h.002c0-35.8566-22.604-60.046-58.648-60.046-17.206 0-31.311 9.9571-36.292 18.5105-1.077-6.6881-4.625-13.7182-15.628-13.7182h-5.608c-2.169 0-3.941 1.7772-3.941 3.9458V162.852h.022c.114 2.068 1.827 3.729 3.921 3.729h17.32c.265 0 .525-.032.776-.081.115-.022.222-.067.333-.099.129-.04.263-.07.385-.12.155-.064.294-.15.438-.23.07-.043.143-.074.211-.119.173-.111.332-.245.485-.383.025-.025.055-.042.08-.065.172-.166.329-.35.469-.541l.001-.003c.434-.596.697-1.314.74-2.088h.022V90.2356c0-19.2575 15.601-34.8704 34.846-34.8704 19.243 0 34.844 15.6129 34.844 34.8704l.016 60.6974.004-.021c0 .054.009.109.009.167v11.773h.023c.114 2.068 1.825 3.729 3.919 3.729h17.321c.266 0 .525-.032.776-.081.102-.019.197-.06.297-.088.142-.041.287-.077.424-.131.141-.059.27-.141.404-.216.082-.047.168-.08.247-.133.159-.105.306-.232.449-.357.037-.034.078-.059.113-.094.164-.158.31-.329.444-.509.009-.013.02-.024.03-.037.427-.591.688-1.303.733-2.072 0-.006.002-.011.002-.011h.023v-8.018l-.004-.002m-180.378-4.228c.606 6.893 6.12 15.668 15.672 15.668h5.59c2.167 0 3.94-1.776 3.94-3.944V39.3998h-.022c-.113-2.0709-1.826-3.7296-3.918-3.7296h-17.32c-2.094 0-3.805 1.6587-3.922 3.7296h-.02v9.9886c-10.613-13.0803-27.343-18.5095-44.121-18.5095-38.135 0-69.049 30.9384-69.049 69.1051 0 38.169 30.914 69.108 69.049 69.108v.003c16.778 0 35.063-6.513 44.119-18.507l.002.016Zm-44.054-5.698c-24.252 0-43.915-20.11-43.915-44.9218 0-24.8074 19.663-44.9189 43.915-44.9189 24.255 0 43.914 20.1115 43.914 44.9189 0 24.8118-19.659 44.9218-43.914 44.9218Zm-171.541-11.908c11.562 8.016 24.183 11.909 36.311 11.909 11.554 0 23.499-5.994 23.499-16.428 0-13.93-26.028-16.097-42.382-21.66-16.356-5.562-30.443-17.0605-30.443-35.6813 0-28.4928 25.368-40.2607 49.045-40.2607 15.002 0 30.481 4.9507 40.516 12.0427 3.456 2.6207 1.351 5.6296 1.351 5.6296l-9.579 13.692c-1.077 1.5422-2.959 2.8745-5.662 1.2054-2.702-1.6681-12.181-8.3824-26.626-8.3824-14.446 0-23.148 6.6765-23.148 14.9519 0 9.9236 11.31 13.0447 24.557 16.4271 23.085 6.2275 48.268 13.7127 48.268 42.0357 0 25.104-23.464 40.619-49.396 40.619-19.652 0-36.383-5.607-50.416-15.912-2.923-2.928-.881-5.647-.881-5.647l9.532-13.622c1.939-2.548 4.385-1.659 5.454-.919m-66.583 17.606c.606 6.893 6.12 15.668 15.673 15.668h5.59c2.166 0 3.942-1.776 3.942-3.944V39.3998h-.024c-.113-2.0709-1.824-3.7296-3.918-3.7296h-17.32c-2.094 0-3.805 1.6587-3.922 3.7296h-.021v9.9886c-10.611-13.0803-27.342-18.5095-44.119-18.5095-38.135 0-69.05 30.9384-69.05 69.1051 0 38.169 30.915 69.108 69.05 69.108v.003c16.777 0 35.061-6.513 44.117-18.507l.002.016Zm-44.051-5.698c-24.254 0-43.917-20.11-43.917-44.9218 0-24.8074 19.663-44.9189 43.917-44.9189 24.253 0 43.913 20.1115 43.913 44.9189 0 24.8118-19.66 44.9218-43.913 44.9218Z" clip-rule="evenodd"/>
|
||||
<path fill="#F06A6A" fill-rule="evenodd" d="M167.197 104.685c-25.664 0-46.468 20.804-46.468 46.47 0 25.664 20.804 46.468 46.468 46.468 25.664 0 46.468-20.804 46.468-46.468 0-25.666-20.804-46.47-46.468-46.47Zm-120.7287.004C20.8048 104.689 0 125.49 0 151.155c0 25.664 20.8048 46.469 46.4683 46.469 25.6646 0 46.4704-20.805 46.4704-46.469 0-25.665-20.8058-46.466-46.4704-46.466ZM153.3 46.5982c0 25.6656-20.804 46.4724-46.467 46.4724-25.6649 0-46.4687-20.8068-46.4687-46.4724 0-25.6605 20.8038-46.467341 46.4687-46.467341 25.663 0 46.467 20.806841 46.467 46.467341Z" clip-rule="evenodd"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.9 KiB |
4
svg/asana-wordmark-light.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 1000 198">
|
||||
<path fill="#0D0E10" fill-rule="evenodd" d="M974.795 150.473c.605 6.894 6.119 15.668 15.672 15.668h5.59c2.166 0 3.943-1.776 3.943-3.944V39.2689h-.025c-.113-2.0709-1.824-3.7296-3.918-3.7296h-17.32c-2.094 0-3.805 1.6587-3.92 3.7296h-.022v9.9887c-10.611-13.0804-27.342-18.5096-44.119-18.5096-38.137 0-69.051 30.9384-69.051 69.1052 0 38.1688 30.914 69.1078 69.051 69.1078v.004c16.777 0 35.06-6.514 44.116-18.508l.003.016Zm-44.052-5.698c-24.254 0-43.918-20.11-43.918-44.9217 0-24.8073 19.664-44.9188 43.918-44.9188 24.253 0 43.914 20.1115 43.914 44.9188 0 24.8117-19.661 44.9217-43.914 44.9217Zm-91.014 9.926-.008-63.6101h.002c0-35.8566-22.604-60.046-58.648-60.046-17.206 0-31.311 9.9572-36.292 18.5106-1.077-6.6881-4.625-13.7182-15.628-13.7182h-5.608c-2.169 0-3.941 1.7772-3.941 3.9457v122.938h.022c.114 2.068 1.827 3.729 3.921 3.729h17.32c.265 0 .525-.032.776-.081.115-.022.222-.067.333-.099.129-.039.263-.07.385-.12.155-.064.294-.15.438-.23.07-.043.143-.073.211-.119.173-.111.332-.245.485-.382.025-.026.055-.042.08-.065.172-.167.329-.351.469-.542l.001-.003c.434-.596.697-1.313.74-2.088h.022V90.1048c0-19.2576 15.601-34.8705 34.846-34.8705 19.243 0 34.844 15.6129 34.844 34.8705l.016 60.6972.004-.021c0 .054.009.109.009.167v11.773h.023c.114 2.068 1.825 3.729 3.919 3.729h17.321c.266 0 .525-.032.776-.081.102-.019.197-.06.297-.088.142-.041.287-.077.424-.131.141-.059.27-.141.404-.216.082-.046.168-.08.247-.133.159-.104.306-.231.449-.357.037-.034.078-.059.113-.094.164-.158.31-.329.444-.508.009-.014.02-.025.03-.038.427-.591.688-1.303.733-2.072 0-.005.002-.011.002-.011h.023v-8.018l-.004-.002m-180.378-4.228c.606 6.894 6.12 15.668 15.672 15.668h5.59c2.167 0 3.94-1.776 3.94-3.944V39.2689h-.022c-.113-2.0709-1.826-3.7296-3.918-3.7296h-17.32c-2.094 0-3.805 1.6587-3.922 3.7296h-.02v9.9887C648.738 36.1772 632.008 30.748 615.23 30.748c-38.135 0-69.049 30.9384-69.049 69.1052 0 38.1688 30.914 69.1078 69.049 69.1078v.004c16.778 0 35.063-6.514 44.119-18.508l.002.016Zm-44.054-5.698c-24.252 0-43.915-20.11-43.915-44.9217 0-24.8073 19.663-44.9188 43.915-44.9188 24.255 0 43.914 20.1115 43.914 44.9188 0 24.8117-19.659 44.9217-43.914 44.9217Zm-171.541-11.908c11.562 8.016 24.183 11.909 36.311 11.909 11.554 0 23.499-5.994 23.499-16.428 0-13.93-26.028-16.097-42.382-21.66-16.356-5.562-30.443-17.0604-30.443-35.6811 0-28.4929 25.368-40.2608 49.045-40.2608 15.002 0 30.481 4.9508 40.516 12.0428 3.456 2.6207 1.351 5.6295 1.351 5.6295l-9.579 13.692c-1.077 1.5422-2.959 2.8746-5.662 1.2054-2.702-1.6681-12.181-8.3824-26.626-8.3824-14.446 0-23.148 6.6766-23.148 14.952 0 9.9235 11.31 13.0447 24.557 16.427 23.085 6.2275 48.268 13.7126 48.268 42.0356 0 25.105-23.464 40.619-49.396 40.619-19.652 0-36.383-5.607-50.416-15.912-2.923-2.928-.881-5.646-.881-5.646l9.532-13.623c1.939-2.547 4.385-1.659 5.454-.919m-66.583 17.606c.606 6.894 6.12 15.668 15.673 15.668h5.59c2.166 0 3.942-1.776 3.942-3.944V39.2689h-.024c-.113-2.0709-1.824-3.7296-3.918-3.7296h-17.32c-2.094 0-3.805 1.6587-3.922 3.7296h-.021v9.9887c-10.611-13.0804-27.342-18.5096-44.119-18.5096-38.135 0-69.05 30.9384-69.05 69.1052 0 38.1688 30.915 69.1078 69.05 69.1078v.004c16.777 0 35.061-6.514 44.117-18.508l.002.016Zm-44.051-5.698c-24.254 0-43.917-20.11-43.917-44.9217 0-24.8073 19.663-44.9188 43.917-44.9188 24.253 0 43.913 20.1115 43.913 44.9188 0 24.8117-19.66 44.9217-43.913 44.9217Z" clip-rule="evenodd"/>
|
||||
<path fill="#F06A6A" fill-rule="evenodd" d="M167.197 104.554c-25.664 0-46.468 20.805-46.468 46.47 0 25.664 20.804 46.469 46.468 46.469 25.664 0 46.468-20.805 46.468-46.469 0-25.665-20.804-46.47-46.468-46.47Zm-120.7287.004C20.8048 104.558 0 125.359 0 151.024c0 25.664 20.8048 46.469 46.4683 46.469 25.6646 0 46.4704-20.805 46.4704-46.469 0-25.665-20.8058-46.466-46.4704-46.466ZM153.3 46.4673c0 25.6656-20.804 46.4725-46.467 46.4725-25.6649 0-46.4687-20.8069-46.4687-46.4725C60.3643 20.8068 81.1681 0 106.833 0 132.496 0 153.3 20.8068 153.3 46.4673Z" clip-rule="evenodd"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.9 KiB |
1
svg/astro-dark.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg viewBox="0 0 256 366" xmlns="http://www.w3.org/2000/svg" width="256" height="366" preserveAspectRatio="xMidYMid"><path fill="#fff" d="M182.022 9.147c2.982 3.702 4.502 8.697 7.543 18.687L256 246.074a276.467 276.467 0 0 0-79.426-26.891L133.318 73.008a5.63 5.63 0 0 0-10.802.017L79.784 219.11A276.453 276.453 0 0 0 0 246.04L66.76 27.783c3.051-9.972 4.577-14.959 7.559-18.654a24.541 24.541 0 0 1 9.946-7.358C88.67 0 93.885 0 104.314 0h47.683c10.443 0 15.664 0 20.074 1.774a24.545 24.545 0 0 1 9.95 7.373Z"/><path fill="#FF5D01" d="M189.972 256.46c-10.952 9.364-32.812 15.751-57.992 15.751-30.904 0-56.807-9.621-63.68-22.56-2.458 7.415-3.009 15.903-3.009 21.324 0 0-1.619 26.623 16.898 45.14 0-9.615 7.795-17.41 17.41-17.41 16.48 0 16.46 14.378 16.446 26.043l-.001 1.041c0 17.705 10.82 32.883 26.21 39.28a35.685 35.685 0 0 1-3.588-15.647c0-16.886 9.913-23.173 21.435-30.48 9.167-5.814 19.353-12.274 26.372-25.232a47.588 47.588 0 0 0 5.742-22.735c0-5.06-.786-9.938-2.243-14.516Z"/></svg>
|
||||
|
After Width: | Height: | Size: 986 B |
1
svg/astro-light.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg viewBox="0 0 256 366" xmlns="http://www.w3.org/2000/svg" width="256" height="366" preserveAspectRatio="xMidYMid"><path d="M182.022 9.147c2.982 3.702 4.502 8.697 7.543 18.687L256 246.074a276.467 276.467 0 0 0-79.426-26.891L133.318 73.008a5.63 5.63 0 0 0-10.802.017L79.784 219.11A276.453 276.453 0 0 0 0 246.04L66.76 27.783c3.051-9.972 4.577-14.959 7.559-18.654a24.541 24.541 0 0 1 9.946-7.358C88.67 0 93.885 0 104.314 0h47.683c10.443 0 15.664 0 20.074 1.774a24.545 24.545 0 0 1 9.95 7.373Z"/><path fill="#FF5D01" d="M189.972 256.46c-10.952 9.364-32.812 15.751-57.992 15.751-30.904 0-56.807-9.621-63.68-22.56-2.458 7.415-3.009 15.903-3.009 21.324 0 0-1.619 26.623 16.898 45.14 0-9.615 7.795-17.41 17.41-17.41 16.48 0 16.46 14.378 16.446 26.043l-.001 1.041c0 17.705 10.82 32.883 26.21 39.28a35.685 35.685 0 0 1-3.588-15.647c0-16.886 9.913-23.173 21.435-30.48 9.167-5.814 19.353-12.274 26.372-25.232a47.588 47.588 0 0 0 5.742-22.735c0-5.06-.786-9.938-2.243-14.516Z"/></svg>
|
||||
|
After Width: | Height: | Size: 974 B |
1
svg/astro.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg viewBox="0 0 256 366" xmlns="http://www.w3.org/2000/svg" width="256" height="366" preserveAspectRatio="xMidYMid"><path d="M182.022 9.147c2.982 3.702 4.502 8.697 7.543 18.687L256 246.074a276.467 276.467 0 0 0-79.426-26.891L133.318 73.008a5.63 5.63 0 0 0-10.802.017L79.784 219.11A276.453 276.453 0 0 0 0 246.04L66.76 27.783c3.051-9.972 4.577-14.959 7.559-18.654a24.541 24.541 0 0 1 9.946-7.358C88.67 0 93.885 0 104.314 0h47.683c10.443 0 15.664 0 20.074 1.774a24.545 24.545 0 0 1 9.95 7.373Z"/><path fill="#FF5D01" d="M189.972 256.46c-10.952 9.364-32.812 15.751-57.992 15.751-30.904 0-56.807-9.621-63.68-22.56-2.458 7.415-3.009 15.903-3.009 21.324 0 0-1.619 26.623 16.898 45.14 0-9.615 7.795-17.41 17.41-17.41 16.48 0 16.46 14.378 16.446 26.043l-.001 1.041c0 17.705 10.82 32.883 26.21 39.28a35.685 35.685 0 0 1-3.588-15.647c0-16.886 9.913-23.173 21.435-30.48 9.167-5.814 19.353-12.274 26.372-25.232a47.588 47.588 0 0 0 5.742-22.735c0-5.06-.786-9.938-2.243-14.516Z"/></svg>
|
||||
|
After Width: | Height: | Size: 974 B |
1
svg/atom.svg
Normal file
|
After Width: | Height: | Size: 5.3 KiB |