https://github.com/LoeiFy/AcyOrt
博客内容来源于这里 https://github.com/LoeiFy/AcyOrt/issues
Github issue 写内容及上传图片都非常方便,所以已经很多人利用这个特性来写博客内容,当成团队或者个人的技术博客。其不好的地方就是不能自定义,并且不能防止他人在 issue 上添加无关内容
这个工具通过 Github API 获取 issue 内容,然后 Node.js 本地生成对应静态文件,然后上传到 Github pages 或者你自定义的空间。好处在于即利用了 issue 写博客内容的方便,又可以自定义自己的博客,还可以选定哪些作者的 issue 内容可以在博客上显示
1.选定你一个 repo issue 用作博客内容,在上面写博客内容。
2.克隆一份代码,并修改 gh-pages
里面的 config.js
,填写相关数据
// config
module.exports = {
url: 'http://acyort.am0200.com', // 网站地址
title: 'AcyOrt', // 博客标题
about: 'A Node.js blog tool powered by GitHub.', // 博客介绍
user: 'LoeiFy', // Github 用户名
repo: 'AcyOrt', // 对应项目
rss: '/rss.xml', // Rss
perpage: 5, // 分页
token: ''+'', // Token
authors: [], // 作者
duoshuo: '', // 多说账号
disqus: '', // Disqus
menu: [ // 菜单
{name: 'home', url: '/'},
{name: 'about', url: '/page/about/'},
{name: 'archives', url: '/archives/'}
]
}
3.运行相关命令
$ npm i
$ npm run build
4.Git push 相关内容
详细步骤可以看项目说明
基本上一个简单的博客该有的功能都有了
文章功能
./posts/yyyy/mm/...
评论功能
Disqus
or Duoshuo
文章归档
./archives/
Rss
./rss.xml
页面功能
./page/.../
标签功能
./tags/.../
菜单功能
1.文章添加 summary
只需要在正文相关地方添加 <!-- more -->
2.创建页面
只需要将标题写成 [about]关于我们
这时候会产生一个标题为 关于我们
的 about.html
页面
3.标签功能
添加 issue labels
即可
4.排除他人写的无关 issue 博客内容
在 config.js
里的 authors
字段填写指定的作者白名单
MIT
1
liuweifeng 2016-02-19 11:44:25 +08:00
挺好,我本来也打算搞个这样的,懒癌犯了没开工。。。
提个建议,可以生成 markdown ,扔到 gh-pages 分支,交给 jekyll 来处理,这样主题啊扩展啊会多点选择的空间。再支持下 webhook ,就可以自动化更新了。 |
2
coraline OP @liuweifeng 如果使用 jekyll 之类来处理的话,这样就太多依赖了,我的想法就是用户只要在 issue 上写文章,然后一步处理成静态 html 上传。不过现在还是需要进一步简化改进,还有模版定制也需要再优化一下
|