gpt4 book ai didi

haskell - pandoc 中缺少链接和其他类型元素的属性

转载 作者:行者123 更新时间:2023-12-03 10:54:49 26 4
gpt4 key购买 nike

我正在尝试使用 pandoc (使用 hakyll ,但这可能并不重要)以实现以下目标:

  • 读取 Markdown 文件。
  • 将其转换为 HTML。
  • 添加 target="_blank"自动生成的每个链接的属性。

  • 问题是 definition of Inline pandoc似乎只支持某些类型的属性 Inline s,例如,对于 SpanCode ,而不是其他人,例如, LinkImage .

    这是 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

    最佳答案

    图像和链接属性在 Pandoc vs Multimarkdown Wiki 上被记录为“不在 Pandoc 中”的功能。页。

    有一些 Unresolved 问题,例如 Permit adding attributes to all Markdown elements #684 .当我查看时,我没有看到附加的代码/拉取请求来实现它们。

    如果要添加 target="_blank"归因于自动生成的链接,我认为您同时需要使用解决方法。 (请注意,如果您使用非 Pandoc HTML 解析器对 HTML 进行后处理,则可能不需要使用原始字符串处理。)

    关于haskell - pandoc 中缺少链接和其他类型元素的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29875831/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com