Total Pageviews

Thursday 20 March 2014

在linux vps上搭建基于emacs orgmode的静态博客程序:o-blog

cd ~/.emacs.d/ (如果无此.emacs.d/目录,就新建它)
git clone https://github.com/renard/o-blog

添加如下内容到~/.emacs.d/init.el文件(如果无此init.el文件,就新建它)
(add-to-list 'load-path "~/.emacs.d/o-blog")
(require 'o-blog)

以上的操作其实还是不够的,还需做如下操作:
git clone https://github.com/emacsmirror/htmlize
(参见https://github.com/renard/o-blog/issues/2,官网https://github.com/renard/o-blog又不更新一下,让我遇错误,好久搞不定)

修改~/.emacs.d/init.el文件如下:(如果无此init.el文件,就新建它)
(add-to-list 'load-path "~/.emacs.d/o-blog")
(add-to-list 'load-path "~/.emacs.d/htmlize")
(require 'o-blog)
(require 'htmlize)

as3:~/.emacs.d# ls
htmlize  init.el  o-blog
as3:~/.emacs.d#

生成博客:
as3:~/.emacs.d# emacs --load init.el o-blog/example/sample.org
然后执行 M-x org-publish-blog,输出的站点默认保存在 ~/.emacs.d/o-blog/example/out/
(这个就是生成/更新静态网站的命令)
as3:~/.emacs.d# cd o-blog/example/
as3:~/.emacs.d/o-blog/example# ls
200px-Org-mode-unicorn.svg.png  oblog-min.org         out
emacs-logo.png                  org-mode-unicorn.png  sample.org
(新出现了out目录)
as3:~/.emacs.d/o-blog/example# cd out
as3:~/.emacs.d/o-blog/example/out# ls
archives.html    features.html   sitemap.xml      templates.html
bug-report.html  functions.html  structures.html  testimonials.html
changelog.html   index.html      style            tips
debug.html       index.xml       tags
faq.html         roadmap.html    tags.html
(可见~/.emacs.d/o-blog/example/out/就是静态网站的根目录)
as3:~/.emacs.d/o-blog/example/out# nohup Rwebserver 43830 > /dev/null &
访问http://as3.brite.biz:43830/就可看到网站效果。

发贴方法:
as3:~/.emacs.d/o-blog/example/out# cd ..
as3:~/.emacs.d/o-blog/example# nano test1.org
test1.org的格式为:
#+TITLE: 测试1
#+STARTUP: logdone

这是测试1.


然后,
as3:~/.emacs.d/o-blog/example# emacs --load ~/.emacs.d/init.el ~/.emacs.d/o-blog/example/sample.org
(这个就是生成/更新静态网站的命令.我用的是完整路径,以确保不会出错)

演示站点:http://as3.brite.biz:43830/index.html,HTTP://ob.brite.biz.st
http://as3.brite.biz/o-blog-output
注意:如果直接绑定域名到 ~/.emacs.d/o-blog/example/out/目录,访问域名地址会出现
Forbidden的提示。使用chown命令也无济于事。所以我运行了:
cp -r  ~/.emacs.d/o-blog/example/out/ /var/www/
mv /var/www/out/ /var/www/o-blog-output
然后绑定域名ob.brite.biz.st到/var/www/o-blog-output/,这样域名地址HTTP://ob.brite.biz.st就可正常访问了。
发贴后,要记得运行rsync命令,把 ~/.emacs.d/o-blog/example/out/目录同步到/var/www/o-blog-output/目录。
不过奇怪的是我发表的帖子test1.html不知在哪里。
项目地址:https://github.com/renard/o-blog