站点更新的若干尝试…

Posted by ryc111 on April 2, 2016

既然说要开始写文章,那么怎么更新文章是一个问题。首先是写,然后是发。怎么写是废话,怎么发是主体:跳过废话

写是一个需要动机的过程,既然说Markdown已经带来了优雅写作体验,剩下的似乎也只一个写作工具的事了,所以为了顺手,就顺便地试一试若干个markdown编辑器:

emacs

emacs并不只是个markdown编辑器,但是作为编辑器也丝毫没有任何问题: emacs 该高亮的高亮,不出彩,但是很可靠。不过emacs本身并不带此功能,需要自己安装markdown mode。非常适合本身就是以emacs为生产工具的人来用。

Ulysses

这是一个加强的markdown编辑器,提供了很漂亮的增强现实的文本,并且提供了本地主题,文本格式导出,基本的文件管理等功能。可以说是非常实用。 Ulysses

MacDown

初看介绍似乎很不错,不过试用下来发现并不是很适合用于编辑blog的markdown文件,在顶上定义行的识别上还是有小bug。 Macdown

说了这么多其实没啥用,哪个顺手用哪个就好,无需纠结。

如何发布文章?托管在github上的页面很简单:

git commit .
git push

输入评论账号密码…然后等待些时间页面就会自己更新出来了。当然要是用github desktop这个软件那就更好了,commit 然后 sync。万事大吉。

main

然而,我并不是把站点托管在github上面的, 要怎么做到本地更新,服务器可以自动部署呢。

分析一下,可以有很多个方式: 1. 本地build,然后把_site 同步到服务器的站点目录下。 2. 写好文章同步到github上,服务器自动git pull,然后build _site到站点目录下。 3. 利用git hooks做站点监测,然后自动build。

build

在build之前需要安装 jekyll以及相关的包,github-pages很贴心地集合了所有可能需要用到的gem包,所以不管什么主题,只要没有特别说明,安装了以后都是可以直接使用了: gem install github-pages 然后就是很简单的一句话: jekyll build 这个命令需要在你的jekyll目录下运行,之后会在该目录下生成 _site 文件夹。这个文件夹是一个完整的博客网站了,只需要放在服务器的设定目录下,利用http服务器就可以上线了。我很懒,所以选择了第一种方式,不过在build的时候指定了输出站点的位置,然后利用rsync来同步到远程服务器:

jekyll build -s ~/github/ryc111.com -d ~/Desktop/ryc111.com
rsync -az ~/Desktop/ryc111.com user@ryc111.com:/home/wwwroot

当然也可以这样做…

rsync -az ~/github/ryc111.com root@ryc111.com:
ssh root@ryc111.com "jekyll build -s ~/ryc111.com -d /home/wwwroot/ryc111.com"