Pelican使用教程和经验

麦田4年前 (2019-09-29)工作笔记910

Pelican在国内的流行程度不如Hexo和Hugo等静态博客生成器,所以Pelican的中文教程比较少。


前文,麦田写过Pelican的安装教程,本篇介绍Pelican的使用教程和使用经验:


1、Pelican新建网站


在D盘新建文件夹00(00是本文示例的文件夹名字),进入后在空白处右键点击Git Bash打开命令行工具。


新建网站:pelican-quickstart(网站内容就在00文件夹里面)


如果返回结果显示Welcome to pelican-quickstart,表示pelican运行正常。


随后会提示输入博客的配置项,除了少数几个必填,其它都可以选择默认,而且都可以在pelicanconf.py文件中修改。Pelican网站的框架如下:


00/

├── content                # 存放输入的markdown或RST源文件

│   └── (pages)            # 存放手工创建的静态页面,可选

├── output                 # 存放最终生成的静态博客

├── develop_server.sh      # 测试服务器

├── Makefile               # 管理博客的Makefile

├── pelicanconf.py         # 配置文件

└── publishconf.py         # 发布文件,可删除

Pelican支持Markdown和reStructuredText语法,麦田以Markdown为例说明。


到content文件夹内新建.md文件,模板格式如下:


---

Title: 麦田的博客文章标题

Date: 2019-09-10

Modified: 2019-10-08 #更新时间

Category: Python #网站分类

Tags: pelican, publishing #标签

Slug: my-super-post #生成网页的名字

Author: 作者名字

Summary: 概要,概括本文的内容

---

正文

以上模板有些内容可以不要,但是至少要保留标题、时间和标签:


---

Title: 文章标题

Date: 2019-09-10

Tags: 文章, 标题

---

复制模板,粘贴若干个,即可在这些md文件内写博客!


2、生成和预览网站

Pelican生成网站的命令:pelican content

然后,文件夹output内就有个静态网站,预览网站的命令:python -m pelican.server

然后浏览器打开:localhost:8000,即可预览网站。


本人用以上命令无法成功预览,以下方法成功,操作更简单:


由于Windows不能使用makefile,不能使用make html这样快捷的方法来生成Html,所以我们利用Windows的批处理做一个简单的"Makefile"。

在博客根目录下新建一个auto-update.bat批处理文件,里面添加内容:


@echo off

setlocal enabledelayedexpansion

for /f "delims=  tokens=1" %%i in ('netstat -aon ^| findstr "8000"') do (

    set a=%%i

    goto job

)

:job

taskkill /F /pid "!a:~71,5!"

pelican content

cd output

start cmd /c "python -m pelican.server 8000"

cd ..

具体方法:新建一个文本文件,打开粘贴以上内容后保存,然后将文件命名为:

任意名字.bat,比如yulan.bat,重点是要将txt修改成bat!


修改网站后,点击这个批处理文件,即可在浏览器预览你网站最新的状态!


3、Pelican主题

Pelican主题的网址:pelicanthemes.com


一共有大约129个主题,只有28M,一键即可下载到本地使用!主题放在网站文件夹内的文件夹themes,然后编辑pelicanconf.py文件,添加:


# 配置主题,主题文件夹放在00文件夹内的themes文件夹

THEME = "themes/主题文件夹名字"

4、Pelican插件

Pelican是通过插件来实现一些网站功能的,比如常见的:


相关内容板块,英文:related posts;


上下篇版块,也叫邻居导航,英文:neighbors;


Pelican插件仓库,大约有149个:github.com/getpelican/pelican-plugins


插件的使用方法,打开插件仓库后按CTRL+F查找,点击进去后看说明!


插件的使用方法:


网站文件夹内新建文件夹_plugins,将插件仓库内的插件文件夹复制进去;


5、配置网站,熟悉pelicanconf.py文件

#!/usr/bin/env python

# -*- coding: utf-8 -*- #

from __future__ import unicode_literals


AUTHOR = '麦田'

SITENAME = '麦田的博客'

SITEURL = 'https://www.mtdsj.com'

PATH = 'content'

TIMEZONE = 'UTC'

# 默认语言,建议填en,没有zh

DEFAULT_LANG = 'en'

# 配置主题,主题文件夹放在00文件夹内的themes文件夹

THEME = "themes/alchemy"

# 网站副标题

SITESUBTITLE = '麦田的世界和博客'

# 日期格式参看:中国习惯是年-月-日

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


#设置插件路径

PLUGIN_PATH = "plugins"

#选用以下插件

PLUGINS = ["sitemap","neighbors","related_posts"]

#sitemap

SITEMAP = {

    'format': 'xml',

    'priorities': {

        'articles': 0.7,

        'indexes': 0.8,

        'pages': 0.5

    },

    'changefreqs': {

        'articles': 'monthly',

        'indexes': 'daily',

        'pages': 'monthly'

    }

}

#相关文章

RELATED_POSTS_MAX = 10


#次级文件夹中的文章,如果没有分类,则使用文件夹名称代替,缺省为True

USE_FOLDER_AS_CATEGORY = True

# 默认归类(未归类的归入自动此类)

DEFAULT_CATEGORY = '杂项'


# 自动生成的摘要的最大词语个数,缺省为50

SUMMARY_MAX_LENGTH = 100


# 导航栏条目,只能是绝对路径,否则前面会自动加上“category/”;

# 主题模板的archives.html和tags.html页则可在base.html中硬编码

MENUITEMS = [ ('XiiiGame', 'http://www.xiiigame.com')]

# Blogroll

LINKS = (('网海拾贝', 'http://www.wanghaishibei.com/'),

         ('明日歌', 'https://www.mingrige.com/'),)


# 谷歌统计

GOOGLE_ANALYTICS = 'UA-xxxxxxxxx-x'


DEFAULT_PAGINATION = 10


# pelican中禁用feed的产生是非常容易的

FEED_ALL_ATOM = None

CATEGORY_FEED_ATOM = None

TRANSLATION_FEED_ATOM = None

6、静态文件

如果在文章中放一张图片,图片放在content文件内的image文件夹,生成html时image文件夹不能自动复制到output文件夹内,解决方法:


在pelicanconf.py 文件内添加一个包含你的图片目录的变量:


STATIC_PATHS = ['images']

这样生成output资源时就会自动把image文件夹复制到output目录。


另外使用EXTRA_PATH_METADATA也可以把某个目录的文件映射过去,例如favicon.ico放在content/extra目录下,最后需要生成到output的根目录,可以添加:


STATIC_PATHS = ['images', 'extra/favicon.ico']

EXTRA_PATH_METADATA = {

    'extra/favicon.ico': {'path': 'favicon.ico'}

}

7、参考文档

Pelican中文文档:https://pelican-docs-zh-cn.readthedocs.io/en/latest/settings.html


相关文章

Hugo使用经验和教程

Hugo是Go语言的静态网站生成器,也叫静态博客生成器,是建站利器!Hugo的优点:1、安装方便,使用简单;2、生成纯静态文件,适配电脑和移动端,速度快,安全性高,本地默认有备份,数据安全;3、可以添...

Hugo基于标签展示相关文章

本文以主题rockrock为例讲解:使用dw打开模板文件:themes/主题rockrock/layouts/_default/single.html找到以下内容:</div> ...

Hugo生成静态网页有大量空行怎么办

Hugo生成静态网页后,查看HTML网页源代码发现,里面有大量的空行,虽然前台显示正常,但是这些空行都应该被消灭掉!据说,不只是Hugo,Jekyell默认情况下也有同样的现象。这个问题一般是因为空元...

Hugo主题rockrock的配置

rockrock主题很干净,我很喜欢,但是这些主题都需要配置和优化:1、Hugo实现猜你喜欢功能(相关文章,或者相关内容功能)使用dw打开模板文件:themes/主题rockrock/layouts/...

Hugo主题hyde的配置

hyde主题是国外网友spf13的作品,大约六年前制作的,样式和界面竟然到现在还不落后,可惜我在编辑和优化过程中发现,这个主题有些文件丢失,导致功能缺失。经过半天的优化,还是有些小问题无法解决。现在是...

Win10系统安装Hexo教程

Hexo也是一款静态博客生成器,是基于node.js制作的博客工具,Hexo和Jekyll都属于热门的静态博客生成器。Hexo的安装和Hugo一样比较简单,两者都比Jekyll安装简单!Hexo的安装...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。