ruby - 在 jekyll 中预处理标记文件

标签 ruby jekyll

我想编写一个预处理器,在标记语言被 Jekyll 处理成 HTML 之前对其进行操作。理想情况下,用户只需创建一个名为 _posts/xxyyzz.md.wmd 的文件,Jekyll 会使用我提供的插件将其预处理为 xxyyzz.md,然后以通常的方式将其处理为 HTML。

看起来 Jekyll 的 Converter 框架不允许这样做,因为 output_ext 函数只给出了最终扩展名“wmd”,阻止它为“.md.wmd”返回“.md” "、".textile"为 ".textile.wmd"等

有没有办法实现像这样的一系列处理步骤?

编辑:语法

最佳答案

也许你可以尝试使用 Generator plugin使用你的 wmd 转换器:

require "yourWmdConverter"

module Jekyll
  class ConvertWmd < Jekyll::Generator

    def initialize(config)
      config['convert_wmd'] ||= true
    end

    def generate(site)
      @site = site
      site.posts.docs.each { |post| convertWmd post }
    end

    private

    def convertWmd(post) 
      post.content = yourWmdConverter post.content
    end

  end
end

关于ruby - 在 jekyll 中预处理标记文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26601232/

相关文章:

ruby-on-rails - Ruby on Rails else If 问题

configuration - Jekyll: 'About' 永久链接无法正常工作

jekyll - 在 Jekyll 中如何知道 URL 是相对的还是绝对的?

pagination - 我可以使用 Liquid 模板在 Jekyll 中进行适当的平铺分页吗?

ruby - 在没有 rails 的情况下将 POST 参数转换为 Ruby 中的哈希

ruby-on-rails - Guard with RSpec on Rails 4 发出大量警告

ruby-on-rails - 不会运行任何 Rails 命令

ruby - Selenium 超时?如何设置超时限制?

ruby - Jekyll - 液体异常 : cannot load such file -- yajl/2. 0/yajl

docker - 无法构建克隆的 Jekyll 站点 - jekyll 3.8.5 |错误 : Permission denied @ dir_s_mkdir -/srv/jekyll/_site