元素的缺少的属性我想使用pandoc
(与hakyll
,但是这可能并不重要),以实现以下目标:链接和其他类型的pandoc
- 阅读降价文件。
- 将其转换为HTML。
- 为每个自动生成的链接添加一个
target="_blank"
属性。
的问题是,在pandoc
的definition of Inline
似乎支持的属性只对某些类型的Inline
S,例如,对于Span
和Code
,而不是为别人,例如,为Link
和Image
。
这是pandoc
的一个任意限制,还是因为某种原因而故意制造的,我不明白?此外,有没有办法实现我想要的,而不诉诸低级字符串处理或使用RawInline
构造函数?
这里是一个MWE:
import Text.Pandoc
import Text.Pandoc.Walk
fixLinks :: Pandoc -> Pandoc
fixLinks = walk fixLink
where fixLink (Link inlines (url, title)) =
Link inlines (url, "I want to add a target=_blank to this link!")
fixLink inline = inline
main = do
let md = "This is a link to [StackOverflow](http://stackoverflow.com/)."
(putStrLn . writeHtmlString def . fixLinks . readMarkdown def) md