先按此文http://briteming.blogspot.com/2016/07/haskellghc.html安装cabal.
cd /usr/local
git clone https://github.com/2016rshah/heckle heckle-blog-by-2016rshah
cd heckle-blog-by-2016rshah (因为当前目录下有cabal文件,于是运行cabal sandbox init)
cabal sandbox init
cabal install
等待安装完成后,进入.cabal-sandbox/bin/目录,.cabal-sandbox/bin/目录里有heckle文件,这个heckle文件就是本程序的可执行文件,其完整路径为/usr/local/heckle-blog-by-2016rshah/.cabal-sandbox/bin/heckle ,
另外一个可执行文件为/usr/local/heckle-blog-by-2016rshah/dist/dist-sandbox-9ebc2966/build/heckle/heckle,这2个可执行文件是等效的。
root@AR:/usr/local/heckle-blog-by-2016rshah# ls
example heckle.cabal Setup.hs
cabal.sandbox.config heckle meta src
README.md stack.yaml
root@AR:/usr/local/heckle-blog-by-2016rshah# mkdir heckle-blog
root@AR:/usr/local/heckle-blog-by-2016rshah# cd heckle-blog
root@AR:/usr/local/heckle-blog-by-2016rshah/heckle-blog# /usr/local/heckle/.cabal-sandbox/bin/heckle init
(此命令会在当前目录下,生成博客目录结构)
root@AR:/usr/local/heckle-blog-by-2016rshah/heckle-blog# ls
index.html index.html.hkl posts template.html.hkl
root@AR:/usr/local/heckle-blog-by-2016rshah/heckle-blog# cd posts
root@AR:/usr/local/heckle-blog-by-2016rshah/heckle-blog/posts# ls
example-markdown.html example-markdown.md
root@AR:/usr/local/heckle-blog-by-2016rshah/heckle-blog/posts# nano test-1.md
root@AR:/usr/local/heckle-blog-by-2016rshah/heckle-blog/posts# cat test-1.md
% 测试1
% brite fisherman
% 19 November 2016
这是测试1.
看看如何?
root@AR:/usr/local/heckle-blog-by-2016rshah/heckle-blog/posts# cd ..
root@AR:/usr/local/heckle-blog-by-2016rshah/heckle-blog# /usr/local/heckle-blog-by-2016rshah/.cabal-sandbox/bin/heckle build
(此即生成静态网站的根目录的命令)
root@AR:/usr/local/heckle-blog-by-2016rshah/heckle-blog# ls
index.html index.html.hkl posts template.html.hkl
root@AR:/usr/local/heckle-blog-by-2016rshah/heckle-blog#
(可见此处,/usr/local/heckle/heckle-blog就是静态网站的根目录,不过这个/usr/local/heckle/heckle-blog/所对应的网站很简陋)
root@AR:/usr/local/heckle-blog-by-2016rshah/heckle-blog# cd ..
我们来克隆程序作者的网站:
root@AR:/usr/local/heckle-blog-by-2016rshah# git clone https://github.com/2016rshah/blog 2016rshah-blog
root@AR:/usr/local/heckle-blog-by-2016rshah# cd 2016rshah-blog
root@AR:/usr/local/heckle-blog-by-2016rshah/2016rshah-blog# ls
discarded_posts index_files index.html.hkl README.md template.html.hkl
fonts index.html posts resources
root@AR:/usr/local/heckle-blog-by-2016rshah/2016rshah-blog# cd posts
root@AR:/usr/local/heckle-blog-by-2016rshah/2016rshah-blog/posts# nano test-1.md
root@AR:/usr/local/heckle-blog-by-2016rshah/2016rshah-blog/posts# cat test-1.md
% 测试1
% brite fisherman
% 19 November 2016
# 测试1
这是测试1.
看看如何?
root@AR:/usr/local/heckle-blog-by-2016rshah/2016rshah-blog/posts# cd ..
root@AR:/usr/local/heckle-blog-by-2016rshah/2016rshah-blog# /usr/local/heckle-blog-by-2016rshah/.cabal-sandbox/bin/heckle build
注:如果你安装了latex,这个博客程序还可生成pdf文件。只要你新建的源帖为tex文件,就可把tex文件转化为pdf文件。
root@AR:/usr/local/heckle-blog-by-2016rshah/2016rshah-blog# cd posts
root@AR:/usr/local/heckle-blog-by-2016rshah/2016rshah-blog/posts# ls
abstraction-progression-blatex.pdf green-sky.tex
abstraction-progression-blatex.tex haskell-emacs-workflow.pdf
bcoz-i-love-u.html haskell-emacs-workflow.tex
bcoz-i-love-u.md k-nearest-neighbors.pdf
birth-of-heckle.html k-nearest-neighbors.tex
birth-of-heckle.md pollen.bib
chinese-economy.html pollen.pdf
chinese-economy.md pollen.tex
clearing-up-week-05-of-cis194.pdf sinatra.pdf
clearing-up-week-05-of-cis194.tex sinatra.tex
distributive-applicative.pdf test-1.html
distributive-applicative.tex test-1.md
dynamic-versus-static-typing.pdf test-2.html
dynamic-versus-static-typing.tex test-2.md
elixir_of_life.pdf tic-hack-toe.pdf
elixir_of_life.tex tic-hack-toe.tex
feature-extraction.pdf week-06-of-cis194.pdf
feature-extraction.tex week-06-of-cis194.tex
generic-java.pdf what-is-the-web.pdf
generic-java.tex what-is-the-web.tex
green-sky.pdf
root@AR:/usr/local/heckle-blog-by-2016rshah/2016rshah-blog/posts#
演示网站:http://rsb.bright.biz.st (可惜同一天发表的帖子并非按发表的时间顺序排列)
项目地址: https://github.com/2016rshah/heckle,
(https://hackage.haskell.org/package/heckle)
https://github.com/2016rshah/blog
cd /usr/local
git clone https://github.com/2016rshah/heckle heckle-blog-by-2016rshah
cd heckle-blog-by-2016rshah (因为当前目录下有cabal文件,于是运行cabal sandbox init)
cabal sandbox init
cabal install
等待安装完成后,进入.cabal-sandbox/bin/目录,.cabal-sandbox/bin/目录里有heckle文件,这个heckle文件就是本程序的可执行文件,其完整路径为/usr/local/heckle-blog-by-2016rshah/.cabal-sandbox/bin/heckle ,
另外一个可执行文件为/usr/local/heckle-blog-by-2016rshah/dist/dist-sandbox-9ebc2966/build/heckle/heckle,这2个可执行文件是等效的。
root@AR:/usr/local/heckle-blog-by-2016rshah# ls
example heckle.cabal Setup.hs
cabal.sandbox.config heckle meta src
README.md stack.yaml
root@AR:/usr/local/heckle-blog-by-2016rshah# mkdir heckle-blog
root@AR:/usr/local/heckle-blog-by-2016rshah# cd heckle-blog
root@AR:/usr/local/heckle-blog-by-2016rshah/heckle-blog# /usr/local/heckle/.cabal-sandbox/bin/heckle init
(此命令会在当前目录下,生成博客目录结构)
root@AR:/usr/local/heckle-blog-by-2016rshah/heckle-blog# ls
index.html index.html.hkl posts template.html.hkl
root@AR:/usr/local/heckle-blog-by-2016rshah/heckle-blog# cd posts
root@AR:/usr/local/heckle-blog-by-2016rshah/heckle-blog/posts# ls
example-markdown.html example-markdown.md
root@AR:/usr/local/heckle-blog-by-2016rshah/heckle-blog/posts# nano test-1.md
root@AR:/usr/local/heckle-blog-by-2016rshah/heckle-blog/posts# cat test-1.md
% 测试1
% brite fisherman
% 19 November 2016
这是测试1.
看看如何?
root@AR:/usr/local/heckle-blog-by-2016rshah/heckle-blog/posts# cd ..
root@AR:/usr/local/heckle-blog-by-2016rshah/heckle-blog# /usr/local/heckle-blog-by-2016rshah/.cabal-sandbox/bin/heckle build
(此即生成静态网站的根目录的命令)
root@AR:/usr/local/heckle-blog-by-2016rshah/heckle-blog# ls
index.html index.html.hkl posts template.html.hkl
root@AR:/usr/local/heckle-blog-by-2016rshah/heckle-blog#
(可见此处,/usr/local/heckle/heckle-blog就是静态网站的根目录,不过这个/usr/local/heckle/heckle-blog/所对应的网站很简陋)
root@AR:/usr/local/heckle-blog-by-2016rshah/heckle-blog# cd ..
我们来克隆程序作者的网站:
root@AR:/usr/local/heckle-blog-by-2016rshah# git clone https://github.com/2016rshah/blog 2016rshah-blog
root@AR:/usr/local/heckle-blog-by-2016rshah# cd 2016rshah-blog
root@AR:/usr/local/heckle-blog-by-2016rshah/2016rshah-blog# ls
discarded_posts index_files index.html.hkl README.md template.html.hkl
fonts index.html posts resources
root@AR:/usr/local/heckle-blog-by-2016rshah/2016rshah-blog# cd posts
root@AR:/usr/local/heckle-blog-by-2016rshah/2016rshah-blog/posts# nano test-1.md
root@AR:/usr/local/heckle-blog-by-2016rshah/2016rshah-blog/posts# cat test-1.md
% 测试1
% brite fisherman
% 19 November 2016
# 测试1
这是测试1.
看看如何?
root@AR:/usr/local/heckle-blog-by-2016rshah/2016rshah-blog/posts# cd ..
root@AR:/usr/local/heckle-blog-by-2016rshah/2016rshah-blog# /usr/local/heckle-blog-by-2016rshah/.cabal-sandbox/bin/heckle build
注:如果你安装了latex,这个博客程序还可生成pdf文件。只要你新建的源帖为tex文件,就可把tex文件转化为pdf文件。
root@AR:/usr/local/heckle-blog-by-2016rshah/2016rshah-blog# cd posts
root@AR:/usr/local/heckle-blog-by-2016rshah/2016rshah-blog/posts# ls
abstraction-progression-blatex.pdf green-sky.tex
abstraction-progression-blatex.tex haskell-emacs-workflow.pdf
bcoz-i-love-u.html haskell-emacs-workflow.tex
bcoz-i-love-u.md k-nearest-neighbors.pdf
birth-of-heckle.html k-nearest-neighbors.tex
birth-of-heckle.md pollen.bib
chinese-economy.html pollen.pdf
chinese-economy.md pollen.tex
clearing-up-week-05-of-cis194.pdf sinatra.pdf
clearing-up-week-05-of-cis194.tex sinatra.tex
distributive-applicative.pdf test-1.html
distributive-applicative.tex test-1.md
dynamic-versus-static-typing.pdf test-2.html
dynamic-versus-static-typing.tex test-2.md
elixir_of_life.pdf tic-hack-toe.pdf
elixir_of_life.tex tic-hack-toe.tex
feature-extraction.pdf week-06-of-cis194.pdf
feature-extraction.tex week-06-of-cis194.tex
generic-java.pdf what-is-the-web.pdf
generic-java.tex what-is-the-web.tex
green-sky.pdf
root@AR:/usr/local/heckle-blog-by-2016rshah/2016rshah-blog/posts#
演示网站:http://rsb.bright.biz.st (可惜同一天发表的帖子并非按发表的时间顺序排列)
项目地址: https://github.com/2016rshah/heckle,
(https://hackage.haskell.org/package/heckle)
https://github.com/2016rshah/blog