我有一个使用Jinja2的MkDocs网站的模板。我正在尝试添加指向每个页面的PDF版本的链接。 PDF始终与降价文件具有相同的名称。因此,我尝试在模板中添加一个链接,该链接将自动针对每个页面指定正确的PDF。这比让编写者在每个页面上添加手动链接要干净得多。
<a href="{{ page.url|url }}.pdf">Download</a>
以上内容几乎是正确的,但是所有URL的末尾都有一个“ /”。表示结果是:
page/url/slug/.pdf
MkDocs和Jinja似乎都没有提供删除尾部斜杠的过滤器,因此我想知道是否可以使用正则表达式删除它。我相信那会像\/$
一样简单吗?但是,我无法从文档中看到如何在Jinja中应用正则表达式过滤器?
答案 0 :(得分:1)
因此我为我的特定情况找到了一种解决方法,但这很讨厌:
<a href='{{ config.site_url }}{{ page.url | reverse | replace("/", "", 1) | reverse }}.pdf'>Download</a>
根据上述Jan所链接的问题的答案之一,您不能在不进入自定义过滤器的情况下简单地在Jinja2中使用正则表达式。
答案 1 :(得分:0)
<a href="{{ page.url | replace("/$", "")}}.pdf">Download</a>
其中$
是行的结尾/字符串的结尾。
因此,/$
表示末尾的/
。