No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
README.md
main.go
model.go
utils.go

README.md

本工具实现流程图如下:

               push                       webhooks
Server(Hexo)---------->repository(github)---------->tools---->企业微信
    ^                                                            |
    |                                                            |
    |       read                            send msg             |
    +-----------------------people<------------------------------+

采用这个架构主要有以下这些考虑:

  • hexo是一个轻量级的静态博客框架,利用Node.js带来的超快生成速度,可以让上百个页面在几秒内完成渲染;
  • hexo原生支持Markdown的所有功能;
  • 新建文章一键部署;
  • 丰富的插件和主题支持;
  • 博客的核心是文章,不容有失。因此采用gitlab进行托管;
  • 接入企业微信。发表一篇新文章时会自动推送;
  • ...

博客搭建流程

  1. 安装hexo,需提前安装好Node.js和git
  2. 建站。执行以下命令:
$ hexo init <folder>
$ cd <folder>
$ npm install
  1. 安装插件
$ npm install hexo-generator-feed --save
$ npm install hexo-abbrlink --save
  1. 修改默认配置文件(<folder>/_config.yml),需要修改部分如下。其他配置文件参见这里,可根据需要修改
title: 美图云技术
permalink: posts/:abbrlink/
plugin:
- hexo-generator-feed
deploy:
  type: git
  repository: git@gitlab.meitu.com:yzy1/blog.git
  branch: master
abbrlink:
  alg: crc32
  rep: hex
  1. 可根据需要安装自己喜欢的主题
  2. 下载tools并编译(请参考README)
$ git clone https://github.com/SmartBrave/blog_tools.git ~/blog_tools
$ cd ~/blog_tools
$ go build
  1. 部署
$ nohup ~/blog_tools >/dev/null 2>&1 &
$ cd <floder>
$ nohup hexo server >/dev/null 2>&1 &
  1. 在gitlab仓库中将webhooks配置成tools所监听的地址

写作流程

1. 写博客

  1. 登录到服务器,在文章存放目录下(如/www/blog/source/_post)新建一个md文件,命名为文章名.md
  2. 或者使用hexo new article新建文章,然后编辑;
  3. 编辑文章,完成后保存退出。文章中图片资源可存放在/www/blog/source/images/文件夹下,通过/images/xxx.jpg引用;

2. 部署到gitlab

  1. 在博客目录下执行:
$ hexo g -d

若提示找不到git,请执行:

$ npm install hexo-deployer-git --save

可能遇到的问题

  1. 若博客无法访问,请检查网络是否连通;没问题之后检查server是否被kill,若被干掉了需要启动server:
$ cd /www/blog
$ nohup hexo server >/dev/null 2>&1 &