英文:
Stopping Pandoc from escaping urls when converting from markdown
问题
我有以下的Markdown:
[title]({{url}})
{{url}}
在Markdown解析为HTML后,稍后需要用于模板目的。
Pandoc输出:
<a href="%7B%7Burl%7D%7D">title</a>
但我需要:
<a href="{{ur}}">title</a>
Pandoc中是否有选项可以实现这个目标?
英文:
I have the following markdown:
[title]({{url}})
The {{url}}
is needed for templating purposes later, after markdown is parsed to html.
Pandoc outputs:
<a href="%7B%7Burl%7D%7D">title</a>
but I need:
<a href="{{ur}}">title</a>
Is there an option in Pandoc to do so?
答案1
得分: 1
URL编码发生在Markdown解析步骤中。我们可以通过使用Lua过滤器来恢复它:将以下内容保存到一个名为urldecode.lua
的文件中,然后通过--lua-filter=urldecode.lua
将该文件传递给pandoc。
local hexchar = function(x)
return string.char(tonumber(x, 16))
end
function Link (link)
link.target = link.target:gsub('%%(%x%x)', hexchar)
return link
end
英文:
The URL encoding happens during the Markdown parsing step. We can revert it with the help of a Lua filter: Save the below to a file urldecode.lua
and pass that file to pandoc via --lua-filter=urldecode.lua
.
local hexchar = function(x)
return string.char(tonumber(x, 16))
end
function Link (link)
link.target = link.target:gsub('%%(%x%x)', hexchar)
return link
end
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论