Total Pageviews

Sunday 27 July 2014

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

首先安装ActiveTcl-8.5:
wget http://downloads.activestate.com/ActiveTcl/releases/8.5.15.0/ActiveTcl8.5.15.0.297577-linux-ix86-threaded.tar.gz
tar zxvf ActiveTcl8.5.15.0.297577-linux-ix86-threaded.tar.gz
cd ActiveTcl8.5.15.0.297577-linux-ix86-threaded
sh install.sh
(安装目录设为/usr/local/ActiveTcl-8.5)
然后设置环境变量:
PATH="/usr/local/ActiveTcl-8.5/bin:$PATH"
export PATH
或者一次性也可:
export PATH="/usr/local/ActiveTcl-8.5/bin:$PATH"
然后把export PATH="/usr/local/ActiveTcl-8.5/bin:$PATH"添加到/etc/profile的末尾。

cd ~
git clone https://github.com/dbohdan/tclssg tclssg-site
cd tclssg-site

root@as3:~/tclssg-site# ls
external  README.md       skeleton  ssg.tcl    utils.tcl
LICENSE   screenshot.png  ssg.cmd   tests.tcl  VERSION
root@as3:~/tclssg-site# ./ssg.tcl init
copying ./skeleton/website.conf to website/input/website.conf
copying ./skeleton/pages/index.md to website/input/pages/index.md
copying ./skeleton/static/main.css to website/input/static/main.css
copying ./skeleton/pages/blog/index.md to website/input/pages/blog/index.md
copying ./skeleton/pages/blog/test-2.md to website/input/pages/blog/test-2.md
copying ./skeleton/pages/blog/test-3.md to website/input/pages/blog/test-3.md
copying ./skeleton/pages/blog/test.md to website/input/pages/blog/test.md
root@as3:~/tclssg-site# ls
external  README.md       skeleton  ssg.tcl    utils.tcl  website
LICENSE   screenshot.png  ssg.cmd   tests.tcl  VERSION
(生成了website目录)
root@as3:~/tclssg-site# ./ssg.tcl build (这个就是生成/更新静态网站的命令)
显示:
...
processing page file website/input/pages/index.md into website/output/index.html
creating directory website/output/blog
processing page file website/input/pages/blog/index.md into website/output/blog/index.html
processing page file website/input/pages/blog/test-2.md into website/output/blog/test-2.html
processing page file website/input/pages/blog/test-3.md into
website/output/blog/test-3.html
processing page file website/input/pages/blog/test.md into
website/output/blog/test.html
copying website/input/static/main.css to website/output/main.css
root@as3:~/tclssg-site#
root@as3:~/tclssg-site# cd website
root@as3:~/tclssg-site/website# ls
input  output
root@as3:~/tclssg-site/website# cd output
root@as3:~/tclssg-site/website/output# ls
blog  index.html  main.css
(可见~/tclssg-site/website/output/就是静态网站的根目录)
root@as3:~/tclssg-site/website/output# nohup Rwebserver 24616 > /dev/null &
访问http://as3.brite.biz:24616/index.html ,http://as3.brite.biz:24616/blog即可看到网
站效果。

发贴方法:
root@as3:~/tclssg-site/website/output# cd ../input/pages/blog/
root@as3:~/tclssg-site/website/input/pages/blog# ls
index.md  test-2.md  test-3.md  test.md
root@as3:~/tclssg-site/website/input/pages/blog# nano 20140727-1620-check.md
按test-2.md的格式,新建帖子20140727-1620-check.md,格式如下:         
! pageTitle {检查}
! blogPost 1
! tags {misc1 misc2}

这是一次检查.


然后,
root@as3:~/tclssg-site/website/input/pages/blog# cd ~/tclssg-site
root@as3:~/tclssg-site# nano ./website/input/website.conf
(编辑website/input/website.conf,可修改网站标题)
root@as3:~/tclssg-site# ./ssg.tcl build

演示站点:http://as3.brite.biz:24616,http://tclssg.briteming.yi.org
项目地址:https://github.com/dbohdan/tclssg
----------------------------------
作者于2014-07-29日推出了支持分页的版本:
https://github.com/dbohdan/tclssg/tree/v0.3.1

安装如下:
root@as3:~# wget https://github.com/dbohdan/tclssg/archive/v0.3.1.zip
root@as3:~# mv v0.3.1.zip tclssg-0.3.1.zip
root@as3:~# unzip  tclssg-0.3.1.zip
root@as3:~# cd tclssg-0.3.1
root@as3:~/tclssg-0.3.1#
root@as3:~/tclssg-0.3.1# ls
external  README.md       skeleton  ssg.tcl    utils.tcl
LICENSE   screenshot.png  ssg.cmd   tests.tcl  VERSION
root@as3:~/tclssg-0.3.1#  chmod 755 ssg.tcl
root@as3:~/tclssg-0.3.1# ./ssg.tcl init (此命令会在当前目录下,生成website目录)
root@as3:~/tclssg-0.3.1# ls
external  README.md       skeleton  ssg.tcl    utils.tcl  website
LICENSE   screenshot.png  ssg.cmd   tests.tcl  VERSION
root@as3:~/tclssg-0.3.1# ./ssg.tcl build (这个就是生成/更新静态网站的命令)
root@as3:~/tclssg-0.3.1# cd  website
root@as3:~/tclssg-0.3.1/website# ls
input  output
root@as3:~/tclssg-0.3.1/website# cd input/pages/blog
root@as3:~/tclssg-0.3.1/website/input/pages/blog# ls
index.md  test-2.md  test-3.md  test.md
root@as3:~/tclssg-0.3.1/website/input/pages/blog# nano check.md
按test-2.md的格式,新建帖子check.md,格式如下:
! pageTitle {一次检查}
! blogPost 1
! tags {misc1 misc2}
! date "2014-07-29 13:01"

这是一次检查。

(注意:上面的! date行的2014-07-29 13:01需加上英文的双引号。中间有空格的值都建议加上英文的双引号。
然后,
root@as3:~/tclssg-0.3.1/website/input/pages/blog# cd ~/tclssg-0.3.1
root@as3:~/tclssg-0.3.1# ./ssg.tcl build (这个就是生成/更新静态网站的命令)
root@as3:~/tclssg-0.3.1# cd website/output
root@as3:~/tclssg-0.3.1/website/output# ls
blog      contact.html  html5reset.css  main.css
blog.css  external      index.html      tclssg.css
(可见~/tclssg-0.3.1/website/output/就是静态网站的根目录)
root@as3:~/tclssg-0.3.1/website/output# nohup Rwebserver 24617 > /dev/null &
访问http://as3.brite.biz:24617/index.html ,http://as3.brite.biz:24617/blog即可看到网
站效果。

root@as3:~/tclssg-0.3.1/website/output# cd ~/tclssg-0.3.1
root@as3:~/tclssg-0.3.1# nano website/input/website.conf
(编辑website/input/website.conf,可修改网站标题.修改website.conf里的blogPostsPerDocument的值为3,这样每页显示的帖子数就是3)
root@as3:~/tclssg-0.3.1# ./ssg.tcl build
--------------------------------------
作者于2014-07-30日推出了支持文章摘要功能的版本:
https://github.com/dbohdan/tclssg/tree/v0.7.1

安装如下:
root@as3:~# wget https://github.com/dbohdan/tclssg/archive/v0.7.1.zip
root@as3:~# mv v0.7.1.zip tclssg-0.7.1.zip
root@as3:~# unzip  tclssg-0.7.1.zip
root@as3:~# cd tclssg-0.7.1
root@as3:~/tclssg-0.7.1#
root@as3:~/tclssg-0.7.1# ls
external  README.md       skeleton  ssg.tcl      tools  VERSION
LICENSE   screenshot.png  ssg.cmd   tests.tcl  utils.tcl
root@as3:~/tclssg-0.7.1#  chmod 755 ssg.tcl
root@as3:~/tclssg-0.7.1# ./ssg.tcl init (此命令会在当前目录下,生成website目录)
root@as3:~/tclssg-0.7.1# ls
external  README.md       skeleton  ssg.tcl    tools  VERSION
LICENSE   screenshot.png  ssg.cmd   tests.tcl  utils.tcl  website
root@as3:~/tclssg-0.7.1# cd  website
root@as3:~/tclssg-0.7.1/website# ls
input  output
root@as3:~/tclssg-0.7.1/website# cd input/pages/blog
root@as3:~/tclssg-0.7.1/website/input/pages/blog# ls
index.md  test-2.md  test-3.md  test.md
root@as3:~/tclssg-0.7.1/website/input/pages/blog# nano chinese-economy.md
按test-2.md的格式,新建帖子chinese-economy.md,格式如下:
{
pageTitle {中国经济}
blogPost 1
tags {misc1 misc2}
date "2014-07-31 16:55"
}

<p>(北京时间2008年7月04日 来稿)</p>
<p>    正如俗话所说,“当中国打喷嚏时,世界其他地方就会患……”且慢,这难道不是用来形容美国时常用的陈词滥调吗?或许就是,但对于全球经济增长来说,这些天来中国经济减速几乎同美国经济衰退一样重要。北京能够驾驭其飞速增长的经济实现软着陆吗?或者说,世界将遭受美国、欧洲和中国经济虚弱表现的三重打击吗?中国经济的全球化不仅仅使中国产品走进了世界各地的数十亿个家庭,还把世界的命运同中国的未来联系在了一起。中国的出口几乎占到了世界总出口的 9%,而中国的进口正在帮助其他的经济体维持繁荣。其中近1/3的进口来自附近的日本、韩国等。由于日本试图巩固其期待已久的经济复苏,韩国则担心其出口需求下降,因而,中国增长的急速下降可能是危险的。美国、德国以及中国其他的主要供应国也以担忧的心情注视着中国。如果急剧减速到来,它的程度会有多大?中国政府明显意识到了其经济正处于过热的危险之中,但并不情愿采取严厉的措施为经济增长刹车。人民币价值适当而稳健的增长可能有助于减少中国的贸易顺差。然而,利率不得不大幅提高。采取这种权宜之计的部分原因可能是政治上的考虑。由于中国的中央银行并没实现真正的独立,所以即使一些经济学家预测说通货膨胀率达到两位数字也不会导致更加严厉的信贷政策,尤其是在今年夏天的奥运会期间。但如果央行保持沉默,那么最近的事态可能会使形势更加恶化。过去两年来,中国一直努力使其经济年增长率从11%到12%下降到8%或9%。即使这一变化也很难实现。如果通胀继续上升,增长不很快放缓,那么软着陆——在不引起经济衰退的情况下使经济活动减速——几乎是不可能的。到目前为止,中国的通胀部分是由国内需求推动的,部分是由全球商品价格上升推动的。不过,瑞士信贷的亚洲首席经济学家陶冬(音)说,工资压力可能在今年下半年把国内价格推到一个更高的水平。陶说他认为对于中国经济来说有两种假定。一是对中国出口产品需求的降低可能会引发中国经济轻微的减速,可以缓解价格压力,允许经济有一个喘息的机会;另一个假定是高通胀将导致政府采取积极行动,如提高利率和允许人民币快速升值。繁荣的中国房地产市场将遭受打击,国内消费也将受到影响,还会影响到对世界其他地方产品的需求。对全球经济来说,这将是一个重要的发展阶段。中国经济年增长率急速下滑,比如说从12%下降到4%将会使全球经济损失2800亿美元,几乎等同于美国经济增长率从3%下降到1%所带来的影响。即使美国经济规模仍是中国经济规模的四倍,中国经济的快速增长仍将是非常令人怀念的。(2008年7月4日《新快报》)</p>
<!--more-->
<p>这是该报翻译自美国《国际先驱论坛报》的一篇文字.</p>

...
(注意:上面的date行的2014-07-31 16:55需加上英文的双引号。中间有空格的值都建议加上英文的双引号。
然后,
root@as3:~/tclssg-0.7.1/website/input/pages/blog# cd ~/tclssg-0.7.1
root@as3:~/tclssg-0.7.1# ./ssg.tcl build (这个就是生成/更新静态网站的命令)
root@as3:~/tclssg-0.7.1# cd website/output
root@as3:~/tclssg-0.7.1/website/output# ls
blog      contact.html  html5reset.css  main.css
blog.css  external      index.html      tclssg.css
(可见~/tclssg-0.7.1/website/output/就是静态网站的根目录)
root@as3:~/tclssg-0.7.1/website/output# nohup Rwebserver 24618 > /dev/null &
访问http://as3.brite.biz:24618/index.html ,http://as3.brite.biz:24618/blog即可看到网
站效果。

root@as3:~/tclssg-0.7.1/website/output# cd ~/tclssg-0.7.1
root@as3:~/tclssg-0.7.1# nano website/input/website.conf
(编辑website/input/website.conf,可修改网站标题.修改website.conf里的blogPostsPerfile的值为3,这样每页显示的帖子数就是3.在website.conf的末尾加上一行:
pageVariables { hideSidebar 1 }
这样侧边栏就不会显示帖子的列表了。)
root@as3:~/tclssg-0.7.1# ./ssg.tcl build
root@as3:~/tclssg-0.7.1# nano website/input/pages/blog/index.md
(把showTagCloud的值设为0,这样标签云就不会显示在侧边栏了)
root@as3:~/tclssg-0.7.1# ./ssg.tcl build

演示站点:http://as3.brite.biz:24618,http://tclssg3.briteming.yi.org
项目地址:https://github.com/dbohdan/tclssg/tree/v0.7.1
下载地址:https://github.com/dbohdan/tclssg/archive/v0.7.1.zip