分类:Python

共 3 篇文章

Pelican博客结构改造

最近想要在博客里写一些生活相关的东西(也就是吃喝玩乐啦),同时还希望能够比较清晰地区分开技术文章和生活文章,所以这两天就在折腾着博客内容的改造,不得不提一下,这个折腾过程中看代码的感觉真的是让我找回了一丝大二时的感觉,很爽!

这篇文章把一些我在改造过程中遇到的问题以及解决思路记录下来。

使用Template Page划分内容

博客的改造是希望把内容分成四块:技术、生活、笔记、琐碎。技术就是先前写的这些博文;生活记录一些小结或是感想的东西;笔记实质上是我平时针对一些具体技术记录的一些Tip,打算一并放上来;琐碎实际上就类似于微博,一些短的想法之类的。

按照上面的想法,在内容呈现上也就自然而然地希望每类对应一个单独的页面了,先前用过Pelican中的Page的功能来做过“关于我”的页面,但是这个功能并不能满足我的需求。因为Page对应的模板 page.html 决定了所有的页面必须得遵循一样的格式,然而,这四块内容对应的页面的格式是不同的,比如说,技术和生活的页面就只显示最近的数篇文章,而笔记页面会显示所有的,更不一样的是,琐碎页面可能会显示文章的内容而非标题。

因此,需要使用到Template Page的功能。这个功能用起来其实挺简单的,只需要在 pelicanconf.py 中对 TEMPLATE_PAGES 进行相关的设置即可,如下:

TEMPLATE_PAGES ...
阅读全文

Pelican进阶配置

上周在重新配置博客的时候涉及到了一些以前没接触过的Pelican的配置,现在考完试有空了来把它们理一理,算是个进阶的配置吧。

Markdown扩展

我的内容的编写使用的是Markdown,所以在配置的时候需要适当的设置一下所使用的Markdown扩展,通过在 pelicanconf.py 中对 MD_EXTENSIONS 进行适当的赋值即可,我的配置如下:

MD_EXTENSIONS = ['codehilite(css_class=highlight)', 'extra', 'toc(permalink=true)']

总共三项:

  • 第一个是参考我所引用主题的作者的配置,应该是代码高亮的配置。
  • 第二个包含了一系列的小扩展,我主要是为了获得表格及代码块的支持。
  • 第三个是为了生成目录,我的主题会提取文章的目录。

Pelican的Markdown支持是直接使用的其他人的模块,因此更多的扩展以及详细内容可以参见 Markdown模块官方文档

Pelican page

配置的时候涉及到page是因为我希望增加一个独立的about页面,但我的主题原先没有提供,所以得绕一点了(可能有不用绕的方法,但没搜到)。这部分只介绍一下page的概念以及相关的配置,如何绕的放在下一部分。

page按照直面的翻译也就是 页面 的意思,往后都用这个词来表示。它与你的文章拥有同级的地位,这一点可以从主题的 templates 中拥有 article.html ...

阅读全文

Pelican简要配置教程

最近看操作系统遇到不少问题,感觉记在书上有点不靠谱,所以一个一个的连带解答写在了trello里,但是总觉得写多了之后就好乱,于是又萌发了搭个blog的想法,想来想去还是用pelican吧,以后有空再买个域名挂上去。

博客初始化

总归先得把pelican搭好吧,好像还比较简单,接下来的一切操作都在Linux下。

Install

pip install pelican

pip install markdown

Quick-Start

自己新建一个文件夹,然后:

pelican-quickstart

按照向导建立好就行了,突然想起这货对中文不友好,语言那选en凑合吧。

Usage

在Quick-Start中如果是一路回车过来的话应该会有个Makefile,pelican的很多操作是基于这个文件的,对Linux有所了解的同学应该是知道make这个命令的,至于关系的绑定也就是写在Makefile里的,下面介绍一些常用的pelican操作:

make html # 将content中的markdown (or others) 生成为html

make regenerate

make serve

make devserver

make一般涉及到一些生成的操作,pelican自带了一个develop_server.sh以供开发的时候调试:

./develop_server.sh ...
阅读全文