Compare commits

..

2 Commits

Author SHA1 Message Date
Bjorn Lammers
44be40b2e1 refactor(icons): map metadata to new categories 2025-04-29 16:24:59 +02:00
Bjorn Lammers
9a1d26368b refactor(icons): consolidate categories with metadata mapping and category validation 2025-04-29 16:24:29 +02:00
3545 changed files with 47799 additions and 73754 deletions

View File

@@ -14,61 +14,70 @@ body:
label: Icon name
description: The name has to be unique and should be kebab-case.
placeholder: e.g. "icon-name"
validations:
required: true
- type: textarea
attributes:
label: Paste light mode icon
description: |
Please paste the icon here. It will automatically upload it to github. This icon should be visible on a light background.
validations:
required: true
- type: textarea
attributes:
label: Paste dark mode icon
description: |
Please paste the icon here. It will automatically upload it to github. This icon should be visible on a dark background.
validations:
required: true
- type: dropdown
attributes:
label: Icon type
options:
- SVG
- PNG
validations:
required: true
- type: dropdown
attributes:
label: Categories
multiple: true
options:
- Animal
- Cloud
- AI
- Analytics-&-Monitoring
- Automation
- Browsers-&-Search
- Cloud-&-Hosting
- Communication
- Community-&-Social
- Content-Management
- Crypto
- Databases
- Design
- Development
- Downloaders
- E-Commerce
- Education
- File
- File-Management-&-Sync
- Finance
- Food
- Framework
- Gaming
- Hardware
- Health
- Location
- Logistics
- Home-Automation
- Identity
- Infrastructure
- Library
- Mapping-&-Location
- Media
- Music
- Music-&-Audio
- Nature
- Networking
- News
- Organization
- Search
- Notes-&-Productivity
- Operating-Systems
- Organization-&-Planning
- Programming-Language
- Security
- SocialMedia
- Software
- Streaming
- Travel
- Version-Control
- Video
- Virtualization
- type: input
attributes:
label: Aliases

View File

@@ -15,16 +15,12 @@ body:
label: Icon name
description: The name has to be unique and should be kebab-case.
placeholder: e.g. "icon-name"
validations:
required: true
- type: textarea
id: icon
attributes:
label: Paste icon
description: |
Please paste the icon here. It will automatically upload it to github.
validations:
required: true
- type: dropdown
id: type
attributes:
@@ -32,39 +28,54 @@ body:
options:
- SVG
- PNG
validations:
required: true
- type: dropdown
attributes:
label: Categories
multiple: true
options:
- Animal
- Cloud
- AI
- Analytics-&-Monitoring
- Automation
- Browsers-&-Search
- Cloud-&-Hosting
- Communication
- Community-&-Social
- Content-Management
- Crypto
- Databases
- Design
- Development
- Downloaders
- E-Commerce
- Education
- File
- File-Management-&-Sync
- Finance
- Food
- Framework
- Gaming
- Hardware
- Health
- Location
- Logistics
- Home-Automation
- Identity
- Infrastructure
- Library
- Mapping-&-Location
- Media
- Music
- Music-&-Audio
- Nature
- Networking
- News
- Organization
- Search
- Notes-&-Productivity
- Operating-Systems
- Organization-&-Planning
- Programming-Language
- Security
- SocialMedia
- Software
- Streaming
- Travel
- Version-Control
- Video
- Virtualization
- type: input
attributes:
label: Aliases

View File

@@ -13,30 +13,70 @@ body:
label: Icon name
description: The name has to be unique and should be kebab-case.
placeholder: e.g. "icon-name"
validations:
required: true
- type: textarea
attributes:
label: Paste light mode icon
description: |
Please paste the icon here. It will automatically upload it to github. This icon should be visible on a light background.
validations:
required: true
- type: textarea
attributes:
label: Paste dark mode icon
description: |
Please paste the icon here. It will automatically upload it to github. This icon should be visible on a dark background.
validations:
required: true
- type: dropdown
attributes:
label: Icon type
options:
- SVG
- PNG
validations:
required: true
- type: dropdown
attributes:
label: Categories
multiple: true
options:
- AI
- Analytics-&-Monitoring
- Automation
- Browsers-&-Search
- Cloud-&-Hosting
- Communication
- Community-&-Social
- Content-Management
- Crypto
- Databases
- Design
- Development
- Downloaders
- E-Commerce
- Education
- File-Management-&-Sync
- Finance
- Food
- Framework
- Gaming
- Hardware
- Health
- Home-Automation
- Identity
- Infrastructure
- Library
- Mapping-&-Location
- Media
- Music-&-Audio
- Nature
- Networking
- News
- Notes-&-Productivity
- Operating-Systems
- Organization-&-Planning
- Programming-Language
- Security
- Software
- Streaming
- Travel
- Version-Control
- Video
- Virtualization
- type: textarea
attributes:
label: Additional information

View File

@@ -13,23 +13,65 @@ body:
label: Icon name
description: The name has to match the existing icon name.
placeholder: e.g. "icon-name"
validations:
required: true
- type: textarea
attributes:
label: Paste icon
description: |
Please paste the icon here. It will automatically upload it to github.
validations:
required: true
- type: dropdown
attributes:
label: Icon type
options:
- SVG
- PNG
validations:
required: true
- type: dropdown
attributes:
label: Categories
multiple: true
options:
- AI
- Analytics-&-Monitoring
- Automation
- Browsers-&-Search
- Cloud-&-Hosting
- Communication
- Community-&-Social
- Content-Management
- Crypto
- Databases
- Design
- Development
- Downloaders
- E-Commerce
- Education
- File-Management-&-Sync
- Finance
- Food
- Framework
- Gaming
- Hardware
- Health
- Home-Automation
- Identity
- Infrastructure
- Library
- Mapping-&-Location
- Media
- Music-&-Audio
- Nature
- Networking
- News
- Notes-&-Productivity
- Operating-Systems
- Organization-&-Planning
- Programming-Language
- Security
- Software
- Streaming
- Travel
- Version-Control
- Video
- Virtualization
- type: textarea
attributes:
label: Additional information

View File

@@ -11,7 +11,7 @@ jobs:
steps:
- name: Checkout Repository
uses: actions/checkout@v5
uses: actions/checkout@v3
with:
ref: ${{ github.ref_name }}

View File

@@ -20,13 +20,13 @@ jobs:
private_key: ${{ secrets.DASHBOARD_ICONS_MANAGER_APP_PRIVATE_KEY }}
app_id: ${{ vars.DASHBOARD_ICONS_MANAGER_APP_ID }}
- name: Checkout repository
uses: actions/checkout@v5
uses: actions/checkout@v4
env:
GITHUB_TOKEN: ${{ steps.obtainToken.outputs.token }}
- name: Set Up Python
uses: actions/setup-python@v4
with:
python-version: "3.14.0"
python-version: "3.11"
- name: Install Dependencies
run: |
pip install cairosvg pillow requests
@@ -37,6 +37,58 @@ jobs:
run: echo "ISSUE_FORM=$(python scripts/parse_issue_form.py)" >> "$GITHUB_OUTPUT"
env:
INPUT_ISSUE_BODY: ${{ github.event.issue.body }}
- name: Validate Categories
run: |
import json
import sys
import os
# Load allowed categories from metadata.map.json
map_file = "metadata.map.json"
try:
with open(map_file, 'r', encoding='utf-8') as f:
map_data = json.load(f)
# Assuming the first key in the map holds the example structure
example_key = list(map_data.keys())[0]
allowed_categories = set(map_data[example_key]['categories'])
print(f"Loaded {len(allowed_categories)} allowed categories from {map_file}")
except Exception as e:
print(f"::error file={map_file}::Failed to load or parse allowed categories from {map_file}: {e}")
sys.exit(1)
# Load submitted form data
form_json_string = os.environ.get('INPUT_ISSUE_FORM')
if not form_json_string:
print("::error::Failed to get form JSON from environment variable.")
sys.exit(1)
try:
form_data = json.loads(form_json_string)
except json.JSONDecodeError as e:
print(f"::error::Failed to parse form JSON: {e}")
print(f"Form JSON string was: {form_json_string}")
sys.exit(1)
# Extract submitted categories (handle potential missing key or None value)
submitted_categories_str = form_data.get('Categories') # Label from issue form
submitted_categories = set()
if submitted_categories_str:
submitted_categories = set(cat.strip() for cat in submitted_categories_str.split('\\n') if cat.strip())
print(f"Submitted categories: {submitted_categories or 'None'}")
# Validate
invalid_categories = submitted_categories - allowed_categories
if invalid_categories:
print(f"::error::Invalid categories found: {', '.join(sorted(list(invalid_categories)))}")
print("Please ensure all submitted categories exist in metadata.map.json.")
sys.exit(1)
else:
print("All submitted categories are valid.")
env:
INPUT_ISSUE_FORM: ${{ steps.parse_issue_form.outputs.ISSUE_FORM }}
- name: Create metadata file
run: python scripts/generate_metadata_file.py ${{ env.ICON_TYPE }} addition
env:

View File

@@ -20,13 +20,13 @@ jobs:
private_key: ${{ secrets.DASHBOARD_ICONS_MANAGER_APP_PRIVATE_KEY }}
app_id: ${{ vars.DASHBOARD_ICONS_MANAGER_APP_ID }}
- name: Checkout repository
uses: actions/checkout@v5
uses: actions/checkout@v4
env:
GITHUB_TOKEN: ${{ steps.obtainToken.outputs.token }}
- name: Set Up Python
uses: actions/setup-python@v4
with:
python-version: "3.14.0"
python-version: "3.11"
- name: Install Dependencies
run: |
pip install cairosvg pillow requests
@@ -37,6 +37,62 @@ jobs:
run: echo "ISSUE_FORM=$(python scripts/parse_issue_form.py)" >> "$GITHUB_OUTPUT"
env:
INPUT_ISSUE_BODY: ${{ github.event.issue.body }}
- name: Validate Categories
run: |
import json
import sys
import os
# Load allowed categories from metadata.map.json
map_file = "metadata.map.json"
try:
with open(map_file, 'r', encoding='utf-8') as f:
map_data = json.load(f)
# Assuming the first key in the map holds the example structure
example_key = list(map_data.keys())[0]
allowed_categories = set(map_data[example_key]['categories'])
print(f"Loaded {len(allowed_categories)} allowed categories from {map_file}")
except Exception as e:
print(f"::error file={map_file}::Failed to load or parse allowed categories from {map_file}: {e}")
sys.exit(1)
# Load submitted form data
form_json_string = os.environ.get('INPUT_ISSUE_FORM')
if not form_json_string:
print("::error::Failed to get form JSON from environment variable.")
sys.exit(1)
try:
form_data = json.loads(form_json_string)
except json.JSONDecodeError as e:
print(f"::error::Failed to parse form JSON: {e}")
print(f"Form JSON string was: {form_json_string}")
sys.exit(1)
# Extract submitted categories (handle potential missing key or None value)
# NOTE: The update forms might not have a 'Categories' field if categories aren't updatable via that form.
# If 'Categories' is missing or None in the form data, validation passes trivially.
submitted_categories_str = form_data.get('Categories') # Label from issue form
submitted_categories = set()
if submitted_categories_str:
submitted_categories = set(cat.strip() for cat in submitted_categories_str.split('\\n') if cat.strip())
if not submitted_categories_str:
print("No categories submitted in this form, skipping validation.")
else:
print(f"Submitted categories: {submitted_categories}")
# Validate
invalid_categories = submitted_categories - allowed_categories
if invalid_categories:
print(f"::error::Invalid categories found: {', '.join(sorted(list(invalid_categories)))}")
print("Please ensure all submitted categories exist in metadata.map.json.")
sys.exit(1)
else:
print("All submitted categories are valid.")
env:
INPUT_ISSUE_FORM: ${{ steps.parse_issue_form.outputs.ISSUE_FORM }}
- name: Update metadata file
run: python scripts/generate_metadata_file.py ${{ env.ICON_TYPE }} update
env:

View File

@@ -10,14 +10,14 @@ jobs:
contents: write
steps:
- name: Checkout Repository
uses: actions/checkout@v5
uses: actions/checkout@v3
with:
ref: ${{ github.ref_name }}
- name: Set Up Python
uses: actions/setup-python@v4
with:
python-version: "3.14.0"
python-version: "3.9"
- name: Install Dependencies
run: |
@@ -43,14 +43,14 @@ jobs:
contents: write
steps:
- name: Checkout Repository
uses: actions/checkout@v5
uses: actions/checkout@v3
with:
ref: ${{ github.ref_name }}
- name: Set Up Python
uses: actions/setup-python@v4
with:
python-version: "3.14.0"
python-version: "3.9"
- name: Commit and Push Changes
run: |
@@ -68,14 +68,14 @@ jobs:
contents: write
steps:
- name: Checkout Repository
uses: actions/checkout@v5
uses: actions/checkout@v3
with:
ref: ${{ github.ref_name }}
- name: Set Up Python
uses: actions/setup-python@v4
with:
python-version: "3.14.0"
python-version: "3.9"
- name: Commit and Push Changes
run: |

View File

@@ -10,12 +10,12 @@ jobs:
steps:
- name: Checkout Repository
uses: actions/checkout@v5
uses: actions/checkout@v3
- name: Set Up Python
uses: actions/setup-python@v4
with:
python-version: "3.14.0"
python-version: "3.9"
- name: Install Dependencies
run: |
@@ -25,7 +25,7 @@ jobs:
run: python scripts/convert_svg_assets.py
- name: Upload Converted Icons
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v3
with:
name: converted-icons
path: |

View File

@@ -1,14 +0,0 @@
{
"base": "svg",
"aliases": [],
"categories": [
"Media"
],
"update": {
"timestamp": "2025-08-18T21:15:20.394373",
"author": {
"id": 150935816,
"login": "Dvorinka"
}
}
}

View File

@@ -5,7 +5,7 @@
"article-unblocker"
],
"categories": [
"Web-Browsers"
"Browsers-&-Search"
],
"update": {
"timestamp": "2024-10-13T18:25:47Z",

View File

@@ -1,14 +0,0 @@
{
"base": "svg",
"aliases": [],
"categories": [
"Development"
],
"update": {
"timestamp": "2025-06-18T05:14:18.987936",
"author": {
"id": 98148330,
"login": "YuSung-2022"
}
}
}

View File

@@ -4,7 +4,7 @@
"2FA Authenticator"
],
"categories": [
"Password-Managers",
"Identity",
"Security"
],
"update": {

View File

@@ -1,17 +0,0 @@
{
"base": "svg",
"aliases": [
"chan",
"luck"
],
"categories": [
"Communication"
],
"update": {
"timestamp": "2025-10-04T13:23:43.208364",
"author": {
"id": 123755552,
"login": "jashanpbpb"
}
}
}

View File

@@ -4,7 +4,7 @@
"7-zip"
],
"categories": [
"Developer-Tools"
"Development"
],
"update": {
"timestamp": "2025-01-05T00:02:27Z",

View File

@@ -1,12 +0,0 @@
{
"base": "svg",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2025-06-30T18:55:02.066881",
"author": {
"id": 1392556,
"login": "vitofasano"
}
}
}

View File

@@ -1,14 +0,0 @@
{
"base": "svg",
"aliases": [
"aboardhr"
],
"categories": [],
"update": {
"timestamp": "2025-09-06T18:26:21.574041",
"author": {
"id": 412615,
"login": "johanekhager"
}
}
}

View File

@@ -1,12 +0,0 @@
{
"base": "svg",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2025-06-30T19:04:39.456692",
"author": {
"id": 2733215,
"login": "bakito"
}
}
}

View File

@@ -5,7 +5,7 @@
],
"categories": [
"Databases",
"Developer-Tools"
"Development"
],
"update": {
"timestamp": "2022-08-16T17:22:56Z",

View File

@@ -2,7 +2,7 @@
"base": "png",
"aliases": [],
"categories": [
"Monitoring-Tools"
"Analytics-&-Monitoring"
],
"update": {
"timestamp": "2024-10-20T19:32:46Z",

View File

@@ -1,14 +0,0 @@
{
"base": "png",
"aliases": [],
"categories": [
"Logistics"
],
"update": {
"timestamp": "2025-08-18T21:33:40.843973",
"author": {
"id": 442966,
"login": "hanjo"
}
}
}

View File

@@ -3,10 +3,10 @@
"aliases": [],
"categories": [],
"update": {
"timestamp": "2025-07-01T04:17:50.642999",
"timestamp": "2024-10-20T17:24:03Z",
"author": {
"id": 98704938,
"login": "seanmorley15"
"id": 71191962,
"name": "walkxcode"
}
}
}

View File

@@ -1,14 +0,0 @@
{
"base": "png",
"aliases": [],
"categories": [
"Organization"
],
"update": {
"timestamp": "2025-09-10T18:16:01.315508",
"author": {
"id": 679198,
"login": "alexandru-calinoiu"
}
}
}

View File

@@ -1,14 +0,0 @@
{
"base": "svg",
"aliases": [],
"categories": [
"Media"
],
"update": {
"timestamp": "2025-09-08T13:09:10.678938",
"author": {
"id": 13280079,
"login": "jjbobzin"
}
}
}

View File

@@ -1,16 +0,0 @@
{
"base": "svg",
"aliases": [
"airtrail"
],
"categories": [
"Travel"
],
"update": {
"timestamp": "2025-09-08T12:23:51.466615",
"author": {
"id": 1340823,
"login": "b12e"
}
}
}

View File

@@ -1,14 +0,0 @@
{
"base": "svg",
"aliases": [],
"categories": [
"Cloud"
],
"update": {
"timestamp": "2025-10-18T13:50:38.466025",
"author": {
"id": 19624259,
"login": "seeharrison"
}
}
}

View File

@@ -1,14 +0,0 @@
{
"base": "svg",
"aliases": [],
"categories": [
"Finance"
],
"update": {
"timestamp": "2025-05-11T20:01:41.455664",
"author": {
"id": 10255587,
"login": "SteffeyDev"
}
}
}

View File

@@ -1,12 +0,0 @@
{
"base": "png",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2025-09-28T10:30:53.395293",
"author": {
"id": 127128984,
"login": "Ray2023m"
}
}
}

View File

@@ -1,18 +0,0 @@
{
"base": "svg",
"aliases": [
"ali-yun",
"alibaba",
"cloud"
],
"categories": [
"Cloud"
],
"update": {
"timestamp": "2025-10-22T14:29:45.111918",
"author": {
"id": 177024972,
"login": "AaronYang0628"
}
}
}

View File

@@ -5,8 +5,8 @@
"app-builder"
],
"categories": [
"Developer-Tools",
"Cloud-Computing"
"Cloud-&-Hosting",
"Development"
],
"update": {
"timestamp": "2024-06-01T17:32:11Z",

View File

@@ -4,7 +4,7 @@
"Download Manager"
],
"categories": [
"Download-Managers"
"Downloaders"
],
"update": {
"timestamp": "2024-10-20T19:32:46Z",

View File

@@ -5,7 +5,7 @@
"amazon-video"
],
"categories": [
"Video-Streaming"
"Streaming"
],
"update": {
"timestamp": "2024-10-20T17:24:03Z",

View File

@@ -6,7 +6,7 @@
],
"categories": [
"Hardware",
"Organization"
"Organization-&-Planning"
],
"update": {
"timestamp": "2023-04-13T13:56:18Z",

View File

@@ -4,8 +4,8 @@
"Asterisk Manager"
],
"categories": [
"Networking-Tools",
"Communication"
"Communication",
"Networking"
],
"update": {
"timestamp": "2024-10-20T19:32:46Z",

View File

@@ -5,8 +5,7 @@
"audio-streaming"
],
"categories": [
"Media-Servers",
"Music-Streaming"
"Streaming"
],
"update": {
"timestamp": "2024-10-20T19:32:46Z",

View File

@@ -2,7 +2,7 @@
"base": "svg",
"aliases": [],
"categories": [
"Smart-Home"
"Home-Automation"
],
"update": {
"timestamp": "2024-10-20T17:24:03Z",

View File

@@ -1,14 +0,0 @@
{
"base": "svg",
"aliases": [],
"categories": [
"Development"
],
"update": {
"timestamp": "2025-09-08T12:56:41.622583",
"author": {
"id": 109094587,
"login": "Yarnacle"
}
}
}

View File

@@ -4,8 +4,8 @@
"Automation Tool"
],
"categories": [
"Developer-Tools",
"DevOps"
"DevOps",
"Development"
],
"update": {
"timestamp": "2024-10-20T17:24:03Z",

View File

@@ -1,14 +0,0 @@
{
"base": "svg",
"aliases": [],
"categories": [
"Music"
],
"update": {
"timestamp": "2025-09-26T20:59:46.315320",
"author": {
"id": 23657968,
"login": "springsunx"
}
}
}

View File

@@ -4,8 +4,7 @@
"Home Automation"
],
"categories": [
"Home-Automation",
"Smart-Home"
"Home-Automation"
],
"update": {
"timestamp": "2024-10-20T19:32:46Z",

View File

@@ -1,21 +0,0 @@
{
"base": "svg",
"aliases": [
"apple",
"maps",
"apple-maps",
"applemaps",
"mapsapple",
"maps-apple"
],
"categories": [
"Location"
],
"update": {
"timestamp": "2025-10-14T20:27:33.730998",
"author": {
"id": 58250719,
"login": "Okaza03"
}
}
}

View File

@@ -5,7 +5,7 @@
"apple-music-service"
],
"categories": [
"Music-Streaming"
"Streaming"
],
"update": {
"timestamp": "2024-10-20T17:24:03Z",

View File

@@ -1,16 +0,0 @@
{
"base": "svg",
"aliases": [
"podcast"
],
"categories": [
"Media"
],
"update": {
"timestamp": "2025-10-14T20:36:03.418327",
"author": {
"id": 111296018,
"login": "ARandomPigeon"
}
}
}

View File

@@ -5,7 +5,7 @@
"streaming-service"
],
"categories": [
"Video-Streaming"
"Streaming"
],
"update": {
"timestamp": "2024-10-20T17:24:03Z",

View File

@@ -1,14 +0,0 @@
{
"base": "svg",
"aliases": [],
"categories": [
"Development"
],
"update": {
"timestamp": "2025-10-15T20:43:42.346161",
"author": {
"id": 25576967,
"login": "kmendell"
}
}
}

View File

@@ -5,7 +5,7 @@
"site-scraper"
],
"categories": [
"Developer-Tools"
"Development"
],
"update": {
"timestamp": "2024-10-20T19:32:46Z",

View File

@@ -4,9 +4,9 @@
"GitOps Tool"
],
"categories": [
"Developer-Tools",
"DevOps",
"Containerization-&-Orchestration"
"Development",
"Infrastructure"
],
"update": {
"timestamp": "2024-10-20T17:24:03Z",

View File

@@ -5,8 +5,8 @@
"server-remote-management"
],
"categories": [
"Server-Panels",
"Hardware"
"Hardware",
"Infrastructure"
],
"update": {
"timestamp": "2024-10-20T19:32:46Z",

View File

@@ -5,8 +5,8 @@
"media-library"
],
"categories": [
"File-Sharing-&-Sync",
"Developer-Tools"
"Development",
"File-Management-&-Sync"
],
"update": {
"timestamp": "2024-10-20T19:32:46Z",

View File

@@ -4,8 +4,8 @@
"Help Desk"
],
"categories": [
"Office-Suites",
"Developer-Tools"
"Development",
"Notes-&-Productivity"
],
"update": {
"timestamp": "2024-10-20T17:24:03Z",

View File

@@ -1,12 +0,0 @@
{
"base": "svg",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2023-04-13T13:56:18Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
}
}

View File

@@ -4,8 +4,8 @@
"Router"
],
"categories": [
"Networking-Tools",
"Smart-Home"
"Home-Automation",
"Networking"
],
"update": {
"timestamp": "2023-04-16T12:26:21Z",

View File

@@ -3,10 +3,10 @@
"aliases": [],
"categories": [],
"update": {
"timestamp": "2025-05-21T09:09:56.753640",
"timestamp": "2023-04-13T13:56:18Z",
"author": {
"id": 652463,
"login": "verglor"
"id": 71191962,
"name": "walkxcode"
}
}
}

View File

@@ -5,8 +5,8 @@
"build-server"
],
"categories": [
"Developer-Tools",
"Version-Control-Systems"
"Development",
"Version-Control"
],
"update": {
"timestamp": "2023-04-13T13:56:18Z",

View File

@@ -4,8 +4,8 @@
"Issue Tracker"
],
"categories": [
"Developer-Tools",
"Office-Suites"
"Development",
"Notes-&-Productivity"
],
"update": {
"timestamp": "2023-04-13T13:56:18Z",

View File

@@ -1,14 +0,0 @@
{
"base": "svg",
"aliases": [],
"categories": [
"Media"
],
"update": {
"timestamp": "2025-06-30T18:45:27.729531",
"author": {
"id": 82271911,
"login": "Khyzer10"
}
}
}

View File

@@ -5,8 +5,8 @@
"identity-provider"
],
"categories": [
"Security",
"Networking-Tools"
"Networking",
"Security"
],
"update": {
"timestamp": "2023-04-13T13:56:18Z",

View File

@@ -1,17 +0,0 @@
{
"base": "svg",
"aliases": [
"autocad",
"autodesk"
],
"categories": [
"Development"
],
"update": {
"timestamp": "2025-10-04T13:20:51.894933",
"author": {
"id": 230745655,
"login": "stillkool"
}
}
}

View File

@@ -1,18 +0,0 @@
{
"base": "svg",
"aliases": [],
"categories": [
"Media"
],
"update": {
"timestamp": "2025-05-12T16:23:45.630840",
"author": {
"id": 63781622,
"login": "Meierschlumpf"
}
},
"colors": {
"light": "autobangumi",
"dark": "autobangumi-dark"
}
}

View File

@@ -1,14 +0,0 @@
{
"base": "png",
"aliases": [],
"categories": [
"Hardware"
],
"update": {
"timestamp": "2025-06-19T05:11:03.846604",
"author": {
"id": 68505869,
"login": "adriantankodev"
}
}
}

View File

@@ -1,18 +1,22 @@
{
"base": "svg",
"base": "png",
"aliases": [
"security-camera-company",
"video-surveillance"
],
"categories": [
"Smart-Home",
"Hardware"
"Hardware",
"Home-Automation"
],
"update": {
"timestamp": "2025-09-28T09:38:41.752362",
"timestamp": "2025-01-07T17:54:03Z",
"author": {
"id": 63781622,
"login": "Meierschlumpf"
"id": 71191962,
"name": "walkxcode"
}
},
"colors": {
"dark": "axis",
"light": "axis-light"
}
}

View File

@@ -1,12 +0,0 @@
{
"base": "png",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2025-05-21T08:40:49.961984",
"author": {
"id": 48109134,
"login": "jdcool00"
}
}
}

View File

@@ -5,7 +5,7 @@
],
"categories": [
"Home-Automation",
"Personal"
"Notes-&-Productivity"
],
"update": {
"timestamp": "2025-01-07T17:54:03Z",

View File

@@ -4,8 +4,8 @@
"Cloud Backup"
],
"categories": [
"Cloud-Computing",
"File-Sharing-&-Sync"
"Cloud-&-Hosting",
"File-Management-&-Sync"
],
"update": {
"timestamp": "2023-04-13T13:56:18Z",

View File

@@ -5,7 +5,7 @@
],
"categories": [
"Databases",
"Developer-Tools"
"Development"
],
"update": {
"timestamp": "2024-10-20T17:24:03Z",

View File

@@ -5,7 +5,7 @@
"data-backup"
],
"categories": [
"Developer-Tools"
"Development"
],
"update": {
"timestamp": "2025-01-07T17:54:03Z",

View File

@@ -4,8 +4,8 @@
"CalDAV Server"
],
"categories": [
"Server-Panels",
"File-Sharing-&-Sync"
"File-Management-&-Sync",
"Infrastructure"
],
"update": {
"timestamp": "2025-01-07T17:54:03Z",

View File

@@ -1,14 +0,0 @@
{
"base": "svg",
"aliases": [],
"categories": [
"SocialMedia"
],
"update": {
"timestamp": "2025-08-30T13:35:57.844729",
"author": {
"id": 92841831,
"login": "pourya22334415"
}
}
}

View File

@@ -2,7 +2,7 @@
"base": "svg",
"aliases": [],
"categories": [
"Cloud"
"Cloud-&-Hosting"
],
"update": {
"timestamp": "2025-04-17T16:57:40.799513",

View File

@@ -1,14 +0,0 @@
{
"base": "svg",
"aliases": [],
"categories": [
"Development"
],
"update": {
"timestamp": "2025-10-18T14:05:18.134102",
"author": {
"id": 74367192,
"login": "th33k"
}
}
}

View File

@@ -1,14 +0,0 @@
{
"base": "svg",
"aliases": [],
"categories": [
"Music"
],
"update": {
"timestamp": "2025-10-17T16:46:50.127333",
"author": {
"id": 155105197,
"login": "LuizFelipeOliver"
}
}
}

View File

@@ -4,9 +4,9 @@
"Session Manager"
],
"categories": [
"Security",
"Developer-Tools",
"Networking-Tools"
"Development",
"Networking",
"Security"
],
"update": {
"timestamp": "2025-01-07T17:54:03Z",

View File

@@ -1,14 +0,0 @@
{
"base": "png",
"aliases": [],
"categories": [
"Gaming"
],
"update": {
"timestamp": "2025-09-26T21:35:05.132584",
"author": {
"id": 18689323,
"login": "davidlav"
}
}
}

View File

@@ -1,12 +0,0 @@
{
"base": "svg",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2025-09-08T12:02:55.867500",
"author": {
"id": 165560954,
"login": "Serster"
}
}
}

View File

@@ -1,14 +0,0 @@
{
"base": "svg",
"aliases": [
"bequiet"
],
"categories": [],
"update": {
"timestamp": "2025-09-26T21:38:50.375046",
"author": {
"id": 58707896,
"login": "bannert1337"
}
}
}

View File

@@ -4,8 +4,7 @@
"Habit Tracker"
],
"categories": [
"Note-taking-Apps",
"Office-Suites"
"Notes-&-Productivity"
],
"update": {
"timestamp": "2024-10-20T17:24:03Z",

View File

@@ -1,14 +0,0 @@
{
"base": "svg",
"aliases": [],
"categories": [
"E-Commerce"
],
"update": {
"timestamp": "2025-06-16T21:17:22.434178",
"author": {
"id": 114433629,
"login": "Deisling"
}
}
}

View File

@@ -4,7 +4,7 @@
"php-web-framework"
],
"categories": [
"Developer-Tools"
"Development"
],
"update": {
"timestamp": "2024-10-20T17:24:03Z",

View File

@@ -1,14 +0,0 @@
{
"base": "svg",
"aliases": [],
"categories": [
"Development"
],
"update": {
"timestamp": "2025-10-17T16:56:04.816102",
"author": {
"id": 38050638,
"login": "angeloschat"
}
}
}

View File

@@ -4,7 +4,7 @@
"Hosting Provider"
],
"categories": [
"Cloud-Computing"
"Cloud-&-Hosting"
],
"update": {
"timestamp": "2025-01-05T20:55:05Z",

View File

@@ -4,8 +4,8 @@
"Instagram Frontend"
],
"categories": [
"Social-Media",
"Web-Browsers"
"Browsers-&-Search",
"Community-&-Social"
],
"update": {
"timestamp": "2025-01-07T17:54:03Z",

View File

@@ -4,7 +4,7 @@
"Finance Tracker"
],
"categories": [
"Finance-&-Banking"
"Finance"
],
"update": {
"timestamp": "2024-10-20T17:24:03Z",

View File

@@ -1,14 +0,0 @@
{
"base": "svg",
"aliases": [],
"categories": [
"Video"
],
"update": {
"timestamp": "2025-09-28T09:50:10.194608",
"author": {
"id": 127128984,
"login": "Ray2023m"
}
}
}

View File

@@ -5,7 +5,7 @@
"web-search"
],
"categories": [
"Search-Engines"
"Browsers-&-Search"
],
"update": {
"timestamp": "2023-04-13T13:56:18Z",

View File

@@ -2,7 +2,7 @@
"base": "svg",
"aliases": [],
"categories": [
"Logistics"
"Organization-&-Planning"
],
"update": {
"timestamp": "2025-02-20T20:15:26.048635",

View File

@@ -5,7 +5,7 @@
"digital-currency"
],
"categories": [
"Finance-&-Banking"
"Finance"
],
"update": {
"timestamp": "2023-04-13T13:56:18Z",

View File

@@ -5,7 +5,7 @@
"torrent-site"
],
"categories": [
"Download-Managers"
"Downloaders"
],
"update": {
"timestamp": "2025-01-07T17:54:03Z",

View File

@@ -1,14 +0,0 @@
{
"base": "svg",
"aliases": [],
"categories": [
"Communication"
],
"update": {
"timestamp": "2025-06-17T17:03:33.578957",
"author": {
"id": 33011496,
"login": "Zachmoore111"
}
}
}

View File

@@ -4,7 +4,7 @@
"Password Manager"
],
"categories": [
"Password-Managers",
"Identity",
"Security"
],
"update": {

View File

@@ -1,22 +0,0 @@
{
"base": "png",
"aliases": [
"bitwig",
"studio",
"bitwig-music"
],
"categories": [
"Music"
],
"update": {
"timestamp": "2025-09-09T20:49:37.952500",
"author": {
"id": 160300441,
"login": "BuilderBoy163"
}
},
"colors": {
"light": "bitwig-studio",
"dark": "bitwig-studio-dark"
}
}

View File

@@ -5,7 +5,7 @@
"adblocking-dns"
],
"categories": [
"Networking-Tools",
"Networking",
"Security"
],
"update": {

View File

@@ -1,16 +0,0 @@
{
"base": "png",
"aliases": [
"bible-study"
],
"categories": [
"Education"
],
"update": {
"timestamp": "2025-10-14T19:49:57.787938",
"author": {
"id": 40521502,
"login": "TheArtForm"
}
}
}

View File

@@ -6,7 +6,7 @@
],
"categories": [
"Hardware",
"Networking-Tools"
"Networking"
],
"update": {
"timestamp": "2025-01-07T17:54:03Z",

View File

@@ -1,14 +0,0 @@
{
"base": "png",
"aliases": [],
"categories": [
"Organization"
],
"update": {
"timestamp": "2025-05-08T21:13:01.765713",
"author": {
"id": 1506555,
"login": "danielkoster"
}
}
}

View File

@@ -1,14 +0,0 @@
{
"base": "svg",
"aliases": [],
"categories": [
"Media"
],
"update": {
"timestamp": "2025-08-06T18:14:48.266125",
"author": {
"id": 82271911,
"login": "Khyzer10"
}
}
}

View File

@@ -5,7 +5,7 @@
"reading-log"
],
"categories": [
"Note-taking-Apps"
"Notes-&-Productivity"
],
"update": {
"timestamp": "2024-10-20T17:24:03Z",

View File

@@ -1,12 +0,0 @@
{
"base": "png",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2025-09-12T20:28:01.211968",
"author": {
"id": 231333728,
"login": "nuno2229"
}
}
}

View File

@@ -5,7 +5,7 @@
"dev-browser"
],
"categories": [
"Web-Browsers"
"Browsers-&-Search"
],
"update": {
"timestamp": "2025-01-07T17:54:03Z",

View File

@@ -1,14 +0,0 @@
{
"base": "svg",
"aliases": [],
"categories": [
"Logistics"
],
"update": {
"timestamp": "2025-05-08T20:55:30.191802",
"author": {
"id": 31495062,
"login": "jeremywillans"
}
}
}

View File

@@ -1,18 +0,0 @@
{
"base": "svg",
"aliases": [
"brightmove",
"bright-move-ats",
"brightmove-ats"
],
"categories": [
"Organization"
],
"update": {
"timestamp": "2025-09-06T18:33:28.889668",
"author": {
"id": 4467101,
"login": "prowave"
}
}
}

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