Astro启动器

maucariapacom-church-starter — Astro 启动器模板

作者 MauCariApa-com

基于 Astro 的教会网站启动模板,使用 Tailwind CSS 与 Markdown 内容集合,纯静态生成,包含博客、讲道、活动、事工、同工等页面与 SEO 组件。

看看你的网站会是什么样

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

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

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

全部页面与视图 3

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

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

值得关注的模板亮点

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

01

Astro 纯静态生成,内容通过 Markdown/MDX 与 frontmatter 管理

02

内置博客、讲道、活动、事工、同工、站点信息等内容集合及 Zod 模式

03

讲道支持音频与视频链接,博客和讲道列表页提供筛选/搜索

04

详情页带粘性目录侧边栏,提供 SEO 组件与 JSON-LD 结构化数据

05

使用 Tailwind CSS 构建移动优先的响应式界面,可自定义主色、辅色与强调色

模板详细介绍

这是一个面向教会或宗教组织的开源网站启动模板,技术栈为 Astro,样式使用 Tailwind CSS,并引入 Preact 与 TypeScript。项目采用纯静态站点生成(SSG),内容通过 src/content/ 下的 Markdown/MDX 文件与 frontmatter 管理,每个集合在 src/content.config.ts 中定义 Zod 模式。

模板内置的内容集合包括博客、讲道(支持音频与视频链接)、活动、事工、同工/领导团队以及站点信息。页面层面提供首页、关于我们、同工列表、事工列表与详情、讲道列表(带筛选)与详情、活动列表与详情、博客列表(带筛选)与详情、新访客指南、联系页(含表单)和奉献页。详情页带有粘性目录侧边栏,并提供 SEO 组件与 JSON-LD 结构化数据,站点地图由 @astrojs/sitemap 生成。

使用前需要按 README 指引替换站点名称、联系方式、占位图片与关于页时间线,并在 astro.config.mjs 中设置 site URL。构建产物输出到 dist/,可部署到 Netlify、Vercel、Cloudflare Pages、GitHub Pages 或任意静态托管。README 提到可对接任意 CMS,但模板本身未内置 CMS 集成。演示图片、字体、图标等第三方素材需单独核对许可。

Astro启动器

适合你的项目吗?

适用场景

  • 教会或宗教组织搭建包含讲道、活动与事工信息的官方网站
  • 需要以 Markdown 文件维护内容、不依赖数据库的内容型站点
  • 希望部署到 Netlify、Vercel、Cloudflare Pages 或 GitHub Pages 等静态托管平台
  • 作为 Astro 内容集合与动态详情页实践的参考项目

适合人群

  • 教会、宗教团体及其网站维护者
  • 熟悉或愿意使用 Markdown 与 Astro 的内容编辑者
  • 需要纯静态、可自行托管的网站项目
  • 希望基于现有结构二次开发前端页面的开发者

上手与定制指南

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

  1. 1

    需要 Node.js 24.x 或更高版本,使用 npm install 安装依赖

  2. 2

    开发服务器通过 npm run dev 启动,默认地址为 http://localhost:4321

  3. 3

    构建使用 npm run build,产物输出到 dist/ 目录,可用 npm run preview 预览

  4. 4

    部署前需在 astro.config.mjs 中把 site 改为实际域名

  5. 5

    需替换 public/uploads/ 下的占位图片,并更新页眉、页脚、SEO 组件及各页面中的教会名称与联系方式

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

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

使用时需要遵守

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

额外费用与待核对事项

  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据

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

项目核对记录与介绍依据

模板资料

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

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

这个项目需要核对什么

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

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

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

查看具体选型方法 →

介绍的制作与核对状态

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

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

查看当时使用的来源资料

SHA-256: 2bbc262cc3d0698f959dc3c1d831d5b761a4a9fc20985dee30b0e766bafd2a1b

2026-10-02T19:55:18.635Z

来源文件 / 仓库
# 🙏 Church Website Starter

A modern, responsive church website starter built with [Astro](https://astro.build), [Tailwind CSS](https://tailwindcss.com), and [Preact](https://preactjs.com). Designed for churches who want a fast, content-driven site that's easy to manage through Markdown files.

## ✨ Features

- **Static site generation** — fast, SEO-friendly pages
- **Tailwind CSS styling** — fully responsive, mobile-first design
- **Markdown-based content** — manage content via frontmatter files
- **Built-in content collections:**
  - Blog posts
  - Sermons (with audio/video support)
  - Events
  - Ministries
  - Staff / leadership team
  - Site information
- **Dynamic detail pages** with sticky TOC sidebars
- **Filtering / search** on blog and sermons listing pages
- **SEO-ready** `<Seo />` component plus JSON-LD schema
- **Sitemap** auto-generated via `@astrojs/sitemap`

## 🚀 Tech Stack

- [Astro](https://astro.build/) `7.2.8`
- [Tailwind CSS](https://tailwindcss.com/) `^3.4.1`
- [@astrojs/preact]([https://preactjs.com/](https://www.npmjs.com/package/@astrojs/preact)) `^6.0.2`
- [TypeScript](https://www.typescriptlang.org/) `7.0.2`
- [date-fns](https://date-fns.org/) for date formatting
- [@tailwindcss/typography](https://tailwindcss.com/docs/typography-plugin) for rendered Markdown styles

## 📦 Getting Started

### Prerequisites

- Node.js `24.x` or higher
- npm or another compatible package manager

### Install dependencies

```bash
npm install
```

### Start the development server

```bash
npm run dev
```

Open [http://localhost:4321](http://localhost:4321) to view the site.

### Build for production

```bash
npm run build
```

### Preview the production build

```bash
npm run preview
```

## 🗂️ Project Structure

```text
├── public/                   # Static assets (images, favicons, uploads)
├── src/
│   ├── assets/
│   │   └── styles/
│   │       └── global.css    # Tailwind entry + custom base styles
│   ├── components/
│   │   ├── Cards/            # Reusable card components
│   │   ├── Global/           # Header, Footer, Navigation
│   │   ├── Sections/         # Page section components
│   │   └── UI/               # Button, SEO, etc.
│   ├── content/
│   │   ├── blog/             # Blog posts (Markdown with frontmatter)
│   │   ├── events/           # Church events
│   │   ├── ministries/       # Church ministries
│   │   ├── sermons/          # Sermon entries
│   │   ├── siteInfo/         # Reusable site-wide info blocks
│   │   └── staff/            # Staff / leadership profiles
│   ├── layouts/
│   │   ├── BaseLayout.astro  # Global HTML shell
│   │   └── PostLayout.astro  # Layout for content pages
│   ├── pages/
│   │   ├── index.astro       # Homepage
│   │   ├── about-us.astro    # About page
│   │   ├── staff.astro       # Staff listing
│   │   ├── ministries/
│   │   │   ├── index.astro   # Ministries listing
│   │   │   └── [slug].astro  # Dynamic ministry detail
│   │   ├── sermons/
│   │   │   ├── index.astro   # Sermons listing with filters
│   │   │   └── [slug].astro  # Dynamic sermon detail
│   │   ├── events/
│   │   │   ├── index.astro   # Events listing
│   │   │   └── [slug].astro  # Dynamic event detail
│   │   ├── blog/
│   │   │   ├── index.astro   # Blog listing with filters
│   │   │   └── [slug].astro  # Dynamic blog detail
│   │   ├── im-new.astro      # Visitor guide
│   │   ├── contact.astro     # Contact page + form
│   │   └── giving.astro      # Giving page
│   ├── utils/
│   │   └── dateUtils.js      # Date helpers
│   ├── content.config.ts     # Astro content collection schemas
│   └── env.d.ts
├── astro.config.mjs
├── tailwind.config.cjs
├── postcss.config.cjs
└── package.json
```

## 📝 Content Collections

All dynamic content is managed through Markdown/MDX files inside `src/content/`. Each collection has a Zod schema defined in `src/content.config.ts`.

### Blog

Located at `src/content/blog/`.

```yaml
---
title: "Post Title"
slug: "post-slug"
pubDate: 2025-01-20
description: "A short description"
author: "Author Name"
image:
  url: "/uploads/blog/image.webp"
  alt: "Alt text"
tags: ["faith", "prayer"]
draft: false
---
```

### Sermons

Located at `src/content/sermons/`.

```yaml
---
title: "Sermon Title"
date: 2025-02-02
speaker: "Pastor Name"
series: "Series Name"
scripture: "Proverbs 3:5-6"
audioUrl: "https://example.com/sermon.mp3"
videoUrl: "https://www.youtube.com/embed/..."
image: "/uploads/sermons/image.webp"
summary: "Short summary"
tags: ["faith", "trust"]
draft: false
---
```

### Events

Located at `src/content/events/`.

```yaml
---
title: "Event Title"
date: 2025-04-20
endDate: 2025-04-20
time: "8:00 AM & 10:30 AM"
location: "Main Sanctuary"
image: "/uploads/events/image.webp"
summary: "Event summary"
tags: ["easter", "celebration"]
registrationRequired: true
registrationLink: "https://example.com/register"
draft: false
---
```

### Ministries

Located at `src/content/ministries/`.

```yaml
---
name: "Ministry Name"
slug: "ministry-slug"
logo: "/uploads/ministries/logo.webp"
summary: "Short summary"
coordinator: "Coordinator Name"
contact: "[email protected]"
schedule: "Sundays at 10:30 AM"
order: 1
draft: false
---
```

### Staff

Located at `src/content/staff/`.

```yaml
---
name: "Staff Name"
title: "Job Title"
image: "/uploads/staff/photo.webp"
email: "[email protected]"
phone: "+1-555-0101"
bio: "Short bio"
order: 1
draft: false
---
```

### Site Info

Located at `src/content/siteInfo/`. Useful for reusable blocks like office hours.

```yaml
---
title: "Church Office & Activity Hours"
---
```

## 🎨 Customization

### Site identity

1. Update the church name and contact details in:
   - `src/components/Global/Header.astro`
   - `src/components/Global/Footer.astro`
   - `src/components/UI/Seo.astro`
   - All page titles/descriptions

2. Replace placeholder images in `public/uploads/` with your own assets.

3. Update the timeline on `src/pages/about-us.astro` to match your church history.

### Colors

Edit `tailwind.config.cjs` to change the primary, secondary, and accent color palettes.

```js
colors: {
  primary: { /* your shades */ },
  secondary: { /* your shades */ },
  accent: { /* your shades */ },
}
```

## 🌐 Deployment

This is a static site, so it can be deployed to:

- [Netlify](https://www.netlify.com/)
- [Vercel](https://vercel.com/)
- [Cloudflare Pages](https://pages.cloudflare.com/)
- [GitHub Pages](https://pages.github.com/)
- Any static web host

Make sure to update the `site` URL in `astro.config.mjs` before deploying:

```js
export default defineConfig({
  site: 'https://yourchurch.org',
  // ...
});
```

Built files are placed in the `dist/` directory.

## 📄 License

This starter was created by [MauCariApa.com](https://maucariapa.com). Customize it freely for your church or organization.
反馈内容错误

看看同类模板

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