From a9d2c43bfd402404549e0492750ed4e74f314903 Mon Sep 17 00:00:00 2001 From: syntaxbullet Date: Tue, 10 Feb 2026 15:21:34 +0100 Subject: [PATCH] feat: adjust max and step values for sharpen, edgeThreshold, and scanlines controls. --- Caddyfile | 15 +++ Dockerfile | 17 ++- docker-compose.yml | 23 ++++- package-lock.json | 10 ++ package.json | 1 + public/favicon.svg | 4 + public/robots.txt | 4 + src/components/ControlPanel.astro | 19 ++-- src/components/Sidebar.astro | 69 ++++--------- src/content/blog/coming-soon.md | 20 ++++ src/content/blog/first-post.md | 24 ----- src/layouts/Layout.astro | 4 + src/pages/index.astro | 166 +++++++++++++++++++++++++++++- src/scripts/ascii-exporter.ts | 2 +- src/scripts/ui-bindings.ts | 2 + tsconfig.json | 18 +++- 16 files changed, 294 insertions(+), 104 deletions(-) create mode 100644 Caddyfile create mode 100644 public/favicon.svg create mode 100644 public/robots.txt create mode 100644 src/content/blog/coming-soon.md delete mode 100644 src/content/blog/first-post.md diff --git a/Caddyfile b/Caddyfile new file mode 100644 index 0000000..d0a19cf --- /dev/null +++ b/Caddyfile @@ -0,0 +1,15 @@ +{ + email me@syntaxbullet.com +} + +yourdomain.com { + reverse_proxy web:4321 + + # Enable compression + encode zstd gzip + + # Robust logging + log { + output file /var/log/caddy/access.log + } +} diff --git a/Dockerfile b/Dockerfile index ea519a6..c5caa8e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,10 +1,17 @@ +# Build stage +FROM node:22-alpine AS build +WORKDIR /app +COPY package*.json ./ +RUN npm install +COPY . . +RUN npm run build + +# Runtime stage FROM node:22-alpine AS runtime WORKDIR /app - -COPY . . - -RUN npm install -RUN npm run build +COPY --from=build /app/dist ./dist +COPY --from=build /app/package*.json ./ +COPY --from=build /app/node_modules ./node_modules ENV HOST=0.0.0.0 ENV PORT=4321 diff --git a/docker-compose.yml b/docker-compose.yml index 2f0ef88..581f36d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,8 +1,27 @@ services: web: build: . - ports: - - "4321:4321" + restart: always environment: - PORT=4321 - HOST=0.0.0.0 + + caddy: + image: caddy:latest + restart: always + ports: + - "80:80" + - "443:443" + - "443:443/udp" + volumes: + - ./Caddyfile:/etc/caddy/Caddyfile + - caddy_data:/data + - caddy_config:/config + - caddy_logs:/var/log/caddy + depends_on: + - web + +volumes: + caddy_data: + caddy_config: + caddy_logs: diff --git a/package-lock.json b/package-lock.json index d281006..0d054ff 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,6 +11,7 @@ "dependencies": { "@astrojs/check": "^0.9.6", "@astrojs/node": "^9.5.2", + "@lucide/astro": "^0.563.0", "astro": "^5.17.1", "gifuct-js": "^2.1.2", "pngjs": "^7.0.0", @@ -1181,6 +1182,15 @@ "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", "license": "MIT" }, + "node_modules/@lucide/astro": { + "version": "0.563.0", + "resolved": "https://registry.npmjs.org/@lucide/astro/-/astro-0.563.0.tgz", + "integrity": "sha512-X9fNJvRR6pLJfkIEAFQkizWaNVvcduunJoFyR3fwPu30Y6jOu5S9k4k7HTSk3ZrEfqK2eFEqrBqqWH4fwSNKCg==", + "license": "ISC", + "peerDependencies": { + "astro": "^4 || ^5" + } + }, "node_modules/@oslojs/encoding": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@oslojs/encoding/-/encoding-1.1.0.tgz", diff --git a/package.json b/package.json index a634541..46a245a 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ "dependencies": { "@astrojs/check": "^0.9.6", "@astrojs/node": "^9.5.2", + "@lucide/astro": "^0.563.0", "astro": "^5.17.1", "gifuct-js": "^2.1.2", "pngjs": "^7.0.0", diff --git a/public/favicon.svg b/public/favicon.svg new file mode 100644 index 0000000..acb68a7 --- /dev/null +++ b/public/favicon.svg @@ -0,0 +1,4 @@ + + + S + diff --git a/public/robots.txt b/public/robots.txt new file mode 100644 index 0000000..0d60778 --- /dev/null +++ b/public/robots.txt @@ -0,0 +1,4 @@ +User-agent: * +Allow: / + +Sitemap: https://syntaxbullet.com/sitemap-index.xml diff --git a/src/components/ControlPanel.astro b/src/components/ControlPanel.astro index 75a13f4..ba9ed12 100644 --- a/src/components/ControlPanel.astro +++ b/src/components/ControlPanel.astro @@ -3,24 +3,13 @@ import TuiSlider from "./TuiSlider.astro"; import TuiSegment from "./TuiSegment.astro"; import TuiToggle from "./TuiToggle.astro"; import TuiButton from "./TuiButton.astro"; +import { ChevronDown } from "@lucide/astro"; ---