http://wonux.github.io/git-pelican.html
前言
一直以來都希望擁有屬於自己的個人博客,隨性發點信息,寫點技術感想,記錄自己的生活,重要的是不受廣告的影響、不被河蟹、不會擔心有一天被莫名其妙地消失。
之前看過一篇文章:“像黑客一樣寫博客”,一下子就被這種簡單的方式深深的吸引住了。你只需要一個稱手的文本編輯器(Markdown編輯器),再配合終端的git命令就OK了,其餘的都不用管了,交給第三方去。幾條簡單的命令就可以發佈博客。
優點: - 直接使用Markdown寫文章 - 全站靜態化,根據Markdown生成文章的靜態頁面 - 直接在Terminal把文章push到Github上即可,有版本管理真好,然後加之Github Page的支持,雖然有一些些小問題,比如緩存,但瑕不掩瑜 - 整個寫作過程和寫代碼的過程是一致的,符合碼農的行爲習慣,也就是所謂的“像黑客一樣寫博客”
本博客是在Gentoo Linux環境下搭建完成,託管到Github Pages。 效果見我的博客:http://wonux.github.io
知識儲備
搭建博客的工具選用了Pelican,Pelican是一個用Python語言編寫的靜態網站生成器,支持使用restructuredText和Markdown寫文章,配置靈活,擴展性強,有許多優秀的主題和插件可供使用。Pelican 的Github地址是:https://github.com/getpelican/pelican;主頁:http://blog.getpelican.com/
搭建過程中涉及如下技術知識,不過你不必害怕,只是使用它們的開源框架而已,並不需要自己編碼,點擊可以瞭解它們是如何的強大,當然你也可以略過它們,後面遇到時再進行了解。 假如你不能打開它們,原因你懂的,請爬牆解決~
Github:https://github.com/ Github Ppages:http://pages.github.com/ git:http://git-scm.com/python:http://www.python.org/ pip:https://pypi.python.org/pypipelican:http://blog.getpelican.com/markdown:http://daringfireball.net/projects/markdown/syntax
搭建Pelican環境
安裝git,pip
|
emerge --ask dev-cvs/git
emerge --ask dev-python/pip
|
使用virtualenv工具創建pelican虛擬環境
|
emerge --ask virtualenv ## or pip install virtualenv
virtualenv ~/virtualenvs/pelican
cd ~/virtualenvs/pelican
source bin/activate
|
安裝pelican
|
pip install pelican
|
安裝markdown,typogrify
|
pip install Markdown
pip install typogrify
|
搭建博客站點
|
mkdir blog //創建文件夾,名稱可根據自己喜歡定
cd blog
pelican-quickstart
|
pelican-quickstart
執行命令後,會提示輸入博客的配置項,除了少數幾個必填以外,其它都可以選擇默認,而且都可以在pelicanconf.py文件中進行更改,所以你可以隨意選擇。 命令成功執行後,會出現pelican的框架,如下所示
|
blog/
├── content # 存放輸入的markdown或RST源文件
│ └── (pages) # 存放手工創建的靜態頁面,可選
│ └── (posts) # 存放手工創建的文章,可選
├── output # 存放最終生成的靜態博客
├── develop_server.sh # 測試服務器
├── Makefile # 管理博客的Makefile
├── pelicanconf.py # 配置文件
└── publishconf.py # 發佈文件,可刪除
|
選擇博客主題
回到blog
目錄下,按如下步驟下載pelican官方主題,從裏面挑選出自己喜歡的主題吧,大多數主題預覽界面你可以打開這個網頁主題預覽進行查看。不過如今pelican又新出了很多主題,所以你需看看pelican主題開源庫。
- 克隆主題到本地
|
git clone https://github.com/getpelican/pelican-themes.git
|
-
使用主題 打開
pelicanconf.py
配置文件,更改或添加THEME爲自己喜歡的主題,例如本博客所挑選的elegant,更多的配置含義請關注官方文檔。
|
THEME = 'pelican-themes/pelican-elegant'
|
添加評論系統
開啓個人博客的原因在於分享知識,分享就需要交流,評論模塊當然少不了。大多數主題默認支持Disqus。在Disqus上申請帳號,按照流程Disqus會分配給你站點的Shortname,記牢Shortname,如果忘了請進入admin/settings中查看。然後同理,在pelicanconf.py
添加
國內也可以選擇多說和友言.
|
DISQUS_SITENAME = Shortname
|
書寫文章
完成上述博客主體搭建後,使用markdownpad創建一個.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.
|
發佈博客站點
Publish your site 有三種方法可以發佈博客:
- pelican命令 - make 詳細用法查看Makefile
文件
- fabric
生成博客站點
|
pelican /path/to/your/content/ [-s path/to/your/settings.py]
|
或
|
make html
|
生成的站點放在output/
目錄下。
預覽生成的站點
For Python 2, run:
|
cd output
python -m SimpleHTTPServer
|
For Python 3, run:
|
cd output
python -m http.server
|
或
|
make serve
|
瀏覽http://localhost:8000/地址預覽效果.
部署博客站點
Deployment 原理:將output
目錄下生成的站點部署到自己的github pages.
自動化操作
- Fabric
|
pip install Fabric
fab build
fab regenerate
fab serve
fab publish
|
- Make
|
make html
make regenerate
make serve
make devserver
make stopserver
./develop_server.sh stop
|
備註:發佈的簡單流程:
pelican content
生成頁面至output
目錄,然後git push
將output
目錄推送到github站點的gh-pages
分支,即可自動渲生成染博客。
預覽我的博客效果
http://wonux.github.io http://wonux.coding.me
參考資料: http://www.xycoding.com/articles/2013/11/21/blog-create/