Astro启动器

monakit — Astro 启动器模板

作者 monakit

MonaKit 是一个基于 Astro 的多格式内容平台模板,支持知识卡片、文章、幻灯片演示、公告与课程等多种内容类型。

看看你的网站会是什么样

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

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

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

全部页面与视图 3

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

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

值得关注的模板亮点

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

01

支持知识卡片、文章、幻灯片、公告、课程、产品展示等多种内容格式

02

幻灯片基于 reveal.js,支持 Mermaid 图表与数学公式

03

内置 Pagefind 全文搜索、RSS 订阅、动态 OG 图片与站点地图

04

课程支持章节、分卷与幻灯片章节,可选接入 Cloudflare Stream 视频

05

使用 Astro 内容集合,内容以 Markdown/MDX 编写并按 year/month 组织

06

提供 Biome 代码检查与格式化脚本,以及构建分析命令

模板详细介绍

MonaKit 是一个用 Astro 构建的多格式内容平台模板,面向需要同时发布多种内容形态的场景。它把知识卡片、长文博客、reveal.js 幻灯片、公告(Doodles)、课程以及产品/链接展示(Creations)统一在同一套内容集合中,内容以 Markdown/MDX 编写,并按 year/month 子目录组织,课程则按 course-id 单独组织。

模板内置全文搜索(Pagefind)、RSS 订阅、动态 OG 图片和站点地图,支持通过 Cloudflare Stream 为课程章节和预告片接入视频。课程结构由 toc.md 定义元数据与章节顺序,章节文件按数字编号排序,可通过 frontmatter 中的 theme 字段把某一章变为 reveal.js 幻灯片,也可用 <Slide id="slug" /> 在 MDX 中嵌入独立幻灯片资源。

使用限制方面:视频功能依赖 Cloudflare Stream,需要自行生成签名密钥并配置相关环境变量;CLOUDFLARE_ACCOUNT_ID 与 CLOUDFLARE_API_TOKEN 仅在运行密钥生成脚本时使用,不参与运行时。产品展示数据来自 src/assets/creations.json。代码采用 MIT 许可,但演示图片、字体、图标等第三方素材需单独核对许可,域名、托管等外部服务可能产生费用。

Astro启动器

适合你的项目吗?

适用场景

  • 搭建同时发布文章、知识卡片和幻灯片演示的个人知识库
  • 创建带章节结构和可选视频的在线课程站点
  • 发布产品与链接展示页,并配合公告记录更新日志
  • 需要全文搜索、RSS 与动态 OG 图片的静态内容站点

适合人群

  • 熟悉 Astro 与 Markdown/MDX 内容集合的前端开发者
  • 需要在一个站点内混合多种内容格式的创作者或团队
  • 计划使用 Cloudflare Stream 承载课程视频的项目

上手与定制指南

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

  1. 1

    使用 npm create astro@latest 命令并指定 monakit/monakit 模板初始化项目

  2. 2

    安装依赖后复制 .env.example 为 .env,并至少配置 SITE_URL

  3. 3

    如需课程视频,运行 scripts/generate-stream-key.ts 生成密钥并填写 Cloudflare Stream 相关环境变量

  4. 4

    构建时 pnpm build 会自动生成搜索索引,也可用 pnpm build:search-index 单独执行

  5. 5

    演示图片、字体、图标等第三方素材需按各自许可核对,不能仅凭 MIT 许可判断

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

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

使用时需要遵守

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

额外费用与待核对事项

  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
  • 课程视频功能为可选,需自行生成签名密钥对并配置 Cloudflare Stream 相关环境变量才能启用。
  • 使用视频功能需提供 Cloudflare 账号 ID、API Token、Stream 客户代码及签名密钥等凭据,属于外部服务依赖。
  • Cloudflare 账号 ID 与 API Token 仅在运行密钥生成脚本时需要,不参与运行时。
查看原文依据

Permission is hereby granted, free of charge

许可证原文

To enable video in courses, generate a signing key pair and set the following env vars

README 原文

CLOUDFLARE_ACCOUNT_ID= CLOUDFLARE_API_TOKEN= CLOUDFLARE_STREAM_CUSTOMER_CODE= CLOUDFLARE_STREAM_KEY_ID= CLOUDFLARE_STREAM_PRIVATE_KEY=

README 原文

CLOUDFLARE_ACCOUNT_ID` and `CLOUDFLARE_API_TOKEN` are only needed to run the key generation script

README 原文
https://github.com/monakit/monakit/blob/main/LICENSEhttps://github.com/monakit/monakit/blob/main/README.md

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

项目核对记录与介绍依据

模板资料

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

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

这个项目需要核对什么

记录的仓库更新时间
2026-05-20
截图检查日期
2026-10-04

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

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

查看具体选型方法 →

介绍的制作与核对状态

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

审核声明: [email protected] · 2026-10-04

查看当时使用的来源资料

SHA-256: bf15ecab707ada887e31a66c3fd78967b86f6e37d34ca15072fa596e05e3fc86

2026-10-04T04:51:10.771Z

来源文件 / 仓库
# MonaKit

Multi-format content platform built with Astro, featuring knowledge cards, articles, presentations, announcements, and courses.

## Features

- **Knowledge Cards** - Research summaries with customizable themes
- **Articles** - Long-form blog content
- **Slide Presentations** - Interactive reveal.js presentations with Mermaid and math support
- **Doodles** - Release logs and announcements
- **Courses** - Structured learning with chapters, parts, and slide chapters
- **Video** - Course video support via Cloudflare Stream
- **Search** - Full-text search with Pagefind
- **Creations** - Product and link showcase
- **RSS Feed** - Auto-generated feed for blogs
- **OG Images** - Dynamic Open Graph image generation
- **Sitemap** - Auto-generated sitemap

## Tech Stack

- Astro 6 (SSR, Vercel adapter)
- React 19
- TailwindCSS 4
- Reveal.js
- Pagefind
- Biome (lint + format)

## Quick Start

```bash
npm create astro@latest my-astro-project -- --template monakit/monakit
```

## Development

```bash
pnpm install
cp .env.example .env
pnpm dev
```

### Available Scripts

```bash
pnpm dev                # Start dev server
pnpm build              # Production build (auto-builds search index)
pnpm preview            # Preview production build
pnpm build:search-index # Build search index manually
pnpm build:analyze      # Build with bundle analyzer report
pnpm check              # Type check and lint
pnpm fix                # Auto-fix issues
pnpm format             # Format files with Biome
```

## Content Structure

```
src/content/
├── cards/      # Knowledge cards (Markdown/MDX)
├── blogs/      # Blog articles (Markdown/MDX)
├── slides/     # Presentations (Markdown/MDX)
├── doodles/    # Announcements (Markdown/MDX)
└── courses/    # Courses (Markdown/MDX)
    └── <course-id>/
        ├── toc.md          # Course metadata + chapter order
        ├── 01-chapter.md   # Chapter file (text or slide)
        └── slides/         # Slide resources (embedded in chapters)
```

Content organized by `year/month` subdirectories, except courses which are organized by `course-id`.

## Courses

Each course lives in `src/content/courses/<course-id>/`:

- **`toc.md`** — course metadata (`title`, `description`, `pubDate`, `structure`, optional `video` for course trailer) and optional intro body
- **`NN-slug.md`** — chapter files, numbered for ordering; add `theme:` frontmatter to make a chapter a reveal.js slide
- **`slides/`** — standalone slide resources that can be embedded in chapter `.mdx` files via `<Slide id="slug" />`

Chapters can optionally include video via Cloudflare Stream. See [MonaKit in Action](https://www.mymona.xyz/courses/monakit-in-action) for a full walkthrough.

### Cloudflare Stream (optional)

To enable video in courses, generate a signing key pair and set the following env vars:

```bash
# Generate KEY_ID and PRIVATE_KEY (only needed once)
npx tsx scripts/generate-stream-key.ts
```

```env
SITE_URL=https://yourdomain.com

# Cloudflare Stream (optional — for video chapters and course trailers)
CLOUDFLARE_ACCOUNT_ID=
CLOUDFLARE_API_TOKEN=
CLOUDFLARE_STREAM_CUSTOMER_CODE=
CLOUDFLARE_STREAM_KEY_ID=
CLOUDFLARE_STREAM_PRIVATE_KEY=
```

Note: `CLOUDFLARE_ACCOUNT_ID` and `CLOUDFLARE_API_TOKEN` are only needed to run the key generation script — they are not used at runtime.

## Product Data

All creations data is defined in `src/assets/creations.json`.
反馈内容错误

看看同类模板

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