转换器
如果您有想要用于网站的新标记语言,可以通过实现自己的转换器来包含它。Markdown 和 Textile 标记语言都是使用此方法实现的。
记住您的页首信息
Jekyll 仅转换顶部有 YAML 标头的文件,即使对于您使用插件添加的转换器也是如此。
下面是一个转换器,它将获取所有以 .upcase
结尾的文章,并使用 UpcaseConverter
处理它们
module Jekyll
class UpcaseConverter < Converter
safe true
priority :low
def matches(ext)
ext =~ /^\.upcase$/i
end
def output_ext(ext)
".html"
end
def convert(content)
content.upcase
end
end
end
转换器至少应实现 3 个方法
方法 | 说明 |
---|---|
|
给定的扩展名是否与该转换器的可接受扩展名列表匹配?获取一个参数:文件的扩展名(包括点)。如果匹配,则必须返回 |
|
要赋予输出文件(包括点)的扩展名。通常这将是 |
|
执行内容转换的逻辑。获取一个参数:文件的原始内容(不含页首信息)。必须返回一个字符串。 |
在我们的示例中,UpcaseConverter#matches
检查我们的文件名扩展名是否为 .upcase
,如果是,则将使用该转换器进行渲染。它将调用 UpcaseConverter#convert
来处理内容。在我们的简单转换器中,我们只是将整个内容字符串大写。最后,当它保存页面时,它将使用 .html
扩展名进行保存。