Pelican 介绍
首先看看 Pelican 的一些主要特性:
- Python实现,开放源码
- 输出静态页面,方便托管
- 支持主题,采用Jajin2模板引擎
- 支持代码语法高亮
- 支持reStructuredText、Markdown、AsciiDoc格式
- 支持Disqus评论
- 支持Atom和RSS输出
这些特性都是大爱,完全满足我对博客系统的基本需求,再配合免费无限制的GitHub Pages,一切近乎完美了。
安装 Pelican
开始前请自行安装Python环境,支持2.7.X和3.3+,为方便,再顺手装上distribute、pip、virtualenv。(注:我的操作系统是:Windows 7)
创建Pelican虚拟环境
virtualenv PelicanEnv --distribute PelicanEnv\Scripts\activate
安装 Pelican
pip install pelican
如果您使用Markdown来写文章的话,还需要安装Markdown库
pip install Markdown
创建 Blog
创建一个 Blog 目录
mkdir myblog cd myblog
快速创建 Blog
pelican-quickstart
根据提示一步步输入相应的配置项,不知道如何设置的接受默认即可,后续可以通过编辑pelicanconf.py文件更改配置。
以下是生成的目录结构:
├── content # 存放输入的源文件
│ └── (pages) # 存放手工创建的静态页面
├── output # 生成的输出文件
├── develop_server.sh # 方便开启测试服务器
├── Makefile # 方便管理博客的Makefile
├── pelicanconf.py # 主配置文件
└── publishconf.py # 发布时使用的配置文件
撰写文章
在 content 目录下用 Markdown 语法来写一篇文章
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=python PELICAN=pelican PELICANOPTS= BASEDIR=$(CURDIR) INPUTDIR=$(BASEDIR)/content OUTPUTDIR=$(BASEDIR)/output GITHUBDIR=$(BASEDIR)/togithub CONFFILE=$(BASEDIR)/pelicanconf.py PUBLISHCONF=$(BASEDIR)/publishconf.py help: @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 http://localhost:8000' @echo ' make devserver start/restart develop_server.sh ' @echo ' make stopserver stop local server ' @echo ' make publish generate using production settings ' @echo ' ' all: html html: clean $(OUTPUTDIR)/index.html cptogithub clean: @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.server devserver: $(BASEDIR)/develop_server.sh restart stopserver: 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 output git init git add . git commit -m "first commit" git remote add origin https://github.com/xxx/xxx.github.io.git git 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文件
www.dongxf.com
DNSPod上设置
在浏览器地址栏中输入以下链接,都将跳转指向 http://www.dongxf.com/
http://dongxf.com/
http://www.dongxf.com/
http://blog.dongxf.com/
http://dongdxf.github.io/
http://dongdxf.github.com/
未尽事宜
其他内容请参考 Pelican官方文档 。我正在翻译这个文档,才刚开始,进展缓慢。请点击 Pelican文档中文版 访问,欢迎提出宝贵意见和建议。

Python是解釋型語言,但也包含編譯過程。 1)Python代碼先編譯成字節碼。 2)字節碼由Python虛擬機解釋執行。 3)這種混合機制使Python既靈活又高效,但執行速度不如完全編譯型語言。

UseeAforloopWheniteratingOveraseQuenceOrforAspecificnumberoftimes; useAwhiLeLoopWhenconTinuingUntilAcIntiment.forloopsareIdealForkNownsences,而WhileLeleLeleLeleLeleLoopSituationSituationsItuationsItuationSuationSituationswithUndEtermentersitations。

pythonloopscanleadtoerrorslikeinfiniteloops,modifyingListsDuringteritation,逐個偏置,零indexingissues,andnestedloopineflinefficiencies

forloopsareadvantageousforknowniterations and sequests,供應模擬性和可讀性;而LileLoopSareIdealFordyNamicConcitionSandunknowniterations,提供ControloperRoverTermination.1)forloopsareperfectForeTectForeTerToratingOrtratingRiteratingOrtratingRitterlistlistslists,callings conspass,calplace,cal,ofstrings ofstrings,orstrings,orstrings,orstrings ofcces

pythonisehybridmodeLofCompilation和interpretation:1)thepythoninterpretercompilesourcecececodeintoplatform- interpententbybytecode.2)thepythonvirtualmachine(pvm)thenexecutecutestestestestestesthisbytecode,ballancingEaseofuseEfuseWithPerformance。

pythonisbothinterpretedAndCompiled.1)它的compiledTobyTecodeForportabilityAcrosplatforms.2)bytecodeisthenInterpreted,允許fordingfordforderynamictynamictymictymictymictyandrapiddefupment,儘管Ititmaybeslowerthananeflowerthanancompiledcompiledlanguages。

在您的知識之際,而foroopsareideal insinAdvance中,而WhileLoopSareBetterForsituations則youneedtoloopuntilaconditionismet

ForboopSareSusedwhenthentheneMberofiterationsiskNownInAdvance,而WhileLoopSareSareDestrationsDepportonAcondition.1)ForloopSareIdealForiteratingOverSequencesLikelistSorarrays.2)whileLeleLooleSuitableApeableableableableableableforscenarioscenarioswhereTheLeTheLeTheLeTeLoopContinusunuesuntilaspecificiccificcificCondond


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

記事本++7.3.1
好用且免費的程式碼編輯器

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。