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
1912 changed files with 23015 additions and 22782 deletions

View File

@@ -35,32 +35,49 @@ body:
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

@@ -33,32 +33,49 @@ body:
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

@@ -29,6 +29,54 @@ body:
options:
- SVG
- PNG
- 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

@@ -24,6 +24,54 @@ body:
options:
- SVG
- PNG
- 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

@@ -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

@@ -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

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

View File

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

View File

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

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

@@ -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

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

View File

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

View File

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

View File

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

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

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

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

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

View File

@@ -5,8 +5,8 @@
"video-surveillance"
],
"categories": [
"Smart-Home",
"Hardware"
"Hardware",
"Home-Automation"
],
"update": {
"timestamp": "2025-01-07T17:54:03Z",

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

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

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

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

View File

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

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

@@ -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

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -6,7 +6,7 @@
],
"categories": [
"Hardware",
"Office-Suites"
"Notes-&-Productivity"
],
"update": {
"timestamp": "2024-10-20T17:24:03Z",

View File

@@ -4,8 +4,8 @@
"CI/CD"
],
"categories": [
"Developer-Tools",
"DevOps"
"DevOps",
"Development"
],
"update": {
"timestamp": "2025-01-07T17:54:03Z",

View File

@@ -5,8 +5,8 @@
"personal-finance"
],
"categories": [
"Finance-&-Banking",
"Note-taking-Apps"
"Finance",
"Notes-&-Productivity"
],
"update": {
"timestamp": "2024-10-20T17:24:03Z",

View File

@@ -4,7 +4,7 @@
"go-web-framework"
],
"categories": [
"Developer-Tools"
"Development"
],
"update": {
"timestamp": "2025-01-07T17:54:03Z",

View File

@@ -4,8 +4,8 @@
"Reverse Proxy"
],
"categories": [
"Networking-Tools",
"Server-Panels",
"Infrastructure",
"Networking",
"Security"
],
"update": {

View File

@@ -4,8 +4,8 @@
"File Uploader"
],
"categories": [
"File-Sharing-&-Sync",
"Developer-Tools"
"Development",
"File-Management-&-Sync"
],
"update": {
"timestamp": "2025-01-05T01:06:46Z",

View File

@@ -5,7 +5,7 @@
"alerting-tool"
],
"categories": [
"Monitoring-Tools"
"Analytics-&-Monitoring"
],
"update": {
"timestamp": "2025-01-07T17:54:03Z",

View File

@@ -5,8 +5,8 @@
"performance-monitoring"
],
"categories": [
"Monitoring-Tools",
"Networking-Tools"
"Analytics-&-Monitoring",
"Networking"
],
"update": {
"timestamp": "2023-04-13T13:56:18Z",

View File

@@ -5,7 +5,7 @@
"federated-social-network"
],
"categories": [
"Social-Media"
"Community-&-Social"
],
"update": {
"timestamp": "2025-01-07T17:54:03Z",

View File

@@ -5,7 +5,7 @@
"book-converter"
],
"categories": [
"Media-Servers"
"Streaming"
],
"update": {
"timestamp": "2023-04-13T20:27:58",

View File

@@ -4,8 +4,8 @@
"Camera Interface"
],
"categories": [
"Home-Automation",
"Monitoring-Tools"
"Analytics-&-Monitoring",
"Home-Automation"
],
"update": {
"timestamp": "2025-01-07T17:54:03Z",

View File

@@ -5,8 +5,8 @@
"tv-recording"
],
"categories": [
"Media-Servers",
"Home-Automation"
"Home-Automation",
"Streaming"
],
"update": {
"timestamp": "2024-10-20T17:24:03Z",

View File

@@ -4,7 +4,7 @@
"AI Chatbot"
],
"categories": [
"AI-&-LLM-Platforms"
"AI"
],
"update": {
"timestamp": "2024-01-29T22:26:51Z",

View File

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

View File

@@ -5,7 +5,7 @@
"dev-browser"
],
"categories": [
"Web-Browsers"
"Browsers-&-Search"
],
"update": {
"timestamp": "2022-08-16T17:22:56Z",

View File

@@ -5,8 +5,8 @@
"browser-inspector"
],
"categories": [
"Developer-Tools",
"Web-Browsers"
"Browsers-&-Search",
"Development"
],
"update": {
"timestamp": "2022-08-16T17:22:56Z",

View File

@@ -2,8 +2,8 @@
"base": "png",
"aliases": [],
"categories": [
"Media-Servers",
"Smart-Home"
"Home-Automation",
"Streaming"
],
"update": {
"timestamp": "2025-01-07T17:54:03Z",

View File

@@ -5,7 +5,7 @@
],
"categories": [
"Communication",
"Social-Media"
"Community-&-Social"
],
"update": {
"timestamp": "2024-10-20T17:24:03Z",

View File

@@ -5,8 +5,8 @@
"deployment-service"
],
"categories": [
"Cloud-Computing",
"Developer-Tools"
"Cloud-&-Hosting",
"Development"
],
"update": {
"timestamp": "2023-04-13T13:56:18Z",

View File

@@ -5,8 +5,8 @@
"online-ide"
],
"categories": [
"Developer-Tools",
"Cloud-Computing"
"Cloud-&-Hosting",
"Development"
],
"update": {
"timestamp": "2024-10-20T17:24:03Z",

View File

@@ -4,9 +4,9 @@
"Static Site Hosting"
],
"categories": [
"Web-Browsers",
"Developer-Tools",
"Cloud-Computing"
"Browsers-&-Search",
"Cloud-&-Hosting",
"Development"
],
"update": {
"timestamp": "2023-04-13T20:27:58Z",

View File

@@ -5,9 +5,9 @@
"secure-access-service"
],
"categories": [
"Security",
"Cloud-Computing",
"Networking-Tools"
"Cloud-&-Hosting",
"Networking",
"Security"
],
"update": {
"timestamp": "2023-04-13T13:56:18Z",

View File

@@ -5,8 +5,8 @@
"ddos-protection"
],
"categories": [
"Cloud-Computing",
"Networking-Tools",
"Cloud-&-Hosting",
"Networking",
"Security"
],
"update": {

View File

@@ -5,11 +5,11 @@
"video-downloader"
],
"categories": [
"Social-Media",
"File",
"Cloud",
"Video",
"Download-Managers"
"Cloud-&-Hosting",
"Community-&-Social",
"Downloaders",
"File-Management-&-Sync",
"Video"
],
"update": {
"timestamp": "2025-03-21T20:19:04.169259",

View File

@@ -5,7 +5,7 @@
"ide"
],
"categories": [
"Developer-Tools"
"Development"
],
"update": {
"timestamp": "2023-04-13T13:56:18Z",

View File

@@ -4,8 +4,8 @@
"Code Hosting"
],
"categories": [
"Version-Control-Systems",
"Developer-Tools"
"Development",
"Version-Control"
],
"update": {
"timestamp": "2023-04-13T20:27:58Z",

View File

@@ -4,8 +4,8 @@
"Code Analytics"
],
"categories": [
"Developer-Tools",
"Monitoring-Tools"
"Analytics-&-Monitoring",
"Development"
],
"update": {
"timestamp": "2024-10-20T17:24:03Z",

View File

@@ -5,8 +5,8 @@
"embeddable-comments"
],
"categories": [
"Web-Browsers",
"Developer-Tools"
"Browsers-&-Search",
"Development"
],
"update": {
"timestamp": "2024-10-20T17:24:03Z",

View File

@@ -4,8 +4,8 @@
"Service Discovery"
],
"categories": [
"Networking-Tools",
"Developer-Tools"
"Development",
"Networking"
],
"update": {
"timestamp": "2024-01-01T11:20:28Z",

View File

@@ -5,8 +5,8 @@
"instant-messaging-app"
],
"categories": [
"Networking-Tools",
"Communication"
"Communication",
"Networking"
],
"update": {
"timestamp": "2024-10-20T17:24:03Z",

View File

@@ -4,8 +4,8 @@
"Fan Control"
],
"categories": [
"Hardware",
"Monitoring-Tools"
"Analytics-&-Monitoring",
"Hardware"
],
"update": {
"timestamp": "2025-04-09T12:21:43.314393",

View File

@@ -4,8 +4,8 @@
"App Deployment"
],
"categories": [
"Developer-Tools",
"Server-Panels"
"Development",
"Infrastructure"
],
"update": {
"timestamp": "2024-06-01T17:40:45Z",

View File

@@ -4,8 +4,8 @@
"DNS Server"
],
"categories": [
"Networking-Tools",
"Server-Panels"
"Infrastructure",
"Networking"
],
"update": {
"timestamp": "2023-04-13T13:56:18Z",

View File

@@ -5,7 +5,7 @@
"invoice-app"
],
"categories": [
"Finance-&-Banking"
"Finance"
],
"update": {
"timestamp": "2025-01-07T17:54:03Z",

View File

@@ -5,8 +5,8 @@
"private-document-editor"
],
"categories": [
"Office-Suites",
"File-Sharing-&-Sync"
"File-Management-&-Sync",
"Notes-&-Productivity"
],
"update": {
"timestamp": "2023-04-13T13:56:18Z",

View File

@@ -5,8 +5,8 @@
"c-sharp"
],
"categories": [
"Programming-Languages",
"Developer-Tools"
"Development",
"Programming-Languages"
],
"update": {
"timestamp": "2023-04-13T13:56:18Z",

View File

@@ -5,7 +5,7 @@
"the-cyber-chef"
],
"categories": [
"Developer-Tools"
"Development"
],
"update": {
"timestamp": "2023-04-13T13:56:18Z",

View File

@@ -4,8 +4,8 @@
"Duplicate File Finder"
],
"categories": [
"File-Sharing-&-Sync",
"Office-Suites"
"File-Management-&-Sync",
"Notes-&-Productivity"
],
"update": {
"timestamp": "2024-10-20T17:24:03Z",

View File

@@ -4,8 +4,8 @@
"Network Devices"
],
"categories": [
"Networking-Tools",
"Hardware"
"Hardware",
"Networking"
],
"update": {
"timestamp": "2023-04-13T13:56:18Z",

View File

@@ -5,8 +5,8 @@
"video-surveillance"
],
"categories": [
"Smart-Home",
"Hardware"
"Hardware",
"Home-Automation"
],
"update": {
"timestamp": "2025-01-07T17:54:03Z",

View File

@@ -5,7 +5,7 @@
],
"categories": [
"Databases",
"Organization"
"Organization-&-Planning"
],
"update": {
"timestamp": "2024-10-20T17:24:03Z",

View File

@@ -4,8 +4,8 @@
"Server Dashboard"
],
"categories": [
"Monitoring-Tools",
"Server-Panels"
"Analytics-&-Monitoring",
"Infrastructure"
],
"update": {
"timestamp": "2025-01-07T17:54:03Z",

View File

@@ -5,8 +5,8 @@
"scheduling-server"
],
"categories": [
"Networking-Tools",
"Office-Suites"
"Networking",
"Notes-&-Productivity"
],
"update": {
"timestamp": "2024-10-20T17:24:03Z",

View File

@@ -4,9 +4,8 @@
"Weather Station"
],
"categories": [
"Home-Automation",
"Monitoring-Tools",
"Smart-Home"
"Analytics-&-Monitoring",
"Home-Automation"
],
"update": {
"timestamp": "2025-01-07T17:54:03Z",

View File

@@ -4,9 +4,9 @@
"Container Platform"
],
"categories": [
"Containerization-&-Orchestration",
"Developer-Tools",
"Cloud-Computing"
"Cloud-&-Hosting",
"Development",
"Infrastructure"
],
"update": {
"timestamp": "2023-04-13T13:56:18Z",

View File

@@ -4,9 +4,9 @@
"Router Firmware"
],
"categories": [
"Operating-Systems",
"Networking-Tools",
"Linux-Distributions"
"Linux-Distributions",
"Networking",
"Operating-Systems"
],
"update": {
"timestamp": "2025-01-07T17:54:03Z",

View File

@@ -4,8 +4,8 @@
"Music Downloader"
],
"categories": [
"Download-Managers",
"Music-Streaming"
"Downloaders",
"Streaming"
],
"update": {
"timestamp": "2025-01-07T17:54:03Z",

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