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'
这样设置的话,我们得在写博客文章时在文件中提供date
和slug
这两项元数据。效果和解释在帮助文档这里可以查看。
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目录新建images
和extra
两个目录作为静态目录用,images放图片,extra放其它类型的文件。
另外顺便新建了posts
和pages
用来分别存放文章和page页的源文件。
在设置中将images
和extra
添加定义为静态目录:
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',]