Astro企业官网

astro-chalet — Astro 企业官网模板

作者 M4xKey

面向本地商户的 Astro 静态官网模板,所有文案与业务信息集中在单个配置文件,内置 LocalBusiness 与 FAQPage 结构化数据、站点地图和 robots.txt,默认不引入 Cookie 与第三方请求。

看看你的网站会是什么样

浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。

2 个预览视图
桌面端首页1 / 2
桌面端截图首屏预览

由服务器浏览器实际访问页面后截取。

全部页面与视图 2

截图用于了解视觉与布局,交互效果请以实际项目为准。

采集于 2026-10-02查看来源

值得关注的模板亮点

从已有项目资料中,快速了解它的特点。

01

全部文案、联系方式、营业时间、服务、评价、FAQ 与法律信息集中在 src/config/site.ts 单个配置文件,组件不含硬编码文本

02

根据配置生成 LocalBusiness 与 FAQPage 的 JSON-LD,并输出 canonical、Open Graph、Twitter 卡片、sitemap 与 robots.txt

03

默认不设置 Cookie、不发起第三方请求、不使用 Web 字体 CDN、不嵌入地图,附带隐私政策与法律声明页面

04

首页由九个可独立增删的区块组成:Hero、Services、About、Gallery、Reviews、CtaBanner、Faq、PracticalInfo、Contact

05

联系表单支持 mailto 回退、Formspree/Basin 等外部端点或自建后端,并带可配置字段名的蜜罐反垃圾字段

06

通过 src/styles/tokens.css 的 CSS 变量统一控制配色与排版,组件不直接使用原始颜色值

模板详细介绍

Chalet 是一个面向本地商户(面包店、餐厅、民宿、美发店、工坊等)的 Astro 官网模板。它的核心设计是把全部文案与业务数据集中到 src/config/site.ts 一个文件:身份信息、联系方式、营业时间、服务项目、评价、FAQ、首屏文案、法律信息与界面字符串都在这里,组件内不写死文本。首页由九个可独立增删的区块组成,包括首屏、服务卡片、关于、图库、评价、CTA 横幅、FAQ 手风琴、实用信息(营业时间表、地址、地图导航链接)与联系表单。SEO 方面,模板根据配置生成 schema.org/LocalBusiness 与 FAQPage 的 JSON-LD,并输出 canonical、Open Graph、Twitter 卡片、sitemap 与 robots.txt。隐私方面默认不设置 Cookie、不发起第三方请求、不使用 Web 字体 CDN、不嵌入地图,并附带隐私政策与法律声明页面。样式通过 src/styles/tokens.css 中的 CSS 变量控制调色板与排版,组件不直接使用原始颜色值。联系表单由 SITE.contact.endpoint 决定行为:留空时显示 mailto 按钮,填入 Formspree/Basin 等地址即可直接提交,也可指向自建后端;表单含蜜罐字段用于拦截机器人。语言方面每个站点一种语言,通过 SITE.lang 设置,仓库内附带一个完整的法语示例。构建产物为静态 HTML,使用系统字体与内联 SVG 图标,移动端菜单由一段很短的脚本驱动。

Astro企业官网

适合你的项目吗?

适用场景

  • 为面包店、餐厅、民宿、美发店或工坊等本地商户搭建展示型官网
  • 需要让 Google 读取营业时间、地址与 FAQ 结构化数据的单页站点
  • 对 EU 隐私合规有要求、希望避免 Cookie 横幅与第三方请求的静态站点
  • 以单一配置文件驱动内容、便于非开发者后续修改文案与业务信息的项目
  • 需要法语等单语言站点,可参考仓库内 examples/french-bakery/ 示例

适合人群

  • 本地服务型小微企业主或为其建站的开发者
  • 偏好静态输出、低维护成本官网的技术选型
  • 需要内置本地 SEO 结构化数据与隐私合规默认值的项目
  • 接受每个站点仅一种语言、多语言需多份部署的团队

上手与定制指南

结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。

  1. 1

    使用该仓库作为模板或克隆后执行 npm install,开发环境要求 Node >= 22.12,npm run dev 默认在 http://localhost:4321 启动,npm run build 生成静态站点到 dist/

  2. 2

    编辑 src/config/site.ts 填写身份、联系方式、营业时间、服务、评价、FAQ、首屏文案、法律信息与界面字符串

  3. 3

    在 src/styles/tokens.css 调整配色与排版;修改颜色后需自行核对对比度,注释中附带一套 alpine 配色示例

  4. 4

    替换 public/images/ 下的 SVG 占位图为真实照片(建议 AVIF/WebP、单张不超过 200 KB),并更新 public/robots.txt 中的 sitemap 地址为真实域名

  5. 5

    联系表单需在 SITE.contact.endpoint 填入 Formspree/Basin 地址或自建后端端点;留空则显示 mailto 按钮。部署到 Vercel、Netlify 或任意静态托管后,建议用 Rich Results Test 验证结构化数据并在 Google Search Console 提交 /sitemap-index.xml

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。

使用时需要遵守

  • 允许免费使用、修改、商用和分发该版本代码。
  • 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
  • 代码按现状提供;担保与责任限制以原许可证及适用法律为准。

额外费用与待核对事项

  • 联系表单若需真正提交,需在 SITE.contact.endpoint 填入 Formspree 或 Basin 等第三方表单服务的地址,属于外部服务依赖;留空时仅显示 mailto 按钮。
  • 也可将表单指向自建后端端点,需自行提供可接收传统表单 POST 的服务,模板本身不含后端。
  • 每个站点仅支持一种语言,多语言站点需用两份配置分别部署;原生 i18n 路由尚未实现,仅在路线图中。
  • 仓库内图片为 SVG 占位图,需自行替换为真实照片并注意体积;模板不提供可直接商用的图片素材。
  • 隐私政策与法律声明页面为通用文本,需按所在司法辖区自行调整,不构成法律合规保证。
  • README 提及 Formspree 表单服务;真实提交需配置服务端点,其使用额度与费用需单独核对。
  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据

Permission is hereby granted, free of charge

许可证原文

A **Formspree/Basin URL** — the form works immediately, no backend.

README 原文

**Your own backend** — any endpoint accepting a classic form POST.

README 原文

One language per site (set `SITE.lang`). For a bilingual site, the simplest route today is two deployments with two config files; native i18n routing is on the roadmap.

README 原文

replace the SVG placeholders with real photos (keep the same file names or update the paths in `site.ts`). Recommended: AVIF/WebP, ≤ 200 KB each.

README 原文

adapt the prose to your jurisdiction (French versions in `examples/french-bakery/`).

README 原文
https://github.com/M4xKey/astro-chalet/blob/master/LICENSEhttps://github.com/M4xKey/astro-chalet/blob/master/README.md

DeepSeek 根据仓库许可证和 README 整理 ·2026-10-02。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。

项目核对记录与介绍依据

模板资料

来源平台
GitHub
资料与维护参考分
资料较完整 · 83 / 100
技术栈
Astro
网站类型
企业官网
这个分数如何计算

本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。

这个项目需要核对什么

记录的仓库更新时间
2026-07-16
截图检查日期
2026-10-02

已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。

目录记录的主要技术栈是 Astro。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。

查看具体选型方法 →

介绍的制作与核对状态

介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。

已完成服务器许可规则与 AI 来源核对;未经过人工编辑审核。

查看当时使用的来源资料

SHA-256: a456568fb30f27703ad1b5cd4f8586badf339b8c615202957f3d15176a0fdd00

2026-10-02T16:52:04.309Z

来源文件 / 仓库
# Chalet 🏔️

**The Astro theme for local businesses.**

Built in the Chamonix valley and battle-tested on real small-business sites,
Chalet gets a bakery, restaurant, guesthouse, salon or workshop online in a
day — with the local SEO and privacy boxes already ticked.

> **One config file. Local SEO built in. GDPR-ready. No cookies, no trackers,
> (almost) no JavaScript.**

[Live demo](https://astro-chalet.vercel.app) · [Changelog](CHANGELOG.md) · MIT license

![Chalet theme screenshot](docs/screenshot.png)

## Why Chalet?

Most themes are built for startups and portfolios. Local businesses have
different needs: show up on Google Maps, publish opening hours that Google can
read, collect quote requests, and stay on the right side of EU privacy rules —
all without a maintenance burden.

- **Everything is one file.** All copy, contact details, opening hours,
  services, reviews, FAQ and legal info live in `src/config/site.ts`.
  Components contain zero hard-coded text.
- **Local SEO that actually works.** `schema.org/LocalBusiness` and `FAQPage`
  JSON-LD generated from your config, canonical URLs, Open Graph, Twitter
  cards, sitemap and robots.txt.
- **GDPR-friendly by default.** No cookies, no third-party requests, no web
  font CDN, no embedded maps. Privacy policy and legal notice pages included.
  For most brochure sites this means **no cookie banner needed**.
- **Fast by design.** Static HTML, system fonts, inline SVG icons, one ~10-line
  script for the mobile menu. Built to score ~100 across Lighthouse.
- **Designed to sell.** Dramatic dark hero with trust badges, aggregate
  review score computed from your reviews, hover micro-interactions and
  pure-CSS scroll reveals (zero JavaScript, reduced-motion friendly).
- **Any language.** Every UI string is in the config too — translate one file
  to ship the site in French, German, Italian... A complete French example is
  included in [`examples/french-bakery/`](examples/french-bakery/).
- **Accessible.** Skip link, visible focus states, reduced-motion support,
  WCAG AA color contrast, semantic markup.

## Quick start

```bash
# Use this repo as a template (or clone it), then:
npm install     # Node >= 22.12
npm run dev     # http://localhost:4321
npm run build   # generates the static site in dist/
```

## Make it yours — checklist

1. **`src/config/site.ts`** — the ONE file. Identity, contact details,
   opening hours, services, reviews (copied from your Google profile), FAQ,
   hero copy, legal info, UI strings.
2. **`src/styles/tokens.css`** — the palette and typography. Colors are named
   by role; an alternative "alpine" palette ships in a comment so you can see
   how re-theming works. Check contrast if you change colors
   ([WebAIM checker](https://webaim.org/resources/contrastchecker/)).
3. **`public/images/`** — replace the SVG placeholders with real photos (keep
   the same file names or update the paths in `site.ts`). Recommended:
   AVIF/WebP, ≤ 200 KB each.
4. **`public/robots.txt`** — set the sitemap URL to your real domain.
5. **`src/pages/index.astro`** — reorder or remove sections (one line each).
6. **`src/pages/legal-notice.astro` / `privacy-policy.astro`** — adapt the
   prose to your jurisdiction (French versions in `examples/french-bakery/`).
7. **Deploy** — Vercel, Netlify or any static host: import the repo, the
   framework is auto-detected. Then plug in your domain.

## Sections

Nine modular sections, assembled in `src/pages/index.astro`:

| Section | What it does |
|---|---|
| `Hero` | First screen: eyebrow, headline, two CTAs, LCP-optimized image |
| `Services` | 3–6 cards with inline SVG icons (see `Icon.astro` to add your own) |
| `About` | The story of the business — text + photo |
| `Gallery` | Lazy-loaded image grid with a gentle hover zoom |
| `Reviews` | Google reviews with SVG star ratings + link to the profile |
| `CtaBanner` | Accent-colored banner with one clear call to action |
| `Faq` | Native `<details>` accordion + FAQPage JSON-LD for rich results |
| `PracticalInfo` | Opening hours table + address + Google Maps directions link |
| `Contact` | Form with honeypot anti-spam, or mailto fallback |

## The contact form

`SITE.contact.endpoint` controls the behavior:

- `""` (default) — no broken form: a prominent **mailto button** is shown.
- A **Formspree/Basin URL** — the form works immediately, no backend.
- **Your own backend** — any endpoint accepting a classic form POST. The
  hidden honeypot field (name configurable via `contact.honeypotField`) lets
  your backend silently reject bots that fill it in.

## SEO after launch

- Validate the structured data with the
  [Rich Results Test](https://search.google.com/test/rich-results) —
  LocalBusiness and FAQPage should both be detected.
- Declare the site in Google Search Console and submit `/sitemap-index.xml`.
- Add the site URL to the business's Google Business Profile.

## FAQ

**Why system fonts instead of a nice web font?**
Zero download = faster first paint, and no Google Fonts CDN request (which EU
courts have ruled a GDPR issue). To use a brand font, self-host it with
`@font-face` + `font-display: swap` and update `--font-heading`/`--font-body`
in `tokens.css`.

**Where do I change the colors?**
`src/styles/tokens.css` — ten CSS variables re-theme the whole site.
Components never use raw color values.

**Can I use it for a client project?**
Yes — MIT license. Attribution appreciated, never required.

**Does it support multiple languages on one site?**
One language per site (set `SITE.lang`). For a bilingual site, the simplest
route today is two deployments with two config files; native i18n routing is
on the roadmap.

## License

[MIT](LICENSE) © 2026 Antoine Grange.
Built in Chamonix-Mont-Blanc, at the foot of the mountain. 🥖
反馈内容错误

看看同类模板

对比同技术栈与用途的模板,找到更适合的视觉与内容结构。