Mirror - 基于 issues 的博客工具

1,238 阅读3分钟

Mirror 是一个简单的博客工具,基于 GitHub API 获取 issues 数据,然后展示在页面上。

该工具的方便之处在于只需要在 issue 上写你的博客文章,你的网站会自动更新博客内容。

借助 GitHub,你可以轻松的用 markdown 书写你的博客内容,永久保存,不用担心数据丢失问题。还可以非常方便上传博客图片,拖入编辑器即可。

该博客工具非常适合以 issue 作为自己博客的用户,无痛生成博客网站,对原来内容毫无影响

Mirror 还支持多用户协作,你可以方便的设置哪些用户写的内容可以显示在博客网站上,避免无关内容

Mirror 生成的博客网站很小,整体大小 60kb 左右(未 gzip 压缩情况),所以访问起来也很快。项目依赖: axios, smoothscroll-polyfill, github-markdown-css

Mirror 在移动端同时有很好的浏览体验

预览地址

mirror.am0200.com/

你可以点击底部的 SandBox 按钮,然后写入你需要测试的项目 issues,然后就可以直接看到博客内容,例如可以输入 玉伯 的博客地址:

title: blog

user: lifesinger

repo: blog

per page: 10

点击 Start,你就可以看到 玉伯 的博客了。同样方法你可以测试你的 issue 博客

项目地址

github.com/LoeiFy/Mirr…

更详细的介绍可以看项目说明

如何安装

安装很简单,需要一个 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 访问次数,不会有其他问题。

github.com/settings/to…

token

生成博客

$ mirror build

发布你的 blog

你可以添加域名到 CNAME

push 文件到一个 repo 的 gh-pages 分支

参考例子:github.com/LoeiFy/Mirr…

好了,现在你可以在 github issue 上写博客了,内容会同步更新

另一种安装方式

你可以直接下载资源包,下载最新的 release,然后打开 index.html 进行配置,按照例子进行配置即可

github.com/LoeiFy/Mirr…

<!-- 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 上

名字来源

MirrorDJ Okawari 所作的专辑

mirror