CommuterWeather (打工人天气) 的静态介绍网站,使用 Deno + Lume 3.x 构建,部署到 Cloudflare Pages。
_site/5 种语言,zh-Hans 为默认语言(URL 无前缀):
| 语言 | URL 前缀 | i18n 文件 |
|---|---|---|
| 简中 (默认) | / |
_data/i18n/zh-Hans.yml |
| 繁中 | /zh-Hant/ |
_data/i18n/zh-Hant.yml |
| 英文 | /en/ |
_data/i18n/en.yml |
| 日文 | /ja/ |
_data/i18n/ja.yml |
| 韩文 | /ko/ |
_data/i18n/ko.yml |
浏览器语言检测由 functions/_middleware.ts (Cloudflare Pages Functions) 处理,服务端 302 重定向。
deno task serve # 本地开发(热重载)
deno task build # 构建到 _site/
_data/site.yml → 在模板中以 site.* 访问(如 site.lang_labels、site.app_store_url、site.year)_data/i18n/[lang].yml → 以 i18n[lang].* 访问;模板开头通常 {{ set t = i18n[lang] }}lang 由 multilanguage 插件注入,值如 "zh-Hans"、"en" 等_data/site.yml:app_store_url 改为 https://apps.apple.com/app/id6761612097_data/i18n/*.yml:hero.cta_download 和 download.cta_download 改为正式下载文案_includes/partials/hero.vto 和 download-cta.vto:将 app-store-badge(文字按钮)替换为 app-store-badge-link + <img> 徽章图片(SVG 已备好在 img/badge-[lang].svg)curl -fsSL https://deno.land/install.sh | sh && /opt/buildhome/.deno/bin/deno task build_sitefunctions/_middleware.ts (自动识别,无需额外配置)_config.ts Lume 配置
_data/
site.yml 全局元数据(域名、邮箱、App Store 链接等)
i18n/ 各语言 UI 字符串
_includes/
layouts/ base.vto / landing.vto / legal.vto
partials/ header / hero / features / advice-badges / footer 等
css/style.css 所有样式(含 dark mode)
img/ app-icon.png + badge-[lang].svg
functions/
_middleware.ts Cloudflare 语言检测中间件
[lang]/ 各语言页面(en/ zh-Hant/ ja/ ko/)
index.yml 简中落地页(默认,URL: /)
privacy.md 简中隐私政策
terms.md 简中使用条款