九个页面覆盖首页、关于、定价、博客、联系、条款、隐私与 404
lapse-astro — Astro SaaS模板
作者 agnilem
Lapse 是一个面向 AI 与 SaaS 产品的 Astro 深色主题,包含九个页面、滚动驱动的动效区块、Markdown 博客与联系表单,静态输出且不依赖 UI 框架。
看看你的网站会是什么样
浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。
全部页面与视图 3
截图用于了解视觉与布局,交互效果请以实际项目为准。
值得关注的模板亮点
从已有项目资料中,快速了解它的特点。
滚动固定区块与 WebGL 粒子、碎片场等动效由原生 JavaScript 模块按需加载
博客使用 Markdown 文件,支持提示块、编号步骤与图表,文件名即文章 URL
内容集中在 JSON 与 Markdown 中,颜色和字号通过 CSS 自定义属性统一调整
遵循 prefers-reduced-motion,关闭 JavaScript 时页面内容仍可正常阅读
字体通过 Fontsource 自托管,构建输出为静态文件
模板详细介绍
Lapse 是一个以深色视觉和滚动动效为特点的 Astro 主题,面向 AI 与 SaaS 产品的展示型站点。它提供九个页面:首页、关于、定价、博客列表与文章页、联系、条款、隐私和 404。首页由 hero(含产品截图与三张统计卡)、"What changes"、"How it works"、定价、推荐语、FAQ 和最新文章组成;关于页包含 logo 滚动条、规则行与团队切换;定价页有月付/年付切换、粘性对比表和 FAQ;博客支持分类标签、近期文章悬停手风琴以及带提示块、编号步骤和图表的 Markdown 文章。
动效由原生 JavaScript 模块实现,通过 data-fx 属性按需加载,没有 UI 框架运行时。滚动固定区块、WebGL 线条场上的垂直走马灯、由 45,000 个粒子构成且可被光标推动的收尾 CTA,以及 404 页的 WebGL 碎片场都属于这一类。主题遵循 prefers-reduced-motion,并在关闭 JavaScript 时保持页面内容可读。字体 Figtree、Fragment Mono 和 Climate Crisis 通过 Fontsource 自托管。
内容与样式分离:站点导航、收尾 CTA 和页脚在 src/content/site.json,各页文案在 src/content/pages/*.json,套餐与价格在 src/content/plans.json,博客文章为 src/content/blog/*.md,文件名即 URL。颜色与字号刻度是 tokens.css 和 global.css 中的自定义属性,组件各自维护样式。内容 schema 在构建时校验字段。
限制方面:联系表单依赖外部表单服务端点,未配置时只展示发送、已发送和错误状态;演示图片、字体、图标等第三方素材需按各自许可单独核对;域名、托管、分析等外部服务可能产生费用。
适合你的项目吗?
适用场景
- 为 AI 或 SaaS 产品搭建包含定价与博客的营销站点
- 需要滚动动效和 WebGL 视觉表现的产品落地页
- 以 Markdown 维护文章、以 JSON 维护页面文案的内容型站点
- 部署到任意静态托管平台的产品展示页
适合人群
- 需要深色、动效导向视觉风格的 AI 与 SaaS 产品团队
- 希望用 Astro 静态输出且不引入 UI 框架的前端开发者
- 以 JSON 和 Markdown 管理站点内容、需要构建期字段校验的项目
上手与定制指南
结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。
- 1
运行 npm install 安装依赖,npm run dev 在本地 4321 端口启动,npm run build 输出到 dist/
- 2
在 astro.config.mjs 中把 site 设为自有域名,以便规范链接和社交图片指向正确地址
- 3
联系表单需设置 PUBLIC_FORM_ENDPOINT 指向 Formspree、Basin 或自建 API,未设置时仅展示表单状态
- 4
可选环境变量 PUBLIC_VERCEL_ANALYTICS 与 PUBLIC_STORE_BADGE 默认关闭,按需在 .env 中开启
- 5
部署时导入仓库并保留默认配置,或直接发布 npm run build 生成的 dist/ 目录
授权与来源资料
使用条件与限制
免费使用 · 保留许可声明本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。
使用时需要遵守
- 允许免费使用、修改、商用和分发该版本代码。
- 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
- 代码按现状提供;担保与责任限制以原许可证及适用法律为准。
额外费用与待核对事项
- README 提及 Formspree 表单服务;真实提交需配置服务端点,其使用额度与费用需单独核对。
- 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
- 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
- 联系表单需配置外部表单服务端点(如 Formspree、Basin 或自建 API);未设置该环境变量时,表单仅展示发送、已发送和错误状态,不会真正提交数据。
- 启用该变量会加载 Vercel Web Analytics 与 Speed Insights,属于第三方外部服务,可能涉及账号与费用。
- 字体 Figtree、Fragment Mono 和 Climate Crisis 采用 SIL Open Font License 1.1,与项目 MIT 代码许可不同,需按各自许可单独遵守。
查看原文依据
Permission is hereby granted, free of charge
许可证原文
| `PUBLIC_FORM_ENDPOINT` | URL the contact form posts to (Formspree, Basin, your own API). Unset, the form only shows its states. |
README 原文
| `PUBLIC_VERCEL_ANALYTICS` | `true` loads Vercel Web Analytics and Speed Insights |
README 原文
https://github.com/agnilem/lapse-astro/blob/main/LICENSEhttps://github.com/agnilem/lapse-astro/blob/main/README.mdFonts: Figtree, Fragment Mono and Climate Crisis, SIL Open Font License 1.1.
README 原文
DeepSeek 根据仓库许可证和 README 整理 ·2026-10-04。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。
项目核对记录与介绍依据
模板资料
- 来源平台
- GitHub
- 资料与维护参考分
- 资料较完整 · 80 / 100
- 技术栈
- Astro
- 网站类型
- SaaS
这个分数如何计算
本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。
这个项目需要核对什么
- 记录的仓库更新时间
- 2026-10-04
- 截图检查日期
- 2026-10-04
已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。
目录记录的主要技术栈是 Astro。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。
查看具体选型方法 →介绍的制作与核对状态
介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。
审核声明: [email protected] · 2026-10-05
查看当时使用的来源资料
SHA-256: fe8617aa4e9b733f9d266d6149391d045de4e3267c880f9375254c4c8156b708
2026-10-04T20:28:05.068Z
来源文件 / 仓库# Lapse, an Astro theme for AI and SaaS products
A dark, motion-led, nine-page site for an AI product: scroll-pinned sections that explain what the product changes and how it works, a pricing page with a plan comparison, a Markdown blog, and a contact form. Static output, no UI framework: every interaction is a small vanilla JavaScript module.
Live demo: [lapse.startfrom.co](https://lapse.startfrom.co)
## Features
- Hero with a product screenshot and three stat cards
- "What changes": a pinned section whose four cards slide sideways as you scroll, each with a small UI panel
- "How it works": a pinned stage where four step cards fly in and out, with the step number lighting up
- Pricing with a monthly and annual toggle, a sticky comparison table (tabs on tablet and phone) and an FAQ
- Testimonials on an endless vertical ticker over an animated WebGL line field
- A closing call to action whose image is rebuilt from 45,000 particles the cursor can push and fling
- About page with a logo ticker, a pinned "rules" row and a team switcher with spring motion
- Blog with category tabs, a hover accordion of recent posts, and Markdown articles with callouts, numbered steps and figures
- Contact form with sending, sent and error states
- A WebGL shard field on the 404: the stream parts around the cursor, clicks send shockwave rings, press and hold gathers the shards into a cloud
- Honours `prefers-reduced-motion`; every page reads correctly with JavaScript off
- Figtree, Fragment Mono and Climate Crisis, self-hosted through Fontsource
## Getting started
```sh
npm install
npm run dev # http://localhost:4321
npm run build # outputs to dist/
npm run preview # serves dist/
```
## Pages
| Route | What it is |
| --- | --- |
| `/` | hero, what changes, how it works, pricing, testimonials, FAQ, latest posts |
| `/about` | story, logos, rules, team |
| `/pricing` | plans, comparison table, FAQ |
| `/blog` | featured post, category tabs, post grid |
| `/blog/[slug]` | one page per file in `src/content/blog/` |
| `/contact` | contact form and next steps |
| `/terms`, `/privacy` | legal pages |
| `/404` | not found |
The closing call to action and footer appear on every page except the 404.
## Editing content
- `src/content/site.json`: navigation, closing call to action and footer.
- `src/content/pages/*.json`: the copy for each page, one file per page.
- `src/content/plans.json`: plans, prices (monthly and annual) and features, shared by the home and pricing pages.
- `src/content/blog/*.md`: one file per post; the filename is the URL. The frontmatter holds the card fields (title, category, date, read time, excerpt, cover, author). The body is Markdown: a blockquote whose first line is bold becomes a callout, an ordered list becomes numbered steps, and `<figure class="figure">` draws a bar chart. The schema in `src/content.config.ts` fails the build on a typo.
- Images live in `public/assets/`.
- Colours and the type scale are custom properties in `src/styles/tokens.css` and `src/styles/global.css`. Each component keeps its own styles.
## Project structure
```
src/
components/ Nav, Footer (CTA + footer), StoreBadge
sections/ one component per page section
blog/ post meta and badges
ui/ Button, Icon, ContactSubmit
content/ site.json, plans.json, pages/, blog/
icons/ SVG icons
layouts/Base.astro head, nav, footer, scripts
lib/ blog helpers, links
pages/ routes
scripts/entry.js loads each effect on demand from data-fx="name"
scripts/fx/ one module per behaviour
styles/ tokens.css, global.css
```
## Environment variables
All optional and off by default. See `.env.example`.
| Variable | Effect |
| --- | --- |
| `PUBLIC_FORM_ENDPOINT` | URL the contact form posts to (Formspree, Basin, your own API). Unset, the form only shows its states. |
| `PUBLIC_VERCEL_ANALYTICS` | `true` loads Vercel Web Analytics and Speed Insights |
| `PUBLIC_STORE_BADGE` | `true` shows the fixed store badge in the corner |
## Deploy
Any static host works: build with `npm run build` and publish `dist/`. On Vercel or Netlify, import the repository and keep the defaults. Set `site` in `astro.config.mjs` to your domain so canonical URLs and social images point at it.
## Licence
MIT, see `LICENSE`. Every effect is original code with no runtime dependencies.
Fonts: Figtree, Fragment Mono and Climate Crisis, SIL Open Font License 1.1.
看看同类模板
对比同技术栈与用途的模板,找到更适合的视觉与内容结构。

astro-theme-stone
Stone is a free and open-source Astro theme specially designed for Business, Marketing, SaaS and Startup websi…
Astro · SaaS

pinwheel-astro
Pinwheel is a multipurpose SaaS theme built with Astro and TailwindCSS.
Astro · SaaS

bigspring-light-astro
Bigspring is a highly customizable Astro theme designed specifically for SaaS & marketing websites.
Astro · 博客

Astro-idol
Idol is an elegant landing page template for micro SaaS products built with AstroJS & Skeleton CSS
Astro · SaaS

automark-astro
Automark is an Astro theme specifically crafted for GoHighLevel White-Label SaaS resellers and agencies.
Astro · SaaS

mizu-light-astro-theme
Mizu Light is a product launch template designed specifically for modern SaaS products, digital launches, and …
Astro · 博客
