Total Pageviews

Saturday, 26 November 2016

搭建基于java的静态博客程序s2gen

首先在linux vps上搭建java环境。

wget https://github.com/denisftw/s2gen/releases/download/v0.2.9/s2gen-0.2.9.tgz
tar zxvf s2gen-0.2.9.tgz
cd s2gen-0.2.9

root@AR:~/s2gen-0.2.9# ls
bin  lib
root@AR:~/s2gen-0.2.9# cd bin
root@AR:~/s2gen-0.2.9/bin# ls
s2gen  s2gen.bat
root@AR:~/s2gen-0.2.9/bin#

~/s2gen-0.2.9/bin/s2gen就是可执行文件。编辑/etc/profile,在最下面一行加上:
export PATH=$PATH: ~/s2gen-0.2.9/bin
然后运行source  /etc/profile
然后,
root@AR:~/s2gen-0.2.9/bin# cd /usr/local
root@AR:/usr/local# mkdir s2gen-site
root@AR:/usr/local# cd s2gen-site
root@AR:/usr/local/s2gen-site# s2gen -init (此命令会初始化当前目录。即在当前目录下,会生成一些文件和文件夹)
root@AR:/usr/local/s2gen-site# ls
content  s2gen.json  site  templates
root@AR:/usr/local/s2gen-site# nano
s2gen.json
(把"port"的值改为7080)
root@AR:/usr/local/s2gen-site# s2gen (这个就是生成/更新静态网站的根目录的命令)
会显示:
...
[23:52:58.337] [INFO ] S2HttpServer - The HTTP server has been started on port 7080
[23:52:58.337] [INFO ] S2Generator - Registering a file watcher
[23:52:59.133] [INFO ] S2Generator - Waiting for changes..


然后访问网站http://vps_ip:7080即可看到网站效果。
按ctrl+c,终止这个HTTP server。
root@AR:/usr/local/s2gen-site# find . -name index.html 
显示:
./site/blog/index.html
./site/blog/2016/hello-world/index.html
./site/about/index.html
./site/index.html
root@AR:/usr/local/s2gen-site# 

root@AR:/usr/local/s2gen-site# cd site
root@AR:/usr/local/s2gen-site/site# ls
about  blog  css  feed.xml  index.html    sitemap.xml
root@AR:/usr/local/s2gen-site/site# 

(可见 /usr/local/s2gen-site/site/就是静态网站的根目录)

新建源帖:
root@AR:/usr/local/s2gen-site/site# cd ..
root@AR:/usr/local/s2gen-site# ls
content  s2gen.json  site  templates
root@AR:/usr/local/s2gen-site# cd content
root@AR:/usr/local/s2gen-site/content# ls
blog
root@AR:/usr/local/s2gen-site/content# cd  blog
root@AR:/usr/local/s2gen-site/content/blog# ls
2016
root@AR:/usr/local/s2gen-site/content/blog# cd 2016
root@AR:/usr/local/s2gen-site/content/blog/2016# cp hello-world.md  test.md

(注意:这里必须使用cp命令复制示范帖来修改。不要这样做:打开hello-world.md,复制里面的内容,然后粘贴到新的空白帖;这样做的话,之后运行s2gen,会遇错)
root@AR:/usr/local/s2gen-site/content/blog/2016# nano test.md
(把title的值改为 测试
把date的值改为2016-11-27
把link的值改为blog/2016/test

把2个"__PREVIEW__"之间的内容去掉,改为 这是测试。
把第二个"__PREVIEW__"之下的内容去掉,改为

看看如何?

了解一下。

root@AR:/usr/local/s2gen-site/content/blog/2016# cd 
/usr/local/s2gen-site
root@AR:/usr/local/s2gen-site# s2gen

如果让s2gen在后台运行:
root@AR:/usr/local/s2gen-site# s2gen > /dev/null &
那么新帖一编辑好,网站就自动更新了。


演示网站:http://s2g.bright.biz.st,http://s2g.bright.biz.st/blog/
项目地址:https://github.com/denisftw/s2gen