diff --git a/examples/content-repo/.env.example b/examples/content-repo/.env.example
new file mode 100644
index 0000000..d2cb29c
--- /dev/null
+++ b/examples/content-repo/.env.example
@@ -0,0 +1,2 @@
+# Convenience gate only. Use a long, non-obvious value in deployment settings.
+PRESENTER_TOKEN=replace-with-your-presenter-token
diff --git a/examples/content-repo/.github/workflows/deploy-pages.yml b/examples/content-repo/.github/workflows/deploy-pages.yml
new file mode 100644
index 0000000..2079e6d
--- /dev/null
+++ b/examples/content-repo/.github/workflows/deploy-pages.yml
@@ -0,0 +1,51 @@
+name: Deploy easy-slides to GitHub Pages
+
+on:
+ push:
+ branches: [main]
+ workflow_dispatch:
+
+permissions:
+ contents: read
+ pages: write
+ id-token: write
+
+concurrency:
+ group: pages
+ cancel-in-progress: true
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: pnpm/action-setup@v4
+ with:
+ version: 11.19.0
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 22
+ cache: pnpm
+ - run: pnpm install --frozen-lockfile
+ - run: pnpm check
+ env:
+ PRESENTER_TOKEN: ${{ secrets.PRESENTER_TOKEN }}
+ - run: pnpm build
+ env:
+ SITE_BASE: /${{ github.event.repository.name }}/
+ PRESENTER_TOKEN: ${{ secrets.PRESENTER_TOKEN }}
+ - uses: actions/configure-pages@v5
+ - uses: actions/upload-pages-artifact@v4
+ with:
+ path: dist
+
+ deploy:
+ environment:
+ name: github-pages
+ url: ${{ steps.deployment.outputs.page_url }}
+ runs-on: ubuntu-latest
+ needs: build
+ steps:
+ - name: Deploy
+ id: deployment
+ uses: actions/deploy-pages@v4
diff --git a/examples/content-repo/.vscode/easy-slides.code-snippets b/examples/content-repo/.vscode/easy-slides.code-snippets
new file mode 100644
index 0000000..1051269
--- /dev/null
+++ b/examples/content-repo/.vscode/easy-slides.code-snippets
@@ -0,0 +1,28 @@
+{
+ "New easy-slides page": {
+ "scope": "markdown",
+ "prefix": "slide-page",
+ "body": [
+ "---",
+ "layout: ${1:default}",
+ "---",
+ "",
+ "## ${2:标题}",
+ "",
+ "${3:内容}",
+ "",
+ ""
+ ],
+ "description": "插入一页 easy-slides 幻灯片"
+ },
+ "Smart image": {
+ "scope": "markdown",
+ "prefix": "slide-image",
+ "body": [
+ "{fit=\"${3:contain}\" position=\"${4:center}\" max-height=\"${5:60vh}\"}"
+ ],
+ "description": "插入带自动适配属性的图片"
+ }
+}
diff --git a/examples/content-repo/.vscode/extensions.json b/examples/content-repo/.vscode/extensions.json
new file mode 100644
index 0000000..d4bfab4
--- /dev/null
+++ b/examples/content-repo/.vscode/extensions.json
@@ -0,0 +1,7 @@
+{
+ "recommendations": [
+ "antfu.slidev",
+ "vue.volar",
+ "davidanson.vscode-markdownlint"
+ ]
+}
diff --git a/examples/content-repo/.vscode/settings.json b/examples/content-repo/.vscode/settings.json
new file mode 100644
index 0000000..883fe44
--- /dev/null
+++ b/examples/content-repo/.vscode/settings.json
@@ -0,0 +1,10 @@
+{
+ "editor.wordWrap": "on",
+ "files.trimTrailingWhitespace": true,
+ "markdown.validate.enabled": true,
+ "markdownlint.config": {
+ "MD013": false,
+ "MD033": false,
+ "MD041": false
+ }
+}
diff --git a/examples/content-repo/.vscode/tasks.json b/examples/content-repo/.vscode/tasks.json
new file mode 100644
index 0000000..ef55717
--- /dev/null
+++ b/examples/content-repo/.vscode/tasks.json
@@ -0,0 +1,33 @@
+{
+ "version": "2.0.0",
+ "tasks": [
+ {
+ "label": "easy-slides: preview current deck",
+ "type": "shell",
+ "command": "pnpm",
+ "args": ["dev", "--", "${file}"],
+ "isBackground": true,
+ "problemMatcher": []
+ },
+ {
+ "label": "easy-slides: present current deck",
+ "type": "shell",
+ "command": "pnpm",
+ "args": ["present", "--", "${file}"],
+ "isBackground": true,
+ "problemMatcher": []
+ },
+ {
+ "label": "easy-slides: check",
+ "type": "shell",
+ "command": "pnpm check",
+ "problemMatcher": []
+ },
+ {
+ "label": "easy-slides: build",
+ "type": "shell",
+ "command": "pnpm build",
+ "problemMatcher": []
+ }
+ ]
+}
diff --git a/examples/content-repo/README.md b/examples/content-repo/README.md
new file mode 100644
index 0000000..dd49766
--- /dev/null
+++ b/examples/content-repo/README.md
@@ -0,0 +1,19 @@
+# Slides content repository
+
+这是一个独立内容仓库示例。它只维护站点配置、Markdown 演示、资源、编辑器设置和部署工作流;渲染引擎来自 `@easy-slides/cli`。
+
+如果不从 npm 发布或下载 easy-slides,把 `package.json` 中的版本替换为 Git tag(第三方依赖仍由 pnpm 从 registry 安装):
+
+```json
+"@easy-slides/cli": "git+https://github.com/OWNER/easy-slides.git#v0.2.0"
+```
+
+```bash
+pnpm install
+cp .env.example .env
+pnpm dev -- getting-started
+pnpm present -- getting-started
+pnpm build
+```
+
+Cloudflare Pages 使用构建命令 `pnpm build` 和输出目录 `dist`。GitHub Pages 使用 `.github/workflows/deploy-pages.yml`,并从 Actions Secret 注入 `PRESENTER_TOKEN`。
diff --git a/examples/content-repo/easy-slides.config.mjs b/examples/content-repo/easy-slides.config.mjs
new file mode 100644
index 0000000..da3e62c
--- /dev/null
+++ b/examples/content-repo/easy-slides.config.mjs
@@ -0,0 +1,7 @@
+export default {
+ title: 'Engineering Slides',
+ description: '使用 Markdown 维护的公开演示',
+ slidesDir: 'slides',
+ outDir: 'dist',
+ exportDir: 'exports',
+}
diff --git a/examples/content-repo/package.json b/examples/content-repo/package.json
new file mode 100644
index 0000000..17837f0
--- /dev/null
+++ b/examples/content-repo/package.json
@@ -0,0 +1,14 @@
+{
+ "name": "easy-slides-content-example",
+ "private": true,
+ "scripts": {
+ "dev": "easy-slides dev",
+ "present": "easy-slides present",
+ "build": "easy-slides build",
+ "check": "easy-slides check",
+ "export": "easy-slides export"
+ },
+ "devDependencies": {
+ "@easy-slides/cli": "^0.2.0"
+ }
+}
diff --git a/examples/content-repo/pnpm-workspace.yaml b/examples/content-repo/pnpm-workspace.yaml
new file mode 100644
index 0000000..c3f4b77
--- /dev/null
+++ b/examples/content-repo/pnpm-workspace.yaml
@@ -0,0 +1,2 @@
+allowBuilds:
+ playwright-chromium: false
diff --git a/examples/content-repo/slides/getting-started/assets/cover.svg b/examples/content-repo/slides/getting-started/assets/cover.svg
new file mode 100644
index 0000000..96a0fc4
--- /dev/null
+++ b/examples/content-repo/slides/getting-started/assets/cover.svg
@@ -0,0 +1,12 @@
+
diff --git a/examples/content-repo/slides/getting-started/slides.md b/examples/content-repo/slides/getting-started/slides.md
new file mode 100644
index 0000000..83b9b3c
--- /dev/null
+++ b/examples/content-repo/slides/getting-started/slides.md
@@ -0,0 +1,155 @@
+---
+theme: easy-jyy
+title: easy-slides 快速开始
+description: JYY 风格 Markdown 演示引擎的功能示例
+author: easy-slides
+date: 2026-08-27
+tags:
+ - Markdown
+ - Slidev
+ - JYY Style
+cover: ./assets/cover.svg
+transition: fade-out
+mdc: true
+drawings:
+ persist: false
+---
+
+# easy-slides
+
+> 写 Markdown,推送 Git,分享一场清晰的演示。
+
+
+
+---
+layout: default
+---
+
+## 内容优先
+
+