获取Jekyll对流器中帖子的完整文件名

时间:2018-10-10 14:03:23

标签: ruby markdown jekyll jekyll-extensions

我正在使用convecter在jekyll中使用markdown扩展。例如:

module Jekyll
  class MyConverter < Converter
    safe false
    priority :high

    def matches(ext)
      ext =~ /^.(md|markdown)$/i
    end

    def output_ext(ext)
      ".html"
    end

    def my_process (content)
      # something
    end

    def convert(content)
      # Here my markdown processing
      # content = my_process(content)

      # Here I want to use the path to the markdown file
      # puts (filename)

      site = Jekyll::Site.new(@config)
      converter = site.find_converter_instance(Jekyll::Converters::Markdown)
      converter.convert(content)
    end
  end
end

能否获得将Markdown文本转换为html的文件的全名或位置?

例如,我有一个markdown文件:

Bla bla bla.

[Text of the link](gallery)

Bla bla bla

我想要目录gallery中的文件列表。我知道如何从特定目录中获取文件列表,但是在对流器中,我需要知道此降价文件的完整路径。有什么办法吗?

1 个答案:

答案 0 :(得分:0)

使用Jekyll::Hook

module Jekyll
  class MyHookProcess
    class << self
      def my_process(content)
        # something
        content
      end
    end
  end
end

Jekyll::Hooks.register([:posts], :pre_render) do |post|
  #puts ("post.date = " + post.date)
  #puts ("post.path = " + post.path)
  #puts ("post.url = " + post.url)
  post.content = Jekyll::MyHookProcess.my_process(post.content)
end