Module: Convertify
- Defined in:
- lib/jekyll-convertify/tags.rb,
lib/jekyll-convertify/convert.rb,
lib/jekyll-convertify/convert.rb
Defined Under Namespace
Modules: ConvertHelper, TagHelper
Class Method Summary collapse
Class Method Details
.convert(context, render, source_extension, destination_extension = nil) ⇒ Object
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 |
# File 'lib/jekyll-convertify/convert.rb', line 80 def self.convert(context, render, source_extension, destination_extension = nil) current_convertify_ext = context["convertify_extension"] destination_extension = nil if destination_extension&.empty? != false # Infer the destination extension if not provided inferred_dst_ext = destination_extension || current_convertify_ext || ConvertHelper.infer_extension(context.template_name) || ConvertHelper.infer_extension(context.registers[:page]["name"]) result = ConvertHelper::find_converter(context, source_extension, inferred_dst_ext) if result.nil? raise Liquid::ArgumentError, "No converter available for '#{source_extension}'" elsif destination_extension && result.destination_extension != destination_extension raise Liquid::ArgumentError, "No converter available for '#{source_extension}' to '#{destination_extension}'" end result.converter.convert(context.stack do context["convertify_extension"] = source_extension render.call end) end |