Timmy 8e31d73376 Optimize studio-sample: shared CSS, mobile nav, SEO, a11y, working filter
- Extract duplicated per-page CSS into one shared style.css
- Add CSS-only hamburger menu for ≤720px (was overflowing)
- Add meta description / Open Graph / favicon to all pages
- Unify footers, fix dead links, distinct <title>s
- :focus-visible outlines, aria-hidden on decorative text, contrast bumps
- Make works.html category filter actually filter (data-cat)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 20:07:46 +08:00

42_104

Caddy 靜態檔案伺服器,用 Docker Compose 運行,把 caddy/www/ 目錄掛載到 :80 提供瀏覽。www/ 裡是一堆各自獨立、可直接開啟的 HTML demo(圖表、QR/發票掃描、Lit + Tailwind 範例、羅盤等),沒有共用的 build 流程或框架。

啟動

cd caddy
./run.sh    # docker-compose up -d
./stop.sh   # docker-compose down

啟動後開 http://localhost/ 瀏覽 www/,或直接連 http://localhost/<檔名>.html

若機器上沒裝 docker-compose,可用等效的 docker run 啟動:

docker run -d --name caddy --restart unless-stopped -p 80:80 \
  -v "$PWD/Caddyfile:/etc/caddy/Caddyfile" \
  -v "$PWD/caddy_data:/data" \
  -v "$PWD/www:/var/www/static" \
  -e TZ=Asia/Taipei caddy

部署

遠端伺服器:192.168.42.104(主機 CT104,Linux),caddy 根目錄在 /opt/caddy,web 內容在 /opt/caddy/www(由 timmy 帳號擁有、可寫,免密碼 SSH)。

更新內容用 rsync:

rsync -av caddy/www/<目錄或檔案> timmy@192.168.42.104:/opt/caddy/www/

上線後即可從 http://192.168.42.104/<路徑> 存取。

其他腳本

腳本 作用
list_docker_compose_services.sh docker-compose ps
view-output-from-containers.sh docker-compose logs -f
enter_caddy_container.sh 進入運行中的容器 shell

結構

  • caddy/Caddyfile — 伺服器設定,掛載到 /etc/caddy/Caddyfile。改完需 ./stop.sh && ./run.sh 重啟。
  • caddy/docker-compose.yaml — 單一 caddy service,bind-mount Caddyfilecaddy_data/(憑證/狀態)、www/。Port 80,TZ=Asia/Taipei
  • caddy/www/ — 提供的內容。新增 demo 只要丟一個 .html(及資產子目錄)進去,refresh 瀏覽器即可。
Description
42_104 workspace
Readme 26 MiB
Languages
HTML 85.4%
CSS 7.8%
JavaScript 5.8%
Python 0.7%
Shell 0.3%