Update to use selfhosted icons
All checks were successful
Build and Deploy / build (push) Successful in 1m0s
All checks were successful
Build and Deploy / build (push) Successful in 1m0s
This commit is contained in:
parent
b0d6fcc6d8
commit
29d0b51dfe
@ -12,14 +12,14 @@
|
|||||||
{
|
{
|
||||||
"name": "Nextcloud",
|
"name": "Nextcloud",
|
||||||
"link": "https://cloud.justin.deal",
|
"link": "https://cloud.justin.deal",
|
||||||
"icon": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/nextcloud-light.svg",
|
"icon": "https://icons.justin.deal/nextcloud.svg?color=ebdbb2",
|
||||||
"iconDark": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/nextcloud-dark.svg",
|
"iconDark": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/nextcloud-dark.svg",
|
||||||
"alt": "Nextcloud"
|
"alt": "Nextcloud"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Gitea",
|
"name": "Gitea",
|
||||||
"link": "https://code.justin.deal",
|
"link": "https://code.justin.deal",
|
||||||
"icon": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/gitea-light.svg",
|
"icon": "https://icons.justin.deal/gitea.svg?color=ebdbb2",
|
||||||
"iconDark": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/gitea-dark.svg",
|
"iconDark": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/gitea-dark.svg",
|
||||||
"alt": "Gitea",
|
"alt": "Gitea",
|
||||||
"tags": ["git", "code", "repository"]
|
"tags": ["git", "code", "repository"]
|
||||||
@ -27,7 +27,7 @@
|
|||||||
{
|
{
|
||||||
"name": "OpenGist",
|
"name": "OpenGist",
|
||||||
"link": "https://snippets.justin.deal",
|
"link": "https://snippets.justin.deal",
|
||||||
"icon": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/opengist-light.svg",
|
"icon": "https://icons.justin.deal/opengist.svg?color=ebdbb2",
|
||||||
"iconDark": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/opengist-dark.svg",
|
"iconDark": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/opengist-dark.svg",
|
||||||
"alt": "OpenGist",
|
"alt": "OpenGist",
|
||||||
"tags": ["gist", "snippets"]
|
"tags": ["gist", "snippets"]
|
||||||
@ -35,7 +35,7 @@
|
|||||||
{
|
{
|
||||||
"name": "Calibre-Web",
|
"name": "Calibre-Web",
|
||||||
"link": "https://books.justin.deal",
|
"link": "https://books.justin.deal",
|
||||||
"icon": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/calibre-web-light.svg",
|
"icon": "https://icons.justin.deal/calibre-web.svg?color=ebdbb2",
|
||||||
"iconDark": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/calibre-web-dark.svg",
|
"iconDark": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/calibre-web-dark.svg",
|
||||||
"alt": "Calibre-Web",
|
"alt": "Calibre-Web",
|
||||||
"tags": ["books", "read"]
|
"tags": ["books", "read"]
|
||||||
@ -43,7 +43,7 @@
|
|||||||
{
|
{
|
||||||
"name": "Jellyfin",
|
"name": "Jellyfin",
|
||||||
"link": "https://watch.justin.deal",
|
"link": "https://watch.justin.deal",
|
||||||
"icon": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/jellyfin-light.svg",
|
"icon": "https://icons.justin.deal/jellyfin.svg?color=ebdbb2",
|
||||||
"iconDark": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/jellyfin-dark.svg",
|
"iconDark": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/jellyfin-dark.svg",
|
||||||
"alt": "Jellyfin",
|
"alt": "Jellyfin",
|
||||||
"tags": ["movies", "tv", "shows", "watch"]
|
"tags": ["movies", "tv", "shows", "watch"]
|
||||||
@ -54,7 +54,7 @@
|
|||||||
{
|
{
|
||||||
"name": "Searxng",
|
"name": "Searxng",
|
||||||
"link": "https://search.justin.deal",
|
"link": "https://search.justin.deal",
|
||||||
"icon": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/searxng-light.svg",
|
"icon": "https://icons.justin.deal/searxng.svg?color=ebdbb2",
|
||||||
"iconDark": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/searxng-dark.svg",
|
"iconDark": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/searxng-dark.svg",
|
||||||
"alt": "Searxng",
|
"alt": "Searxng",
|
||||||
"tags": ["search", "privacy", "metasearch"]
|
"tags": ["search", "privacy", "metasearch"]
|
||||||
@ -62,15 +62,23 @@
|
|||||||
{
|
{
|
||||||
"name": "IT-Tools",
|
"name": "IT-Tools",
|
||||||
"link": "https://tools.justin.deal",
|
"link": "https://tools.justin.deal",
|
||||||
"icon": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/it-tools-light.svg",
|
"icon": "https://icons.justin.deal/it-tools.svg?color=ebdbb2",
|
||||||
"iconDark": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/it-tools-dark.svg",
|
"iconDark": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/it-tools-dark.svg",
|
||||||
"alt": "IT-Tools",
|
"alt": "IT-Tools",
|
||||||
"tags": ["dev"]
|
"tags": ["dev"]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "Icons",
|
||||||
|
"link": "https://icons.justin.deal",
|
||||||
|
"icon": "https://icons.justin.deal/selfh-st.svg?color=ebdbb2",
|
||||||
|
"iconDark": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/slfh-st-dark.svg",
|
||||||
|
"alt": "Icons",
|
||||||
|
"tags": ["icons"]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Ollama",
|
"name": "Ollama",
|
||||||
"link": "https://ai.justin.deal",
|
"link": "https://ai.justin.deal",
|
||||||
"icon": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/ollama-light.svg",
|
"icon": "https://icons.justin.deal/ollama.svg?color=ebdbb2",
|
||||||
"iconDark": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/ollama-dark.svg",
|
"iconDark": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/ollama-dark.svg",
|
||||||
"alt": "Ollama",
|
"alt": "Ollama",
|
||||||
"tags": ["LLM", "AI", "models", "chatbot"]
|
"tags": ["LLM", "AI", "models", "chatbot"]
|
||||||
@ -81,7 +89,7 @@
|
|||||||
{
|
{
|
||||||
"name": "Uptime Kuma",
|
"name": "Uptime Kuma",
|
||||||
"link": "https://status.justin.deal",
|
"link": "https://status.justin.deal",
|
||||||
"icon": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/uptime-kuma-light.svg",
|
"icon": "https://icons.justin.deal/uptime-kuma.svg?color=ebdbb2",
|
||||||
"iconDark": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/uptime-kuma-dark.svg",
|
"iconDark": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/uptime-kuma-dark.svg",
|
||||||
"alt": "Uptime Kuma",
|
"alt": "Uptime Kuma",
|
||||||
"tags": ["status"]
|
"tags": ["status"]
|
||||||
@ -89,7 +97,7 @@
|
|||||||
{
|
{
|
||||||
"name": "Umami",
|
"name": "Umami",
|
||||||
"link": "https://analytics.justin.deal",
|
"link": "https://analytics.justin.deal",
|
||||||
"icon": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/umami-light.svg",
|
"icon": "https://icons.justin.deal/umami.svg?color=ebdbb2",
|
||||||
"iconDark": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/umami-dark.svg",
|
"iconDark": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/umami-dark.svg",
|
||||||
"alt": "Umami",
|
"alt": "Umami",
|
||||||
"tags": ["analytics"]
|
"tags": ["analytics"]
|
||||||
@ -97,7 +105,7 @@
|
|||||||
{
|
{
|
||||||
"name": "TeslaMate",
|
"name": "TeslaMate",
|
||||||
"link": "https://tesla.justin.deal",
|
"link": "https://tesla.justin.deal",
|
||||||
"icon": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/teslamate-light.svg",
|
"icon": "https://icons.justin.deal/teslamate.svg?color=ebdbb2",
|
||||||
"iconDark": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/teslamate-dark.svg",
|
"iconDark": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/teslamate-dark.svg",
|
||||||
"alt": "TeslaMate",
|
"alt": "TeslaMate",
|
||||||
"tags": ["car", "tesla"]
|
"tags": ["car", "tesla"]
|
||||||
@ -108,7 +116,7 @@
|
|||||||
{
|
{
|
||||||
"name": "Pi-hole",
|
"name": "Pi-hole",
|
||||||
"link": "http://pi.hole/admin/",
|
"link": "http://pi.hole/admin/",
|
||||||
"icon": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/pi-hole-light.svg",
|
"icon": "https://icons.justin.deal/pi-hole.svg?color=ebdbb2",
|
||||||
"iconDark": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/pi-hole-dark.svg",
|
"iconDark": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/pi-hole-dark.svg",
|
||||||
"alt": "Pi-hole",
|
"alt": "Pi-hole",
|
||||||
"tags": ["dns"]
|
"tags": ["dns"]
|
||||||
@ -116,7 +124,7 @@
|
|||||||
{
|
{
|
||||||
"name": "Ntfy",
|
"name": "Ntfy",
|
||||||
"link": "https://ntfy.justin.deal",
|
"link": "https://ntfy.justin.deal",
|
||||||
"icon": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/ntfy-light.svg",
|
"icon": "https://icons.justin.deal/ntfy.svg?color=ebdbb2",
|
||||||
"iconDark": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/ntfy-dark.svg",
|
"iconDark": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/ntfy-dark.svg",
|
||||||
"alt": "Ntfy",
|
"alt": "Ntfy",
|
||||||
"tags": ["notifications"]
|
"tags": ["notifications"]
|
||||||
@ -124,7 +132,7 @@
|
|||||||
{
|
{
|
||||||
"name": "Vaultwarden",
|
"name": "Vaultwarden",
|
||||||
"link": "https://passwords.justin.deal",
|
"link": "https://passwords.justin.deal",
|
||||||
"icon": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/vaultwarden-light.svg",
|
"icon": "https://icons.justin.deal/vaultwarden.svg?color=ebdbb2",
|
||||||
"iconDark": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/vaultwarden-dark.svg",
|
"iconDark": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/vaultwarden-dark.svg",
|
||||||
"alt": "Vaultwarden",
|
"alt": "Vaultwarden",
|
||||||
"tags": ["passwords"]
|
"tags": ["passwords"]
|
||||||
@ -132,7 +140,7 @@
|
|||||||
{
|
{
|
||||||
"name": "Authentik",
|
"name": "Authentik",
|
||||||
"link": "https://auth.justin.deal",
|
"link": "https://auth.justin.deal",
|
||||||
"icon": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/authentik-light.svg",
|
"icon": "https://icons.justin.deal/authentik.svg?color=ebdbb2",
|
||||||
"iconDark": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/authentik-dark.svg",
|
"iconDark": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/authentik-dark.svg",
|
||||||
"alt": "Authentik",
|
"alt": "Authentik",
|
||||||
"tags": ["SSO", "Auth", "Authentication"]
|
"tags": ["SSO", "Auth", "Authentication"]
|
||||||
@ -140,7 +148,7 @@
|
|||||||
{
|
{
|
||||||
"name": "Traefik",
|
"name": "Traefik",
|
||||||
"link": "https://proxy.justin.deal:8080",
|
"link": "https://proxy.justin.deal:8080",
|
||||||
"icon": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/traefik-light.svg",
|
"icon": "https://icons.justin.deal/traefik.svg?color=ebdbb2",
|
||||||
"iconDark": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/traefik-dark.svg",
|
"iconDark": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/traefik-dark.svg",
|
||||||
"alt": "Traefik",
|
"alt": "Traefik",
|
||||||
"tags": ["proxy", "reverse-proxy", "load-balancer"]
|
"tags": ["proxy", "reverse-proxy", "load-balancer"]
|
||||||
@ -148,7 +156,7 @@
|
|||||||
{
|
{
|
||||||
"name": "Syncthing",
|
"name": "Syncthing",
|
||||||
"link": "https://sync.justin.deal",
|
"link": "https://sync.justin.deal",
|
||||||
"icon": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/syncthing-light.svg",
|
"icon": "https://icons.justin.deal/syncthing.svg?color=ebdbb2",
|
||||||
"iconDark": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/syncthing-dark.svg",
|
"iconDark": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/syncthing-dark.svg",
|
||||||
"alt": "Syncthing",
|
"alt": "Syncthing",
|
||||||
"tags": ["sync", "files"]
|
"tags": ["sync", "files"]
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
"name": "Gitea",
|
"name": "Gitea",
|
||||||
"url": "https://code.justin.deal/dealjus",
|
"url": "https://code.justin.deal/dealjus",
|
||||||
"iconDark": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/gitea-dark.svg",
|
"iconDark": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/gitea-dark.svg",
|
||||||
"iconLight": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/gitea-light.svg",
|
"iconLight": "https://icons.justin.deal/gitea.svg?color=ebdbb2",
|
||||||
"alt": "Gitea Profile",
|
"alt": "Gitea Profile",
|
||||||
"showInFooter": true,
|
"showInFooter": true,
|
||||||
"showInAbout": true
|
"showInAbout": true
|
||||||
@ -12,7 +12,7 @@
|
|||||||
"name": "LinkedIn",
|
"name": "LinkedIn",
|
||||||
"url": "https://www.linkedin.com/in/justin-deal/",
|
"url": "https://www.linkedin.com/in/justin-deal/",
|
||||||
"iconDark": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/linkedin-dark.svg",
|
"iconDark": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/linkedin-dark.svg",
|
||||||
"iconLight": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/linkedin-light.svg",
|
"iconLight": "https://icons.justin.deal/linkedin.svg?color=ebdbb2",
|
||||||
"alt": "LinkedIn Profile",
|
"alt": "LinkedIn Profile",
|
||||||
"showInFooter": true,
|
"showInFooter": true,
|
||||||
"showInAbout": true
|
"showInAbout": true
|
||||||
@ -21,7 +21,7 @@
|
|||||||
"name": "GitHub",
|
"name": "GitHub",
|
||||||
"url": "https://github.com/justintdeal",
|
"url": "https://github.com/justintdeal",
|
||||||
"iconDark": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/github-dark.svg",
|
"iconDark": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/github-dark.svg",
|
||||||
"iconLight": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/github-light.svg",
|
"iconLight": "https://icons.justin.deal/github.svg?color=ebdbb2",
|
||||||
"alt": "GitHub Profile",
|
"alt": "GitHub Profile",
|
||||||
"showInFooter": true,
|
"showInFooter": true,
|
||||||
"showInAbout": true
|
"showInAbout": true
|
||||||
|
@ -70,6 +70,7 @@ const cardId = `service-card-${crypto.randomUUID().slice(0, 8)}`;
|
|||||||
width="64"
|
width="64"
|
||||||
height="64"
|
height="64"
|
||||||
fetchpriority="low"
|
fetchpriority="low"
|
||||||
|
onerror="this.onerror=null; this.src=this.src.includes('icons.justin.deal') ? this.src.replace('icons.justin.deal', 'cdn.jsdelivr.net/gh/selfhst/icons/svg').replace(/\.svg\?color=.*$/, '-light.svg') : this.src;"
|
||||||
/>
|
/>
|
||||||
<!-- Dark icon (shown in light mode) -->
|
<!-- Dark icon (shown in light mode) -->
|
||||||
<img
|
<img
|
||||||
|
@ -35,7 +35,8 @@ const sizeClasses = {
|
|||||||
<img
|
<img
|
||||||
src={lightIcon}
|
src={lightIcon}
|
||||||
alt={alt}
|
alt={alt}
|
||||||
class={`${sizeClasses[size]} dark-theme-only zag-transition`}
|
class={`${sizeClasses[size]} dark-theme-only zag-transition`}
|
||||||
|
onerror="this.onerror=null; this.src=this.src.includes('icons.justin.deal') ? this.src.replace('icons.justin.deal', 'cdn.jsdelivr.net/gh/selfhst/icons/svg').replace(/\.svg\?color=.*$/, '-light.svg') : this.src;"
|
||||||
/>
|
/>
|
||||||
</Anchor>
|
</Anchor>
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user