发布网站
生成网站
一旦 Pelican 被安装并且填充了一些内容(比如通过 Markdown 或者 reST 格式),你就可以通过 pelican
命令把你的网站转换成 HTML。 可以特别的设置网站内容所在的路径以及(可选的)设置文件的位置:
上面的命令可以生成你的站点,使用默认的主题,然后把它保存到 output/
文件夹中。默认的主题包括了一些非常简单的 HTML 而没有样式。这个简单的主题可以用来构建自己的主题。
当写好一个文章或者页面的时候,只生成相关的内容是可能的,使用 --write-selected
参数,就像下面那样:
注意到你必须指明 输出 文件的位置,而不是源内容的位置。为了决定输出文件的名字和位置,使用 --debug
选项。如果想要的话,--write-selected
可以接受一个逗号分割的路径列表,或者是配置成为默认设置。(参见 writing_only_selected_content
)
你还可以告诉 Pelican 来监视你的修改,而非每次手动都需要重新运行命令来查看修改。为了打开这个功能,你需要在运行 pelican
命令的时候使用 -r
或者 --autoreload
选项。
Pelican 有一些其他的命令行选项,使用下面的命令来获得帮助:
查看生成的文件
Pelican 生成的文件都是静态文件,所以你并不需要任何特殊的方法来预览。你可以直接使用你的浏览器打开生成的网站:
因为上面的方法可能会在加载你的 CSS 文件和其他静态文件的时候产生错误,你可以使用 Python 提供的一个轻量级服务器来提高预览的体验。
对于 Python 2,运行一下命令:
对于 Python 3,则运行一下命令:
一旦这个基本的服务器被启动你,你就可以通过 http://localhost:8000/
来预览网站。
部署
当你已经生成你你的网站,并在本地开发环境下预览了你的网站之后,就已经做好了把它部署在生产环境的准备了。你可能首先需要使用生产环境特殊的设置来重新生成网站:
为了在你的 pelicanconf.py
之上覆盖你的发布配置,你可以通过下面的语句来导入你的 pelicanconf
如果你已经使用 pelican-quickstart
生成了一个 publishconf.py
。那么上面那个语句就已经被包含了。
如何在生产环境下部署你的网站取决于生产环境。如果你有对一台运行着 Nginx 或者 Apache 的服务器的 SSH 权限。你可以使用 rsync
工具来发送你的网站文件。
这有很多的部署选项,有一些已经被通过生成网站时 pelican-quickstart
配置了。查看 Tip 页面来了解如何通过 Github Page 部署。
自动化
虽然 pelican
命令是生成网站最正统的方式,一些自动化工具也可以用来构建自动生成和构建网站的工作流。
在使用 pelican-quickstart
命令时,有一个问题就是是否需要自动地生成和部署网站。如果您的回答是 "yes" ,那么一个 tasks.py
和 Makefile
文件将会自动的在项目根目录下创建。这些文件已经预先填充了从其他问题获得的选项。 这些文件代表着一个起点,你需要定制化他们来满足你的独特的需求和使用习惯。如果你发现一个或者多个自动化工具的作用非常有限,你可以随时删掉他们,这不影响 pelican
命令。
下面是一些包装了 pelican
命令的自动化工具。可以在生成、预览、上传网站的时候简化流程。
Invoke
稍等片刻,打开项目根目录下的 tasks.py
文件,你就会发现一系列命令。这些命令都可以被按照您的喜好重命名、移除、添加或者自定义。使用默认的配置,你可以通过这个命令来生成网站:
如果你更倾向于使得 Pelican 可以在检测到更改之后自动地重新构建你的网站(在本地测试时非常有用),使用下面的命令来替换:
如果需要本地部署网页来方便在浏览器中的 http://localhost:8000/
预览:
如果在 pelican-quickstart
过程中,对时候通过 SSH 上传网站的问题回答为 "yes" 。你可以使用下面的命令来调用 rsync 命令:
这只是一些默认支持的简短的命令,你可以自由的探索 tasks.py
文件来看看还有那些其他的命令。更加重要的是,千万不要犹豫定制 tasks.py
来满足你独特的需求和偏好。
Make
一个 Makefile
也会在你对相关问题回答为 "yes" 时,自动的创建。 这种方式的好处就是 make
命令被内置于绝大多数 POSIX 系统,因此无需额外的安装而可以直接使用。缺点就是对于 非 POSIX 系统(比如 Windows)来说,并不包括 make
,并且安装它是非常繁琐的工作。
如果你想使用 make
来生成网站,并且使用 pelicanconf.py
中的设置,请运行:
如果你想要使用 publishconf.py
来生成生产环境下的网站,运行:
如果你愿意让 Pelican 自动的重建(本地测试时有用),请使用如下命令:
如果想要启动服务器来运行生成的网站,以用来在 http://localhost:8000/
地址预览:
正常情况下,你可能需要分别运行 make regenerate
和 make serve
两个命令。但是你可以通过运行下面的命令来一次性完成:
上述命令将会同时运行 Pelican 重构模式和启动服务器并输出到 http://localhost:8000/
。
当你完成你的网站,想要通过在 pelican-quickstart
问卷中填写的方法来上传网站时。举个例子,我们使用 rsync 来通过 ssh 上传:
就是这样,你的网站就在线了。
(默认的 Makefile
和 devserver.sh
脚本会使用 python
和 pelican
可执行文件来完成它的工作。如果你需要使用不同的可执行文件,比如 python3
,你可以设置 PY
和 PELICAN
环境变量。以此来覆盖默认的可执行文件名)
Last updated