Compare commits

...

301 Commits

Author SHA1 Message Date
ajnart
e5777ff2d6 feat: enrich metadata 2025-04-25 13:48:55 +02:00
ajnart
4a17349626 feat: enrich metadata 2025-04-25 13:44:56 +02:00
ajnart
8906c0f96f feat: enrich metadata 2025-04-25 13:28:28 +02:00
ajnart
32a0abc476 feat: enrich metadata 2025-04-25 13:00:14 +02:00
ajnart
7c795b98d9 replace _ wtih - 2025-04-25 12:39:48 +02:00
ajnart
4a2765f653 feat: enrich metadata 2025-04-25 12:35:35 +02:00
ajnart
34c17ea08e add some icons 2025-04-25 12:35:29 +02:00
ajnart
5b4a4b5fed feat: enrich metadata 2025-04-25 12:22:21 +02:00
ajnart
c7edb6a6cf feat: enrich metadata 2025-04-25 12:17:30 +02:00
ajnart
f03b65304f feat: enrich metadata 2025-04-25 12:14:36 +02:00
Thomas Camlong
25f545d632 Merge pull request #1272 from homarr-labs/feat/auto-build 2025-04-25 09:02:40 +02:00
ajnart
a3c97bf92a feat: Add daily release workflow for CF 2025-04-25 09:01:27 +02:00
Thomas Camlong
6edf5d7040 Merge pull request #1268 from homarr-labs/feat/extend-background 2025-04-24 22:23:45 +02:00
Thomas Camlong
bb53077e97 fix(web): Fix background 2025-04-24 20:54:10 +02:00
Thomas Camlong
57b0e6a1aa feat(web): Optimize SEO (#1260) 2025-04-24 18:22:15 +02:00
Thomas Camlong
038e4dc73d chore(web): Update Carbon ID 2025-04-24 16:31:45 +02:00
Thomas Camlong
6001d195a6 feat(ci): Specify ID's
Signed-off-by: Thomas Camlong <thomas@ajnart.fr>

Update add_normal_icon.yml

Signed-off-by: Thomas Camlong <thomas@ajnart.fr>

Update add_normal_icon.yml

Signed-off-by: Thomas Camlong <thomas@ajnart.fr>
2025-04-24 16:31:07 +02:00
dashboard-icons-manager[bot]
293f67bcc8 feat(icons): add librechat (#1256)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-22 21:11:32 +02:00
dashboard-icons-manager[bot]
2c71578fa1 feat(icons): add recyclarr (#1255)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-22 21:07:10 +02:00
dashboard-icons-manager[bot]
a8a24ae364 feat(icons): add pretix (#1253)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-22 21:01:54 +02:00
dashboard-icons-manager[bot]
73a75ae124 feat(icons): add pangolin (#1252)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-22 20:57:54 +02:00
dashboard-icons-manager[bot]
3a91838364 feat(icons): add loxone-full (#1251)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-22 20:56:12 +02:00
dashboard-icons-manager[bot]
185e5fa075 feat(icons): add loxone (#1248)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-22 20:52:44 +02:00
Thomas Camlong
a456697fbe Merge pull request #1250 from homarr-labs/fix/carbon-and-ui 2025-04-22 20:52:32 +02:00
Thomas Camlong
256f567207 refactor(web): change carbon tags 2025-04-22 20:52:15 +02:00
Thomas Camlong
773e3b78a3 feat(web): add magic gradient color variable to globals.css 2025-04-22 20:51:58 +02:00
dashboard-icons-manager[bot]
5f33a8a401 feat(icons): add buildium (#1247)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-22 20:36:39 +02:00
dashboard-icons-manager[bot]
699302e475 feat(icons): add entergy (#1246)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-22 20:34:33 +02:00
dashboard-icons-manager[bot]
372d2bf652 feat(icons): add watchlistarr (#1245)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-22 20:32:12 +02:00
dashboard-icons-manager[bot]
97a870ca49 feat(icons): add stream-harvestarr (#1244)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-22 20:29:26 +02:00
dashboard-icons-manager[bot]
df229355fb feat(icons): add series-troxide (#1243)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-22 20:27:45 +02:00
dashboard-icons-manager[bot]
0f3afe29fe feat(icons): add image-maid (#1242)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-22 20:23:57 +02:00
dashboard-icons-manager[bot]
6940dbeca5 feat(icons): add noisedash (#1241)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-22 20:20:07 +02:00
dashboard-icons-manager[bot]
0d7c599a3a feat(icons): add karaoke-eternal (#1240)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-22 19:44:20 +02:00
dashboard-icons-manager[bot]
b4f1a6385d feat(icons): add gone-man-switch (#1238)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-22 19:38:56 +02:00
dashboard-icons-manager[bot]
ff3312bef1 feat(icons): add doplarr (#1237)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-22 19:36:17 +02:00
dashboard-icons-manager[bot]
a3b6c4765a feat(icons): add calibre-web-automated-book-downloader (#1236)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-22 19:33:26 +02:00
dashboard-icons-manager[bot]
da6c0b88b4 feat(icons): add release-argus (#1235)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-22 19:28:24 +02:00
dashboard-icons-manager[bot]
32a7c170a4 feat(icons): add marzban (#1234)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-22 19:19:34 +02:00
Jonas
c355e76f91 fix(metadata): typo in alias of vodafone icon (#1206) 2025-04-22 19:18:29 +02:00
dashboard-icons-manager[bot]
fc40975c50 feat(icons): add gomft (#1233)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-22 19:03:21 +02:00
dashboard-icons-manager[bot]
f5d0570d18 feat(icons): add emsesp (#1232)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-22 19:00:17 +02:00
Thomas Camlong
0e003f6e90 fix(web): revert wrong opengraph image 2025-04-22 18:33:55 +02:00
Thomas Camlong
8465fb4929 fix: log search query when no icons are found 2025-04-22 18:16:02 +02:00
Thomas Camlong
b0b2ce0d85 Merge pull request #1231 from homarr-labs:feat/lazy-icon-request
add lazy icon request button
2025-04-22 17:08:30 +02:00
Thomas Camlong
d8f7d98e95 add lazy icon request button 2025-04-22 17:08:14 +02:00
Thomas Camlong
eedb2aff2c Merge pull request #1230 from homarr-labs/feat/ph-capture-missing-icons 2025-04-22 15:29:05 +02:00
Thomas Camlong
38cecbb7bf Merge branch 'main' into feat/ph-capture-missing-icons
Signed-off-by: Thomas Camlong <thomas@ajnart.fr>
2025-04-22 15:28:55 +02:00
Thomas Camlong
b3b88414e7 feat: implement debounced search query and normalize filtering 2025-04-22 15:28:23 +02:00
Thomas Camlong
1c14e86dee feat: integrate PostHog for tracking when no icons are found in search 2025-04-22 14:22:03 +02:00
Thomas Camlong
f995c84478 feat: integrate PostHog for tracking when no icons are found in search 2025-04-22 14:21:48 +02:00
Thomas Camlong
090f48c1c7 chore: format web codebase 2025-04-22 11:31:32 +02:00
Thomas Camlong
cfb5917a5d Merge pull request #1226 from homarr-labs/web/fixes 2025-04-22 10:26:33 +02:00
Thomas Camlong
ab684250cf fix minor ui/ux 2025-04-22 10:26:13 +02:00
Thomas Camlong
6f51ba60ab Update metadata to include robots 2025-04-22 10:17:03 +02:00
Thomas Camlong
3bcbbf426c Edit metadata 2025-04-22 10:06:07 +02:00
Thomas Camlong
36a355d3e2 Merge pull request #1174 from homarr-labs/feat/visual-enhancements 2025-04-18 22:23:31 +02:00
Thomas Camlong
0d6a321f62 Merge branch 'main' into feat/visual-enhancements 2025-04-18 22:23:04 +02:00
Thomas Camlong
14c7fd714b fix search resize 2025-04-18 22:10:40 +02:00
Thomas Camlong
02d538daaa revert max-w to 7xl 2025-04-18 18:35:06 +02:00
Thomas Camlong
904c769db1 small styling changes for the footer 2025-04-18 18:32:44 +02:00
Thomas Camlong
ff264625ed remove "all rights reserved" 2025-04-18 18:30:26 +02:00
Thomas Camlong
a3bf6bcbc5 remove license 2025-04-18 18:27:22 +02:00
Thomas Camlong
a6f5bb9aaf styling 2025-04-18 18:25:10 +02:00
Thomas Camlong
f7f464e3c4 styling 2025-04-18 18:17:39 +02:00
Thomas Camlong
8c0d46330a wip on using local path 2025-04-18 18:17:24 +02:00
Thomas Camlong
bb97a00273 Styling changes 2025-04-18 17:05:46 +02:00
Thomas Camlong
bc9ee8c022 Styling changes 2025-04-18 16:51:04 +02:00
Thomas Camlong
783e3d1f4b styling changes 2025-04-18 15:56:11 +02:00
Thomas Camlong
7ed66b5da7 Delete web/wrangler.toml
Signed-off-by: Thomas Camlong <thomas@ajnart.fr>
2025-04-18 15:32:35 +02:00
Thomas Camlong
bfc5c0e0da Update pnpm approved builds 2025-04-18 15:25:55 +02:00
Thomas Camlong
60bd2cce96 update opengraph image generator 2025-04-18 15:24:05 +02:00
Thomas Camlong
874cf07c39 Fix building OG images 2025-04-18 14:06:03 +02:00
Thomas Camlong
51e1d1df7b Add og image generator 2025-04-18 13:57:28 +02:00
Thomas Camlong
f9563ad359 Update metadata 2025-04-18 12:39:37 +02:00
Thomas Camlong
47d15f2b02 feat: Add buttons to give us stuff 2025-04-18 12:32:04 +02:00
dashboard-icons-manager[bot]
c9d0a05437 feat(icons): add alexa (#1192)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-18 10:40:30 +02:00
dashboard-icons-manager[bot]
07341234f4 feat(icons): add openaudible (#1190)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-17 19:11:35 +02:00
dashboard-icons-manager[bot]
b8fb0f8206 feat(icons): add threadfin (#1189)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-17 19:02:49 +02:00
dashboard-icons-manager[bot]
d977769780 feat(icons): add balena-cloud (#1188)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-17 19:00:11 +02:00
dashboard-icons-manager[bot]
3a3b757aeb feat(icons): add balena-etcher (#1187)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-17 18:57:03 +02:00
dashboard-icons-manager[bot]
fe373f0f23 feat(icons): update lobe-chat (#1186)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-17 18:54:04 +02:00
Meier Lukas
1e990101d7 chore(issue-template): add id to issue template field to define name and title through query params
Signed-off-by: Meier Lukas <meierschlumpf@gmail.com>
2025-04-17 18:43:17 +02:00
Meier Lukas
08d5dd709c chore(issue-template): fix add id to issue template field to define it through query params
Signed-off-by: Meier Lukas <meierschlumpf@gmail.com>
2025-04-17 18:40:05 +02:00
Meier Lukas
71af2e62a4 chore(issue-template): add id to issue template field to define it through query params
Signed-off-by: Meier Lukas <meierschlumpf@gmail.com>
2025-04-17 18:39:24 +02:00
Thomas Camlong
86edee2778 Format codebase 2025-04-17 18:05:08 +02:00
Thomas Camlong
b63e8f549a Add background (it looks nice) 2025-04-17 18:05:08 +02:00
Thomas Camlong
1a18a1de01 Update sponsors url 2025-04-17 18:05:08 +02:00
Thomas Camlong
4af84b39b7 Add more SEO 2025-04-17 18:05:08 +02:00
Thomas Camlong
e5414be19f Update website url 2025-04-17 18:05:08 +02:00
Thomas Camlong
e90d3c4b7f Virtualize (kind of) the list 2025-04-17 18:05:08 +02:00
Thomas Camlong
b5e2cca8d9 add robots.txt 2025-04-17 18:05:08 +02:00
Thomas Camlong
ad849b8deb styling 2025-04-17 18:05:08 +02:00
Thomas Camlong
16d6e34c3f Format codebase 2025-04-17 18:05:08 +02:00
Thomas Camlong
5be07bbfb8 styling 2025-04-17 18:05:08 +02:00
Thomas Camlong
49559f9e6c wip on color scheme 2025-04-17 18:05:08 +02:00
Thomas Camlong
8dcb579d13 rework spacing 2025-04-17 18:05:08 +02:00
Thomas Camlong
275bdc1332 rework recently-added-icons 2025-04-17 18:05:07 +02:00
Thomas Camlong
d6e8d88808 remove bacgkround glow 2025-04-17 18:05:07 +02:00
Thomas Camlong
0b62278274 Add marquee component for RecentlyAddedIcons 2025-04-17 18:05:07 +02:00
Thomas Camlong
0902983a17 Improve hero heart animation 2025-04-17 18:05:07 +02:00
Thomas Camlong
b13b34fc40 tighten footer 2025-04-17 18:05:07 +02:00
Thomas Camlong
c1599b49d1 remove getIconVariant 2025-04-17 18:05:07 +02:00
Thomas Camlong
184c846b11 add tailwindcss-motion
https://rombo.co/tailwind/
2025-04-17 18:05:07 +02:00
Thomas Camlong
1ded8cefd4 add magic card 2025-04-17 18:05:07 +02:00
Thomas Camlong
a522f27bef Fix header styling 2025-04-17 18:05:07 +02:00
Thomas Camlong
f99c0a0b6d Fix header styling 2025-04-17 18:05:07 +02:00
Thomas Camlong
cd27ff7dd5 remove getIconVariant 2025-04-17 18:05:07 +02:00
Thomas Camlong
91e2898ad4 remove dead code 2025-04-17 18:05:07 +02:00
Thomas Camlong
30de0b6d7b change icons-details styling 2025-04-17 18:05:07 +02:00
Thomas Camlong
12ff80b6ac remove rss 2025-04-17 18:05:07 +02:00
Thomas Camlong
e025298b7f fix start script 2025-04-17 18:05:07 +02:00
Thomas Camlong
5bc9b0e13a Fix search button size 2025-04-17 18:05:07 +02:00
Thomas Camlong
6839eb5bba fix og-image 2025-04-17 18:05:07 +02:00
Thomas Camlong
24251aa825 remove the use of previousimages for og-image 2025-04-17 18:05:07 +02:00
Thomas Camlong
7ef4f9ac28 remove the use of previousimages for og-image 2025-04-17 18:05:07 +02:00
Bjorn Lammers
63349f7490 feat(website): enhance website 2025-04-17 18:05:07 +02:00
Bjorn Lammers
6e3a39a4cf feat(website): enhance transitions and styles 2025-04-17 18:05:07 +02:00
Bjorn Lammers
0e22539f06 feat(website): improved animations 2025-04-17 18:05:07 +02:00
Bjorn Lammers
24cc8c1b6f feat(icons): refactor IconSearch with smoother animation 2025-04-17 18:05:07 +02:00
Bjorn Lammers
677f789686 feat(icons): add theme-aware icon variant handling in RecentlyAddedIcons component 2025-04-17 18:05:07 +02:00
Bjorn Lammers
62ab677ee3 feat(icons): implement theme-aware icon variants in search and details components 2025-04-17 18:05:07 +02:00
Bjorn Lammers
bf78bc6a24 refactor(website): rename Header component to HeaderWrapper 2025-04-17 18:05:07 +02:00
Bjorn Lammers
86b89f5518 feat(website): visually enhance website
- Update UI with refined rose-themed styling throughout the site
- Add mobile-responsive improvements to header and hero sections
- Create new 'Recently Added Icons' component with animated cards
- Improve icon details view with better visual hierarchy and theme indicators
- Implement better hover effects and transitions for interactive elements
- Add mobile menu for better navigation on smaller screens
- Update license notice wording
- Remove grid background in favor of refined blur effects
2025-04-17 18:05:07 +02:00
Bjorn Lammers
15f841cb09 fix(website): correct aspect ratio using whitespace 2025-04-17 18:05:07 +02:00
Bjorn Lammers
6041e37119 feat(website): enhance web app support and icon metadata
- Add PWA-compatible icons in multiple sizes:
  - android-chrome-192x192.png
  - android-chrome-512x512.png
  - apple-touch-icon.png
  - favicon-16x16.png
  - favicon-32x32.png
- Modernize favicon handling:
  - Update favicon.ico
  - Remove deprecated favicon.png and favicon.svg
- Add site.webmanifest for better PWA integration
- Update metadata to reflect total icon count across pages
2025-04-17 18:05:07 +02:00
Bjorn Lammers
9dec2c6daa chore: remove outdated ICONS.md generation 2025-04-17 18:05:07 +02:00
Bjorn Lammers
27980bc6be docs: improve documentation and branding for dashboardicons.com
- Rewrite README with better structure and new branding
- Update contributing guidelines for clarity
- Revise code of conduct for better readability
- Add preview video asset
2025-04-17 18:04:55 +02:00
dashboard-icons-manager[bot]
b14ef1575a feat(icons): add enhance (#1180)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-17 06:32:23 +02:00
dashboard-icons-manager[bot]
5c63a74aef feat(icons): add vodafone (#1178)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-17 04:20:43 +02:00
dashboard-icons-manager[bot]
42776ed9ed feat(icons): update karakeep (#1176)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-17 03:49:47 +02:00
dashboard-icons-manager[bot]
4852824b22 feat(icons): add ciphermail (#1172)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-16 21:39:44 +02:00
dashboard-icons-manager[bot]
f25beed44b feat(icons): add uncomplicated-alert-receiver (#1171)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-16 21:37:18 +02:00
dashboard-icons-manager[bot]
c1a1acf4c1 feat(icons): add karakeep (#1170)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-16 21:31:43 +02:00
Meier Lukas
bed168dd18 chore(sync): synchronize metadata files with added categories / aliases to central metadata file 2025-04-16 21:27:10 +02:00
dashboard-icons-manager[bot]
0d8c53bf9b feat(icons): add infisical (#1165)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-16 21:09:40 +02:00
Thomas Camlong
dc50e08440 feat: Update sitemap logic 2025-04-16 18:33:58 +02:00
Thomas Camlong
d83edeedce chore: Fix favicons 2025-04-16 18:28:36 +02:00
Thomas Camlong
bfe293f090 feat: Add website (#1157)
Co-authored-by: Bjorn Lammers <bjorn@lammers.media>
2025-04-16 16:18:20 +02:00
dashboard-icons-manager[bot]
f46843795d feat(icons): add western-digital (#1154)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-09 14:29:25 +02:00
dashboard-icons-manager[bot]
bb4e1ecbb6 feat(icons): add wd-mycloud (#1153)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-09 14:27:31 +02:00
dashboard-icons-manager[bot]
e2591695bd feat(icons): add cooler-control (#1152)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-09 14:24:38 +02:00
dashboard-icons-manager[bot]
54d8d2fd28 feat(icons): add mazanoke (#1151)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-09 14:15:24 +02:00
dashboard-icons-manager[bot]
136814cf65 feat(icons): add retrom (#1150)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-09 14:13:17 +02:00
dashboard-icons-manager[bot]
56dc0288a5 feat(icons): add fluent-reader (#1149)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-09 14:10:01 +02:00
dashboard-icons-manager[bot]
e728508f21 feat(icons): add no-ip (#1148)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-09 13:42:56 +02:00
dashboard-icons-manager[bot]
75687dac14 feat(icons): add free-dns (#1147)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-09 13:39:07 +02:00
dashboard-icons-manager[bot]
a3f09f3103 feat(icons): add kometa (#1145)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-09 13:30:53 +02:00
dashboard-icons-manager[bot]
76b4626dc0 feat(icons): add zenarmor (#1137)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-08 19:06:43 +02:00
dashboard-icons-manager[bot]
213e6a3ca3 feat(icons): add nu-nl (#1135)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-08 18:54:07 +02:00
dashboard-icons-manager[bot]
3ce5ab288e feat(icons): add marktplaats (#1136)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-08 18:50:50 +02:00
dashboard-icons-manager[bot]
dfbaac475c feat(icons): add tweakers (#1134)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-08 18:41:38 +02:00
dashboard-icons-manager[bot]
33850b43bf feat(icons): update pikvm (#1133)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-08 18:35:49 +02:00
dashboard-icons-manager[bot]
55ff19eca0 feat(icons): add solaar (#1123)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-07 21:18:10 +02:00
dashboard-icons-manager[bot]
7729de4198 feat(icons): add cloudstream (#1122)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-07 21:12:20 +02:00
dashboard-icons-manager[bot]
d84f2e019c feat(icons): add spliit (#1121)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-07 21:09:37 +02:00
Meier Lukas
d78286a76a fix: remove lfs usage of tree.xml and revert to biggest possible version
Sadly we can no longer update this file as it reached 100MB and that's the max size allowed on GitHub to have files, we could only increase it further by paying for the bandwidth
2025-04-07 21:02:19 +02:00
dashboard-icons-manager[bot]
29f5b05820 feat(icons): add pluralsight (#1115)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-06 18:46:31 +02:00
dashboard-icons-manager[bot]
c716837ce1 feat(icons): add name-silo (#1113)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-06 18:43:49 +02:00
dashboard-icons-manager[bot]
955f6ea805 feat(icons): add adobe (#1111)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-06 18:36:52 +02:00
dashboard-icons-manager[bot]
f20aa97ca1 feat(icons): add mochahost (#1109)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-06 18:19:06 +02:00
dashboard-icons-manager[bot]
dfa4a2ae10 feat(icons): add dream-host (#1107)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-06 18:14:40 +02:00
Meier Lukas
ac94af5adb chore(lfs): move tree.xml to large file storage as size exceeds 100mb (#1106)
* chore(lfs): move tree.xml to large file storage as size exceeds 100mb

* chore: install lfs for git in workflows to commit changes to tree.xml
2025-04-06 17:22:13 +02:00
Meier Lukas
c127d27969 chore(lfs): move tree.xml to large file storage as size exceeds 100mb (#1105) 2025-04-06 17:16:26 +02:00
dashboard-icons-manager[bot]
22085f7ae6 feat(icons): add team-viewer (#1103)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-06 16:47:22 +02:00
dashboard-icons-manager[bot]
b4b526fd4d feat(icons): add truecommand (#1101)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-06 13:48:01 +02:00
dashboard-icons-manager[bot]
144e9601a1 feat(icons): update watchtower (#1099)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-06 13:38:41 +02:00
dashboard-icons-manager[bot]
6f7e1ee605 feat(icons): add jetkvm-full (#1097)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-06 13:11:45 +02:00
dashboard-icons-manager[bot]
e6d7f53ddd feat(icons): add jetkvm (#1095)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-06 13:08:40 +02:00
dashboard-icons-manager[bot]
4544177ffb feat(icons): update trakt (#1093)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-06 12:59:18 +02:00
dashboard-icons-manager[bot]
b50bee4016 feat(icons): update dozzle (#1091)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-06 12:45:38 +02:00
dashboard-icons-manager[bot]
38ee100e94 feat(icons): add habitica (#1084)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-06 12:16:10 +02:00
dashboard-icons-manager[bot]
3a6762d610 feat(icons): add matterbridge (#1082)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-06 12:00:51 +02:00
dashboard-icons-manager[bot]
7f16ed6571 feat(icons): add headlamp (#1080)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-06 11:30:51 +02:00
dashboard-icons-manager[bot]
0289748701 feat(icons): update fedora (#1079)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-06 11:14:57 +02:00
dashboard-icons-manager[bot]
92d71e3567 feat(icons): add reposilite (#1078)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-06 11:09:34 +02:00
dashboard-icons-manager[bot]
1e83d1609b feat(icons): update maintainerr (#1073)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-03 23:27:15 +02:00
dashboard-icons-manager[bot]
a49d08ca97 feat(icons): add double-commander (#1071)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-02 18:18:36 +02:00
dashboard-icons-manager[bot]
3289846e2e feat(icons): add profilarr (#1070)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-02 18:13:36 +02:00
dashboard-icons-manager[bot]
eb47deaf79 feat(icons): add quickshare (#1069)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-02 18:07:00 +02:00
dashboard-icons-manager[bot]
1b2d557d33 feat(icons): add dockwatch (#1064)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-04-01 17:07:13 +02:00
dashboard-icons-manager[bot]
51752d2e8b feat(icons): add dumbpad (#1062)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-03-31 21:57:47 +02:00
dashboard-icons-manager[bot]
71cb3e315c feat(icons): add watchyourports (#1061)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-03-31 21:55:20 +02:00
dashboard-icons-manager[bot]
5c647c7ece feat(icons): add renovate (#1060)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-03-31 21:47:36 +02:00
dashboard-icons-manager[bot]
778b412bd0 feat(icons): add kubecraft (#1059)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-03-31 21:29:25 +02:00
dashboard-icons-manager[bot]
fd3ac7d912 feat(icons): add webdb (#1056)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-03-31 21:16:53 +02:00
dashboard-icons-manager[bot]
7e7694c7c8 feat(icons): add hathway (#1052)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-03-26 22:44:55 +01:00
dashboard-icons-manager[bot]
9e4527289a feat(icons): add scrcpy (#1051)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-03-26 22:40:05 +01:00
dashboard-icons-manager[bot]
4a4ccfd202 feat(icons): add prime-video-alt (#1050)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-03-26 22:08:34 +01:00
dashboard-icons-manager[bot]
28638932ea feat(icons): add racknerd (#1044)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-03-24 21:18:48 +01:00
dashboard-icons-manager[bot]
ff46239ae9 feat(icons): add xiaomi-global (#1043)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-03-24 20:53:26 +01:00
dashboard-icons-manager[bot]
ae5a9622d1 feat(icons): add auto-mcs (#1042)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-03-24 20:28:10 +01:00
dashboard-icons-manager[bot]
24a85653e1 feat(icons): add trmnl (#1041)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-03-24 20:25:18 +01:00
dashboard-icons-manager[bot]
e9635e96d3 feat(icons): add jiohotstar (#1035)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-03-22 09:35:26 +01:00
dashboard-icons-manager[bot]
6d7011df1d feat(icons): add trailarr (#1034)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-03-22 09:23:04 +01:00
dashboard-icons-manager[bot]
cafcbc35bb feat(icons): update falcon-player (#1033)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-03-22 09:20:23 +01:00
dashboard-icons-manager[bot]
ccf47f3f69 feat(icons): add cobalt (#1027)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-03-21 21:20:33 +01:00
dashboard-icons-manager[bot]
1397d39196 feat(icons): add synology-vmm (#1026)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-03-21 21:17:49 +01:00
Meier Lukas
31f3c099ca chore: remove suggestion issue template
Signed-off-by: Meier Lukas <meierschlumpf@gmail.com>
2025-03-17 21:21:03 +01:00
dashboard-icons-manager[bot]
c6c0a1ce3b feat(icons): update opnsense (#1024)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-03-17 16:52:19 +01:00
dashboard-icons-manager[bot]
4537d3f987 feat(icons): update open-webui (#1023)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-03-17 16:49:50 +01:00
dashboard-icons-manager[bot]
2af8ba0af4 feat(icons): add oauth2-proxy (#1022)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-03-17 16:41:26 +01:00
dashboard-icons-manager[bot]
a0aeb14f4b feat(icons): add foreflight (#1009)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-03-04 21:54:51 +01:00
dashboard-icons-manager[bot]
b557c506af feat(icons): add diamond-aircraft (#1008)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-03-04 21:52:27 +01:00
dashboard-icons-manager[bot]
693c49d64e feat(icons): add embraer (#1007)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-03-04 21:49:37 +01:00
dashboard-icons-manager[bot]
d192d569c0 feat(icons): add cessna (#1006)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-03-04 21:47:08 +01:00
dashboard-icons-manager[bot]
7e8e1ca2fc feat(icons): add honda-jet (#1005)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-03-04 21:44:49 +01:00
dashboard-icons-manager[bot]
2e163f39fe feat(icons): update manyfold (#999)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-03-04 20:12:26 +01:00
dashboard-icons-manager[bot]
e0a6545175 feat(icons): add metallb (#991)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-02-27 22:14:55 +01:00
dashboard-icons-manager[bot]
c4808d108b feat(icons): add ezbookkeeping (#989)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-02-26 17:11:49 +01:00
dashboard-icons-manager[bot]
a47f6b20da feat(icons): add upvote-rss (#985)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-02-22 23:31:29 +01:00
dashboard-icons-manager[bot]
57b8ba0005 feat(icons): add kleinanzeigen (#983)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-02-22 13:41:26 +01:00
dashboard-icons-manager[bot]
a97a8f185b feat(icons): add google-finance (#980)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-02-21 13:06:43 +01:00
dashboard-icons-manager[bot]
d91d56e40d feat(icons): add komodo (#979)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-02-21 13:00:42 +01:00
dashboard-icons-manager[bot]
9ca6621ca7 feat(icons): add binner (#977)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-02-20 21:22:30 +01:00
dashboard-icons-manager[bot]
0742ecdd8f feat(icons): add cronicle (#976)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-02-20 16:51:01 +01:00
dashboard-icons-manager[bot]
01fdae7bd1 feat(icons): add deepseek (#972)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-02-19 20:11:21 +01:00
dashboard-icons-manager[bot]
b664d9413e feat(icons): update gonic (#971)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-02-19 20:06:39 +01:00
Meier Lukas
73d9de43fa chore: add descriptions to create / update icons to CONTRIBUTING.md (#966) 2025-02-16 17:58:09 +01:00
dashboard-icons-manager[bot]
51485e55a8 feat(icons): add donetick (#963)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-02-15 19:06:52 +01:00
dashboard-icons-manager[bot]
e4e180717a feat(icons): add packetfence-full (#959)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-02-15 18:45:39 +01:00
dashboard-icons-manager[bot]
7a5fd7ba0f feat(icons): add packetfence (#958)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-02-15 18:42:29 +01:00
dashboard-icons-manager[bot]
35386ad1c8 feat(icons): add dia (#955)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-02-15 18:35:43 +01:00
dashboard-icons-manager[bot]
1c76fa684e feat(icons): add copyq (#953)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-02-15 18:30:38 +01:00
dashboard-icons-manager[bot]
e3b504b250 feat(icons): update resiliosync (#951)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
2025-02-15 18:19:07 +01:00
dashboard-icons-manager[bot]
3465ee37c8 feat(icons): add resiliosync-full (#949)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-02-15 18:12:38 +01:00
dashboard-icons-manager[bot]
aaa69c6e6e feat(icons): update xen-orchestra (#946)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-02-15 18:02:05 +01:00
dashboard-icons-manager[bot]
172b6013e6 feat(icons): update xcp-ng (#945)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-02-15 17:59:58 +01:00
Meier Lukas
93b199b212 ci: add generation of metadata file to approved workflows 2025-02-15 17:53:56 +01:00
Meier Lukas
6275902637 chore: regenerate metadata file 2025-02-15 17:53:12 +01:00
Meier Lukas
779ac76508 Merge branch 'main' of https://github.com/homarr-labs/dashboard-icons 2025-02-15 17:49:44 +01:00
Meier Lukas
91e0ba39e8 chore: add missing metadata for png / svg files 2025-02-15 17:49:27 +01:00
dashboard-icons-manager[bot]
ea09da899a feat(icons): update notifiarr (#942)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
2025-02-15 16:57:59 +01:00
Meier Lukas
d2976692cb chore: add missing metadata for notifiarr 2025-02-15 16:53:38 +01:00
Meier Lukas
fadaa77040 ci: run compression and generation of icons.md and file-tree before pr creation 2025-02-15 16:47:38 +01:00
Meier Lukas
c7c4b8f16a chore: add closes-issue statement to pr body of icon-update workflows 2025-02-15 16:38:22 +01:00
Dashboard Icons Bot
dcd1acd695 ci(github-actions): generate ICONS.md 2025-02-15 15:28:34 +00:00
Dashboard Icons Bot
b7c07dacd3 ci(github-actions): generate file tree 2025-02-15 15:28:01 +00:00
dashboard-icons-manager[bot]
b5bc3d8fd5 feat(icons): add yacd-blue (#940)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
Co-authored-by: Flying-Tom <56171752+Flying-Tom@users.noreply.github.com>
2025-02-15 16:26:27 +01:00
Dashboard Icons Bot
115c982b7e ci(github-actions): generate ICONS.md 2025-02-15 15:21:21 +00:00
Dashboard Icons Bot
b85480c970 ci(github-actions): generate file tree 2025-02-15 15:20:49 +00:00
dashboard-icons-manager[bot]
3218cefbfb feat(icons): add yacd (#938)
Co-authored-by: Dashboard Icons Manager <193821040+dashboard-icons-manager[bot]@users.noreply.github.com>
Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
Co-authored-by: Flying-Tom <56171752+Flying-Tom@users.noreply.github.com>
2025-02-15 16:19:13 +01:00
Meier Lukas
d1e008be5f feat: add issue_templates for creation of icons (#935)
Co-authored-by: Dashboard Icons Bot <homarr-labs@proton.me>
2025-02-15 15:59:12 +01:00
Dashboard Icons Bot
02aaf9bb7f ci(github-actions): generate ICONS.md 2025-02-15 14:06:24 +00:00
Dashboard Icons Bot
59ce7378b6 ci(github-actions): generate file tree 2025-02-15 14:06:01 +00:00
Dashboard Icons Bot
5ca2df4687 ci(github-actions): convert SVG assets to PNG and WEBP 2025-02-15 14:05:37 +00:00
realSZ27
e340bb5be7 feat(icons): add jellyfin-vue .svg (#934)
Signed-off-by: realSZ27 <99378252+realSZ27@users.noreply.github.com>
2025-02-15 15:04:26 +01:00
Dashboard Icons Bot
c0b5de3a1f ci(github-actions): generate ICONS.md
Some checks failed
Update Icons and Resources / convert_assets (push) Has been cancelled
Update Icons and Resources / generate_file_tree (push) Has been cancelled
Update Icons and Resources / generate_icons_page (push) Has been cancelled
2025-02-15 11:02:14 +00:00
Dashboard Icons Bot
670929b5e7 ci(github-actions): generate file tree 2025-02-15 11:01:37 +00:00
Dashboard Icons Bot
c8c619e76a ci(github-actions): convert SVG assets to PNG and WEBP 2025-02-15 11:01:10 +00:00
Meier Lukas
71d79aa183 fix: infomaniak kmeet not snake-case (#936) 2025-02-15 12:00:02 +01:00
Meier Lukas
44822e63f4 chore: add git status to debug 2025-02-15 11:47:37 +01:00
Meier Lukas
172d8adbcc feat: add metadata for icons (#923) 2025-02-15 10:38:23 +01:00
Dashboard Icons Bot
fd117d62c9 ci(github-actions): compress icons
Some checks failed
Update Icons and Resources / convert_assets (push) Has been cancelled
Update Icons and Resources / generate_file_tree (push) Has been cancelled
Update Icons and Resources / generate_icons_page (push) Has been cancelled
2025-02-09 02:06:04 +00:00
Steven S
9b09ba0aff 🍱 feat(icon): add namecheap (#926)
Some checks failed
Update Icons and Resources / convert_assets (push) Waiting to run
Update Icons and Resources / generate_file_tree (push) Blocked by required conditions
Update Icons and Resources / generate_icons_page (push) Blocked by required conditions
Compress Icons / compress_icons (push) Has been cancelled
2025-02-08 12:04:20 +01:00
Toine Rademacher (toineenzo)
ff19aec306 feat(icons): add nzbget svg icon (#911)
Some checks are pending
Update Icons and Resources / convert_assets (push) Waiting to run
Update Icons and Resources / generate_file_tree (push) Blocked by required conditions
Update Icons and Resources / generate_icons_page (push) Blocked by required conditions
2025-02-07 20:50:23 +01:00
janmile
2d3d3364b5 feat(icons): add perplexity (#919)
Added icons for perplexity.ai
 perplexity-light.svg - full logo for lightmode
 perplexity-dark.svg - full logo for darkmode
 perplexity-book-light.svg - logo without wordmark for lightmode
perplexity-book-dark.svg - logo without wordmark for lightmode
2025-02-07 20:49:09 +01:00
Josmar Cristello
9d312bb762 feat(icons): dagster ucons (#924) 2025-02-07 20:48:36 +01:00
Zurdi
c5b417b857 feat(icons): update romm (#927) 2025-02-07 20:48:01 +01:00
beppeilgommista
1460aeb3d8 feat(icons): add infomaniak icons
feat(icons): add some infomaniak's services icons
2025-02-07 20:47:27 +01:00
Dashboard Icons Bot
14c3d33977 ci(github-actions): compress icons
Some checks failed
Update Icons and Resources / convert_assets (push) Has been cancelled
Update Icons and Resources / generate_file_tree (push) Has been cancelled
Update Icons and Resources / generate_icons_page (push) Has been cancelled
2025-02-02 02:06:12 +00:00
Dashboard Icons Bot
f5e4cd3858 ci(github-actions): generate ICONS.md
Some checks failed
Update Icons and Resources / convert_assets (push) Has been cancelled
Update Icons and Resources / generate_file_tree (push) Has been cancelled
Update Icons and Resources / generate_icons_page (push) Has been cancelled
Compress Icons / compress_icons (push) Has been cancelled
2025-01-26 15:30:40 +00:00
Dashboard Icons Bot
4848c87eb9 ci(github-actions): generate file tree 2025-01-26 15:30:10 +00:00
Dashboard Icons Bot
4fdf9d02a0 ci(github-actions): convert SVG assets to PNG and WEBP 2025-01-26 15:29:49 +00:00
robo
d8851d976f feat(icons): add suwayomi (#894)
Co-authored-by: Robonau <30987265+Robonau@users.noreply.github>
2025-01-26 16:28:40 +01:00
Dashboard Icons Bot
0f04d1bd71 ci(github-actions): generate ICONS.md 2025-01-26 15:28:16 +00:00
Dashboard Icons Bot
b9cf5efdc1 ci(github-actions): generate file tree 2025-01-26 15:27:48 +00:00
Dashboard Icons Bot
3ad8f55c4f ci(github-actions): convert SVG assets to PNG and WEBP 2025-01-26 15:27:24 +00:00
Gavin Mogan
5626212ac7 feat(icons): add medium (#885) 2025-01-26 16:26:18 +01:00
Dashboard Icons Bot
9c59ee602f ci(github-actions): compress icons
Some checks failed
Update Icons and Resources / convert_assets (push) Has been cancelled
Update Icons and Resources / generate_file_tree (push) Has been cancelled
Update Icons and Resources / generate_icons_page (push) Has been cancelled
Compress Icons / compress_icons (push) Has been cancelled
2025-01-12 02:14:09 +00:00
Dashboard Icons Bot
fba3178257 ci(github-actions): convert SVG assets to PNG and WEBP
Some checks failed
Update Icons and Resources / convert_assets (push) Has been cancelled
Update Icons and Resources / generate_file_tree (push) Has been cancelled
Update Icons and Resources / generate_icons_page (push) Has been cancelled
Compress Icons / compress_icons (push) Has been cancelled
2025-01-07 22:17:20 +00:00
Dashboard Icons Bot
4ba801db58 ci(github-actions): convert SVG assets to PNG and WEBP 2025-01-07 22:16:55 +00:00
Bjorn Lammers
e8cd4bc1f2 feat(icons): refresh esphome
Signed-off-by: Bjorn Lammers <bjorn@lammers.media>
2025-01-07 23:16:09 +01:00
Bjorn Lammers
2d5157adc0 feat(icons): refresh commafeed
Signed-off-by: Bjorn Lammers <bjorn@lammers.media>
2025-01-07 23:15:45 +01:00
Dashboard Icons Bot
ab8c33c9d4 ci(github-actions): convert SVG assets to PNG and WEBP 2025-01-07 19:31:08 +00:00
Dashboard Icons Bot
b1319ea4fc ci(github-actions): convert SVG assets to PNG and WEBP 2025-01-07 19:30:53 +00:00
Bjorn Lammers
4708c1ebf5 feat(icons): refresh trakt (Closes #806)
Signed-off-by: Bjorn Lammers <bjorn@lammers.media>
2025-01-07 20:29:56 +01:00
Bjorn Lammers
f585671919 feat(icons): refresh redlib, remove light (Closes #820)
Signed-off-by: Bjorn Lammers <bjorn@lammers.media>
2025-01-07 20:29:43 +01:00
Dashboard Icons Bot
02fc8bccf7 ci(github-actions): convert SVG assets to PNG and WEBP 2025-01-07 19:28:13 +00:00
Bjorn Lammers
4cff75d641 feat(icons): refresh dozzle (Closes #823)
Signed-off-by: Bjorn Lammers <bjorn@lammers.media>
2025-01-07 20:27:01 +01:00
Dashboard Icons Bot
beb2e151f5 ci(github-actions): generate ICONS.md 2025-01-07 19:14:45 +00:00
Dashboard Icons Bot
94a342e0d0 ci(github-actions): generate file tree 2025-01-07 19:14:17 +00:00
Dashboard Icons Bot
b345cb561c ci(github-actions): convert SVG assets to PNG and WEBP 2025-01-07 19:13:54 +00:00
Bjorn Lammers
b04bf88bb0 feat(icons): add vouchervault (Closes #881)
Signed-off-by: Bjorn Lammers <bjorn@lammers.media>
2025-01-07 20:12:28 +01:00
Dashboard Icons Bot
518d298fb7 ci(github-actions): generate ICONS.md 2025-01-07 18:59:39 +00:00
Bjorn Lammers
7cef998c6f ci(github-actions): add PNG-only output 2025-01-07 19:56:20 +01:00
Bjorn Lammers
2db16cefea fix(ci): asset links 2025-01-07 19:50:36 +01:00
Dashboard Icons Bot
ad52f0bf3c ci(github-actions): convert SVG assets to PNG and WEBP 2025-01-07 18:44:50 +00:00
Bjorn Lammers
7eba95ac4c ci(github-actions): disable SVG compression until fixed
Signed-off-by: Bjorn Lammers <bjorn@lammers.media>
2025-01-07 19:44:37 +01:00
Bjorn Lammers
fbf49c0d52 fix(icons: replace with true SVG (Closes #887)
Signed-off-by: Bjorn Lammers <bjorn@lammers.media>
2025-01-07 19:43:37 +01:00
Dashboard Icons Bot
14e204ee6a ci(github-actions): convert SVG assets to PNG and WEBP 2025-01-07 18:42:47 +00:00
Bjorn Lammers
07398208ed fix(icons): replace with true SVGs (Closes #882)
Signed-off-by: Bjorn Lammers <bjorn@lammers.media>
2025-01-07 19:41:40 +01:00
Dashboard Icons Bot
087e049f80 ci(github-actions): generate file tree 2025-01-07 18:02:22 +00:00
Dashboard Icons Bot
aed8124f8b ci(github-actions): convert SVG assets to PNG and WEBP 2025-01-07 18:02:00 +00:00
hank
7a69b9610b feat(icons): refresh beszel (#889)
* updates beszel icon to match style on beszel.dev
2025-01-07 19:00:54 +01:00
Dashboard Icons Bot
af91b6868c ci(github-actions): convert SVG assets to PNG and WEBP 2025-01-07 17:59:26 +00:00
Bjorn Lammers
30be894a5b feat(icons): refresh calibre-web (Closes #845)
Signed-off-by: Bjorn Lammers <bjorn@lammers.media>
2025-01-07 18:58:16 +01:00
Dashboard Icons Bot
f0c26d67ea ci(github-actions): generate ICONS.md 2025-01-07 17:56:16 +00:00
Dashboard Icons Bot
bab5cb9e3b ci(github-actions): generate file tree 2025-01-07 17:55:46 +00:00
Dashboard Icons Bot
56e36aba4c ci(github-actions): convert SVG assets to PNG and WEBP 2025-01-07 17:55:21 +00:00
Bjorn Lammers
3b850b6712 fix(icons): restore missing PNGs (#890)
* fix(icons): restore missing PNGs

* chore(icons): trim whitespacing

Fixes: https://github.com/homarr-labs/dashboard-icons/pull/817#issuecomment-2575644141
2025-01-07 18:54:03 +01:00
4738 changed files with 87205 additions and 2124 deletions

View File

@@ -0,0 +1,73 @@
name: "Add light & dark icon"
description: Use this template to add a new icon to the project. Monochrome icons need both light and dark versions.
title: "feat(icons): add [NAME]"
labels: ["monochrome-icon"]
body:
- type: markdown
attributes:
value: |
Hello and thank you for contributing to the project! Please fill out the following information to add a new icon to the project.
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
attributes:
label: Icon name
description: The name has to be unique and should be kebab-case.
placeholder: e.g. "icon-name"
- 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.
- 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.
- type: dropdown
attributes:
label: Icon type
options:
- SVG
- PNG
- type: dropdown
attributes:
label: Categories
multiple: true
options:
- Animal
- Cloud
- Communication
- Design
- Development
- E-Commerce
- Education
- File
- Finance
- Food
- Gaming
- Hardware
- Health
- Location
- Logistics
- Media
- Music
- Nature
- News
- Organization
- Search
- Security
- SocialMedia
- Streaming
- Travel
- Video
- type: input
attributes:
label: Aliases
description: A comma separated list of aliases
placeholder: e.g. "icon-alias, icon-alias-2"
- type: textarea
attributes:
label: Additional information
description: |
Add additional informations like a link to the application.

View File

@@ -0,0 +1,71 @@
name: "Add normal icon"
description: Use this template to add a new icon to the project. Normal icons work for both light and dark themes.
title: "feat(icons): add [NAME]"
labels: ["normal-icon"]
body:
- type: markdown
attributes:
value: |
Hello and thank you for contributing to the project! Please fill out the following information to add a new icon to the project.
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:
- SVG
- PNG
- type: dropdown
attributes:
label: Categories
multiple: true
options:
- Animal
- Cloud
- Communication
- Design
- Development
- E-Commerce
- Education
- File
- Finance
- Food
- Gaming
- Hardware
- Health
- Location
- Logistics
- Media
- Music
- Nature
- News
- Organization
- Search
- Security
- SocialMedia
- Streaming
- Travel
- Video
- type: input
attributes:
label: Aliases
description: A comma separated list of aliases
placeholder: e.g. "icon-alias, icon-alias-2"
- type: textarea
attributes:
label: Additional information
description: |
Add additional informations like a link to the application.

View File

@@ -1,33 +0,0 @@
name: "Request Icon"
description: Suggest an icon or request changes
labels: "icon request"
body:
- type: markdown
attributes:
value: |
Thank you for your interest in contributing to our icon repository! To ensure smooth collaboration, please make sure to read and agree to our [Contribution Guidelines](https://github.com/homarr-labs/dashboard-icons/blob/main/CONTRIBUTING.md) before submitting your request.
- type: checkboxes
attributes:
label: Contribution Guidelines
options:
- label: "I have read and agree to the [Contribution Guidelines](https://github.com/homarr-labs/dashboard-icons/blob/main/CONTRIBUTING.md)"
required: true
- type: textarea
id: icon-name
attributes:
label: Icon Name
description: What is the name of the icon you are requesting or suggesting?
placeholder: Enter icon name here
validations:
required: true
- type: textarea
id: icon-details
attributes:
label: Icon Details
description: Provide any additional details or context for the icon request.
placeholder: Enter details here
validations:
required: false

View File

@@ -0,0 +1,36 @@
name: "Update light & dark icon"
description: Use this template to update an existing icon. Monochrome icons need both light and dark versions.
title: "feat(icons): update [NAME]"
labels: ["monochrome-icon"]
body:
- type: markdown
attributes:
value: |
Hello and thank you for contributing to the project! Please fill out the following informations to update an existing icon in the project.
- type: input
id: iconName
attributes:
label: Icon name
description: The name has to be unique and should be kebab-case.
placeholder: e.g. "icon-name"
- 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.
- 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.
- type: dropdown
attributes:
label: Icon type
options:
- SVG
- PNG
- type: textarea
attributes:
label: Additional information
description: |
Add additional informations like, the reason for the update, or what has been changed.

View File

@@ -0,0 +1,31 @@
name: "Update normal icon"
description: Use this template to update an existing icon. Normal icons work for both light and dark themes.
title: "feat(icons): update [NAME]"
labels: ["normal-icon"]
body:
- type: markdown
attributes:
value: |
Hello and thank you for contributing to the project! Please fill out the following informations to update an existing icon in the project.
- type: input
id: iconName
attributes:
label: Icon name
description: The name has to match the existing icon name.
placeholder: e.g. "icon-name"
- type: textarea
attributes:
label: Paste icon
description: |
Please paste the icon here. It will automatically upload it to github.
- type: dropdown
attributes:
label: Icon type
options:
- SVG
- PNG
- type: textarea
attributes:
label: Additional information
description: |
Add additional informations like, the reason for the update, or what has been changed.

View File

@@ -1,8 +1,6 @@
name: Compress Icons
on:
schedule:
- cron: "0 0 * * 0"
workflow_dispatch:
jobs:
@@ -28,10 +26,10 @@ jobs:
echo "Compressing PNGs..."
find png/ -iname "*.png" -print0 | xargs -0 -P 4 -I{} zopflipng -y {} {}
- name: Compress SVG Files
run: |
echo "Compressing SVGs..."
svgo -f svg/
#- name: Compress SVG Files
# run: |
# echo "Compressing SVGs..."
# svgo -f svg/
- name: Compress WEBP Files
run: |

15
.github/workflows/daily_release.yml vendored Normal file
View 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 }}"

View File

@@ -0,0 +1,82 @@
name: "[Icon] Icon addition approved"
on:
issues:
types: [labeled]
jobs:
add-icon:
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') &&
startsWith(github.event.issue.title, 'feat(icons): add ')
env:
ICON_TYPE: ${{ contains(github.event.issue.labels.*.name, 'normal-icon') && 'normal' || 'monochrome' }}
steps:
- name: Obtain token
id: obtainToken
uses: tibdex/github-app-token@v2
with:
private_key: ${{ secrets.DASHBOARD_ICONS_MANAGER_APP_PRIVATE_KEY }}
app_id: ${{ vars.DASHBOARD_ICONS_MANAGER_APP_ID }}
- name: Checkout repository
uses: actions/checkout@v4
env:
GITHUB_TOKEN: ${{ steps.obtainToken.outputs.token }}
- name: Set Up Python
uses: actions/setup-python@v4
with:
python-version: "3.11"
- name: Install Dependencies
run: |
pip install cairosvg pillow requests
sudo apt-get update
sudo apt-get install -y zopfli webp
- name: Parse issue form
id: parse_issue_form
run: echo "ISSUE_FORM=$(python scripts/parse_issue_form.py)" >> "$GITHUB_OUTPUT"
env:
INPUT_ISSUE_BODY: ${{ github.event.issue.body }}
- name: Create metadata file
run: python scripts/generate_metadata_file.py ${{ env.ICON_TYPE }} addition
env:
INPUT_ISSUE_FORM: ${{ steps.parse_issue_form.outputs.ISSUE_FORM }}
INPUT_ISSUE_AUTHOR_ID: ${{ github.event.issue.user.id }}
INPUT_ISSUE_AUTHOR_LOGIN: ${{ github.event.issue.user.login }}
- name: Generate icons
run: python scripts/generate_icons.py ${{ env.ICON_TYPE }} addition
env:
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 full metadata file
run: python scripts/generate_metadata.py
- name: Extract icon name
id: extract_icon_name
run: echo "ICON_NAME=$(python scripts/print_icon_name.py ${{ env.ICON_TYPE }} addition)" >> "$GITHUB_OUTPUT"
env:
INPUT_ISSUE_FORM: ${{ steps.parse_issue_form.outputs.ISSUE_FORM }}
- name: Compress icons
run: |
echo "Compressing PNGs..."
find png/ -iname "${{ steps.extract_icon_name.outputs.ICON_NAME }}*.png" -print0 | xargs -0 -P 4 -I{} zopflipng -y {} {}
echo "Compressing WEBPs..."
find webp/ -iname "${{ steps.extract_icon_name.outputs.ICON_NAME }}*.webp" -print0 | xargs -0 -P 4 -I{} bash -c 'cwebp -quiet -lossless "$1" -o "$1"' _ {}
- name: Commit changes
run: |
git config --global user.email "193821040+dashboard-icons-manager[bot]@users.noreply.github.com"
git config --global user.name "Dashboard Icons Manager"
git add .
git commit -m "feat(icons): add ${{ steps.extract_icon_name.outputs.ICON_NAME }}"
- name: Create Pull Request
uses: peter-evans/create-pull-request@v7
with:
token: ${{ steps.obtainToken.outputs.token }}
branch: icons/add-${{steps.extract_icon_name.outputs.ICON_NAME}}
base: main
title: "feat(icons): add ${{steps.extract_icon_name.outputs.ICON_NAME}}"
delete-branch: true
body: |
This PR adds the icon ${{steps.extract_icon_name.outputs.ICON_NAME}} added in #${{github.event.issue.number}} to the project.
Closes #${{github.event.issue.number}}

View File

@@ -0,0 +1,82 @@
name: "[Icon] Icon update approved"
on:
issues:
types: [labeled]
jobs:
update-icon:
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') &&
startsWith(github.event.issue.title, 'feat(icons): update ')
env:
ICON_TYPE: ${{ contains(github.event.issue.labels.*.name, 'normal-icon') && 'normal' || 'monochrome' }}
steps:
- name: Obtain token
id: obtainToken
uses: tibdex/github-app-token@v2
with:
private_key: ${{ secrets.DASHBOARD_ICONS_MANAGER_APP_PRIVATE_KEY }}
app_id: ${{ vars.DASHBOARD_ICONS_MANAGER_APP_ID }}
- name: Checkout repository
uses: actions/checkout@v4
env:
GITHUB_TOKEN: ${{ steps.obtainToken.outputs.token }}
- name: Set Up Python
uses: actions/setup-python@v4
with:
python-version: "3.11"
- name: Install Dependencies
run: |
pip install cairosvg pillow requests
sudo apt-get update
sudo apt-get install -y zopfli webp
- name: Parse issue form
id: parse_issue_form
run: echo "ISSUE_FORM=$(python scripts/parse_issue_form.py)" >> "$GITHUB_OUTPUT"
env:
INPUT_ISSUE_BODY: ${{ github.event.issue.body }}
- name: Update metadata file
run: python scripts/generate_metadata_file.py ${{ env.ICON_TYPE }} update
env:
INPUT_ISSUE_FORM: ${{ steps.parse_issue_form.outputs.ISSUE_FORM }}
INPUT_ISSUE_AUTHOR_ID: ${{ github.event.issue.user.id }}
INPUT_ISSUE_AUTHOR_LOGIN: ${{ github.event.issue.user.login }}
- name: Generate icons
run: python scripts/generate_icons.py ${{ env.ICON_TYPE }} update
env:
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 full metadata file
run: python scripts/generate_metadata.py
- name: Extract icon name
id: extract_icon_name
run: echo "ICON_NAME=$(python scripts/print_icon_name.py ${{ env.ICON_TYPE }} update)" >> "$GITHUB_OUTPUT"
env:
INPUT_ISSUE_FORM: ${{ steps.parse_issue_form.outputs.ISSUE_FORM }}
- name: Compress icons
run: |
echo "Compressing PNGs..."
find png/ -iname "${{ steps.extract_icon_name.outputs.ICON_NAME }}*.png" -print0 | xargs -0 -P 4 -I{} zopflipng -y {} {}
echo "Compressing WEBPs..."
find webp/ -iname "${{ steps.extract_icon_name.outputs.ICON_NAME }}*.webp" -print0 | xargs -0 -P 4 -I{} bash -c 'cwebp -quiet -lossless "$1" -o "$1"' _ {}
- name: Commit changes
run: |
git config --global user.email "193821040+dashboard-icons-manager[bot]@users.noreply.github.com"
git config --global user.name "Dashboard Icons Manager"
git add .
git commit -m "feat(icons): update ${{ steps.extract_icon_name.outputs.ICON_NAME }}"
- name: Create Pull Request
uses: peter-evans/create-pull-request@v7
with:
token: ${{ steps.obtainToken.outputs.token }}
branch: icons/update-${{steps.extract_icon_name.outputs.ICON_NAME}}
base: main
title: "feat(icons): update ${{steps.extract_icon_name.outputs.ICON_NAME}}"
delete-branch: true
body: |
This PR updates the icon ${{steps.extract_icon_name.outputs.ICON_NAME}} like requested in #${{github.event.issue.number}} to the project.
Closes #${{github.event.issue.number}}

View File

@@ -1,13 +1,6 @@
name: Update Icons and Resources
on:
push:
branches:
- main
- dev
paths:
- "svg/**"
- "png/**"
workflow_dispatch:
jobs:
@@ -39,6 +32,7 @@ jobs:
git config --global user.name "Dashboard Icons Bot"
git add png/ webp/
git commit -m "ci(github-actions): convert SVG assets to PNG and WEBP" || exit 0
git status
git pull --rebase origin ${{ github.ref_name }}
git push origin HEAD:${{ github.ref_name }}
@@ -58,14 +52,11 @@ jobs:
with:
python-version: "3.9"
- name: Generate File Tree
run: python scripts/generate_file_tree.py svg png webp
- 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 tree.json tree.xml
git add tree.json
git commit -m "ci(github-actions): generate file tree" || exit 0
git pull --rebase origin ${{ github.ref_name }}
git push origin HEAD:${{ github.ref_name }}
@@ -86,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 }}

3
.gitignore vendored
View File

@@ -30,3 +30,6 @@ Temporary Items
### macOS Patch ###
# iCloud generated files
*.icloud
# Python
__pycache__/

View File

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

View File

@@ -1,78 +1,104 @@
![Contributions Welcome](https://img.shields.io/badge/contributions-welcome-brightgreen?style=flat-square)
# 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)
- [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)
- [Quality Requirements](#quality-requirements)
- [Git Commit Messages](#git-commit-messages)
- [Contribution Process](#contribution-process)
- [Code of Conduct](#code-of-conduct)
- [Contact](#contact)
- [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**:
- **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
- 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
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.
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
## Improving the Repository
To contribute to the repository itself:
1. **Fork the Repository**
2. **Make Your Changes**:
- Documentation improvements
- Website enhancements
- Repository maintenance
- Bug fixes
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).

1705
ICONS.md

File diff suppressed because it is too large Load Diff

188
README.md
View File

@@ -1,116 +1,126 @@
> [!WARNING]
> The repository has been migrated from `walkxcode` to `homarr-labs`, because I do not have the capacity/time to keep maintaining it. The Homarr team will take over all management and maintenance, whilst keeping all functionality for you, the user, the same. The project will always be usable outside of Homarr itself and breaking changes will not be made. ^Bjorn
>
> The license and guidelines have changed, so please review them. If you want to help with maintenance, reach out to [homarr-labs@proton.me](mailto:homarr-labs@proton.me).
# Dashboard Icons
[![jsDelivr hits (GitHub)](https://img.shields.io/jsdelivr/gh/hy/homarr-labs/dashboard-icons?style=flat-square&color=%23A020F0)](https://www.jsdelivr.com/package/gh/homarr-labs/dashboard-icons)
[![jsDelivr hits (GitHub)](https://img.shields.io/jsdelivr/gh/hy/walkxcode/dashboard-icons?style=flat-square&color=%23A020F0)](https://www.jsdelivr.com/package/gh/walkxcode/dashboard-icons)
[![jsDelivr hits](https://img.shields.io/jsdelivr/gh/hy/walkxcode/dashboard-icons?style=flat-square&color=%23A020F0)](https://www.jsdelivr.com/package/gh/walkxcode/dashboard-icons)
[![jsDelivr hits](https://img.shields.io/jsdelivr/gh/hy/homarr-labs/dashboard-icons?style=flat-square&color=%23A020F0)](https://www.jsdelivr.com/package/gh/homarr-labs/dashboard-icons)
[![GitHub Stars](https://img.shields.io/github/stars/homarr-labs/dashboard-icons?style=flat-square&color=yellow)](https://github.com/homarr-labs/dashboard-icons/stargazers)
[![Contributors](https://img.shields.io/github/contributors/homarr-labs/dashboard-icons?style=flat-square&color=blue)](https://github.com/homarr-labs/dashboard-icons/graphs/contributors)
## Dashboard Icons
> **Your definitive source for dashboard icons.**
The best source for dashboard icons.<br />
[**View icons →**](ICONS.md)
A collection of over 1800 curated icons for services, applications and tools, designed specifically for dashboards and app directories.
## Table of Contents
- [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)
- [Name](#name)
- [Formats](#formats)
- [Dark/Light Versions](#darklight-versions)
- [Downloading Icons](#downloading-icons)
- [Disclaimer](#disclaimer)
**[→ Browse the collection at dashboardicons.com](https://dashboardicons.com)**
## Icon Requests
## Why Dashboard Icons?
If you're looking to add a new icon, please read the [Contribution Guidelines](CONTRIBUTING.md). Afterwards, submit a Pull Request or open an issue.
- **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
## Supported Dashboards
<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>
Several dashboards offer seamless integration with Dashboard Icons. Here are some of the most popular options:
## Using the Icons
### Website
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
Icons can be used directly from either GitHub or jsDelivr (recommended). Links consist of three components, each described below:
### Request Icons
- **Base URL**
- **Name**
- **Format**
Need an icon that's not in our collection?
A complete link will look like this:
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://<Base URL>/<Format>/<Name>.<Format>
### Improve the Repository
For example, the icon URL for the WEBP version of Nextcloud Calendar would be:
Want to help with the repository itself?
https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/webp/nextcloud-calendar.webp
- 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
#### Base URL
## Support
We recommend using jsDelivr, a free and fast CDN:
- **GitHub Issues**: Report bugs or request icons
- **Email**: [homarr-labs@proton.me](mailto:homarr-labs@proton.me)
- `https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons`
## Legal
Alternatively, you can use direct links to the repository:
**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.
- `https://raw.githubusercontent.com/homarr-labs/dashboard-icons/refs/heads/main`
**License**: This project is available under the terms of the [LICENSE](LICENSE) file.
#### Name
---
Icons are named using kebab case (lowercase words separated by hyphens). For example, "Nextcloud Calendar" becomes `nextcloud-calendar`.
#### Formats
Icons are available in the following formats:
- SVG
- PNG
- WEBP
All icons are generated from the SVG file as the base.
*Read more about the specifics and standards of icons in the [Contribution Guidelines](CONTRIBUTING.md).*
### Dark/Light Versions
In some cases, an icon might have very light or dark colors, making it hard to see on certain backgrounds. In this situation, a `-light` or `-dark` version will be added to the end of the icon's name, with colors adjusted accordingly.
For example, "2fauth" becomes `2fauth-light`.
*Read more about the specifics and standards of icons in the [Contribution Guidelines](CONTRIBUTING.md).*
### Downloading Icons
To download icons from the [icons page](ICONS.md), simply Right-click the icon link and select "Save link as".
**Warning**: Visiting the icons page will load every icon in the repository. This may result in:
- High data usage.
- System slowdowns.
- Browser crashes on some devices.
If you prefer not to load all icons at once, consider using the direct links or downloading icons individually.
To download icons using the terminal, use `curl` or `wget`. Refer to [Direct Links](#direct-links) for details on the link structure.
curl -O https://<Base URL>/<Format>/<Name>.<Format>
or
wget https://<Base URL>/<Format>/<Name>.<Format>
## Disclaimer
Unless otherwise indicated, all images and assets in this repository, including product names, trademarks, and registered trademarks, are the property of their respective owners. These images and assets are used for identification purposes only, and their use does not imply endorsement.
Read the [LICENSE](LICENSE) for more information about the project itself. For 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
View 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

Binary file not shown.

17
meta/13ft.json Normal file
View File

@@ -0,0 +1,17 @@
{
"base": "svg",
"aliases": [
"paywall-remover",
"article-unblocker"
],
"categories": [
"Web-Browsers"
],
"update": {
"timestamp": "2024-10-13T18:25:47Z",
"author": {
"id": 46011270,
"name": "mcmikemn"
}
}
}

16
meta/1password.json Normal file
View File

@@ -0,0 +1,16 @@
{
"base": "svg",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2024-10-20T18:01:33Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
},
"colors": {
"dark": "1password-dark",
"light": "1password"
}
}

21
meta/2fauth.json Normal file
View File

@@ -0,0 +1,21 @@
{
"base": "svg",
"aliases": [
"2FA Authenticator"
],
"categories": [
"Password-Managers",
"Security"
],
"update": {
"timestamp": "2024-10-13T18:37:13Z",
"author": {
"id": 858858,
"name": "Bubka"
}
},
"colors": {
"dark": "2fauth",
"light": "2fauth-light"
}
}

16
meta/3cx.json Normal file
View File

@@ -0,0 +1,16 @@
{
"base": "svg",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2024-10-20T18:33:11Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
},
"colors": {
"dark": "3cx",
"light": "3cx-light"
}
}

16
meta/5etools.json Normal file
View File

@@ -0,0 +1,16 @@
{
"base": "svg",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2024-10-20T18:46:29Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
},
"colors": {
"dark": "5etools-dark",
"light": "5etools"
}
}

16
meta/7zip.json Normal file
View File

@@ -0,0 +1,16 @@
{
"base": "svg",
"aliases": [
"7-zip"
],
"categories": [
"Developper-Tools"
],
"update": {
"timestamp": "2025-01-05T00:02:27Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
}
}

12
meta/act.json Normal file
View File

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

12
meta/activepieces.json Normal file
View File

@@ -0,0 +1,12 @@
{
"base": "svg",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2024-10-20T17:24:03Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
}
}

12
meta/actual-budget.json Normal file
View File

@@ -0,0 +1,12 @@
{
"base": "svg",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2024-10-20T17:24:03Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
}
}

12
meta/adblock.json Normal file
View File

@@ -0,0 +1,12 @@
{
"base": "png",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2024-10-20T18:47:53Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
}
}

12
meta/adguard-home.json Normal file
View File

@@ -0,0 +1,12 @@
{
"base": "svg",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2022-09-09T09:57:51Z",
"author": {
"id": 15933,
"name": "fabricionaweb"
}
}
}

17
meta/adminer.json Normal file
View File

@@ -0,0 +1,17 @@
{
"base": "svg",
"aliases": [
"Database Management"
],
"categories": [
"Databases",
"Developper-Tools"
],
"update": {
"timestamp": "2022-08-16T17:22:56Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
}
}

12
meta/adobe.json Normal file
View File

@@ -0,0 +1,12 @@
{
"base": "svg",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2025-04-06T16:32:41.752755",
"author": {
"id": 63781622,
"login": "Meierschlumpf"
}
}
}

14
meta/ads-b-exchange.json Normal file
View File

@@ -0,0 +1,14 @@
{
"base": "png",
"aliases": [],
"categories": [
"Monitoring-Tools"
],
"update": {
"timestamp": "2024-10-20T19:32:46Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
}
}

12
meta/adventure-log.json Normal file
View File

@@ -0,0 +1,12 @@
{
"base": "svg",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2024-10-20T17:24:03Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
}
}

16
meta/affine.json Normal file
View File

@@ -0,0 +1,16 @@
{
"base": "svg",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2024-10-20T17:24:03Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
},
"colors": {
"dark": "affine",
"light": "affine-light"
}
}

12
meta/airsonic.json Normal file
View File

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

12
meta/airtable.json Normal file
View File

@@ -0,0 +1,12 @@
{
"base": "svg",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2024-10-20T17:24:03Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
}
}

12
meta/airtel.json Normal file
View File

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

12
meta/airvpn.json Normal file
View File

@@ -0,0 +1,12 @@
{
"base": "svg",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2023-06-23T17:25:39Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
}
}

16
meta/akkoma.json Normal file
View File

@@ -0,0 +1,16 @@
{
"base": "svg",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2024-10-20T17:24:03Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
},
"colors": {
"dark": "akkoma",
"light": "akkoma-light"
}
}

12
meta/alarmpi.json Normal file
View File

@@ -0,0 +1,12 @@
{
"base": "png",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2024-10-20T19:32:46Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
}
}

12
meta/albert-heijn.json Normal file
View File

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

12
meta/alertmanager.json Normal file
View File

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

14
meta/alexa.json Normal file
View File

@@ -0,0 +1,14 @@
{
"base": "svg",
"aliases": [],
"categories": [
"Media"
],
"update": {
"timestamp": "2025-04-18T08:34:26.627973",
"author": {
"id": 2432100,
"login": "lyneld"
}
}
}

12
meta/algo.json Normal file
View File

@@ -0,0 +1,12 @@
{
"base": "png",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2024-10-20T19:32:46Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
}
}

12
meta/aliexpress.json Normal file
View File

@@ -0,0 +1,12 @@
{
"base": "svg",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2024-01-28T15:25:19Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
}
}

12
meta/alist.json Normal file
View File

@@ -0,0 +1,12 @@
{
"base": "svg",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2024-10-13T18:27:20Z",
"author": {
"id": 56171752,
"name": "Flying-Tom"
}
}
}

18
meta/alloy.json Normal file
View File

@@ -0,0 +1,18 @@
{
"base": "svg",
"aliases": [
"no-code-platform",
"app-builder"
],
"categories": [
"Developper-Tools",
"Cloud-Computing"
],
"update": {
"timestamp": "2024-06-01T17:32:11Z",
"author": {
"id": 10404337,
"name": "bmgalhardo"
}
}
}

20
meta/alltube.json Normal file
View File

@@ -0,0 +1,20 @@
{
"base": "png",
"aliases": [
"Download Manager"
],
"categories": [
"Download-Managers"
],
"update": {
"timestamp": "2024-10-20T19:32:46Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
},
"colors": {
"dark": "alltube",
"light": "alltube-light"
}
}

12
meta/alma-linux.json Normal file
View File

@@ -0,0 +1,12 @@
{
"base": "svg",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2024-10-20T17:24:03Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
}
}

12
meta/alpine-linux.json Normal file
View File

@@ -0,0 +1,12 @@
{
"base": "svg",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2024-10-20T17:24:03Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
}
}

17
meta/amazon-prime.json Normal file
View File

@@ -0,0 +1,17 @@
{
"base": "svg",
"aliases": [
"prime-video",
"amazon-video"
],
"categories": [
"Video-Streaming"
],
"update": {
"timestamp": "2024-10-20T17:24:03Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
}
}

View File

@@ -0,0 +1,16 @@
{
"base": "svg",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2024-10-20T17:24:03Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
},
"colors": {
"dark": "amazon-web-services",
"light": "amazon-web-services-light"
}
}

21
meta/amazon.json Normal file
View File

@@ -0,0 +1,21 @@
{
"base": "svg",
"aliases": [
"online-marketplace",
"shopping-website"
],
"categories": [
"E-commerce-Platforms"
],
"update": {
"timestamp": "2024-10-20T17:24:03Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
},
"colors": {
"dark": "amazon",
"light": "amazon-light"
}
}

12
meta/amcrest-cloud.json Normal file
View File

@@ -0,0 +1,12 @@
{
"base": "png",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2024-10-20T19:32:46Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
}
}

12
meta/amcrest.json Normal file
View File

@@ -0,0 +1,12 @@
{
"base": "png",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2024-10-20T19:32:46Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
}
}

22
meta/amd.json Normal file
View File

@@ -0,0 +1,22 @@
{
"base": "svg",
"aliases": [
"processor-company",
"computer-chips"
],
"categories": [
"Hardware",
"Organization"
],
"update": {
"timestamp": "2023-04-13T13:56:18Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
},
"colors": {
"dark": "amd",
"light": "amd-light"
}
}

21
meta/ami-alt.json Normal file
View File

@@ -0,0 +1,21 @@
{
"base": "png",
"aliases": [
"Asterisk Manager"
],
"categories": [
"Networking-Tools",
"Communication"
],
"update": {
"timestamp": "2024-10-20T19:32:46Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
},
"colors": {
"dark": "ami-alt",
"light": "ami-alt-light"
}
}

12
meta/ami.json Normal file
View File

@@ -0,0 +1,12 @@
{
"base": "png",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2024-10-20T19:32:46Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
}
}

12
meta/amp.json Normal file
View File

@@ -0,0 +1,12 @@
{
"base": "png",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2024-10-20T19:32:46Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
}
}

18
meta/ampache.json Normal file
View File

@@ -0,0 +1,18 @@
{
"base": "png",
"aliases": [
"music-server",
"audio-streaming"
],
"categories": [
"Media-Servers",
"Music-Streaming"
],
"update": {
"timestamp": "2024-10-20T19:32:46Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
}
}

18
meta/android-auto.json Normal file
View File

@@ -0,0 +1,18 @@
{
"base": "svg",
"aliases": [],
"categories": [
"Smart-Home"
],
"update": {
"timestamp": "2024-10-20T17:24:03Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
},
"colors": {
"dark": "android-auto-dark",
"light": "android-auto"
}
}

17
meta/android-robot.json Normal file
View File

@@ -0,0 +1,17 @@
{
"base": "svg",
"aliases": [
"android-logo",
"mobile-os-icon"
],
"categories": [
"Operating-Systems"
],
"update": {
"timestamp": "2023-04-13T13:56:18Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
}
}

17
meta/android.json Normal file
View File

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

17
meta/anonaddy.json Normal file
View File

@@ -0,0 +1,17 @@
{
"base": "svg",
"aliases": [
"Email Aliases"
],
"categories": [
"Email-Providers",
"Security"
],
"update": {
"timestamp": "2024-10-20T17:24:03Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
}
}

21
meta/ansible.json Normal file
View File

@@ -0,0 +1,21 @@
{
"base": "svg",
"aliases": [
"Automation Tool"
],
"categories": [
"Developper-Tools",
"DevOps"
],
"update": {
"timestamp": "2024-10-20T17:24:03Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
},
"colors": {
"dark": "ansible",
"light": "ansible-light"
}
}

16
meta/anything-llm.json Normal file
View File

@@ -0,0 +1,16 @@
{
"base": "svg",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2024-10-20T19:32:46Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
},
"colors": {
"dark": "anything-llm",
"light": "anything-llm-light"
}
}

12
meta/apache-airflow.json Normal file
View File

@@ -0,0 +1,12 @@
{
"base": "svg",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2024-04-05T08:15:52Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
}
}

12
meta/apache-answer.json Normal file
View File

@@ -0,0 +1,12 @@
{
"base": "svg",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2024-10-20T17:24:03Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
}
}

View File

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

View File

@@ -0,0 +1,12 @@
{
"base": "svg",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2024-10-20T19:32:46Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
}
}

17
meta/apache-druid.json Normal file
View File

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

View File

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

12
meta/apache-solr.json Normal file
View File

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

View File

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

16
meta/apache-tomcat.json Normal file
View File

@@ -0,0 +1,16 @@
{
"base": "svg",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2024-10-20T17:24:03Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
},
"colors": {
"dark": "apache-tomcat",
"light": "apache-tomcat-light"
}
}

12
meta/apache.json Normal file
View File

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

12
meta/apc.json Normal file
View File

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

12
meta/apiscp.json Normal file
View File

@@ -0,0 +1,12 @@
{
"base": "svg",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2023-10-30T09:24:44Z",
"author": {
"id": 10834935,
"name": "djrarky"
}
}
}

12
meta/app-store.json Normal file
View File

@@ -0,0 +1,12 @@
{
"base": "svg",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2024-10-18T21:26:41Z",
"author": {
"id": 72495210,
"name": "v3DJG6GL"
}
}
}

17
meta/appdaemon.json Normal file
View File

@@ -0,0 +1,17 @@
{
"base": "png",
"aliases": [
"Home Automation"
],
"categories": [
"Home-Automation",
"Smart-Home"
],
"update": {
"timestamp": "2024-10-20T19:32:46Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
}
}

12
meta/appflowy.json Normal file
View File

@@ -0,0 +1,12 @@
{
"base": "svg",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2024-10-20T17:24:03Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
}
}

12
meta/apple-alt.json Normal file
View File

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

17
meta/apple-music.json Normal file
View File

@@ -0,0 +1,17 @@
{
"base": "svg",
"aliases": [
"itunes-music",
"apple-music-service"
],
"categories": [
"Music-Streaming"
],
"update": {
"timestamp": "2024-10-20T17:24:03Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
}
}

21
meta/apple-tv-plus.json Normal file
View File

@@ -0,0 +1,21 @@
{
"base": "svg",
"aliases": [
"apple-tv",
"streaming-service"
],
"categories": [
"Video-Streaming"
],
"update": {
"timestamp": "2024-10-20T17:24:03Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
},
"colors": {
"dark": "apple-tv-plus",
"light": "apple-tv-plus-light"
}
}

16
meta/apple.json Normal file
View File

@@ -0,0 +1,16 @@
{
"base": "svg",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2024-10-20T17:24:03Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
},
"colors": {
"light": "apple",
"dark": "apple-light"
}
}

12
meta/apprise.json Normal file
View File

@@ -0,0 +1,12 @@
{
"base": "png",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2024-10-20T19:32:46Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
}
}

12
meta/appwrite.json Normal file
View File

@@ -0,0 +1,12 @@
{
"base": "svg",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2024-10-20T17:24:03Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
}
}

View File

@@ -0,0 +1,12 @@
{
"base": "svg",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2024-10-20T17:24:03Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
}
}

12
meta/arch-linux.json Normal file
View File

@@ -0,0 +1,12 @@
{
"base": "svg",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2024-10-20T17:24:03Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
}
}

17
meta/archisteamfarm.json Normal file
View File

@@ -0,0 +1,17 @@
{
"base": "png",
"aliases": [
"steam-idler",
"game-farmer"
],
"categories": [
"Gaming-Platforms"
],
"update": {
"timestamp": "2024-10-20T19:32:46Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
}
}

17
meta/archivebox.json Normal file
View File

@@ -0,0 +1,17 @@
{
"base": "png",
"aliases": [
"web-archiver",
"site-scraper"
],
"categories": [
"Developper-Tools"
],
"update": {
"timestamp": "2024-10-20T19:32:46Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
}
}

View File

@@ -0,0 +1,16 @@
{
"base": "png",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2024-10-20T19:32:46Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
},
"colors": {
"dark": "archiveteam-warrior",
"light": "archiveteam-warrior-light"
}
}

12
meta/arduino.json Normal file
View File

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

18
meta/argo-cd.json Normal file
View File

@@ -0,0 +1,18 @@
{
"base": "svg",
"aliases": [
"GitOps Tool"
],
"categories": [
"Developper-Tools",
"DevOps",
"Containerization-&-Orchestration"
],
"update": {
"timestamp": "2024-10-20T17:24:03Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
}
}

12
meta/ariang.json Normal file
View File

@@ -0,0 +1,12 @@
{
"base": "png",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2024-10-20T19:32:46Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
}
}

12
meta/arm.json Normal file
View File

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

16
meta/arris.json Normal file
View File

@@ -0,0 +1,16 @@
{
"base": "png",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2025-01-07T17:54:03Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
},
"colors": {
"dark": "arris",
"light": "arris-light"
}
}

12
meta/artifacthub.json Normal file
View File

@@ -0,0 +1,12 @@
{
"base": "svg",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2024-10-13T18:29:55Z",
"author": {
"id": 60740924,
"name": "plcnk"
}
}
}

12
meta/artifactory.json Normal file
View File

@@ -0,0 +1,12 @@
{
"base": "svg",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2024-10-20T19:32:46Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
}
}

12
meta/aruba.json Normal file
View File

@@ -0,0 +1,12 @@
{
"base": "svg",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2024-06-01T17:30:16Z",
"author": {
"id": 126241153,
"name": "solidcam-kevin"
}
}
}

12
meta/asana.json Normal file
View File

@@ -0,0 +1,12 @@
{
"base": "svg",
"aliases": [],
"categories": [],
"update": {
"timestamp": "2022-11-28T10:18:15Z",
"author": {
"id": 71191962,
"name": "walkxcode"
}
}
}

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