Pelican 介紹
首先看看 Pelican 的一些主要特性:
這些特性都是大愛,完全滿足我對博客系統的基本需求,再配合免費無限制的GitHub Pages,一切近乎完美了。
安裝 Pelican
開始前請自行安裝Python環境,支持2.7.X和3.3+,為方便,再順手裝上distribute、pip、virtualenv。(注:我的操作系統是:Windows 7)
創建Pelican虛擬環境
virtualenv PelicanEnv --distributePelicanEnv/Scripts/activate
安裝 Pelican
pip install pelican
如果您使用Markdown來寫文章的話,還需要安裝Markdown庫
pip install Markdown
創建 Blog
創建一個 Blog 目錄
mkdir myblogcd myblog
快速創建 Blog
pelican-quickstart
根據提示一步步輸入相應的配置項,不知道如何設置的接受默認即可,后續可以通過編輯pelicanconf.py文件更改配置。
以下是生成的目錄結構:
復制代碼 代碼如下:
myblog/
├── content # 存放輸入的源文件
│ └── (pages) # 存放手工創建的靜態頁面
├── output # 生成的輸出文件
├── develop_server.sh # 方便開啟測試服務器
├── Makefile # 方便管理博客的Makefile
├── pelicanconf.py # 主配置文件
└── publishconf.py # 發布時使用的配置文件
撰寫文章
在 content 目錄下用 Markdown 語法來寫一篇文章
復制代碼 代碼如下:
Title: My super title
Date: 2010-12-03 10:20
Category: Python
Tags: pelican, publishing
Slug: my-super-post
Author: Alexis Metaireau
Summary: Short version for index and feeds
This is the content of my super blog post.
生成頁面
make html
現在就可以在output目錄查看生成的html文件了。
由于我的操作系統是Windows,我對Makefile做了一些修改。
PY=pythonPELICAN=pelicanPELICANOPTS=BASEDIR=$(CURDIR)INPUTDIR=$(BASEDIR)/contentOUTPUTDIR=$(BASEDIR)/outputGITHUBDIR=$(BASEDIR)/togithubCONFFILE=$(BASEDIR)/pelicanconf.pyPUBLISHCONF=$(BASEDIR)/publishconf.pyhelp: @echo '' @echo 'Makefile for a pelican Web site' @echo '' @echo 'Usage:' @echo ' make help print help information ' @echo ' make all (re)generate the web site ' @echo ' make html (re)generate the web site ' @echo ' make clean remove the generated files ' @echo ' make cptogithub copy output files to GITHUBDIR ' @echo ' make regenerate regenerate files upon modification ' @echo ' make serve serve site at :8000' @echo ' make devserver start/restart develop_server.sh ' @echo ' make stopserver stop local server' @echo ' make publish generate using production settings ' @echo ''all: htmlhtml: clean $(OUTPUTDIR)/index.html cptogithubclean: @echo -n 'Cleaning............................' @rm -fr $(OUTPUTDIR) @mkdir $(OUTPUTDIR) @echo 'Done'$(OUTPUTDIR)/%.html: $(PELICAN) $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS)cptogithub: @echo -n 'Copying.............................' @cp -fR $(OUTPUTDIR)/* $(GITHUBDIR) @echo 'Done'regenerate: clean $(PELICAN) -r $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS)serve: cd $(OUTPUTDIR) && $(PY) -m pelican.serverdevserver: $(BASEDIR)/develop_server.sh restartstopserver: kill -9 `cat pelican.pid` kill -9 `cat srv.pid` @echo 'Stopped Pelican and SimpleHTTPServer processes running in background.'publish: $(PELICAN) $(INPUTDIR) -o $(OUTPUTDIR) -s $(PUBLISHCONF) $(PELICANOPTS).PHONY: help all html clean cptogithub regenerate serve devserver stopserver publish
創建 GitHub Pages
GitHub Pages分兩種,一種是項目頁面,可創建多個;另一種是用戶頁面,每個用戶ID只能創建一個。兩種都可以用來托管Pelican博客,這里以用戶頁面為例。
點擊這里,新建一個Repository,Repository名字可以是 xxx.github.io 或者 xxx.github.com,其中 xxx 是您的用戶ID。
創建成功以后,便可以把生成的頁面push到github。
cd outputgit initgit add .git commit -m "first commit"git remote add origin https://github.com/xxx/xxx.github.io.gitgit push -u origin master
現在可以通過 xxx.github.io 或者 xxx.github.com 來訪問您的博客了。
域名綁定
在repo的根目錄下面,新建一個名為CNAME的文本文件,里面寫入你要綁定的域名,比如頂級域名 example.com 或者二級域名 xxx.example.com。
如果綁定的是頂級域名,則DNS要新建一條A記錄,指向 204.232.175.78。
如果綁定的是二級域名,則DNS要新建一條CNAME記錄,指向 xxx.github.io 或者 xxx.github.com 。
以我的為例:
CNAME文件
DNSPod上設置
在瀏覽器地址欄中輸入以下鏈接,都將跳轉指向
未盡事宜
其他內容請參考 Pelican官方文檔 。我正在翻譯這個文檔,才剛開始,進展緩慢。請點擊 Pelican文檔中文版 訪問,歡迎提出寶貴意見和建議。
新聞熱點
疑難解答