Elvyn's Blog
Elvyn's Blog
Elvyn's Blog

pelican博客详细设置

标签:

前言

Pelican在初始化后生成的博客其实就可以默认运行了,不过为了更好的管理博客甚至单纯只是因为个人偏好,我们还是来进行一些必要的自定义设置。

下面一些内容带有个人的偏好,供参考。

1. 完善默认的设置

博客系统自动生成的设置文件pelicanconf.py默认有一些设置项,我们先完善好这些设置项,搭建博客这篇文章中有有关的注解。

其中也可以在SITENAME下面添加一项副标题SITESUBTITLE = '网站名副标题'

2. 添加个人的设置

接着我们来添加一些其他设置,以下是我根据个人喜好的一些设置和说明:

2.1 安装主题

在博客根目录下,创建一个themes文件夹,进入文件夹,当前路径打开Git Bash终端,运行:

git clone https://github.com/elvynlee/el-mdl.git

然后在pelicanconf.py文件中添加一行

THEME = 'themes/el-mdl'

相似的,可以复制下载其他人的主题,也可以直接将官方这个主题库下载到本地,想用哪个就用哪个。

2.2 设置文章的文件保存名称和网址名称

pelicanconf.py文件中添加:

ARTICLE_SAVE_AS = 'posts/{date:%Y}_{date:%m}_{date:%d}-{slug}.html'
ARTICLE_URL = 'posts/{date:%Y}_{date:%m}_{date:%d}-{slug}.html'

这样设置的话,我们得在写博客文章时在文件中提供dateslug这两项元数据。效果和解释在帮助文档这里可以查看。

2.3 修改日期显示格式

设置文件中添加:

DEFAULT_DATE = 'fs'
DEFAULT_DATE_FORMAT = '%Y-%m-%d'

第一行设置成fs的值,效果是,读取日期信息时,系统会优先读取博客文章中我们提供的date元数据的日期值,如果文件中读取不到有date这一项,则根据文件生成的时间戳信息来生成日期。

第二行日期格式这个看个人喜好,原本默认的日期格式是%a %d %B %Y,即类似Sun 18 August 2019的形式。

2.4 设置静态文件

设置静态文件分为设置静态文件夹,设置静态文件的输出路径等。

在content目录新建imagesextra两个目录作为静态目录用,images放图片,extra放其它类型的文件。
另外顺便新建了postspages用来分别存放文章和page页的源文件。

在设置中将imagesextra添加定义为静态目录:

STATIC_PATHS = ['images', 'extra'] # 添加为静态目录
PAGE_EXCLUDES = ['images', 'extra'] # 设置生成page页时不读取这两个目录下的源文件
ARTICLE_EXCLUDES = ['pages', 'images', 'extra'] # 设置生成文章时不读取这三个目录下的源文件

上面中的第二、第三行设置默认可以不用添加,这里添加的原因,在关于404页面的这篇文章里有解释。 然后,给一些静态文件设置输出路径。
为什么要设置输出路径呢?因为默认情况下,系统在生成站点时,是直接将内容文件夹content中的静态目录,连目录一起复制到输出文件夹output中的。而有一些文件会要求在站点的特定路径下,比如github要求自定义404.html要放在站点根目录下,这样不需要其他设置就会自动应用这个页面。如果我们把404.html页面放在extra文件夹中,生成站点时,这个404.html默认还是在output目录的extra文件夹中,我们就需要通过设置让Pelican将它放到output目录下:

EXTRA_PATH_METADATA = {
    'extra/404.html': {'path': '404.html'},
}

这里还有比如绑定个人域名的CNAME文件,站点图标favicon.ico文件等,我添加了如下几项:

EXTRA_PATH_METADATA = {
    'extra/robots.txt': {'path': 'robots.txt'},
    'extra/404.html': {'path': '404.html'},
    'extra/CNAME': {'path': 'CNAME'},
    'extra/README.md': {'path': 'README.md'},
    'images/favicon.ico': {'path': 'favicon.ico'},
}

2.5 插件路径, 所用插件

插件同样可以复制下载官方的插件库下来,然后想用哪个插件,就添加使用。
或者自行在博客系统目录下,新建一个plugins文件夹,然后再自己针对要使用的插件,单个下载放到该文件夹中。
再在设置文件中添加设置:

PLUGIN_PATHS = ['plugins',]
PLUGINS = ['neighbors', 'tipue_search', 'tag_cloud', 'similar_posts','sitemap', 'pelican-toc', 'random_recd_posts']

3. 针对主题模板的设置

一些主题会额外创建一些变量,这些变量有些有默认值,不设置也可以;有些则在你对其赋值时,会影响一些页面版块的显示隐藏,一般主题文档里会有详细说明。

比如此博客这里使用的主题,我可以设置logo、背景大图,添加社交账号(会显示成图标):

SITELOGO = 'images/logo.png'
SITELOGO_WHITE = 'images/logo_white.png'
BG_IMG = 'images/bg.jpg'

TWITTER_URL = '#'
FACEBOOK_URL = ''
GITHUB_URL = '#'
WEIBO_URL = '#'
WECHAT_URL = ''
LINKEDIN_URL = ''

4. 针对插件和功能的设置

在用插件时,除了安装插件以外,一些插件还会有可供设置的选项,这里我另外写了一篇关于插件的文章进行细说。

5. 针对本地调试和远程发布的设置

这里的设置对发布的站点内容影响不大,主要是用于平时我们测试调试时用。

LOAD_CONTENT_CACHE设置值为True时,表示缓存内容,加快站点生成速度;设为False时,主要是使每次哪怕细微的一点小改动也会重新生成站点,可以看到改动的效果。

OUTPUT_RETENTION列表中的扩展名文件,不会被修改。比如可以添加.git,防止git文件夹在生成站点内容时被修改或删除。

DELETE_OUTPUT_DIRECTORY值设置为True时,表示每次生成站点前都将上一次的站点内容删除,重新生成。可以配合OUTPUT_RETENTION一起用。

WRITE_SELECTED列表中的文件,表示只需重新读取生成这些文件,也是加快站点生成看效果用。

当然,这些设置本身有默认值,不设置也不影响。有选择地添加/修改这些设置项,可以让我们有时更方便地使用Pelican。

LOAD_CONTENT_CACHE = False
OUTPUT_RETENTION = [".hg", ".git", ".bzr"]
DELETE_OUTPUT_DIRECTORY = True
# WRITE_SELECTED = ['index.html',]