Lektor Shortcodes插件允许您在字段(而非模板)中使用短代码(短代码类似于自定义标签),这样您的内容就不需要重复使用相同的代码片段。
项目描述
Lektor Shortcodes
Lektor Shortcodes插件允许您在字段(而非模板)中使用短代码(短代码类似于自定义标签),这样您的内容就不需要重复使用相同的代码片段。
例如,我的博客有一些特定的HTML,当我想显示带有边框和标题的图片时,我会添加这些HTML。HTML看起来像这样
<div class="alignright">
<a href="image-large.jpg">
<img src="image.jpg" />
<span class="caption">The caption</span>
</a>
</div>
每次都复制粘贴很麻烦,我必须在每个内容文件中搜索和替换它,每当我想要更改时。使用短代码插件,这可以写成
[% image align=right link="image-large.jpg" image=image.jpg caption="The caption" %]
更简单、更干净、更少重复。
安装
要安装插件,只需从命令行将 lektor-shortcodes
添加到您的插件中
lektor plugins add lektor-shortcodes
用法
使用插件很简单。只需在您的 configs
目录中创建一个名为 shortcodes.ini
的配置文件,并指定一些短代码模板。模板是完整的Jinja模板,尽管(由于ini文件的一些限制)它们需要在一行上。
例如,对于上面的示例,配置文件可以是
[global]
image = '<div class="align{{ align }}">{% if link %}<a href="{{ link }}"{% if not link.startswith("http") %} data-lightbox="gallery"{% endif %}>{% endif %}<img src="{{ image }}">{% if link %}</a>{% endif %}{% if caption %}<span class="caption">{{ caption }}</span>{% endif %}</div>'
这将允许您使用带有可选参数的短代码,如下所示
# An image with no caption or link:
[% image align=right image=hello.jpg %]
# An image with a link:
[% image align=right link=http://www.example.com image=hello.jpg %]
# Link and caption:
[% image align=right link=http://www.example.com image=hello.jpg caption="Hello!" %]
在名为 global
的部分中定义的短代码将在您网站的Markdown内容中自动处理。也可以定义仅在页面的Jinja2模板明确请求时才展开的短代码。在除 global
之外的部分中定义的短代码仅在模板通过名为 shortcode
的Jinja2过滤器传递内容时应用。例如,如果您的HTML模板引用了一个名为 body
的字段,并且您的配置有一个名为 [special]
的部分,您可以通过以下方式请求展开 special
部分中定义的短代码
{{ body|shortcodes(section="special") }}
这将启用指定部分的所有简码,以及所有全局定义的简码。如果没有指定部分,过滤器默认为名为 main
的部分(因此它将包括 main
中的简码,除非您请求不同的部分,并且它始终包括 global
中的简码,无论什么情况)。
杂项
如果您发现错误或有功能请求,请打开一个问题或提交一个PR。谢谢!
项目详情
lektor-shortcodes-0.2.7.tar.gz的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 93ed20de1efd9e58ccad083018c980cf55a490b4f88c00afaefc18e65a63ba75 |
|
MD5 | 45958f7ce459191d85d360f855f7273e |
|
BLAKE2b-256 | 895c465fd2e310937d2dde06b1681ed32acafdc13b8a0bc14305831408e2d639 |
lektor_shortcodes-0.2.7-py3-none-any.whl的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7bc9c3ba5d09023201a14f42a6ede7c890bcd07f2221de2ec92ea00e71d83e8b |
|
MD5 | 419e689199eb55252e4636c9c682181d |
|
BLAKE2b-256 | efb814974f3b0f50077e9c14da16bc721beb44a75f331743dab99f79ec730d79 |