星期一, 三月 12, 2012

python pelican博客系统

上次是ruby,这次是python。
pelican 是一个可以把rst文件生成静态博客页面的工具。 静态页面的好处是可以随便扔到哪里, 例如, github提供了 pages 服务.

星期日, 三月 11, 2012

使用 octopress + github page服务搭建博客

Octopress

http://lucifr.com/2011/11/23/bye-bye-wordpress-hello-octopress/

什么是 Octopress

简单来说 Octopress 是一个基于 Jekyll 的静态博客站点生成系统,它很大程度上简化了用 Jekyll 搭建博客的过程。不同于 Wordpress 这样的动态博客,它可以将一个模板目录(原始状态的网站)经过 MarkdownLiquid 转换,在本地生成一个完整的静态网站,再通过 git 或是 rsync 很方便的部署到 GithubHeroku 或是自建的服务器上。

Octopress 的优势

对于 Lucifr 来说,Octopress 之所以诱人,主要是因为以下几个方面:
  1. 网站搭建很方便
    这个方便当然是相对的,如果对 Git 和 Ruby 很熟悉的话会发现建个 Octopress 太容易了,几行命令就搞定了。没有自己的主机也没关系,部署到 Github 和 Heroku 都是不错的选择。
  2. 写文章很方便:原生支持 Markdown 语法和各种嵌入插件
  3. 发文章很方便:书写 -> 自动生成 -> 部署
    不同于 Wordpress 的文章发布方式,因为 Octopress 是在本地静态化后再通过 Git 或 rsync 部署,因此在 Octopress 中发文章只要终端中运行 rake watch,挑选自己惯用的文本文本编辑器以纯文本的形式(Markdown)写好文章,再 rake deploy 就轻松部署到服务器上。配合 POW 可以很方便的在本地进行预览。
  4. 改主题很方便:Compass 和 Sass
    不必再一行行的改 CSS 了,用 Sass 可以很语义化的书写样式,而 Compass 会监视 Sass 的变化并生成相应的 CSS 文件,同样的配合 rake watch 和 POW 就可以在本地预览主题的变化。
    值得一提的是 Octopress 默认的主题本身就质量很高,尤其是可随分辨率自适应的 Responsive 布局,很对 Lucifr 的胃口。
  5. 不用折腾很方便:内建多个第三方服务
    Octopress 已经内置了 Twitter、Pinboard 书签、Disqus 留言系统、Google Analytics 统计等多个模块,只需要到 _config.yml 中填入相应的信息就可以轻松配置,免去很多麻烦。

Octopress 适合哪些人

经过上面的介绍,不难发现 Octopress 是个很适合开发者使用的博客系统,如果你之前就一直在使用 git,对 ruby 很熟悉,那么会发现上手很快;抑或像 Lucifr 这样什么都不懂但有受虐的决心,读英文文档没什么问题,那么也是可以折腾的,否则还是踏实的用 Wordpress 吧。

Octopress: a blogging framework for hackers

安装部署参考官方文档或下面

http://lyhdev.com/note:octopress

Installing

先安裝 rvm
bash < <(curl -s https://rvm.beginrescueend.com/install/rvm)
將 rvm 指令變成 shell function
echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile
source ~/.bash_profile
安裝 Ruby 1.9.2, RubyGems
rvm install 1.9.2 && rvm use 1.9.2
rvm rubygems latest
確認版本
ruby --version
下載 octopress 專案
git clone git://github.com/imathis/octopress.git octopress
cd octopress
安裝 bundler
gem install bundler
bundle install
安裝預設佈景
rake install

發佈到 GitHub (免費)

先建立 GitHub Repository ,並使用 username.github.com 命名(如果是組織則用 organization.github.com), 例如你的 GitHub 帳號是 john2011 就將 Repository 命名為 john2011.github.com, 完成後會得到一組 GitHub Pages URL http://yourname.github.com/ (注意不能用 https: 必須用 http: )。
設定 GitHub Pages
rake setup_github_pages
以上執行後會要求 read/write url for repository :
git@github.com:yourname/yourname.github.com.git
建立及發佈
rake generate
rake deploy
等待幾分鐘時間,會收到一封信:「[sslab.github.com] Page build successful」,第一次發佈會等比較久,之後每次都會直接更新。
瀏覽 http://yourname.github.com/
將 source 也加入 git
git add .
git commit -m 'initial source commit'
git push origin source

更新 Octopress

日後有 Octopress 新版本發佈,使用以下指令升級。
git pull octopress master     # Get the latest Octopress
bundle install                # Keep gems updated
rake update_source            # update the template's source
rake update_style             # update the template's style

常用指令

建立新文章
rake new_post["how-to-install-octopress"] 

常用語法

程式碼區塊
``` groovy
println 1+2+3
```

为已经存在的github octopuses配置本地环境

http://huanggang.me/archives/667

主题

http://zespia.tw/Octopress-Theme-Slash/index_tw.html