Astro博客SaaS企业官网

parley-astro — Astro 博客模板

作者 agnilem

Parley 是一个基于 Astro 的免费 AI 代理与 SaaS 网站模板,采用 MIT 许可,包含 22 个页面、内容集合和博客系统。

看看你的网站会是什么样

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

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

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

全部页面与视图 3

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

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

值得关注的模板亮点

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

01

22 个页面,覆盖首页、工作流、定价、博客、条款、等待列表等常见站点结构

02

使用 Astro 内容集合管理博客文章与重复文案,编辑一处即可同步多个展示位置

03

内置可选 Sveltia CMS 管理界面,支持本地仓库编辑,也可配置 GitHub OAuth 用于生产

04

样式系统基于 CSS 自定义属性,包含颜色令牌、类型比例和断点,不依赖 CSS 或 UI 框架

05

动效使用 CSS linear() 缓动实现,并在 prefers-reduced-motion 下自动降级

06

MIT 许可,允许免费使用、修改、商用和分发该版本代码

模板详细介绍

Parley 是面向 AI 初创公司、SaaS 创始人和团队的产品展示型网站模板,使用 Astro 构建,输出静态站点。它提供 22 个路由,覆盖首页、工作流、定价、联系、博客、条款、等待列表和 404 等页面,并内置内容集合用于管理重复出现的文案与数据。模板采用暖色编辑风格,与常见的深色霓虹 AI 站点形成区分。

代码结构清晰:布局分为 Base、Bare 和 Head;每个页面区块对应独立组件;样式通过 tokens.css、global.css 和 pages.css 组织;行为模块位于 scripts 目录,并按 prefers-reduced-motion 设置降级。博客文章以 Markdown 存储,通过 Astro 的 glob() 集合加载,索引卡片、相关文章和站点地图共用同一数据源。

模板附带可选的 Sveltia CMS 管理界面,位于 /admin/,本地开发时可选择“Work with Local Repository”进行编辑;生产环境需配置仓库和 GitHub OAuth 应用。表单提交依赖 PUBLIC_FORM_ENDPOINT 环境变量,未设置时提交不会发送,仅显示成功状态。Vercel 分析仅在设置 PUBLIC_VERCEL_ANALYTICS 时启用。

使用限制:模板是演示品牌,需自行连接表单、分析和服务后再上线;演示图片、字体、图标等第三方素材的许可需单独核对,不能仅凭代码的 MIT 许可判断;域名、托管、数据库、支付或 AI 等外部服务可能产生额外费用。

Astro博客SaaS企业官网

适合你的项目吗?

适用场景

  • 为 AI 代理或 SaaS 产品搭建产品介绍与营销页面
  • 需要博客、定价对比、工作流展示和联系表单的静态站点
  • 希望以 Markdown 管理文章并通过内容集合驱动页面展示
  • 需要可选的轻量 CMS 界面进行本地或远程内容编辑
  • 部署到 Vercel 并可选启用 Vercel 分析与速度洞察

适合人群

  • AI 初创公司或 SaaS 团队的产品官网
  • 需要博客与内容集合的 Astro 项目
  • 偏好静态输出、无 CSS/UI 框架依赖的开发者
  • 希望使用 MIT 许可模板并自行替换品牌素材的团队

上手与定制指南

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

  1. 1

    运行 npm install 安装依赖,npm run dev 启动本地开发服务器(localhost:4321),npm run build 生成静态输出到 dist/

  2. 2

    表单提交需设置 PUBLIC_FORM_ENDPOINT 环境变量;未设置时提交不会发送,仅显示成功状态

  3. 3

    Vercel 分析需设置 PUBLIC_VERCEL_ANALYTICS 环境变量;未设置时构建产物不包含 _vercel 引用

  4. 4

    可选管理界面位于 /admin/,本地运行 npm run dev 后打开并选择“Work with Local Repository”;生产编辑需在 public/admin/config.yml 设置仓库并注册 GitHub OAuth 应用,不需要时可删除 public/admin/

  5. 5

    演示图片、字体、图标等第三方素材需按各自许可核对;模板为演示品牌,上线前应连接自己的表单、分析和服务

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

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

使用时需要遵守

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

额外费用与待核对事项

  • 该模板仅为演示品牌,上线前必须自行接入表单、分析及其他外部服务,不能直接作为成品站点发布。
  • 若要在生产环境使用 CMS 编辑功能,需自行配置仓库并注册 GitHub OAuth 应用,涉及第三方账号与配置。
  • 表单提交依赖 PUBLIC_FORM_ENDPOINT 环境变量;未设置时提交不会真正发送,仅显示成功状态。
  • Vercel 分析与速度洞察仅在设置 PUBLIC_VERCEL_ANALYTICS 时启用,否则构建产物不含相关引用。
  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据

Permission is hereby granted, free of charge

许可证原文

Parley is a template and demonstration brand. Connect your own forms, analytics and services before launch.

README 原文

For production editing, set your repo in `public/admin/config.yml` and register a GitHub OAuth app.

README 原文

The contact and waitlist forms post their fields as JSON to `PUBLIC_FORM_ENDPOINT`. Leave it unset and submissions stay in the browser:

README 原文

`@vercel/analytics` and `@vercel/speed-insights` mount only when `PUBLIC_VERCEL_ANALYTICS` is set

README 原文
https://github.com/agnilem/parley-astro/blob/main/LICENSEhttps://github.com/agnilem/parley-astro/blob/main/README.md

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

项目核对记录与介绍依据

模板资料

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

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

这个项目需要核对什么

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

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

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

查看具体选型方法 →

介绍的制作与核对状态

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

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

查看当时使用的来源资料

SHA-256: c34dc4a6c4b787cd18f59fc964416e1198153c16768ef6811ff70579c2f84f43

2026-10-02T08:10:05.408Z

来源文件 / 仓库
# Parley — Astro

A modern AI agent template built on one idea: AI that works with you, not
just for you.

Parley is for AI startups, SaaS founders, and teams that want a site that
reads like a real product rather than a side project. A warm, editorial
aesthetic that stands apart from the sea of dark, neon AI sites, with the
structure to turn visitors into trials.

Free, MIT licensed.

Live: [https://parley.startfrom.co/](https://parley.startfrom.co/)

[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fagnilem%2Fparley-astro&project-name=parley&repository-name=parley&demo-title=Parley&demo-description=A%20warm%2C%20editorial%20AI%20agent%20and%20SaaS%20template%20built%20with%20Astro.&demo-url=https%3A%2F%2Fparley-astro.vercel.app&demo-image=https%3A%2F%2Fparley-astro.vercel.app%2Fassets%2Fog-image.jpg)

```sh
npm install
npm run dev        # localhost:4321
npm run build      # static output in dist/
```

Astro 7, `output: 'static'`, no CSS framework, no UI framework.

The artwork and logos ship with it under the same licence, though most people
will swap them for their own.

Parley is a template and demonstration brand. Connect your own forms,
analytics and services before launch.

## Deploy

Click **Deploy with Vercel** above. It clones the repo to your GitHub account
and deploys it with the Astro preset: no environment variables required.

The two optional variables, `PUBLIC_FORM_ENDPOINT` and
`PUBLIC_VERCEL_ANALYTICS`, can be added later in the project settings.

## Routes (22)

| Route | What it is |
| --- | --- |
| `/` | hero, logo strip, benefit cards, delegation tabs, testimonials, pricing, how-it-works, FAQ, integrations |
| `/workflows` | workflow index, build-your-own, before/after comparison |
| `/workflow-1` … `/workflow-3` | generated from the `workflows` group |
| `/pricing` | plan cards, billing toggle, full feature comparison table |
| `/contact` | contact methods and form |
| `/blog` | featured post, side list, card grid |
| `/blog/[slug]` | ten articles, generated from Markdown |
| `/terms-conditions` | six numbered sections |
| `/waitlist`, `/thank-you` | chromeless `Bare` layout |
| `/404` | no closing CTA |

## Structure

- `src/layouts/` — `Base.astro` (nav, closing CTA, footer, analytics gate),
  `Bare.astro` (waitlist and thank-you), `Head.astro` (meta)
- `src/components/sections/` — one component per section of the design
- `src/components/Button.astro` — port of the Framer `Buttons/button` component
- `src/content/blog/` — one Markdown file per article
- `src/content/content.json` — everything repeated: logos, benefits, features,
  testimonials, plans, FAQs, integration tiles, nav and footer links, workflow
  pages, the comparison matrix, contact methods, terms sections
- `src/styles/tokens.css` — colours, easings, the type scale, layout tokens
- `src/styles/global.css` — home page and shared chrome
- `src/styles/pages.css` — inner pages and the breakpoint overrides
- `src/scripts/` — twelve behaviour modules, one per section, wired in
  `entry.js`; each receives the `prefers-reduced-motion` flag

## Blog and CMS

Articles are Markdown with typed frontmatter, loaded through Astro's `glob()`
collection (`src/content.config.ts`). The index cards, the category-matched
related strip and the sitemap all read from the same files, so editing a post
updates every surface. The loader keeps filenames verbatim as ids, so a slug
like `parley-2.0-meet-the-new-agent-builder` survives with its dot intact.

An optional admin UI ships at `/admin/` using
[Sveltia CMS](https://sveltiacms.app): a single static page, no build
integration, no dependencies. Locally, run `npm run dev`, open `/admin/` and
choose "Work with Local Repository". For production editing, set your repo in
`public/admin/config.yml` and register a GitHub OAuth app. Don't want it?
Delete `public/admin/`.

## Forms

The contact and waitlist forms post their fields as JSON to
`PUBLIC_FORM_ENDPOINT`. Leave it unset and submissions stay in the browser:
the form shows its success state and nothing is sent.

```sh
PUBLIC_FORM_ENDPOINT=https://your-handler.example.com npm run build
```

## Analytics

`@vercel/analytics` and `@vercel/speed-insights` mount only when
`PUBLIC_VERCEL_ANALYTICS` is set, so a build without it ships zero `_vercel`
references.

```sh
npm run build                              # no beacons
PUBLIC_VERCEL_ANALYTICS=1 npm run build    # beacons
```

## Design system

Twelve colour tokens and a sixteen-step type scale as custom properties in
`tokens.css`. Breakpoints are the original's own, 1200 and 810. The type ramp
is stepped rather than fluid: H1 is 68 / 54 / 44 at weight 600.

The five spring transitions from the Framer project are integrated
numerically and emitted as CSS `linear()` easings with their real settling
times, rather than bezier approximations. The default is
`spring-duration 0.4s bounce 0.2`, the button is `spring-physics 500 60 1`,
the mobile menu `spring-physics 600 40 1`.

Every effect degrades: with `prefers-reduced-motion: reduce`, motion is
withdrawn and the layout stays intact.

## Verify

```sh
npm run build && npx astro preview
```

No console errors; no horizontal scrollbar at 1440 / 820 / 390; the hero
expands over ~500px of scroll; the delegation tabs swap on click; marquees
loop; the FAQ opens one item at a time. With reduced motion set, nothing
animates and the layout survives.
反馈内容错误

看看同类模板

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