Pelican + Github 搭建靜態個人博客

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

1
2
emerge --ask dev-cvs/git
emerge --ask dev-python/pip

使用virtualenv工具創建pelican虛擬環境

1
2
3
4
emerge --ask virtualenv  ## or  pip install virtualenv
virtualenv ~/virtualenvs/pelican
cd ~/virtualenvs/pelican
source bin/activate

安裝pelican

1
pip install pelican

安裝markdown,typogrify

1
2
pip install Markdown
pip install typogrify

搭建博客站點

1
2
3
mkdir blog //創建文件夾,名稱可根據自己喜歡定
cd blog
pelican-quickstart

pelican-quickstart執行命令後,會提示輸入博客的配置項,除了少數幾個必填以外,其它都可以選擇默認,而且都可以在pelicanconf.py文件中進行更改,所以你可以隨意選擇。 命令成功執行後,會出現pelican的框架,如下所示

1
2
3
4
5
6
7
8
9
blog/
├── content                # 存放輸入的markdown或RST源文件
│   └── (pages)            # 存放手工創建的靜態頁面,可選
│   └── (posts)            # 存放手工創建的文章,可選
├── output                 # 存放最終生成的靜態博客
├── develop_server.sh      # 測試服務器
├── Makefile               # 管理博客的Makefile
├── pelicanconf.py         # 配置文件
└── publishconf.py         # 發佈文件,可刪除

選擇博客主題

回到blog目錄下,按如下步驟下載pelican官方主題,從裏面挑選出自己喜歡的主題吧,大多數主題預覽界面你可以打開這個網頁主題預覽進行查看。不過如今pelican又新出了很多主題,所以你需看看pelican主題開源庫

  • 克隆主題到本地
1
git clone https://github.com/getpelican/pelican-themes.git
  • 使用主題 打開pelicanconf.py配置文件,更改或添加THEME爲自己喜歡的主題,例如本博客所挑選的elegant,更多的配置含義請關注官方文檔
1
THEME = 'pelican-themes/pelican-elegant'

添加評論系統

開啓個人博客的原因在於分享知識,分享就需要交流,評論模塊當然少不了。大多數主題默認支持Disqus。在Disqus上申請帳號,按照流程Disqus會分配給你站點的Shortname,記牢Shortname,如果忘了請進入admin/settings中查看。然後同理,在pelicanconf.py添加 國內也可以選擇多說友言.

1
DISQUS_SITENAME = Shortname

書寫文章

完成上述博客主體搭建後,使用markdownpad創建一個.md文件,保存於content文件夾中(或自己加入posts文件夾)。 Metadata syntax for Markdown posts should follow this pattern:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
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

生成博客站點

Site generation

1
pelican /path/to/your/content/ [-s path/to/your/settings.py]

1
make html

生成的站點放在output/目錄下。

預覽生成的站點

For Python 2, run:

1
2
cd output
python -m SimpleHTTPServer

For Python 3, run:

1
2
cd output
python -m http.server

1
make serve

瀏覽http://localhost:8000/地址預覽效果.

部署博客站點

Deployment 原理:將output目錄下生成的站點部署到自己的github pages.

自動化操作

  • Fabric
1
2
3
4
5
pip install Fabric
fab build
fab regenerate
fab serve
fab publish
  • Make
1
2
3
4
5
6
make html
make regenerate
make serve
make devserver
make stopserver
./develop_server.sh stop

備註:發佈的簡單流程:pelican content生成頁面至output目錄,然後git pushoutput目錄推送到github站點的gh-pages分支,即可自動渲生成染博客。

預覽我的博客效果

http://wonux.github.io http://wonux.coding.me

參考資料: http://www.xycoding.com/articles/2013/11/21/blog-create/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章