V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
coraline
V2EX  ›  分享创造

AcyOrt,基于 Node.js 和 Github issue 的博客生成工具

  •  
  •   coraline · 2016-02-17 17:05:35 +08:00 · 2242 次点击
    这是一个创建于 3227 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Github 地址及详细说明

    https://github.com/LoeiFy/AcyOrt

    Demo

    http://acyort.am0200.com/

    博客内容来源于这里 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 字段填写指定的作者白名单

    License

    MIT

    2 条回复    2016-02-19 17:18:11 +08:00
    liuweifeng
        1
    liuweifeng  
       2016-02-19 11:44:25 +08:00
    挺好,我本来也打算搞个这样的,懒癌犯了没开工。。。
    提个建议,可以生成 markdown ,扔到 gh-pages 分支,交给 jekyll 来处理,这样主题啊扩展啊会多点选择的空间。再支持下 webhook ,就可以自动化更新了。
    coraline
        2
    coraline  
    OP
       2016-02-19 17:18:11 +08:00
    @liuweifeng 如果使用 jekyll 之类来处理的话,这样就太多依赖了,我的想法就是用户只要在 issue 上写文章,然后一步处理成静态 html 上传。不过现在还是需要进一步简化改进,还有模版定制也需要再优化一下
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1050 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 19:10 · PVG 03:10 · LAX 11:10 · JFK 14:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.