blog-engine-06-pelican 静态网站生成 支持 markdown 和 reST 语法
拓展阅读
blog-engine-01-常见博客引擎 jekyll/hugo/Hexo/Pelican/Gatsby/VuePress/Nuxt.js/Middleman 对比
blog-engine-02-通过博客引擎 jekyll 构建 github pages 博客实战笔记
blog-engine-02-博客引擎jekyll-jekyll 博客引擎介绍
blog-engine-02-博客引擎jekyll-jekyll 如何在 windows 环境安装,官方文档
blog-engine-02-博客引擎jekyll-jekyll SEO
blog-engine-04-博客引擎 hugo intro 入门介绍+安装笔记
blog-engine-05-博客引擎 Hexo 入门介绍+安装笔记
blog-engine-06-pelican 静态网站生成 官方文档
blog-engine-06-pelican 静态网站生成 windows 安装实战
blog-engine-07-gatsby 建极速网站和应用程序 基于React的最佳框架,具备性能、可扩展性和安全性
blog-engine-08-vuepress 以 Markdown 为中心的静态网站生成器
blog-engine-09-nuxt 构建快速、SEO友好和可扩展的Web应用程序变得轻松
blog-engine-10-middleman 静态站点生成器,利用了现代 Web 开发中的所有快捷方式和工具
前言
由于个人一直喜欢使用 markdown 来写 个人博客,最近就整理了一下有哪些博客引擎。
感兴趣的小伙伴也可以选择自己合适的。
Pelican 是什么?
Pelican 是一个使用 Python 编写的静态博客生成器。想象一下,如果你有一个智能助手,你只需要告诉它你的想法,它就能帮你整理成漂亮的文章,甚至还能自动发布到网上,这个智能助手就是 Pelican。
Pelican 的特点
静态生成
Pelican 生成的是静态网页,这意味着速度快,安全性高。Markdown 写作
使用 Markdown 语法来写作,简洁高效,让你更专注于内容。丰富的主题
Pelican 社区提供了很多美观的主题,你可以挑选一个你喜欢的。插件系统
通过插件,你可以扩展 Pelican 的功能,比如增加文章摘要、分类、标签等。部署简单
生成的静态文件可以轻松部署到 GitHub Pages、FTP、CDN 等多种平台上。
如何安装 Pelican?
安装 Python
Pelican 是基于 Python 的,所以首先需要在你的电脑上安装 Python。安装 Pelican
打开终端或命令提示符,输入以下命令安装 Pelican:pip install pelican
创建新博客
使用以下命令创建一个新的 Pelican 博客:pelican-quickstart
按照提示设置你的博客信息。
如何使用 Pelican?
编写文章
在博客的content
目录下创建 Markdown 文件,就可以开始写文章了。本地预览
输入以下命令启动本地服务器:pelican --listen
然后在浏览器中输入
http://localhost:8000
,就可以实时预览你的博客了。生成静态文件
当你的文章写好后,使用以下命令生成静态网页:pelican
这会在
output
目录下生成静态文件。发布博客
将output
目录下的文件部署到你选择的平台上,你的博客就上线了。选择主题和插件
Pelican 有很多免费的主题和插件,你可以挑选你喜欢的,按照文档说明进行安装和配置。
Pelican 的优缺点
优点
静态网站
静态网站加载速度快,安全性高。写作体验好
Markdown 写作简洁高效,让你更专注于内容。社区支持
Pelican 有一个活跃的社区,你可以找到大量的教程和帮助。高度可定制
通过主题和插件,你可以高度定制你的博客。
Pelican 的不足
静态网站
由于 Pelican 生成的是静态网站,所以不支持动态网站的功能,如用户注册、登录等。学习曲线
Pelican 的配置和主题定制可能需要一定的学习成本。
如果你喜欢写作,想要一个简单、安全的平台来分享你的想法,Pelican 是一个不错的选择。
pelican
Pelican 是一个静态网站生成器,用Python编写,它允许您通过编写Markdown、reStructuredText和HTML等格式的文本文件来创建网站。
使用Pelican,您可以创建网站而无需担心数据库或服务器端编程。Pelican生成可以通过任何网络服务器或托管服务提供的静态站点。
您可以使用Pelican执行以下功能:
使用您选择的编辑器在Markdown或reStructuredText中编写内容
简单的命令行工具重新生成HTML、CSS和JS源内容
易于与版本控制系统和Web挂钩进行接口
完全静态的输出可以简单地托管在任何地方
功能特点
Pelican的功能亮点包括:
时间排序的内容(例如,文章、博客文章)以及静态页面
与外部服务的集成
站点主题(使用Jinja2模板创建)
在多种语言中发布文章
生成Atom和RSS订阅源
通过Pygments进行代码语法高亮显示
从WordPress、Dotclear或RSS订阅源导入现有内容
由于内容缓存和选择性输出编写,重建速度快
可通过丰富的插件生态系统进行扩展:Pelican插件
查看 Pelican 文档 以获取更多信息。
为什么叫“Pelican”?
“Pelican”是“calepin”的一个变位词,法语中意为“笔记本”。
Pelican主题
该存储库包含了用于Pelican的主题。请随意克隆、添加您自己的主题,并提交拉取请求。这是由社区管理的!
您可以在 http://www.pelicanthemes.com 查看实时版本。
使用主题
以下说明假定您已经阅读了所有Pelican文档,有一个工作站点,并且现在想要应用一个非默认主题。
首先,选择一个位置来存放您的主题。对于这个示例,我们将使用目录~/pelican-themes,但您的目录可能不同。
在您的本地机器上将pelican-themes存储库克隆到该位置:
git clone --recursive https://github.com/getpelican/pelican-themes ~/pelican-themes
现在您应该在 ~/pelican-themes/
下存储您的 pelican-themes 存储库。
要使用其中一个主题,请编辑您的Pelican设置文件以包含以下行:
THEME = "/home/user/pelican-themes/theme-name"
所以,例如,要使用mnmlist主题,您将编辑您的设置文件以包含:
THEME = "/home/user/pelican-themes/mnmlist"
保存对设置文件的更改,然后使用您已经设置的 pelican-quickstart Makefile
重新生成您的站点:
make html
也可以通过-pelican命令的 -t ~/pelican-themes/theme-name
参数直接指定主题。
如果您想要编辑您的主题,请确保您所做的任何编辑都是针对存储在~/pelican-themes/theme-name中的副本进行的。
对于存储在站点输出目录中的文件所做的任何更改都将在下次生成站点时被删除。
Pelican插件
重要提示:我们正在将插件从这个单一的存储库迁移到它们自己的独立存储库,这些存储库位于新的Pelican插件组织下,这是一个供插件作者与Pelican维护者和社区其他成员更广泛合作的地方。我们的意图是让所有新组织下的插件都采用新的“命名空间插件”格式,这意味着这些插件可以轻松地通过Pip安装,并且Pelican 4.5+可以立即识别它们——而不必显式启用它们。
这个过渡过程需要一些时间,因此我们感谢您在此期间的耐心等待。如果您想帮助加速这个过渡,以下内容将非常有帮助:
- 如果您在这里找到一个尚未迁移到新组织的插件,请在这个存储库下创建一个新的问题,并说明您想要帮助迁移的插件,之后Pelican维护者将指导您完成此过程。
- 如果您来到这里提交一个拉取请求以添加您的插件,请考虑将您的插件移动到Pelican插件组织下。要开始,请在这个存储库下创建一个新的问题,提供您插件的详细信息,之后Pelican维护者将指导您完成此过程。
- 无论您是创建新插件还是迁移现有插件,请使用提供的Cookiecutter模板生成符合社区约定的脚手架命名空间插件。查看Simple Footnotes存储库,以查看一个已迁移插件的示例。
以下其余信息与传统插件相关,但不适用于Pelican插件组织中的新命名空间插件。
如何使用插件
安装和使用这些插件的最简单方法是克隆这个存储库:
git clone --recursive https://github.com/getpelican/pelican-plugins
并在您的设置文件中激活您想要的插件:
PLUGIN_PATHS = ['path/to/pelican-plugins']
PLUGINS = ['assets', 'sitemap', 'gravatar']
PLUGIN_PATHS可以是相对于您的设置文件的路径,也可以是绝对路径。
或者,如果插件位于可导入的路径中,您可以省略PLUGIN_PATHS并列出它们:
PLUGINS = ['assets', 'sitemap', 'gravatar']
或者您可以直接导入插件并给出:
import my_plugin
PLUGINS = [my_plugin, 'assets']