Mirror配置完全指南:10个核心参数打造个性化GitHub博客
2026/8/21 16:31:29 网站建设 项目流程

Mirror配置完全指南:10个核心参数打造个性化GitHub博客

【免费下载链接】MirrorA blogging tool powered by GitHub API. Write your blog on GitHub issue.项目地址: https://gitcode.com/gh_mirrors/mirror9/Mirror

用 GitHub Issues 写博客正在成为越来越多开发者的选择——不需要购买服务器、不需要维护数据库,把文章当作 Issue 发布,GitHub 就是你的内容后台。Mirror 配置就是这套玩法的明星方案:它是一款基于 GitHub API 的博客工具,只需一份配置文件,就能把「GitHub 博客」快速变成一个清爽、现代、带评论功能和个人主页的个人站点。这篇Mirror 配置完全指南,将带你逐一认识index.sample.html中的 10 个核心参数,学会如何通过修改参数完成GitHub 博客个性化配置,全程零后端、零数据库,新手也能轻松上手。

一、认识 Mirror:GitHub Issue 即博客

Mirror 的核心思路极其简洁:文章 = Issue,评论 = Issue 评论。它通过 GitHub GraphQL API 拉取指定仓库的 Issue 数据,再渲染成博客页面。因此,配置 Mirror 的第一步,就是告诉它"你是谁、你的文章存在哪个仓库"——这一切都由window.config对象里的参数决定。

所有参数都写在项目根目录的 index.sample.html 中,即文件里这一段:

<script> window.config = { user: 'LoeiFy', repository: 'Recordum', title: 'Mirror', // ... 其余参数 } </script>

下面逐一拆解这 10 个关键参数。

二、10 个核心参数逐一详解

1.user:指定你的 GitHub 用户名(必填)

user是 Mirror 配置中最重要的参数,它决定了博客内容的归属者。Mirror 会向 GitHub 查询这个用户名下的仓库与 Issue 数据。例如user: 'LoeiFy'表示博客数据来自 LoeiFy 这个账号。

💡 如果你用组织(Organization)账号,请配合后面的organization参数一起设置。

2.repository:指定博客文章仓库(必填)

repository告诉 Mirror 从哪个仓库读取 Issue 作为文章。建议单独建一个仓库(比如blog)专门存放你的文章,把每篇博客写成一条 Issue。配置示例:repository: 'Recordum'

3.title:设置博客标题与浏览器标签页

title会显示在博客页面的标题位置,同时用于浏览器标签页(如文章标题 - 博客标题)。把它改成你自己的名字或站点名即可,例如title: '我的技术博客'

4.authors:设置作者署名

authors用于展示文章作者名。如果是单人博客,填你的 GitHub 用户名即可;如果是多人协作博客,可用逗号分隔多个作者。比如authors: 'LoeiFy'authors: '小明,小红'

5.perpage:控制每页文章数量

perpage决定博客首页每页展示多少篇文章,默认值为5。喜欢瀑布流长列表可以调大到10,追求精炼则保留5。该参数同时会影响分页游标(cursor)的生成逻辑,详见 src/api/issues.js 中的查询拼接。

6.order:定义文章排序规则

order控制文章列表的排序方式,仅支持两个值:

  • CREATED_AT:按创建时间排序(文章发布即排序)
  • UPDATED_AT:按更新时间排序(编辑过的文章会提前)

如果填了其他值,代码会自动回退为UPDATED_AT(见 src/api/issues.js 的兜底逻辑)。

7.ignores:忽略指定文章

ignores用于排除某些 Issue 不显示在博客中,以逗号分隔的编号列表形式配置。典型用途是:把仓库里用于置顶说明、待办清单的 Issue 隐藏掉。例如ignores: '17,13'表示跳过第 17 号和 13 号 Issue。

8.organization:启用组织账号模式

默认organization: false表示以个人用户(user)模式拉取数据;若你的博客挂在组织名下,请改为true。切换后,src/api/user.js 会改用organization查询语句,展示组织的头像、邮箱与主页信息。

9.hash:存放加密后的 GitHub Token

这是 Mirror 配置中最需要小心的一项。GitHub GraphQL API 需要 Token 鉴权,而 Mirror 不会让你把 Token 明文写进页面——它通过 src/helper/secret.js 提供的加密函数对 Token 做简单混淆处理,生成的字符串就填在hash字段里。

具体做法:在浏览器控制台调用window.encrypt('你的Token'),把返回的加密串填入hash。注意host参数会影响加密结果,改域名后需重新生成。

10.host:绑定自定义域名

host用于指定站点的域名(默认mirror.am0200.com)。它有两个作用:一是参与 Token 加密校验(防止 Token 被复制到其他站点使用,见 src/helper/secret.js);二是配合项目根目录的 CNAME 文件,实现自定义域名的绑定。

三、完整配置示例与个性化建议

把以上参数组合起来,一份典型的 Mirror 配置长这样:

<script> window.config = { organization: false, order: 'UPDATED_AT', title: '我的技术博客', user: 'your-name', repository: 'my-blog', authors: 'your-name', ignores: '1,2', host: 'blog.example.com', hash: '由window.encrypt生成的加密串', perpage: 8, } </script>

个性化小贴士:

  • 🎨改风格:项目样式全部位于 src/style 目录,如 index.less、posts.less,改完重新构建即可。
  • 💬开评论:文章页的评论模块源码在 src/api/comments.js,每条 Issue 评论都会渲染为博客评论。
  • 🔍修路由:页面切换逻辑在 src/router/index.js,支持/posts/:id这样的动态路由。

四、构建与发布:三步上线你的 GitHub 博客

配置完成后,按以下步骤构建并部署:

  1. 拉取源码git clone https://gitcode.com/gh_mirrors/mirror9/Mirror
  2. 安装依赖并构建:在项目根目录执行npm install,然后运行npm run build(构建配置见 falco.config.js,产物输出到 docs 目录,入口为 src/index.js)。
  3. 部署:将构建生成的docs目录托管到 GitHub Pages、Gitee Pages 或任意静态服务器,把域名填进host与 CNAME 即可。

五、常见问题速查

现象排查方向
页面一直 Loading检查user/repository是否拼写正确,Token 是否有效
文章排序不对确认order只填CREATED_ATUPDATED_AT
某条 Issue 莫名出现把它加入ignores列表
换域名后报错用新域名重新执行window.encrypt更新hash
组织头像不显示organization改为true

掌握了这 10 个核心参数,你就已经完成了Mirror 配置的 90%。剩下的 10% 交给想象力——GitHub 博客的优雅与自由,值得你亲自体验一次。

【免费下载链接】MirrorA blogging tool powered by GitHub API. Write your blog on GitHub issue.项目地址: https://gitcode.com/gh_mirrors/mirror9/Mirror

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询