Total Pageviews

Friday, 18 October 2013

在linux vps上搭建基于python的静态博客程序-cactus

# easy_install cactus
# cactus create cactus-site (在当前目录下会生成catus-site目录)
# cd cactus-site
# cactus build  (Your rendered website can now be found in the (hidden) [path]/.build folder。每次新建帖子后,需运行cactus build来更新网站)
(如果遇到提示:No module named markup,则pip install markup)
( 运行cactus build后,在当前目录下,会生成一个隐身的 .build目录)
as3:~/cactus-site# cd .build
as3:~/cactus-site/.build# ls
error.html  index.html  robots.txt  sitemap.xml  static
(可见~/cactus-site/.build/就是静态网站的根目录)
as3:~/cactus-site/.build# nohup Rwebserver 34749 > /dev/null &
as3:~/cactus-site/.build# cd ..
as3:~/cactus-site# ls
pages  plugins  static  templates
as3:~/cactus-site#
as3:~/cactus-site# nohup cactus serve 32830 > /dev/null &
(运行nohup cactus serve 32830 > /dev/null &,即可预览网站:
http://as3.brite.biz:32830)
as3:~/cactus-site# ls pages
error.html  index.html  robots.txt  sitemap.xml
(可知 ~/cactus-site/pages/是源帖所在的目录)

发贴方法:
as3:~/cactus-site# cd pages
as3:~/cactus-site/pages# nano test1.html
test1.html的格式为:
<h2>测试1</h2>
这是测试1.

然后,
as3:~/cactus-site/pages# cd ..
as3:~/cactus-site# cactus build (这个就是生成/更新静态网站的命令)
as3:~/cactus-site# cd .build
as3:~/cactus-site/.build# ls
chinese-economy.html  fengyuwuzu.html  robots.txt   static      test2.html
error.html            index.html       sitemap.xml  test1.html
as3:~/cactus-site/.build#

演示站点:
http://as3.brite.biz:34749 ,http://as3.brite.biz:32830/
http://as3.brite.biz:34749/test1.html
http://as3.brite.biz:34749/test2.html
http://as3.brite.biz:34749/fengyuwuzu.html
http://as3.brite.biz:34749/chinese-economy.html
不过首页并不自动显示已发表的文章的超链,可这样处理:(编辑源帖所在目录里的index文件)
nano ~/cactus-site/pages/index.html
在Welcome to Cactus!的下一行加入:
<p><a href=/test1.html>测试1</a></p>
<p><a href=/test2.html>测试2</a></p>
<p><a href=/fengyuwuzu.html>风雨无阻</a></p>
<p><a href=/chinese-economy.html>中国经济</a></p>

然后,
cd ~/cactus-site/
cactus build
更新一下静态网站。

它这只是个初步框架,还需自己设计模板或放置模板文件到~/cactus-site/templates/.
项目地址:https://github.com/koenbok/Cactus


以上建立的网站 http://as3.brite.biz:34749太简陋,我们可以克隆作者给出的示范网站:
as3:~/cactus-site# git clone https://github.com/koenbok/CactusBlog
as3:~/cactus-site# cd CactusBlog
as3:~/cactus-site/CactusBlog# ls
pages  plugins  readme.md  static  templates
as3:~/cactus-site/CactusBlog# 

发贴方法:
as3:~/cactus-site/CactusBlog# cd pages
as3:~/cactus-site/CactusBlog/pages# ls
error.html  index.html  posts  robots.txt  sitemap.xml
as3:~/cactus-site/CactusBlog/pages# cd posts
as3:~/cactus-site/CactusBlog/pages/posts# ls
first-post.html       second-post.html     third-post.html
as3:~/cactus-site/CactusBlog/pages/posts# nano test2.html
按first-post.html 的格式,新建帖子 test2.html,格式如下:
title: 测试2
author: yu ming
date: 18-04-2014

{% extends "post.html" %}
{% block body %}

{% load markup %}
{% filter markdown %}

这是测试2.

{% endfilter %}
{% endblock %}


然后,
as3:~/cactus-site/CactusBlog/pages/posts# cd ../../
as3:~/cactus-site/CactusBlog#  cactus build
as3:~/cactus-site/CactusBlog# cd .build
as3:~/cactus-site/CactusBlog/.build# ls
error.html  index.html  posts  robots.txt  sitemap.xml  static
as3:~/cactus-site/CactusBlog/.build# nohup Rwebserver 35482 > /dev/null &
 可见~/cactus-site/CactusBlog/.build/就是静态网站的根目录。
访问http://as3.brite.biz:35482/即可看到网站效果。

演示站点:http://as3.brite.biz:35482/, http://ct.brite.biz.st
http://cactus-example-blog.s3-website-us-east-1.amazonaws.com/
项目地址:
https://github.com/koenbok/Cactus
https://github.com/koenbok/CactusBlog
https://github.com/koenbok/Cactus/tree/v3 (新版)