基于pelican和github pages,搭建个人博客站点

写在前面的话

在当代自媒体如此发达的时代,如果不主动分享自己的想法、知识,会让自己常常陷入比较被动的局面,这种被动的局面不仅仅是金钱方面的,更重要的是无法让别人快速识别你的能力。博客是一种非常重要的传播自己知识体系的自媒体,可以让别人通过它快速的了解你,所以本文主要介绍通过pelican构建自己的博客系统,然后将内容发布到github pages的过程,希望能给其他同学提供一些帮助。

环境准备

# python3默认包含下面要用到的pip3工具
语言环境: brew install python3

# 这两个是必备依赖,pelican用来创建博客,markdown是让博客系统识别markdown文件,其他的依赖可以等安装插件,使用插件时,如果遇到报错再选择性安装
博客依赖: pip3 install pelican markdown 

本地初始化博客系统

  • 选择合适的目录,创建你的博客文件夹,这里以blogs为示例
  • 进入blogs文件夹,允许命令pelican-quickstart

这个命令是互动式的,需要回答一些关于你博客的问题,比如博客的作者,博客的标题等等,请根据自己的个人信息回答完问题

  • 执行完pelican-quickstart命令后,在blogs目录中生成如下文件夹

__pycache__: python编译相关的缓存文件,不需要关心

content: 存储原始的博客文件

Makefile: 编译、启动本地服务的配置文件

pelicanconf.py: 博客本地相关的配置

publishconf.py: 发布博客时的配置,也就是发布到服务端时的配置

tasks.py: 一些命令的支撑代码,不需要关心

  • 到这里,就恭喜大家,你可以在本地运行make serve,然后在浏览器打开http://localhost:8000查看你的博客系统

博客系统的相关配置

如果你只需要一个简单的、可工作的博客,那么做完上面的工作,就可以将博客发布到github pages了,这部分的内容完全可以跳过。这部分主要是介绍一些主题和插件,让你的博客拥有更加强大的功能。

安装插件

  • blogs目录运行命令git clone --recursive https://github.com/getpelican/pelican-plugins,下载官方的插件集
  • pelicanconf.py配置插件信息,例如
  # 指定插件的存放目录
  PLUGIN_PATHS = ['pelican-plugins']

  # 在插件目录中查找需要加载的插件名字
  PLUGINS = ['sitemap', 'neighbors', 'related_posts', 'tag_cloud']
  • 每个插件可能需要不同的依赖以及配置,详情请参考pelican-plugins
  • 最后,重新生成博客,启动服务查看插件效果(如何生成博客、启动服务,后面会介绍)

安装主题

  • blogs目录运行命令git clone --recursive https://github.com/getpelican/pelican-themes,下载官方的主题集
  • pelicanconf.py配置主题信息,例如
  # 指定博客主题
  THEME = 'pelican-themes/attila'
  • 每个主题可能需要不同的配置,详情请参考pelican-themes
  • 最后,重新生成博客,启动服务查看插件效果(如何生成博客、启动服务,后面会介绍)

评论组件配置

给博客添加评论功能,让别人可以评论你的博客,本文介绍disqus评论组件的配置。主要该组件只能在服务端生效。

  • 首先到disqus注册账号,并且获取你的SITE_CODE
  • pelicanconf.py中添加配置DISQUS_SITENAME = "SITE_CODE"
  • 最关键的,如果想让你的评论组件生效,添加配置SITEURL = '你博客站点的根域名'一定不能把这个配置留空,如果是本地调试可以留空,但是一旦发布到服务端,一定要填写
  • 最后,重新生成博客,启动服务查看配置效果(如何生成博客、启动服务,后面会介绍)

谷歌分析配置

将博客信息添加谷歌分析,不仅能够让别人可以通过谷歌搜索到你的博客,而且还可以统计出有多少人在什么时间段看过你的博客,给博客增加非常强大的后台分析功能。

  • 首先到google analytics注册账号,并且获取GOOGLE_ANALYTICS_ID
  • pelicanconf.py中添加配置GOOGLE_ANALYTICS = 'GOOGLE_ANALYTICS_ID'

如果需要绑定谷歌搜索控制台功能,则可以在谷歌搜索控制台获取GOOGLE_SITE_VERIFICATION_CODE

pelicanconf.py中添加配置GOOGLE_SITE_VERIFICATION = 'GOOGLE_SITE_VERIFICATION_CODE'

  • 最后重新生成博客,并发布到服务端,并在google analytics验证你的配置是否生效

其他配置

  • 指定静态文件目录:STATIC_PATHS = ['images']
  • 指定默认分页数值:DEFAULT_PAGINATION = 4
  • 指定博客相对路径:ARTICLE_URL = '{date:%Y}/{date:%m}/{slug}.html'
  • 其他更多的配置属性,详情请参考pelican-configs
  • 最后,重新生成博客,启动服务查看配置效果(如何生成博客、启动服务,后面会介绍)

生成本地博客,以及启动服务调试

当你在本地完成了博客文章后,你需要查看一下最终效果在发布到服务端,这个时候就可以启用本地调试了。

  • 首先所有博客源文件都是在content目录中的
  • 其次在blogs目录中运行命令make html,生成发布版的博客文件
  • 最后在blogs目录中运行命令make serve,在浏览器打开http://localhost:8000查看你新写的博客了

发布博客

恭喜你只差最后一步就可以发布你的博客了,并且可以让别人看到你的私人博客系统,是不是很兴奋。这里主要介绍的是github的个人repository方式发布,当然如果条件允许,你也可以使用github的project方式发布,具体的区别请看publishing-sources-for-github-pages-sites

  • 首先到github注册账号,并且创建一个repository,名字为username.github.io
  • 其次到output目录,把你要发布的博客内容关联到新建的repository(新建的repository页面有步骤提升告诉你如何操作)
  • 最后将内容发布到repository
  • 然后你就可以通过https://username.github.io/index.html访问你的博客了

总结

到这里你已经完成了一次博客的发布了,当然你的博客系统的配置是随时可以改的,哪天想换个主题了就选个新的主题更新就可以了。最后描述一下,持续写博客发布博客的流程。

  • content目录编辑原始博客文件
  • blogs目录中运行命令make html生成发布文件
  • blogs目录中运行命令make serve,在浏览器打开http://localhost:8000调试你的博客
  • output目录中运行

git add .,添加跟踪所有文件的修改

git commit -m "commit msg",提交本地的修改

git push,将本地修改发布到服务端

  • 通过https://username.github.io/index.html访问你的博客
Show Comments