pelican学习笔记(三)——Publish your site

前情提要

pelican学习笔记之GITHUB建站(一)
pelican学习笔记(二)之Writing content

Publish Your Site

2018/01/29

Site generation 网站生成

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

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

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

在处理单个项目或页面时, 使用 --write-selected可以只生成与该内容对应的文件。如下:

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

NOTE:必须指定生成的输出文件的路径, 而不是源内容。要确定输出文件路径, 请使用 --debug标志来确定正确的文件名和位置。如果需要, --write-selected 可以采取逗号分隔的路径列表, 也可以配置为设置。(请参见: Writing only selected content)

您还可以运行 Pelican时添加使用 -r--autoreload 选项,告诉 Pelican 监视您的修改, 而不是在每次希望看到更改时手动重新运行它。

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

pelican --help

Viewing the generated files 预览

Pelican 生成的是静态页面,你并不需要什么特殊的软件来预览。你可以直接用浏览器来打开页面查看:

firefox output/index.html

浏览器不能定位CSS,所以上面的方法会让你困惑。你可以使用 Python 运行一个简单的 web 服务,当使用 Python 3时:

cd output
python -m http.server

一旦服务开始运行,你可以在 http://localhost:8000/预览你生成的静态站。

Deployment 部署

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

pelican content -s publishconf.py

若要以 pelicanconf.py 作为发布配置的基础, 您可以通过在publishconf.py中导入 pelicanconf 设置:

from pelicanconf import *

如果你是通过运行 pelican-quickstart生成的 publishconf.py,以上以默认存在于文件中。

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

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

还有许多其他部署选项, 其中一些可以在首次通过 pelican-quickstart 命令设置站点时进行配置。有关通过 GitHub 页面发布的详细信息, 请参阅提示页面

Automation 自动化

虽然 pelian 命令是生成站点的规范化方法, 但自动化工具可以用来简化生成和发布流程。在 pelican-quickstart 过程中询问的问题之一是您是否希望自动生成和发布站点。如果您对该问题回答 “yes”, 则会在项目的根目录中生成 fabfile.pyMakefile 文件。这些文件预先填写了从 pelican-quickstart 过程中提供的其他答案收集的某些信息, 这意味着作为一个起点, 应自定义以适合您的特定需求和使用模式。如果您发现这些自动化工具作用有限, 这些文件可以随时删除, 不会影响 pelican 的使用。

下面是 “wrap” pelican 的自动化工具, 可以简化生成、预览和上传站点的过程。

Fabric

Fabric 的优点是它是用 Python 编写的, 因此可以在多种环境中使用。缺点是必须单独安装。使用下面的命令来安装 Fabric , 您有可能需要用到 “sudo”:

pip install Fabric

Note: Windows 需要安装 PyCrypto

Fabric 依赖 PyCrypto,如果您的系统没有 C 编译器, 则很难安装。对于 Windows 用户, 在安装Fabric之前, 请使用
easy_install http://www.voidspace.org.uk/downloads/pycrypto26/pycrypto-2.6.win32-py2.7.exe
根据此 StackOverflow 建议您使用 Python 2.7 的 Win32 版本和PyCrypto比64位版本的Win64—even更容易成功。

请花些时间打开在项目根目录中生成的 fabfile.py 文件。您将看到许多命令, 其中每一个都可以根据您的需要来重命名、删除和/或自定义。使用 out-of-the-box 配置, 您可以通过以下方式生成站点:

fab build

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

fab regenerate

运行本地服务以供 http://localhost:8000/预览:

fab serve

如果在 pelican-quickstart中, 当被问及是否要通过 ssh 上传站点时回答 “是”, 可以使用以下命令通过 ssh 通过 rsync 发布站点:

fab publish

这些只是一些默认情况下可用的命令, 所以请随时浏览 fabfile.py。更重要的是, 不要犹豫自定义 fabfile.py , 以满足您的特定需求和喜好。

Make

当您在 pelican-quickstart对相关问题说 “是” 时, 也会自动为您创建 Makefile。这种方法的优点是, 使命令被内置到大多数 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 的服务。完成对更改的测试后, 应通过以下方式停止开发服务器:

./develop_server.sh stop

当您准备发布网站时, 您可以通过在 pelican-quickstart选择的方法将其上传。对于本例, 我们将在 ssh 上使用 rsync:

make rsync_upload

(默认的 Makefieldevserver.sh 使用 pythonpelican 来完成其任务。如果要使用不同的可执行文件 (如 python3), 则可以分别设置 pyPELICAN 环境变量来重写默认的可执行文件名称。)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值