markdown - 使用 Jekyll 3,我可以在实际 Markdown 解析之前转换帖子的 Markdown 吗?

标签 markdown jekyll jekyll-extensions responsive-images kramdown

我想使用 Jekyll Responsive Image plugin为我的帖子图像生成带有 srcset/sizes 属性的适当响应式图像。

但我也希望能够在提供实时预览的软件中编辑我的帖子,例如 MacDown ,它只理解图像的标准 Markdown 语法。

这就是为什么我想知道是否有一种方法(某种插件)来告诉 Jekyll 转换图像的标准 Markdown 语法,我会将其放入我的 Markdown 文件中......

![替代文本](path/to/image.jpg)

...进入特定于 Jekyll Responsive Image plugin 的语法:

{%responsive_image路径:path/to/image.jpg alt:“替代文本”%}

然后,Jekyll 可以继续使用 Kramdown 生成 HTML...

我还创建了 an issue in the plugin's Github ,但更通用的答案也很好,并且可能对其他需求有用。

最佳答案

是的,这绝对是可能的。从 Jekyll 3 开始,您可以每个文件扩展名有多个转换器。这允许您创建一个转换器,例如:

class ResponsiveImageify < Jekyll::Converter
  priority :high

  def matches(ext)
    ext.downcase == ".md"
  end

  def convert(content)
    content.gsub(/\!\[(.+)\]\((.+)\)/, '{% responsive_image path: \2 alt: \1  %}')
  end
end

该转换器将 gsub 任何 .md 文件的内容。

希望这有帮助!

关于markdown - 使用 Jekyll 3,我可以在实际 Markdown 解析之前转换帖子的 Markdown 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35614552/

相关文章:

javascript - 如何使用 javascript 将焦点处的文本插入到标记编辑器中?

javascript - 如何在浏览器中显示markdown内容(大概是用markdown.js?)

html - GitHub 自述文件中的中心对齐 shield.io

ruby - 无法在 OSX 上构建或提供 Jekyll 站点

wordpress - 在 WordPress 中创建 markdown 风格 `(反引号)短代码?

css - Jekyll github pages 站点忽略 .css

jekyll - 在不使用自定义插件的情况下在 Jekyll 中格式化数字

ruby - JekyllRB : how to create an online book (force permalink to be like chapter/1)

liquid - 扩展 Jekyll 和 Liquid 来解析帖子内容

css - 使用 Jekyll stylus 插件时如何执行 --include-css