Mirror 是一个简单的博客工具,基于 GitHub API 获取 issues 数据,然后展示在页面上。
该工具的方便之处在于只需要在 issue 上写你的博客文章,你的网站会自动更新博客内容。
借助 GitHub,你可以轻松的用 markdown 书写你的博客内容,永久保存,不用担心数据丢失问题。还可以非常方便上传博客图片,拖入编辑器即可。
该博客工具非常适合以 issue 作为自己博客的用户,无痛生成博客网站,对原来内容毫无影响
Mirror 还支持多用户协作,你可以方便的设置哪些用户写的内容可以显示在博客网站上,避免无关内容
Mirror 生成的博客网站很小,整体大小 60kb
左右(未 gzip 压缩情况),所以访问起来也很快。项目依赖: axios
, smoothscroll-polyfill
, github-markdown-css
Mirror 在移动端同时有很好的浏览体验
预览地址
你可以点击底部的 SandBox
按钮,然后写入你需要测试的项目 issues,然后就可以直接看到博客内容,例如可以输入 玉伯 的博客地址:
title: blog
user: lifesinger
repo: blog
per page: 10
点击 Start
,你就可以看到 玉伯 的博客了。同样方法你可以测试你的 issue 博客
项目地址
更详细的介绍可以看项目说明
如何安装
安装很简单,需要一个 nodejs 环境,一个简单的命令即可,如果没有 nodejs 环境,可以直接下载资源包自己配置,后面会有说明
$ sudo npm install Mirror -g
使用
新建
$ cd newblog
$ mirror init
或者
$ mirror init newblog
完成后你的 blog 就在 newblog 这里
配置你的 blog
修改 config.yml
# 标题
title: Mirror
# github 用户名
user: LoeiFy
# blog 内容来源 repo
repo: Recordum
# 多用户,设定哪些用户写的 issue 内容可以展示出来,项目的用户名会自动包括进来
# 多个用户用逗号(英文逗号)隔开,例如:user0,user1
authors:
# 分页
per_page: 10
# 是否显示 sandbox,设置是否允许用户手动写入 issue 地址进行快速预览
# 默认 false
sandbox: false
获取你的 token,复制进 token.txt
。这个 token 只有只读权限,用于提高 api 访问次数,不会有其他问题。
生成博客
$ mirror build
发布你的 blog
你可以添加域名到 CNAME
push 文件到一个 repo 的 gh-pages
分支
好了,现在你可以在 github issue 上写博客了,内容会同步更新
另一种安装方式
你可以直接下载资源包,下载最新的 release,然后打开 index.html
进行配置,按照例子进行配置即可
<!-- index.html -->
<script>
// blog config here
// token should be separated by '#'. example: 5#c31bffc137f44faf7efc4a84da827g7ca2cfeaa
// example:
// window.config = {"title":"rorriM","user":"acyortjs","repo":"acyortjs.github.io","token":"5#c31bffc137f44faf7efc4a84da827g7ca2cfeaa","authors":"LoeiFy,User0","per_page":1,"sandbox":false}
window.config = {"title":"","user":"","repo":"","token":"","authors":"","per_page":"", "sandbox":false}
</script>
配置好后,可以先尝试本地预览,需要一个本地服务器,放上去访问 index.html
即可,测试没问题就可以把全部文件上传到对应地址即可,也可以放到 GitHub pages 上
名字来源
Mirror
是 DJ Okawari
所作的专辑