发布站点

站点生成

一旦安装了Pelican并且您有了一些内容(例如,以Markdown或reST格式),您可以通过 pelican 命令,指定内容的路径和(可选)的 settings 文件:

pelican /path/to/your/content/ [-s path/to/your/settings.py]

上面的命令将生成您的站点并将其保存在 output/ 文件夹,使用默认主题生成一个简单的站点。默认主题由非常简单的HTML组成,没有样式,因此人们可以使用它作为创建自己主题的基础。

在处理单个文章或页面时,可能只生成与该内容对应的文件。为此,请使用 --write-selected 像这样的论点:

pelican --write-selected output/posts/my-post-title.html

请注意,您必须指定 输出 文件-不是源内容。要确定输出文件名和位置,请使用 --debug 旗子。如果需要, --write-selected 可以采用逗号分隔的路径列表,也可以配置为设置。(参见: 仅写入选定内容

你也可以看着你的Pelican每次都想看你的修改。要启用此功能,请运行 pelican 命令 -r--autoreload 选项。在非Windows环境中,此选项还可以与 -l--listen 同时自动重新生成的选项 and 将输出服务于http://localhost:8000::

pelican --autoreload --listen

Pelican还有其他可用的命令行开关。查看帮助以查看可以使用的所有选项:

pelican --help

查看生成的文件

Pelican生成的文件是静态文件,因此您实际上不需要任何特殊的东西来查看它们。您可以使用浏览器直接打开生成的HTML文件:

firefox output/index.html

由于上述方法可能无法定位您的CSS和其他链接资产,运行Pelican的简单内置web服务器通常可以提供更可靠的预览体验:

pelican --listen

启动web服务器后,您可以在以下位置预览站点:http://localhost:8000个/

部署

在您生成站点、在本地开发环境中预览并准备将其部署到生产环境之后,您可以首先使用您定义的任何特定于生产的设置(例如,分析源等)重新生成站点:

pelican content -s publishconf.py

将发布配置基于 pelicanconf.py ,您可以导入 pelicanconf 通过在 publishconf.py

from pelicanconf import *

如果您生成了 publishconf.py 使用 pelican-quickstart ,默认包含此行。

部署站点的步骤将取决于它的宿主位置。如果您对运行Nginx或Apache的服务器具有SSH访问权限,则可以使用 rsync 传输站点文件的工具:

rsync -avc --delete output/ host.example.com:/var/www/your-site/

还有许多其他部署选项,其中一些可以在首次通过 pelican-quickstart 命令。见 Tips 有关通过GitHub页面发布的详细信息的页面。

自动化

pelican 命令是生成站点的规范方法,自动化工具可用于简化生成和发布流程。会议期间提出的一个问题 pelican-quickstart 该过程与是否要自动生成和发布站点有关。如果你对这个问题的回答是肯定的 tasks.pyMakefile 将在项目的根目录中生成。这些文件预先填充了从 pelican-quickstart 过程,是指作为一个起点,应该进行定制,以适应您的特定需求和使用模式。如果您发现其中一个或两个自动化工具的实用性有限,则可以随时删除这些文件,并且不会影响规范的使用 pelican 命令。

以下是“包装” pelican 命令,可以简化生成、预览和上载站点的过程。

援引

优点 Invoke 它是用Python编写的,因此可以在广泛的环境中使用。缺点是必须单独安装。使用以下命令安装Invoke,前缀为 sudo 如果您的环境需要:

python -m pip install invoke

花点时间打开 tasks.py 在项目根目录中生成的文件。你喜欢的命令,或者你想删除的任何一个命令。使用现成的配置,您可以通过以下方式生成站点:

invoke build

如果您希望Pelican在每次检测到更改时自动重新生成站点(这在本地测试时很方便),请改用以下命令:

invoke regenerate

为生成的网站提供服务,以便可以在您的浏览器中预览 http://localhost:8000/

invoke serve

为了在每次检测到更改时自动重新加载浏览器来为生成的站点提供服务,首先 python -m pip install livereload ,然后使用以下命令:

invoke livereload

如果在 pelican-quickstart 进程当被问及是否要通过SSH上载站点时,您回答“yes”,您可以使用以下命令通过rsync over SSH发布站点:

invoke publish

这些只是默认可用的命令中的一小部分,所以请随意探索 tasks.py 看看还有什么命令可用。更重要的是,不要犹豫定制 tasks.py 以满足您的特定需求和偏好。

制作

A Makefile 当您在 pelican-quickstart 过程。这种方法的优点是 make 命令被构建到大多数POSIX系统中,因此不需要安装任何其他东西来使用它。缺点是非POSIX系统(例如Windows)不包括 make ,在这些系统上安装它可能是一项非常重要的任务。

如果你想用 make 使用中的设置生成网站 pelicanconf.py 运行:

make html

使用中的设置生成用于生产的站点 publishconf.py 运行:

make publish

如果您希望Pelican在每次检测到更改时自动重新生成站点(这在本地测试时很方便),请改用以下命令:

make regenerate

为生成的网站提供服务,以便可以在您的浏览器中预览 http://localhost:8000/

make serve

通常你需要跑 make regeneratemake serve 在两个独立的终端会话中,但您可以通过以下方式同时运行这两个会话:

make devserver

上述命令将同时在再生模式下运行Pelican,并在http://localhost:8000。

当您准备好发布站点时,可以通过在 pelican-quickstart 问卷调查。对于本例,我们将使用rsync over ssh::

make rsync_upload

就这样!你的网站现在应该是实时的。

(默认值 Makefiledevserver.sh 脚本使用 pythonpelican 可执行文件来完成其任务。如果要使用不同的可执行文件,例如 python3 ,您可以设置 PYPELICAN 环境变量,分别重写默认的可执行文件名。)