前言
一直以來都希望擁有屬于自己的個人博客耸采,隨性發(fā)點信息兴泥,寫點技術感想,記錄自己的生活虾宇,重要的是不受廣告的影響搓彻、不被河蟹、不會擔心有一天被莫名其妙地消失嘱朽。
之前看過一篇文章:“像黑客一樣寫博客”旭贬,一下子就被這種簡單的方式深深的吸引住了。你只需要一個稱手的文本編輯器(Markdown編輯器)搪泳,再配合終端的git命令就OK了稀轨,其余的都不用管了,交給第三方去岸军。幾條簡單的命令就可以發(fā)布博客奋刽。
優(yōu)點:
- 直接使用Markdown寫文章
- 全站靜態(tài)化,根據(jù)Markdown生成文章的靜態(tài)頁面
- 直接在Terminal把文章push到Github上即可艰赞,有版本管理真好佣谐,然后加之Github Page的支持布隔,雖然有一些些小問題侵浸,比如緩存毙沾,但瑕不掩瑜
- 整個寫作過程和寫代碼的過程是一致的庞溜,符合碼農(nóng)的行為習慣闷叉,也就是所謂的“像黑客一樣寫博客”
本博客是在Gentoo Linux環(huán)境下搭建完成孵户,托管到Github Pages目派。
效果見我的博客:http://wonux.github.io
http://wonux.coding.me
知識儲備
搭建博客的工具選用了Pelican然低,Pelican是一個用Python語言編寫的靜態(tài)網(wǎng)站生成器仔役,支持使用restructuredText和Markdown寫文章掷伙,配置靈活,擴展性強又兵,有許多優(yōu)秀的主題和插件可供使用任柜。Pelican 的Github地址是:https://github.com/getpelican/pelican;主頁:http://blog.getpelican.com/
搭建過程中涉及如下技術知識,不過你不必害怕沛厨,只是使用它們的開源框架而已宙地,并不需要自己編碼,點擊可以了解它們是如何的強大逆皮,當然你也可以略過它們宅粥,后面遇到時再進行了解。
假如你不能打開它們电谣,原因你懂的秽梅,請爬墻解決~
搭建Pelican環(huán)境
安裝git,pip
emerge --ask git
emerge --ask dev-python/pip
使用virtualenv工具創(chuàng)建pelican虛擬環(huán)境
emerge --ask virtualenv
virtualenv ~/virtualenvs/pelican
cd ~/virtualenvs/pelican
source bin/activate
安裝pelican
pip install pelican
安裝markdown,typogrify
pip install Markdown
pip install typogrify
創(chuàng)建博客站點
mkdir blog //創(chuàng)建文件夾,名稱可根據(jù)自己喜歡定
cd blog
pelican-quickstart
pelican-quickstart
執(zhí)行命令后剿牺,會提示輸入博客的配置項企垦,除了少數(shù)幾個必填以外,其它都可以選擇默認晒来,而且都可以在pelicanconf.py文件中進行更改钞诡,所以你可以隨意選擇。
命令成功執(zhí)行后湃崩,會出現(xiàn)pelican的框架荧降,如下所示
blog/
├── content # 存放輸入的markdown或RST源文件
│ └── (pages) # 存放手工創(chuàng)建的靜態(tài)頁面,可選
│ └── (posts) # 存放手工創(chuàng)建的文章竹习,可選
├── output # 存放最終生成的靜態(tài)博客
├── develop_server.sh # 測試服務器
├── Makefile # 管理博客的Makefile
├── pelicanconf.py # 配置文件
└── publishconf.py # 發(fā)布文件誊抛,可刪除
選擇博客主題
回到blog
目錄下,按如下步驟下載pelican官方主題整陌,從里面挑選出自己喜歡的主題吧拗窃,大多數(shù)主題預覽界面你可以打開這個網(wǎng)頁進行查看。不過如今pelican又新出了很多主題泌辫,所以你需看看pelican主題開源庫随夸。
- 克隆主題到本地
git clone https://github.com/getpelican/pelican-themes.git
- 打開
pelicanconf.py
配置文件,更改或添加THEME為自己喜歡的主題震放,例如本博客所挑選的elegant宾毒,更多的配置含義請關注官方文檔。
THEME = 'pelican-themes/gum'
添加評論系統(tǒng)
開啟個人博客的原因在于分享知識殿遂,分享就需要交流诈铛,評論模塊當然少不了乙各。在Disqus上申請帳號,按照流程Disqus會分配給你站點的Shortname幢竹,記牢Shortname耳峦,如果忘了請進入admin/settings中查看。然后同理焕毫,在pelicanconf.py
添加
DISQUS_SITENAME = Shortname
書寫文章
完成上述博客主體搭建后蹲坷,使用markdownpad創(chuàng)建一個.md文件,保存于content文件夾中(或自己加入posts文件夾)邑飒。
Metadata syntax for Markdown posts should follow this pattern:
Title: My super title
Date: 2010-12-03 10:20
Modified: 2010-12-05 19:30
Category: Python
Tags: pelican, publishing
Slug: my-super-post
Authors: Alexis Metaireau, Conan Doyle
Summary: Short version for index and feeds
This is the content of my super blog post.
發(fā)布博客站點
Publish your site
有三種方法可以發(fā)布博客:
- pelican命令
- fabric
- make
生成博客站點
pelican /path/to/your/content/ [-s path/to/your/settings.py]
預覽生成的站點
For Python 2, run:
cd output
python -m SimpleHTTPServer
For Python 3, run:
cd output
python -m http.server
瀏覽http://localhost:8000/地址預覽效果.
部署博客站點
pelican content -s publishconf.py
自動化操作
- Fabric
pip install Fabric
fab build
fab regenerate
fab serve
fab publish
- Make
make html
make regenerate
make serve
make devserver
./develop_server.sh stop
備注:發(fā)布的簡單流程:
pelican content
生成頁面至output
目錄循签,然后git push
output
目錄到github站點的gh-pages
或gitcafe-pages
分支,即可自動渲生成染博客疙咸。
參考資料:
http://www.xycoding.com/articles/2013/11/21/blog-create/