以 HTML 为唯一事实来源,结构、内容与行为分离
astro-baseline — Astro 启动器模板
作者 alexandredesane
Astro Baseline 是一个以 HTML 为核心的 Astro 启动器,默认不引入 UI 框架和运行时 JavaScript,提供布局、SEO、无障碍与分层 CSS 的基础结构。
看看你的网站会是什么样
浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。
全部页面与视图 3
截图用于了解视觉与布局,交互效果请以实际项目为准。
值得关注的模板亮点
从已有项目资料中,快速了解它的特点。
默认不包含 UI 组件库,也不默认输出运行时 JavaScript
集中式 SEO 组件,支持规范链接、Open Graph、Twitter 卡片与可选 JSON-LD
分层 CSS 架构,不使用框架,默认也不使用 Tailwind,便于替换或扩展
内置跳过链接、语义化 HTML 与可聚焦主内容等无障碍基础
站点元数据集中在 site.ts,避免在页头、页脚和页面间重复
模板详细介绍
Astro Baseline 是一个面向开发者的 Astro 启动模板,定位为干净的基础结构而非框架演示。它遵循“HTML 是唯一事实来源”的原则:结构写在 .astro 文件中,内容放在数据文件(如 site.ts、Markdown、YAML)里,行为按需显式引入,CSS 采用可预测的分层组织。模板默认不包含 UI 组件库,也不默认输出运行时 JavaScript。
在结构方面,它提供 Base.astro 布局系统、页头与页脚组件、跳过导航链接、404 页面以及可预期的文件组织方式。SEO 方面包含集中管理的 SEO.astro 组件,覆盖规范链接、Open Graph 与 Twitter 卡片、可选的 JSON-LD、robots meta 和主题色。无障碍方面提供跳过链接、语义化 HTML、可聚焦的主内容区域,且不依赖仅 JavaScript 可用的交互。
CSS 不使用框架,默认也不使用 Tailwind,而是按 tokens、reset、fonts、behaviors、structure 等分层文件组织,便于删除、替换或扩展。字体从 /public/fonts 提供,通过显式 @font-face 声明,默认不依赖外部字体服务。站点元数据集中在 src/content/site.ts,供页头、页脚、SEO、页面和 JSON-LD 统一使用。布局通过 title、description、canonicalPath、mainCentered 等属性显式声明意图,JSON-LD 仅在传入时渲染。
使用前需要配置 SITE_URL 环境变量,可从 .env.example 复制为 .env 并填写域名,用于规范链接、JSON-LD 和 SEO 一致性。模板明确说明不适合页面构建器、无代码工具或追求开箱即用 UI 套件与重度交互的场景。
适合你的项目吗?
适用场景
- 需要干净 Astro 基础结构、自行决定 UI 与交互方案的项目
- 重视 SEO 与无障碍基础、希望从语义化 HTML 起步的站点
- 希望用数据文件集中管理站点元数据与导航的网站
- 计划按需引入 Web Components、Alpine.js 等内容集合或渐进增强方案的项目
适合人群
- 偏好 HTML 而非抽象层、愿意自行组织样式的开发者
- 需要可预测文件结构与明确关注点分离的 Astro 项目
- 希望 SEO、无障碍和字体配置有现成起点但不想被框架绑定的团队
上手与定制指南
结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。
- 1
从 .env.example 复制出 .env,并将 SITE_URL 设置为实际域名
- 2
SITE_URL 用于规范链接、JSON-LD 和 SEO 一致性,需在部署前确认
- 3
字体文件放在 /public/fonts,并通过显式 @font-face 声明
- 4
JSON-LD 为按需启用,仅在向布局传入 jsonLd 时才会渲染
- 5
演示图片、字体、图标等第三方素材需按各自许可单独核对
授权与来源资料
使用条件与限制
免费使用 · 保留许可声明本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。
使用时需要遵守
- 允许免费使用、修改、商用和分发该版本代码。
- 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
- 代码按现状提供;担保与责任限制以原许可证及适用法律为准。
额外费用与待核对事项
- 使用前必须配置 SITE_URL 环境变量(可从 .env.example 复制为 .env),用于规范链接、JSON-LD 与 SEO 一致性;未设置该变量时相关 SEO 输出无法正确生成。
- 模板默认不包含 UI 组件库,也不默认输出运行时 JavaScript;若需要开箱即用的 UI 套件或重度交互,需自行引入第三方方案,本模板不提供。
- 不适用于页面构建器、无代码工具或期望“五分钟安装即上线”的演示场景;使用前需具备 Astro 与手写 HTML/CSS 能力。
- 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
- 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据
Permission is hereby granted, free of charge
许可证原文
Astro Baseline expects the following environment variable: `SITE_URL=https://example.com`
README 原文
If you want a UI kit or heavy interactivity out of the box, this is not for you.
README 原文
https://github.com/alexandredesane/astro-baseline/blob/main/LICENSEhttps://github.com/alexandredesane/astro-baseline/blob/main/README.md- Page builders - No-code tools - “Install and ship in 5 minutes” demos
README 原文
DeepSeek 根据仓库许可证和 README 整理 ·2026-10-04。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。
项目核对记录与介绍依据
模板资料
- 来源平台
- Astro Themes
- 资料与维护参考分
- 资料较完整 · 92 / 100
- 技术栈
- Astro · HTML
- 网站类型
- 启动器
这个分数如何计算
本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。
这个项目需要核对什么
- 记录的仓库更新时间
- 2026-01-26
- 截图检查日期
- 2026-10-04
已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。
目录记录的主要技术栈是 Astro。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。
查看具体选型方法 →介绍的制作与核对状态
介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。
审核声明: [email protected] · 2026-10-04
查看当时使用的来源资料
SHA-256: 0135f6405ae3f409d6e05c04dd8f56181a34856b8ed362cf31ca93e87a8131cc
2026-10-04T00:45:26.812Z
来源文件 / 仓库# Astro Baseline
A boring, production-ready Astro starter.
Astro Baseline is an HTML-first starter designed for developers who want a clean foundation, not a framework demo.
No UI kit.<br>
No runtime JavaScript by default.<br>
No magic.
Just solid structure, senior defaults, and a clear separation of concerns.
## Philosophy
Astro Baseline follows a simple rule:
**HTML is the source of truth.**
- Structure lives in `.astro` files
- Content lives in data (`site.ts`, Markdown, YAML, etc.)
- Behavior is opt-in and explicit
- CSS is boring, predictable, and layered
This starter is meant to disappear once you start building.
## What you get
### Structure
- Clean layout system (`Base.astro`)
- Header / Footer components
- Skip link for accessibility
- 404 page included
- Predictable file organization
### SEO (done properly)
- Centralized SEO.astro component
- Canonical URLs
- Open Graph & Twitter cards
- JSON-LD support (opt-in, per page)
- Robots meta handling
- Theme color
### Accessibility basics
- Skip link (SkipLink.astro)
- Semantic HTML
- Focusable main content
- No JS-only interactions
### CSS architecture
No framework. No Tailwind by default.
Layered CSS structure:
```
src/styles/
├─ global.css
├─ partials/
│ ├─ tokens.css // design tokens (colors, spacing, fonts)
│ ├─ reset.css // minimal reset
│ ├─ fonts.css // @font-face declarations
│ ├─ behaviors.css // behavior-related CSS (x-dialog, etc.)
│ └─ structure.css // layout & base styles
```
- BEM-friendly
- Easy to delete or replace
- Easy to extend
### Fonts
- Fonts served from `/public/fonts`
- Explicit @font-face
- No external font dependency by default
### Configuration as data
All site metadata lives in one place:
```
// src/content/site.ts
export const site = {
name,
tagline,
description,
url,
locale,
author,
nav,
seo
};
```
Used consistently across:
- Header
- Footer
- SEO
- Pages
- JSON-LD
No duplication.
## Layout API
The layout is explicit and declarative.
Example:
```
<Base
title="Contact"
description="Get in touch"
canonicalPath="/contact"
mainCentered
>
...
</Base>
```
Supported layout flags:
- `mainCentered` (example)
- Easy to extend (`mainWide`, `mainNarrow`, etc.)
The layout never guesses.
Pages declare intent.
## JSON-LD (opt-in)
JSON-LD is rendered only if provided.
Example:
```
const jsonLd = {
"@context": "https://schema.org",
"@type": "WebSite",
name: site.name,
url: site.url
};
```
Passed directly to the layout:
`<Base jsonLd={jsonLd}>`
No JSON-LD pollution by default.
## Environment
Astro Baseline expects the following environment variable:
`SITE_URL=https://example.com`
Create a `.env` file:
`cp .env.example .env`
Update `SITE_URL` with your domain.
Used for:
- Canonical URLs
- JSON-LD
- SEO consistency
Documented, explicit, predictable.
## Who this is for
This starter is for developers who:
- Prefer HTML over abstractions
- Care about SEO and accessibility
- Want a clean base, not opinions forced on them
- Are tired of over-engineered starters
If you want a UI kit or heavy interactivity out of the box, this is not for you.
## Who this is not for
- Page builders
- No-code tools
- “Install and ship in 5 minutes” demos
- Framework-centric mental models
## Extending Astro Baseline
Astro Baseline is designed to pair naturally with:
- **Astro Content Collections**
- **Build-time tools** (e.g. Frontmatter Core)
- **HTML-first behavior layers** (e.g. Web Components, Alpine.js)
- **Progressive enhancement**
You add complexity only when you need it.
## License
MIT
Do whatever you want.
Build good websites.
## Final note
Astro Baseline is intentionally boring.
That’s the point.
If you never think about this starter again once your project starts, it did its job.
看看同类模板
对比同技术栈与用途的模板,找到更适合的视觉与内容结构。

astrowind
⭕️ AstroWind: A free template using Astro v7 and Tailwind CSS v4. Astro starter theme.
Astro · 博客
accessible-astro-starter
Accessible Astro Starter 是一个以无障碍为核心理念的 Astro 6 启动模板,由 incluud 团队维护。
Astro · 博客

astro-erudite
An opinionated, unstyled static blogging template built with Astro and native CSS.
Astro · 作品集

astro-shopify
astro-shopify 是一个面向开发者的轻量级电商启动模板,用于构建基于 Shopify 的无头店面。
Astro · 电商

brutal
A neobrutalism Astro starter theme
Astro · 启动器

qwind
⭕️ Qwind: A template to make your website using Qwik + Tailwind CSS.
Astro · 工具站
