在删除后的Jinja2 /从URL(正则表达式?)

问题描述 投票:0回答:2

我有一个MkDocs网站,它使用Jinja2的模板。我试图将链接添加到每个页面的PDF版本。该PDF始终具有相同的名称降价文件。所以我尝试添加的模板的链接,它会自动针对每个页面的正确PDF。这感觉比有作家添加手动链接到每一页清洁。

<a href="{{ page.url|url }}.pdf">Download</a>

以上是几乎正确的,但有一个“/”在所有URL的结尾。这意味着结果是:

page/url/slug/.pdf

无论MkDocs也不神社似乎提供了一个过滤器除去尾随斜线,所以我想知道是否有可能使用正则表达式来删除它。我相信这将是作为\/$那么简单?然而,我无法从文档看看如何在神社应用正则表达式过滤器?

regex jinja2 mkdocs
2个回答
1
投票

所以,我发现我的具体情况解决方法,但它是讨厌的:

<a href='{{ config.site_url }}{{ page.url | reverse | replace("/", "", 1) | reverse }}.pdf'>Download</a>
  1. 前面加上该网站网址
  2. 获取当前页面的URL,扭转它,使用带有可选的计数参数替换删除第一个“/”,然后再次扭转它拿回来的正确顺序
  3. 追加“.PDF”

根据答案通过以上链接扬的问题之一,你不能简单地使用正则表达式中的Jinja2没有进入自定义过滤器。


0
投票
<a href="{{ page.url | replace("/$", "")}}.pdf">Download</a>

其中$是字符串的线/端的端部。

因此,/$装置在结束时/

© www.soinside.com 2019 - 2024. All rights reserved.