Store and retrieve converter instances for Jekyll::Filters via a hash (#6856)
Merge pull request 6856
This commit is contained in:
parent
bfdd26fdcc
commit
29dc190fcb
|
@ -14,9 +14,9 @@ module Jekyll
|
|||
#
|
||||
# Returns the HTML formatted String.
|
||||
def markdownify(input)
|
||||
site = @context.registers[:site]
|
||||
converter = site.find_converter_instance(Jekyll::Converters::Markdown)
|
||||
converter.convert(input.to_s)
|
||||
@context.registers[:site].find_converter_instance(
|
||||
Jekyll::Converters::Markdown
|
||||
).convert(input.to_s)
|
||||
end
|
||||
|
||||
# Convert quotes into smart quotes.
|
||||
|
@ -25,9 +25,9 @@ module Jekyll
|
|||
#
|
||||
# Returns the smart-quotified String.
|
||||
def smartify(input)
|
||||
site = @context.registers[:site]
|
||||
converter = site.find_converter_instance(Jekyll::Converters::SmartyPants)
|
||||
converter.convert(input.to_s)
|
||||
@context.registers[:site].find_converter_instance(
|
||||
Jekyll::Converters::SmartyPants
|
||||
).convert(input.to_s)
|
||||
end
|
||||
|
||||
# Convert a Sass string into CSS output.
|
||||
|
@ -36,9 +36,9 @@ module Jekyll
|
|||
#
|
||||
# Returns the CSS formatted String.
|
||||
def sassify(input)
|
||||
site = @context.registers[:site]
|
||||
converter = site.find_converter_instance(Jekyll::Converters::Sass)
|
||||
converter.convert(input)
|
||||
@context.registers[:site].find_converter_instance(
|
||||
Jekyll::Converters::Sass
|
||||
).convert(input)
|
||||
end
|
||||
|
||||
# Convert a Scss string into CSS output.
|
||||
|
@ -47,9 +47,9 @@ module Jekyll
|
|||
#
|
||||
# Returns the CSS formatted String.
|
||||
def scssify(input)
|
||||
site = @context.registers[:site]
|
||||
converter = site.find_converter_instance(Jekyll::Converters::Scss)
|
||||
converter.convert(input)
|
||||
@context.registers[:site].find_converter_instance(
|
||||
Jekyll::Converters::Scss
|
||||
).convert(input)
|
||||
end
|
||||
|
||||
# Slugify a filename or title.
|
||||
|
|
|
@ -277,10 +277,12 @@ module Jekyll
|
|||
# Get the implementation class for the given Converter.
|
||||
# Returns the Converter instance implementing the given Converter.
|
||||
# klass - The Class of the Converter to fetch.
|
||||
|
||||
def find_converter_instance(klass)
|
||||
converters.find { |klass_| klass_.instance_of?(klass) } || \
|
||||
raise("No Converters found for #{klass}")
|
||||
@find_converter_instance ||= {}
|
||||
@find_converter_instance[klass] ||= begin
|
||||
converters.find { |converter| converter.instance_of?(klass) } || \
|
||||
raise("No Converters found for #{klass}")
|
||||
end
|
||||
end
|
||||
|
||||
# klass - class or module containing the subclasses.
|
||||
|
|
Loading…
Reference in New Issue