ruby Jekyll i18n过滤器
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby Jekyll i18n过滤器相关的知识,希望对你有一定的参考价值。
require 'i18n'
# Create folder "_locales" and put some locale file from https://github.com/svenfuchs/rails-i18n/tree/master/rails/locale
module Jekyll
module I18nFilter
# Example:
# {{ post.date | localize: "%d.%m.%Y" }}
# {{ post.date | localize: ":short" }}
def localize(input, format=nil)
load_translations
format = (format =~ /^:(\w+)/) ? $1.to_sym : format
I18n.l input, :format => format
end
def load_translations
unless I18n::backend.instance_variable_get(:@translations)
I18n.backend.load_translations Dir[File.join(File.dirname(__FILE__),'../_locales/*.yml')]
I18n.default_locale = @context.registers[:site].config['locale']
I18n.enforce_available_locales = false
end
end
end
end
Liquid::Template.register_filter(Jekyll::I18nFilter)
以上是关于ruby Jekyll i18n过滤器的主要内容,如果未能解决你的问题,请参考以下文章
ruby [Jekyll补充数据模块]将jekyll post的补充数据文件复制到帖子的内置html附近的位置#data #jekyll
ruby Jekyll模板中的环境变量
ruby 中等喜欢Jekyll的阅读时间
ruby Jekyll为Marked.app渲染
ruby Jekyll标记云/标签页插件
ruby Jekyll的灵活,对数分布,标签云。