0
CamelCase Jekyllフィルタを作成しようとしています。CamelCase Jekyll Filter
{{ page.title | camelcase }} # Page Title
が、私は何かがあるかもしれません:
{{ 'Page Title' | camelcase }} # pageTitle
...ではなく、ページ変数で使用する場合:文字列をフィルタリングする際
=begin
# Custom to camelcase function
# Usage:
# 'string'.camelize
# 'string'.camelize(:lower)
=end
class String
def camelize(*separators)
case separators.first
when Symbol, TrueClass, FalseClass, NilClass
first_letter = separators.shift
end
separators = ['_', '\s'] if separators.empty?
str = self.dup
separators.each do |s|
str = str.gsub(/(?:#{s}+)([a-z])/){ $1.upcase }
end
case first_letter
when :upper, true
str = str.gsub(/(\A|\s)([a-z])/){ $1 + $2.upcase }
when :lower, false
str = str.gsub(/(\A|\s)([A-Z])/){ $1 + $2.downcase }
end
str
end
end
=begin
Jekyll filter to convert string to camelcase
Usage:
{% 'string' | camelcase %}
=end
module Jekyll
module CamelCase
def camelcase(input)
input.camelize(:lower)
end
end
end
Liquid::Template.register_filter(Jekyll::CamelCase)
それは成功しています行方不明ですか? 誰かがジキルのインストールを自分で試してみることができますか?
それは非常に重要ではありませんが、数時間私を悩ませています。
ありがとうございました。問題は、これら3行だった=)
をここで、両方のは、 ' "ページタイトル"=> "ページタイトル"'生成します。 Jekyll 3.0.x、3.1.x、ruby 2.1.8、2.3.0 –
これはcamelize関数に何か問題があることを意味しますか? – evolutionxbox
はい、そうだと思います。 –