BAM. Prettier and with QR codes
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/deploy Pipeline was successful

This commit is contained in:
2026-02-07 23:59:49 -03:00
parent 9bc51ff408
commit 3130661e65
8 changed files with 52 additions and 55 deletions

View File

@@ -48,30 +48,30 @@ steps:
- name: Send Docker Image Build Status Notification (success) - name: Send Docker Image Build Status Notification (success)
image: curlimages/curl image: curlimages/curl
environment: environment:
DISCORD_WEBHOOK_URL: DISCORD_WEBHOOK_URL:
from_secret: discord_webhook_url from_secret: discord_webhook_url
commands: commands:
- | - |
BODY=$(printf '{"username":"WoodpeckerBot","content":"[%s - Build #%s] Docker image build success 🎉"}' "$CI_REPO" "$CI_PIPELINE_NUMBER") BODY=$(printf '{"username":"WoodpeckerBot","content":"[%s - Build #%s] Docker image build success 🎉"}' "$CI_REPO" "$CI_PIPELINE_NUMBER")
curl -sS -X POST -H "Content-Type: application/json" -d "$BODY" "$DISCORD_WEBHOOK_URL" curl -sS -X POST -H "Content-Type: application/json" -d "$BODY" "$DISCORD_WEBHOOK_URL"
depends_on: depends_on:
- Docker image build - Docker image build
when: when:
- status: [ success ] - status: [success]
- name: Send Docker Image Build Status Notification (failure) - name: Send Docker Image Build Status Notification (failure)
image: curlimages/curl image: curlimages/curl
environment: environment:
DISCORD_WEBHOOK_URL: DISCORD_WEBHOOK_URL:
from_secret: discord_webhook_url from_secret: discord_webhook_url
commands: commands:
- | - |
BODY=$(printf '{"username":"WoodpeckerBot","content":"[%s - Build #%s] Docker image build failure 💩"}' "$CI_REPO" "$CI_PIPELINE_NUMBER") BODY=$(printf '{"username":"WoodpeckerBot","content":"[%s - Build #%s] Docker image build failure 💩"}' "$CI_REPO" "$CI_PIPELINE_NUMBER")
curl -sS -X POST -H "Content-Type: application/json" -d "$BODY" "$DISCORD_WEBHOOK_URL" curl -sS -X POST -H "Content-Type: application/json" -d "$BODY" "$DISCORD_WEBHOOK_URL"
depends_on: depends_on:
- Docker image build - Docker image build
when: when:
- status: [ failure ] - status: [failure]
- name: Push to registry - name: Push to registry
image: docker:latest image: docker:latest
@@ -103,30 +103,30 @@ steps:
- name: Send Push to Registry Status Notification (success) - name: Send Push to Registry Status Notification (success)
image: curlimages/curl image: curlimages/curl
environment: environment:
DISCORD_WEBHOOK_URL: DISCORD_WEBHOOK_URL:
from_secret: discord_webhook_url from_secret: discord_webhook_url
commands: commands:
- | - |
BODY=$(printf '{"username":"WoodpeckerBot","content":"[%s - Build #%s] Push to registry success 🎉"}' "$CI_REPO" "$CI_PIPELINE_NUMBER") BODY=$(printf '{"username":"WoodpeckerBot","content":"[%s - Build #%s] Push to registry success 🎉"}' "$CI_REPO" "$CI_PIPELINE_NUMBER")
curl -sS -X POST -H "Content-Type: application/json" -d "$BODY" "$DISCORD_WEBHOOK_URL" curl -sS -X POST -H "Content-Type: application/json" -d "$BODY" "$DISCORD_WEBHOOK_URL"
depends_on: depends_on:
- Push to registry - Push to registry
when: when:
- status: [ success ] - status: [success]
- name: Send Push to Registry Status Notification (failure) - name: Send Push to Registry Status Notification (failure)
image: curlimages/curl image: curlimages/curl
environment: environment:
DISCORD_WEBHOOK_URL: DISCORD_WEBHOOK_URL:
from_secret: discord_webhook_url from_secret: discord_webhook_url
commands: commands:
- | - |
BODY=$(printf '{"username":"WoodpeckerBot","content":"[%s - Build #%s] Push to registry failure 💩"}' "$CI_REPO" "$CI_PIPELINE_NUMBER") BODY=$(printf '{"username":"WoodpeckerBot","content":"[%s - Build #%s] Push to registry failure 💩"}' "$CI_REPO" "$CI_PIPELINE_NUMBER")
curl -sS -X POST -H "Content-Type: application/json" -d "$BODY" "$DISCORD_WEBHOOK_URL" curl -sS -X POST -H "Content-Type: application/json" -d "$BODY" "$DISCORD_WEBHOOK_URL"
depends_on: depends_on:
- Push to registry - Push to registry
when: when:
- status: [ failure ] - status: [failure]
- name: Trigger Portainer stack redeploy - name: Trigger Portainer stack redeploy
image: curlimages/curl:latest image: curlimages/curl:latest
@@ -151,27 +151,27 @@ steps:
- name: Send Deploy Status Notification (success) - name: Send Deploy Status Notification (success)
image: curlimages/curl image: curlimages/curl
environment: environment:
DISCORD_WEBHOOK_URL: DISCORD_WEBHOOK_URL:
from_secret: discord_webhook_url from_secret: discord_webhook_url
commands: commands:
- | - |
BODY=$(printf '{"username":"WoodpeckerBot","content":"[%s - Build #%s] Production Deploy success 🎉"}' "$CI_REPO" "$CI_PIPELINE_NUMBER") BODY=$(printf '{"username":"WoodpeckerBot","content":"[%s - Build #%s] Production Deploy success 🎉"}' "$CI_REPO" "$CI_PIPELINE_NUMBER")
curl -sS -X POST -H "Content-Type: application/json" -d "$BODY" "$DISCORD_WEBHOOK_URL" curl -sS -X POST -H "Content-Type: application/json" -d "$BODY" "$DISCORD_WEBHOOK_URL"
depends_on: depends_on:
- Trigger Portainer stack redeploy - Trigger Portainer stack redeploy
when: when:
- status: [ success ] - status: [success]
- name: Send Deploy Status Notification (failure) - name: Send Deploy Status Notification (failure)
image: curlimages/curl image: curlimages/curl
environment: environment:
DISCORD_WEBHOOK_URL: DISCORD_WEBHOOK_URL:
from_secret: discord_webhook_url from_secret: discord_webhook_url
commands: commands:
- | - |
BODY=$(printf '{"username":"WoodpeckerBot","content":"[%s - Build #%s] Production Deploy failure 💩"}' "$CI_REPO" "$CI_PIPELINE_NUMBER") BODY=$(printf '{"username":"WoodpeckerBot","content":"[%s - Build #%s] Production Deploy failure 💩"}' "$CI_REPO" "$CI_PIPELINE_NUMBER")
curl -sS -X POST -H "Content-Type: application/json" -d "$BODY" "$DISCORD_WEBHOOK_URL" curl -sS -X POST -H "Content-Type: application/json" -d "$BODY" "$DISCORD_WEBHOOK_URL"
depends_on: depends_on:
- Trigger Portainer stack redeploy - Trigger Portainer stack redeploy
when: when:
- status: [ failure ] - status: [failure]

View File

@@ -32,9 +32,9 @@ try {
html, html,
inline: { strategy: 'default' }, // preload in head + link at end of body (no inline JS, CSP-safe) inline: { strategy: 'default' }, // preload in head + link at end of body (no inline JS, CSP-safe)
dimensions: [ dimensions: [
{ width: 375, height: 667 }, // mobile (iPhone SE) { width: 375, height: 667 }, // mobile (iPhone SE)
{ width: 768, height: 1024 }, // tablet { width: 768, height: 1024 }, // tablet
{ width: 1280, height: 720 }, // desktop { width: 1280, height: 720 }, // desktop
], ],
penthouse: { timeout: 30000 }, penthouse: { timeout: 30000 },
}); });

View File

@@ -50,7 +50,7 @@
{#if qrCodeImage} {#if qrCodeImage}
<div class="share-qr"> <div class="share-qr">
<img <img
src="/assets/images/{qrCodeImage}.png" src="/assets/images/{qrCodeImage}.svg"
alt="QR code for this page" alt="QR code for this page"
width="160" width="160"
height="160" height="160"

View File

@@ -20,8 +20,7 @@
] ]
}, },
"linksHeading": "Professional Links and Profiles", "linksHeading": "Professional Links and Profiles",
"showContact": true, "qrCodeImage": "qr-mifi-dev"
"qrCodeImage": null
}, },
"bio": { "bio": {
"title": "mifi.bio — the homepage of the human Mike Fitzpatrick", "title": "mifi.bio — the homepage of the human Mike Fitzpatrick",
@@ -51,8 +50,7 @@
] ]
}, },
"linksHeading": "Links and Profiles", "linksHeading": "Links and Profiles",
"showContact": false, "qrCodeImage": "qr-mifi-bio"
"qrCodeImage": null
} }
}, },
"contactLinks": [ "contactLinks": [

View File

@@ -29,11 +29,7 @@ export interface Site {
sameAs: string[]; sameAs: string[];
}; };
linksHeading?: string; linksHeading?: string;
/** If false, hide Contact button and panel for this variant. Default true. */
showContact?: boolean;
/** Contact panel links; if omitted, first section links are used. */
contactLinks?: ContactLink[]; contactLinks?: ContactLink[];
/** Optional QR code image path (e.g. /assets/images/qr-mifi-dev.png) for Share panel. */
qrCodeImage?: string | null; qrCodeImage?: string | null;
} }

View File

@@ -57,7 +57,6 @@ export const load: LayoutServerLoad<LayoutServerDataOut> = (): LayoutServerDataO
location: siteDef?.location, location: siteDef?.location,
person: siteDef?.person, person: siteDef?.person,
linksHeading: siteDef?.linksHeading, linksHeading: siteDef?.linksHeading,
showContact: siteDef?.showContact,
contactLinks: siteDef?.contactLinks, contactLinks: siteDef?.contactLinks,
qrCodeImage: siteDef?.qrCodeImage ?? undefined, qrCodeImage: siteDef?.qrCodeImage ?? undefined,
}; };

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 1.3 MiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 1.0 MiB