Test
Test
Test

with: 部分添加 requirements 参数;requirements.txt。1 | # .github/workflows/pelican.yml |
使用官方的 pelican.yml,content 文件夹内有测试的文章 *.md,但是没有生成文章页面。

Could not import ‘markdown.Markdown’. Have you installed the ‘markdown’ package?
GitHub Actions环境中没有安装Markdown支持,所以 Pelican 无法解析.md文件,导致处理了 0 篇文章。
with: 部分添加 requirements 参数Python 模块:1 | with: |
-r requirements.txt:1 | with: |
1 | name: Deploy to GitHub Pages |
requirements.txt:1 | # 导出当前环境所有包 |
典型的 Pelican 项目 requirements.txt 参考:
1 | # Pelican 核心 + Markdown 支持 |

svelte.config.js ;src/routes/+layout.js 。1 | # .github/workflows/deploy.yml |
使用官方的 deploy.yml ,运行失败,下面提示:

错误表明 GitHub Actions 在运行 actions/upload-pages-artifact@v5 时,找不到 build/ 目录。
本地构建文件都生成在 .svelte-kit/output/server/ 目录下,而不是 build 文件夹,说明 adapter-static 可能没有正确执行,或者构建过程在预渲染阶段失败了。
使用 npm i -D @sveltejs/adapter-static 安装,然后将适配器添加到你的 svelte.config.js 中。
svelte.config.js1 |
|
src/routes/+layout.js1 | // This can be false if you're using a fallback (i.e. SPA mode) |
文件生成在 .svelte-kit/output/server/ 和 build 文件夹。


今天发现私有仓库的 Actions 运行失败了,下面提示:
The job was not started because recent account payments have failed or your spending limit needs to be increased. Please check the ‘Billing & plans’ section in your settings
我查询了一下,原来是免费额度用完了,顺便多了解了下。

查询:Settings → Billing and plans → Overview
页面中有一个 "Usage by products" 区域,点击 Actions 标签。
额度不够,是不是设置一个小号或者组织差不多够用。
GitHub Actions 的免费额度主要根据仓库是公开还是私有以及账户订阅计划来决定。核心原则是:公开仓库完全免费,私有仓库有每月额度限制。
把不同计划的免费额度表格查看:
| 账户计划 | 免费分钟数/月 (私有仓库) | 免费存储空间 (工件与缓存) |
|---|---|---|
| GitHub Free (个人) | 2,000 分钟 | 500 MB |
| GitHub Free (组织) | 2,000 分钟 | 500 MB |
| GitHub Pro | 3,000 分钟 | 1 GB |
| GitHub Team | 3,000 分钟 | 2 GB |
| GitHub Enterprise Cloud | 50,000 分钟 | 50 GB |
提示:表格中的存储额度是工件(Artifacts) 和缓存(Cache) 共享的总和。缓存每个仓库还有额外的 10 GB 限制。
如果是开源项目或个人学习,公开仓库是零成本的最佳选择。如果必须使用私有仓库,建议密切关注仪表盘上的用量,并根据实际情况设置支出限额,防止意外超支。

目前最好用的 Next.js 博客模板,首选功能最全的 tailwind-nextjs-starter-blog,它几乎涵盖了个人博客可能需要的所有功能,而且社区非常活跃。如果想找一个更轻量、更现代的选择,nextjs-mdx-blog-template 也很不错,基于最新的 Next.js 15 和 React 19
项目名称: ixartz/Next-js-Blog-Boilerplate
适用场景: 快速上手,希望项目结构清晰、易于维护的开发者。
核心特点:
项目名称: leerob/next-mdx-blog
适用场景: Next.js 初学者,或希望从一个轻量、官方风格项目开始进行学习的开发者。
核心特点:
项目名称: loke-dev/nextjs-mdx-blog-template
适用场景: 追求极致简洁、最新 Web API 和流畅动画体验的开发者。
核心特点:
项目名称: zhengzangw/nextjs-portfolio-blog-research
适用场景: 追求现代化设计、国际化支持,以及希望尝试最新技术栈的研究者、开发者与创作者。
核心特点:
项目名称: @multidots/sanity-blog-theme
适用场景: 需要复杂内容结构(如有独立作者、分类、SEO管理)的团队或个人项目。
核心特点:
项目名称: QiLOL/NotionNext
适用场景: 习惯使用 Notion 写作,希望将 Notion 作为 CMS(内容管理系统)快速搭建博客或知识库的用户。
核心特点:
项目名称: Hashnode/starter-nextjs-blog
适用场景: 习惯在云端写稿、管理内容,又想自己搭建前端、保持UI高度自定义的创作者。
核心特点:
项目名称: tailblaze
适用场景: 目标是将博客部署到 Cloudflare Pages,或需要一个高性能静态站点的开发者。
核心特点:
项目名称: timlrx/tailwind-nextjs-starter-blog
适用场景: 个人技术博客、作品集网站,以及希望从 Jekyll/Hugo 迁移到 Next.js 的用户。
核心特点:

知识库与博客的结合,关键在于处理好结构化知识沉淀与碎片化内容输出之间的关系。以下整理了三种主流的模板方案,可以根据自己对技术栈的偏好和功能需求来选择。
适合:偏好纯文档风格,希望将技术笔记和博客文章统一管理,且追求极致性能的技术写作者。
这个方案基于 VitePress(Vue 驱动的静态站点生成器),通过 vitepress-theme-teek 这类主题,在原生文档站基础上注入博客功能。模板会按文件路径自动生成侧边栏,构建出结构化的知识库;博客功能则作为“碎片化知识”的补充,支持文章分类、标签和归档。
chuiyu_Wiki 这类现成项目,或参照 Teek 主题文档初始化。适合:内容较为丰富、需要强大检索能力来盘活知识库的博主。
Astro 因为对内容站点的高性能支持,出现了一批优秀的“博客+知识库”主题。例如 astro-theme-iris,它实现了双链笔记(Wikilink)和知识图谱(Graph View),能直观看到文章间的关联。配合 FlexSearch 实现的实时全文检索,能极大提升查找历史笔记的效率。而 qiyuan-blog-template 则更进一步,在 Astro 基础上集成了 RAG(检索增强生成)AI 问答,让读者可以直接向你的知识库提问。
适合:需要后台管理、富文本编辑,且希望拥有 AI 辅助写作能力的深度内容创作者。
如果觉得静态模板定制性有限,可以考虑 Next.js 打造的全栈平台。例如 Petrichor,它不仅是一个展示站点,更包含完整的 CMS(内容管理系统),支持富文本编辑、知识库目录树,甚至集成了 AI 续写、改写和周报生成功能。next-ai-blog-cms 则侧重技术实现,提供了完整的后台管理界面和基于向量检索(RAG)的站内问答,实现了从写作、存储到智能问答的闭环。
| 模板方案 | 推荐场景 | 主要技术 | 核心特色 |
|---|---|---|---|
| VitePress + Teek 主题 | 文档技术博客、笔记整理 | VitePress, Vue | 文档/博客双模式,自动生成结构化目录 |
| Astro 主题 (Iris/Qiyuan) | 知识图谱展示、AI 问答博客 | Astro, D3.js, RAG | 可视化知识图谱,站内 AI 助手(RAG) |
| Next.js 全栈平台 (Petrichor) | 需后台管理、AI 辅助创作 | Next.js, Supabase, Prisma | 富文本编辑器,AI 写作与周报,后台 CMS |
以上方案均为开源项目,除自行部署外,也可参考 WorkBuddy + MaxKB 等方案,为现有静态博客快速接入知识库问答能力。

推荐使用 nrm,命令简单,切换方便。
1 | # 1. 全局安装 nrm |
在国内使用 npm,切换镜像源几乎是必做的优化。核心操作很简单,但注意务必使用最新的地址。
淘宝 NPM 镜像(强烈推荐):
1 | https://registry.npmmirror.com/ |
特别提醒:淘宝 NPM 官方源地址已于 2024 年迁移至
npmmirror.com,旧的npm.taobao.org域名已废弃,请勿继续使用。
其他备选国内镜像源还有:
https://mirrors.cloud.tencent.com/npm/https://mirrors.huaweicloud.com/repository/npm/https://npm.aliyun.com安装单个包时,直接通过 --registry 参数指定:
1 | npm install [package-name] --registry=https://registry.npmmirror.com |
这种方法快速、安全,适合临时下载某个包。
通过 npm config set 命令修改全局配置,这是最常用的方法:
1 | # 设置淘宝镜像为默认源 |
执行后,所有 npm install 都将使用国内镜像。
nrm如果经常需要在多个镜像源(如官方、淘宝、公司私有源)间切换,推荐使用 nrm 工具来管理:
1 | # 1. 全局安装 nrm |
这样,只需要输入 nrm use taobao 或 nrm use npm 就能一键切换,无需记忆或输入长串地址。
可以随时切换回来,或者换成其他。
cnpm除了修改 npm 源,也可以直接安装 cnpm 工具,自动使用淘宝镜像,与 npm 命令基本一致:
1 | npm install -g cnpm --registry=https://registry.npmmirror.com |
按需选择最适合的方法就好。设置完后可以运行 npm config get registry 确认一下,新地址是 https://registry.npmmirror.com/ 就说明成功了。

项目名称: 11ty-Indie-Web-Blog-Starter
适用场景: 独立网络 / 创作者博客
核心特点: 为参与"独立网络"的创作者设计,支持暗色模式、客户端搜索(FlexSearch)、Webmention、微格式等,并对可访问性做了优化。
项目演示: indieweb-blog-starter.netlify.app
GitHub 地址: github.com/brennanbrown/11ty-Indie-Web-Blog-Starter

项目名称: 11ty-subspace-builder
适用场景: 高性能博客
核心特点: "曲速"启动的博客模板,基于 Tachyons 工具类 CSS,特色是构建时生成 Open Graph 图片,并提供了 Docker 支持。
项目演示: subspace-builder.nicholas.clooney.io
GitHub 地址: github.com/TheClooneyCollection/11ty-subspace-builder

项目名称: 11ty-template
适用场景: 可自定义的启动模板
核心特点: 整合了 Nunjucks、TailwindCSS 和 SASS,并包含了导航、站点地图和文件压缩等插件。
项目演示: flowbite.com
GitHub 地址: github.com/AlexKeyCodes/11ty-template

项目名称: eleventy-base-blog
适用场景: 博客新手 & 通用起点
核心特点: Eleventy 官方团队维护的博客启动器,文档齐全,会随 Eleventy 版本更新。包含 RSS、站点地图、标签和图片优化,开箱即用地实现完美的 Lighthouse 性能评分。
项目演示: eleventy-base-blog.netlify.app
GitHub 地址: github.com/11ty/eleventy-base-blog

项目名称: Eleventy Excellent
适用场景: 功能丰富的博客
核心特点: 功能全面的博客/通用型模板,开箱即用。集成了自动深色/浅色模式、YouTube 轻量级嵌入、自动生成的 Open Graph 图片和分页归档等特性,非常"省心"。
项目演示: eleventy-excellent.netlify.app
GitHub 地址: github.com/11ty/eleventy-excellent
GitHub 备用: github.com/madrilene/eleventy-excellent

项目名称: eleventy-garden
适用场景: 数字花园 / 笔记
核心特点: 支持双向链接和反向链接,适合构建一个互联的知识网络或公开笔记。
项目演示: eleventy-garden.netlify.app
GitHub 地址: github.com/11ty/eleventy-garden
GitHub 备用: github.com/binyamin/eleventy-garden

项目名称: Eleventy High Performance Blog
适用场景: 性能极限追求
核心特点: 由谷歌工程师构建,可达到完美的 Lighthouse 分数(目前已归档,但仍是优秀参考)。
项目演示: www.industrialempathy.com/posts/eleventy-high-performance-blog/
GitHub 地址: github.com/google/eleventy-high-performance-blog

项目名称: Eleventy Netlify Boilerplate
适用场景: CMS 支持 / 客户项目
核心特点: 在 Netlify 上部署的经典方案,集成了 Decap CMS(原 Netlify CMS),让非技术人员也能通过友好的界面管理内容。
项目演示: eleventy-netlify-boilerplate.netlify.app
GitHub 地址: github.com/danurbanowicz/eleventy-netlify-boilerplate

项目名称: eleventy-simple
适用场景: 极简博客
核心特点: 基于官方 Base Blog 构建,并结合了 Simple.css 框架,让你无需编写复杂 CSS 就能获得一个干净、好看的博客外观。
项目演示: eleventy-simple.pages.dev
GitHub 地址: github.com/lkhrs/eleventy-simple

项目名称: Halide
适用场景: 摄影 / 作品集
核心特点: 响应式图像作品集网站模板,与 Tina CMS 深度集成,非常适合摄影师、设计师等需要展示视觉作品的用户。
项目演示: halide.netlify.app
GitHub 地址: github.com/danurbanowicz/halide

项目名称: Living Coral
适用场景: 中文博客
核心特点: 优雅的中文静态博客模板,基于 Eleventy 和 Tailwind CSS 构建,品牌色为"活珊瑚橘"。内置文章目录(TOC)、深浅色主题、Giscus 评论、音乐播放器(APlayer)等丰富特性。
项目演示: living-coral.vercel.app
备用演示: www.antares.xin
GitHub 地址: github.com/Aesculapius11/Living-Coral

项目名称: Niepce
适用场景: 摄影 / 作品集
核心特点: 专为摄影师和艺术家设计,支持多种图片网格布局(瀑布流、等宽等)和 EXIF 信息展示。
项目演示: niepce.netlify.app
备用演示: www.antares.xin
GitHub 地址: github.com/GoOz/Niepce

项目名称: Retro Garden
适用场景: 个性 / 创意站点
核心特点: 融合了 WebC 组件、IndieWeb 理念和复古风格,同时保持现代工具链,风格独特。
项目演示: retro-garden-eleventy-theme.netlify.app
GitHub 地址: github.com/kylereddoch/retro-garden-eleventy-theme

项目名称: Retroweird
适用场景: 个性 / 复古风格博客
核心特点: 受 GeoCities、MySpace 等 Web 1.0 美学启发,内置了 6 种不同的复古主题,让你轻松回到互联网的"蛮荒时代",风格独特。
项目演示: retroweird.netlify.app
GitHub 地址: github.com/brennanbrown/retroweird

项目名称: Subtle
适用场景: 极简 / 内容优先网站
核心特点: 一个极简的 Eleventy v4 微启动器,专为内容优先的网站设计,非常轻量。
项目演示: subtle-eleventy-starter.netlify.app
GitHub 地址: github.com/11ty/eleventy-starter-subtle

技术栈:Node.js
官方网站:11ty.dev
项目地址:github.com/11ty/eleventy
模板演示:eleventy-simple.pages.dev
插件演示: fastcomments.com/commenting-system-for-11ty
1 | # 检查 Node.js 版本 |
1 | # 检查 Node.js 版本 |
step 1 make a project directory
1 | # 创建项目目录 |
1 | # 创建 package.json,-y 使用默认值跳过问卷 |


1 | # 运行本地项目版本 Eleventy |
运行 Eleventy 后,命令行输出:
1 | [11ty] Wrote 0 files in 0.03 seconds (v3.1.6) |
但是,Eleventy 没有处理任何文件,只有一个空文件夹,因为里面没有模板。

模板是一种内容文件,可以使用 Markdown、HTML、Liquid、Nunjucks 等格式编写,Eleventy 在构建站点时会将其转换成一个(或多个)页面。
1 | # 创建两个新的模板文件 |
out-file 命令在 Windows 终端窗口中不可用(PowerShell 特有的命令),改用跨平台方法。1 | # 创建好模板后,再次运行 Eleventy |
命令行输出大致如下所示:
1 | [11ty] Writing _site/README/index.html from ./README.md (liquid) |

现在已将当前目录中的两个内容模板编译到输出文件夹中(默认为 _site)。
如果进一步试验模板文件语法,编辑以下示例 README.md 文件,其中使用了 Front Matter、Liquid 和 Markdown 语法。
1 | --- |
Step 5 Gaze upon your templates
1 | # --serve 启动支持热重载的本地 Web 服务器 |
命令行输出大致如下所示:
1 | [11ty] Writing _site/index.html from ./index.html (liquid) |

Web 浏览器中打开:
http://localhost:8080/
或
http://localhost:8080/README/
查看 Eleventy 站点!
修改再次保存模板文件时,Eleventy 将自动刷新浏览器使用新的更改。
Step 6 Put it online (optional)
输出文件夹(_site)包含了网站所有的静态构建文件,可以将此文件夹上传到任何 Web 主机。
更多信息查看部署文档:Eleventy Documentation - Services - Deployment
Tutorials and Starter Projects
从零开始(了解其工作原理)或使用官方博客入门项目(更快地启动和运行)。

GITHUB_TOKENGitHub 令牌主要分为两大类:个人访问令牌(Personal Access Tokens, PATs) 和其他用于自动化或应用集成的令牌。其中,个人访问令牌又分为更安全的细粒度令牌(Fine-grained PAT)和传统的经典个人访问令牌(Classic PAT)。
GITHUB_TOKEN汇总 GitHub 主要令牌类型及其核心区别:
| 令牌类型 | 前缀 | 有效期 | 权限范围 | 适用场景 |
|---|---|---|---|---|
| 细粒度个人访问令牌 Fine-grained PAT |
github_pat_ |
最长1年或无到期 | 可精确到特定仓库的特定权限,如“对A仓库的contents有只读权限” | 推荐首选。适用于对安全性要求高的个人脚本或API调用。 |
| 经典个人访问令牌 Classic PAT |
ghp_ |
长寿命,可手动设置或自动删除 | 粗粒度,如repo范围将授权用户能访问的所有仓库 |
存在安全风险,建议仅在必要时(如需要访问企业级API或特定公共仓库写入权限时)使用。 |
| GitHub Actions 内置令牌 GITHUB_TOKEN |
无 | 工作流运行期间 | 默认只对当前仓库有读写权限,可在工作流中精确配置 | GitHub Actions 自动化首选。无需手动创建,安全且权限最小化。 |
| GitHub App 安装令牌 Installation Token |
ghs_ |
1小时 | 与App安装相关联,可访问该App有权访问的仓库 | 推荐用于组织级自动化,如CI/CD系统。权限隔离好,可独立于个人账号管理。 |
| OAuth App 访问令牌 | gho_ |
长寿命 | 由第三方OAuth App代表用户请求的权限 | 用于将第三方Web应用或CLI工具与GitHub集成。 |
为什么“细粒度”比“经典”更安全?
GitHub 官方强烈推荐优先使用细粒度个人访问令牌,原因在于其安全模型有显著提升:
repo范围),一旦拥有,就能访问用户有权访问的所有仓库。而细粒度令牌可以精确控制到特定仓库的单个操作(如读/写)。由于功能迭代需要时间,在某些场景下,你仍然需要使用经典个人访问令牌:
针对自动化任务,应遵循以下选择顺序:
GITHUB_TOKEN:这是最安全、最便捷的方式,令牌由系统自动生成和管理,仅在当前工作流中有效。可以通过令牌的前缀来快速识别其类型:
ghp_:经典个人访问令牌github_pat_:细粒度个人访问令牌gho_:OAuth App 访问令牌ghu_:GitHub App 用户访问令牌ghs_:GitHub App 安装访问令牌ghr_:GitHub App 刷新令牌