module Jekyll::Diagrams::Utils
Public Instance Methods
config_for(context, name)
click to toggle source
@param context Liquid::Template
# File lib/jekyll-diagrams/utils.rb, line 20 def config_for(context, name) configuration(context).dig(Diagrams.config_name, name) || {} end
configuration(context)
click to toggle source
error_mode(context)
click to toggle source
Return error mode in user configuration
@param context Liquid::Template
# File lib/jekyll-diagrams/utils.rb, line 27 def error_mode(context) key = 'error_mode' config = configuration(context) liquid_mode = config.dig('liquid', key) custom_mode = config.dig(Diagrams.config_name, key) (custom_mode || liquid_mode || Diagrams.default_error_mode).to_sym end
handle_error(context, error)
click to toggle source
# File lib/jekyll-diagrams/utils.rb, line 37 def handle_error(context, error) topic = Diagrams.logger_topic mode = error_mode(context) case mode when :lax '' when :warn Jekyll.logger.warn topic, error error when :strict Jekyll.logger.abort_with topic, error else raise Errors::UnkownErrorModeError, mode end end
normalized_attrs(attrs, prefix:, sep: '=')
click to toggle source
# File lib/jekyll-diagrams/utils.rb, line 62 def normalized_attrs(attrs, prefix:, sep: '=') attrs = case attrs when String attrs when Array attrs.join(prefix) when Hash attrs.map { |k, v| "#{k}#{sep}#{v}" }.join(prefix) end "#{prefix}#{attrs}" end
run_jar(jar)
click to toggle source
# File lib/jekyll-diagrams/utils.rb, line 58 def run_jar(jar) "java -Djava.awt.headless=true -jar #{jar} " end
vendor_path(file = '')
click to toggle source
# File lib/jekyll-diagrams/utils.rb, line 54 def vendor_path(file = '') File.join(File.expand_path('../../vendor', __dir__), file) end
wrap_class(content, class_names)
click to toggle source
# File lib/jekyll-diagrams/utils.rb, line 76 def wrap_class(content, class_names) <<~CONTENT <div class='#{Diagrams.config_name} diagrams #{class_names}'> #{content} </div> CONTENT end