A Ordinary Boy

A Marvelous Toy

把你的blog从octopress迁移到pelican吧(2)

上篇 blog 说明了 pelican 的安装以及最简单的配置和测试使用 , 然而只是开始的第一步 , 在正式开始将 octopress 迁移过来前 , 我们还需要搞定几件事 :

  • 配置 github pages 的自动部署的配置
  • 配置可以使用 <!— more > 标签来设置文章摘要
  • 配置生成 rss 或 atom
  • 配置 disqus 评论功能支持
  • 配置 google analytics 及 baidu 站长平台

配置自动部署到 github pages

不像 octopress 般做到的全自动化 , pelican 对 github pages 的自动部署还是需要手动配置的 。 而 pelican 的 官方文档 对如何部署到 github pages 确没有太多的说明 。  这节我们就来搞定它 。

pelican 其实在 makefile 中已经设置了一个 github 的 target, 只要使用 make github 就可以推送到设置的 github pages 中 。

github: publish
    ghp-import -m "Generate Pelican site" -b $(GITHUB_PAGES_BRANCH) $(OUTPUTDIR)
    git push origin $(GITHUB_PAGES_BRANCH)

然而如果你直接运行 , 则会发现会 make 命令运行失败 。pelican 并没有全自动化的搞定所有配置 , 因此我们需要手动进行配置 。

首先 , 因为 pelican 使用 ghp-import 工具来协助将内容推送到对应的 github pages 的 master 代码库中 ( 具体的原理 , 参考 ghp-import 的介绍 页面 ), 所以需要安装它

pip install ghp-import

然后 , 需要配置你保存 blog 原始 markdown 信息的代码库 , 我这里在 github 中创建的代码库为 github.com/cosmoslx/blog.git, 使用如下命令添加到代码库 :

#  设置对应代码库 
git remote set-url source git@github.com:cosmoslx/blog.git

#  设置对应代码库为 source,  并向它推送 
git push -u source master

接着 , 配置你想推送的 github pages 对应的代码库 , 我的 github page 代码库为 github.com/cosmoslx/cosmoslx.github.io.git

#  添加以下内容到 .gitignore,  不需要代码管理自动生成的内容 
    # pelican 
    *.pid
    cache
    output

#  设置对应代码库 
git remote set-url origin git@github.com:cosmoslx/cosmoslx.github.io.git

#  设置对应代码库为 source,  并向它推送 
git push -u origin master

最后 , 这就大功告成 , 试着提交吧 , 初次提交 github pages 官方说明是 30 分钟以后才完全同步 :

make github

半个小时一下就过去了 , 今天就到这里 , 下次我们接着搞定余下的配置 , 然后就可以尽情地玩耍了 :-P



本篇是《把你的blog从octopress迁移到pelican吧》系列中的第2篇:

  1. 把你的blog从octopress迁移到pelican吧(1)
  2. 把你的blog从octopress迁移到pelican吧(2)

Comments