AstroHTML启动器

astro-baseline — Astro 启动器模板

作者 alexandredesane

Astro Baseline 是一个以 HTML 为核心的 Astro 启动器,默认不引入 UI 框架和运行时 JavaScript,提供布局、SEO、无障碍与分层 CSS 的基础结构。

看看你的网站会是什么样

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

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

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

全部页面与视图 3

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

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

值得关注的模板亮点

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

01

以 HTML 为唯一事实来源,结构、内容与行为分离

02

默认不包含 UI 组件库,也不默认输出运行时 JavaScript

03

集中式 SEO 组件,支持规范链接、Open Graph、Twitter 卡片与可选 JSON-LD

04

分层 CSS 架构,不使用框架,默认也不使用 Tailwind,便于替换或扩展

05

内置跳过链接、语义化 HTML 与可聚焦主内容等无障碍基础

06

站点元数据集中在 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 套件与重度交互的场景。

AstroHTML启动器

适合你的项目吗?

适用场景

  • 需要干净 Astro 基础结构、自行决定 UI 与交互方案的项目
  • 重视 SEO 与无障碍基础、希望从语义化 HTML 起步的站点
  • 希望用数据文件集中管理站点元数据与导航的网站
  • 计划按需引入 Web Components、Alpine.js 等内容集合或渐进增强方案的项目

适合人群

  • 偏好 HTML 而非抽象层、愿意自行组织样式的开发者
  • 需要可预测文件结构与明确关注点分离的 Astro 项目
  • 希望 SEO、无障碍和字体配置有现成起点但不想被框架绑定的团队

上手与定制指南

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

  1. 1

    从 .env.example 复制出 .env,并将 SITE_URL 设置为实际域名

  2. 2

    SITE_URL 用于规范链接、JSON-LD 和 SEO 一致性,需在部署前确认

  3. 3

    字体文件放在 /public/fonts,并通过显式 @font-face 声明

  4. 4

    JSON-LD 为按需启用,仅在向布局传入 jsonLd 时才会渲染

  5. 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 原文

- Page builders - No-code tools - “Install and ship in 5 minutes” demos

README 原文
https://github.com/alexandredesane/astro-baseline/blob/main/LICENSEhttps://github.com/alexandredesane/astro-baseline/blob/main/README.md

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.
反馈内容错误

看看同类模板

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