Astro 纯静态生成,内容通过 Markdown/MDX 与 frontmatter 管理
maucariapacom-church-starter — Astro 启动器模板
作者 MauCariApa-com
基于 Astro 的教会网站启动模板,使用 Tailwind CSS 与 Markdown 内容集合,纯静态生成,包含博客、讲道、活动、事工、同工等页面与 SEO 组件。
看看你的网站会是什么样
浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。
全部页面与视图 3
截图用于了解视觉与布局,交互效果请以实际项目为准。
值得关注的模板亮点
从已有项目资料中,快速了解它的特点。
内置博客、讲道、活动、事工、同工、站点信息等内容集合及 Zod 模式
讲道支持音频与视频链接,博客和讲道列表页提供筛选/搜索
详情页带粘性目录侧边栏,提供 SEO 组件与 JSON-LD 结构化数据
使用 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 集成。演示图片、字体、图标等第三方素材需单独核对许可。
适合你的项目吗?
适用场景
- 教会或宗教组织搭建包含讲道、活动与事工信息的官方网站
- 需要以 Markdown 文件维护内容、不依赖数据库的内容型站点
- 希望部署到 Netlify、Vercel、Cloudflare Pages 或 GitHub Pages 等静态托管平台
- 作为 Astro 内容集合与动态详情页实践的参考项目
适合人群
- 教会、宗教团体及其网站维护者
- 熟悉或愿意使用 Markdown 与 Astro 的内容编辑者
- 需要纯静态、可自行托管的网站项目
- 希望基于现有结构二次开发前端页面的开发者
上手与定制指南
结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。
- 1
需要 Node.js 24.x 或更高版本,使用 npm install 安装依赖
- 2
开发服务器通过 npm run dev 启动,默认地址为 http://localhost:4321
- 3
构建使用 npm run build,产物输出到 dist/ 目录,可用 npm run preview 预览
- 4
部署前需在 astro.config.mjs 中把 site 改为实际域名
- 5
需替换 public/uploads/ 下的占位图片,并更新页眉、页脚、SEO 组件及各页面中的教会名称与联系方式
授权与来源资料
使用条件与限制
免费使用 · 保留许可声明本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。
使用时需要遵守
- 允许免费使用、修改、商用和分发该版本代码。
- 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
- 代码按现状提供;担保与责任限制以原许可证及适用法律为准。
额外费用与待核对事项
- 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
- 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据
https://github.com/MauCariApa-com/maucariapacom-church-starter/blob/main/LICENSEhttps://github.com/MauCariApa-com/maucariapacom-church-starter/blob/main/README.mdPermission is hereby granted, free of charge
许可证原文
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.
看看同类模板
对比同技术栈与用途的模板,找到更适合的视觉与内容结构。

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 · 工具站
