为Pelican提供的整洁主题。
项目描述
Plumage是为Pelican(一个静态网站生成器)提供的整洁主题。
我最初创建这个主题是为了我的博客https://kevin.deldycke.com,但现在它足够通用,任何人都可以使用。
特性
-
标准Pelican视图
文章 分类 分层标签列表 可折叠年度存档 标记文章 作者 多角度文章浏览 -
项目模板
代码展示(来源) 视频展示(来源) 主题展示(来源) -
基于 Bootstrap v5。
-
全站静态搜索通过 Stork 实现。
-
文章中的裸YouTube链接会被渲染为嵌入视频。
-
直接链接到GitHub上编辑文章。
-
图像上的放大镜覆盖和缩放。
-
外部资产(Bootstrap、Jquery等)使用 CDNjs。
-
Disqus集成。
插件
Plumage内置了对以下插件和扩展的支持
插件名称 | 类型 | 状态 | 备注 |
---|---|---|---|
pelican-image-process |
Pelican插件 | 可选 | 嵌入一个修复外部图像解析的hack。 |
pelican-neighbors |
Pelican插件 | 可选 | |
pelican-related-posts |
Pelican插件 | 可选 | |
pelican-similar-posts |
Pelican插件 | 可选 | |
pelican-search |
Pelican插件 | 可选 | |
pelican-webassets |
Pelican插件 | 必需 | |
markdown.extensions.admonition |
Markdown扩展 | 可选 | 将警告重新样式化为 警报。 |
markdown.extensions.codehilite |
Markdown扩展 | 可选 | 使用Pygment样式为高亮代码进行样式化。 |
markdown.extensions.toc |
Markdown扩展 | 可选 | 为文章的副标题添加永久链接锚点。 |
pymdownx.highlight |
Markdown扩展 | 可选 | 使用Pygment样式为高亮代码进行样式化。 |
typogrify |
Pelican内置 | 可选 | 样式化和号。 |
安装
使用此GitHub仓库的 main
分支安装此主题。
如果您已经使用 poetry
来管理Pelican项目的依赖关系,只需运行
poetry add git+https://github.com/kdeldycke/plumage#main
或者,可以手动在 pyproject.toml
文件的 [tool.poetry.dependencies]
部分添加以下行。
plumage = {git = "https://github.com/kdeldycke/plumage", rev = "main"}
一旦添加,运行 poetry update
以反映此新依赖项。
注意:如果您在此项目中尚未使用 poetry
,则在添加 plumage
之前您需要这样做。您可以通过首先在系统上 安装 poetry
并然后在项目文件夹中运行 poetry init
来完成此操作。
然后,一旦安装了 plumage
模块,请更新您的 pelicanconf.py
文件以引用该模块
import plumage
THEME = plumage.get_path()
首次运行时,Plumage将尝试通过 npm
CLI安装Node.js包依赖项。
$ poetry run pelican --verbose ./content
(…)
WARNING: postcss CLI not found.
-> Install Plumage's Node.js dependencies from (…)/plumage/package.json:
| {
| "name": "plumage-webassets-pipeline",
| "description": "Plumage dependencies for the webassets compilation pipeline.",
| "dependencies": {
| "postcss-cli": "^8.3.1"
| }
| }
|
up to date, audited 96 packages in 984ms
found 0 vulnerabilities
-> postcss CLI found at (…)/plumage/node_modules/.bin/postcss
(…)
设置
可以通过在 pelicanconf.py
文件中添加以下可选参数来自定义Plumage
设置名称 | 默认值 | 描述 |
---|---|---|
ARTICLE_EDIT_LINK |
为每篇文章生成一个编辑链接。可以使用 %(slug)s 在链接中包含动态文章的slug。 |
|
CODE_STYLE |
"monokai" |
Pygments的样式ID。从 poetry run pygmentize -L styles 中选择一个。 |
COPYRIGHT |
添加到页脚第三列的附加版权声明。 | |
DISCLAIMER |
覆盖在页脚第四列显示的免责声明。 | |
DISQUS_SITENAME |
Pelican可以处理Disqus评论。在此处指定Disqus sitename标识符。 | |
FAVICON_LINKS |
True |
从Google的favicons webservice获取链接图标。 |
GOOGLE_ANALYTICS |
设置为 UA-XXXXXX-Y 属性的跟踪ID以激活Google Analytics。 |
|
LEFT_SIDEBAR |
作为纯HTML内容放入左侧边栏。 | |
LINKS_WIDGET_NAME |
"Links" |
允许覆盖链接小部件的名称。 |
LINKS |
在页脚第二列显示的链接的标题和URL的元组列表。 | |
MANUAL_LINKS |
启用此功能时,您必须将链接(在LINKS & SOCIAL设置中)不再作为元组传递,而是作为列表,其中每个条目都按您喜欢的格式进行格式化 | |
MENUITEMS |
用于在主菜单开头显示的附加菜单项的元组列表(标题,URL)。 | |
RIGHT_SIDEBAR |
右侧栏中应直接放置的HTML内容。 | |
SITESUBTITLE |
显示在页眉中的副标题。 | |
SITE_THUMBNAIL_TEXT |
显示在网站缩略图后面的文本。 | |
SITE_THUMBNAIL |
显示在页眉中的网站缩略图URL。应至少为80x80像素的方形图像。 | |
SOCIAL_WIDGET_NAME |
"社交" |
允许覆盖“社交”小部件的名称。 |
SOCIAL |
显示在页脚第一列中的元组列表(标题,URL)。 | |
STORK_SEARCH |
False |
激活Stork静态搜索引擎。需要官方Pelican的search 插件。 |
这些参数中的大多数与notmyidea
的参数类似(Pelican的默认主题)。有关使用示例,请参阅我的自己的pelicanconf.py
。
主题也对以下标准Pelican参数敏感。
ARCHIVES_SAVE_AS
AUTHOR
AUTHOR_SAVE_AS
AUTHORS_SAVE_AS
CATEGORIES_SAVE_AS
CATEGORY_FEED_ATOM
CATEGORY_FEED_RSS
DEFAULT_LANG
DEFAULT_PAGINATION
DISPLAY_PAGES_ON_MENU
DISPLAY_CATEGORIES_ON_MENU
FEED_ALL_ATOM
FEED_ALL_RSS
FEED_ATOM
FEED_DOMAIN
FEED_RSS
PAGINATION_PATTERNS
SITENAME
SITEURL
TAG_FEED_ATOM
TAG_FEED_RSS
TAGS_SAVE_AS
代码语法高亮
有两种选择,都依赖于Pygments语法高亮器,共享大多数功能,有一些差异。
功能 | CodeHilite | 高亮 |
---|---|---|
清洁复制和粘贴 | ✅ | ✅ |
行号 | ✅ | ✅ |
右对齐数字 | ✅ | ✅ |
行起始偏移 | ✅ | ✅ |
多行高亮 | ✅ | ✅ |
第N行高亮 | ✅ | ✅ |
文件名 | ✅ | ❌ |
长行换行 | ✅ | ❌ |
长行溢出(滚动条) | ❌ | ✅ |
固定左侧空白 | ❌ | ✅ |
行锚点 | Pygments中工作 | ❌ |
Python Markdown CodeHilite
只需将此配置添加到pelicanconf.py
,即可允许我们向Pygments的HTML格式化器传递额外选项。
MARKDOWN = {
"extension_configs": {
(…)
"markdown.extensions.codehilite": {
"css_class": "codehilite", # Default
"linenums": True,
"linenos": "inline",
"linespans": "coderow",
"lineanchors": "L",
"anchorlinenos": True,
"wrapcode": True,
},
"markdown.extensions.fenced_code": {},
(…)
},
}
这将渲染为
```{.shell-session hl_lines="8 11" linenostart="5" linenospecial="3" filename="~/code/foo.log"}
$ cat ./example.markdown
This is the content of the file:
→ java
→ rust
→ haskell
→ javascript
$ cat ./addendum.txt
This is extra content.
$ find ./ -iname "*.markdown" -print -exec bash -c 'cat ./addendum.txt >> "{}"' \;
./example.markdown
$ cat ./example.markdown
This is the content of the file:
→ java
→ rust
→ haskell
→ javascript
This is extra content.
```
成为这个
PyMdown Extensions' Highlight
只需将此配置添加到您的pelicanconf.py
。
MARKDOWN = {
"extension_configs": {
(…)
"pymdownx.highlight": {
"linenums": True,
"linenums_style": "pymdownx-inline",
},
"pymdownx.superfences": {},
(…)
},
}
这将渲染为
```{.shell-session hl_lines="8 11" linenums="5 1 3" filename="~/code/foo.log"}
$ cat ./example.markdown
This is the content of the file:
→ java
→ rust
→ haskell
→ javascript
$ cat ./addendum.txt
This is extra content.
$ find ./ -iname "*.markdown" -print -exec bash -c 'cat ./addendum.txt >> "{}"' \;
./example.markdown
$ cat ./example.markdown
This is the content of the file:
→ java
→ rust
→ haskell
→ javascript
This is extra content.
```
成为这个
CSS自定义
TODO:记录以下所有类型自定义
通过pyquery
在生成时转换Python代码
使用extra_css
自定义main.scss
常见问题解答
我如何禁用图像的缩放功能?
默认情况下,文章中的所有图像都是可缩放的。您可以通过添加一个noZoom
CSS类来按图像禁用放大镜。因此,您必须使用以下Markdown代码

而不是以下模板来禁用图像的缩放功能
{: .noZoom}
为什么搜索不起作用?
官方Pelican的search
插件需要安装。
TODO:如果插件存在,则自动激活搜索字段。
许可证
本软件许可协议为GNU通用公共许可证第2版或更新版(GPLv2+)。
版权(C)2012-2020 Kevin Deldycke 和 贡献者。
第三方资产
主题嵌入了一些外部软件、脚本、库和艺术品的副本
jQuery MGlass v1.1
Copyright (c) 2012 Younès El Biache
Distributed under a MIT license
Source: https://github.com/younes0/jQuery-MGlass
Fabric (Plaid)
Copyright (c) 2012 James Basoo
Distributed under a Creative Commons Attribution-ShareAlike 3.0 Unported license
Source: https://subtlepatterns.com/fabric-plaid/
Cream paper
Copyright (c) 2012 Devin Holmes
Distributed under a Creative Commons Attribution-ShareAlike 3.0 Unported license
Source: https://subtlepatterns.com/cream-paper/
Feather-alt icon v5.1.0
Copyright (c) 2020 Font Awesome project
Distributed under a Creative Commons Attribution 4.0 International license
Source: https://fontawesome.com/icons/feather-alt?style=solid
Macro shot of White Feather
Source: https://unsplash.com/photos/Sw7f58YJbc0
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分发
构建分发
plumage-4.0.0.tar.gz的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 0ab495f4164361260cdf7fe00905d423ec28528c342edea56c85b8538e6ebca2 |
|
MD5 | f27fa721e53ae6de87f5464635bca473 |
|
BLAKE2b-256 | 9df896d08f28f3022d24728b248c84ea6a17dba90438512415a03ee28c0ad8e4 |
plumage-4.0.0-py3-none-any.whl的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 408f6c8e666aa4024218c5ca8b94d9287c186b4d612728c6b390b2928ff99aea |
|
MD5 | b9d16411fddf78ae219be77b86db24da |
|
BLAKE2b-256 | 6c1aad9933da7e3a9a54866f675f291939d15cace9a7fc3f176d384160436f24 |