class Middleman::Svg::SvgExtension
Public Class Methods
asset_path(source)
click to toggle source
# File lib/middleman-svg/extension.rb, line 50 def self.asset_path(source) root = Middleman::Application.root source_path = File.join(root, 'source') if File.exists?(File.join(source_path, 'images', source)) File.read(File.join(source_path, 'images', source)) elsif File.exists?(File.join(source_path, 'fonts/svg', source)) File.read(File.join(source_path, 'fonts/svg', source)) end end
extension_hint(filename)
click to toggle source
# File lib/middleman-svg/extension.rb, line 71 def self.extension_hint(filename) filename.ends_with?(".svg") ? "" : "(Try adding .svg to your filename) " end
new(app, options_hash={}, &block)
click to toggle source
Calls superclass method
# File lib/middleman-svg/extension.rb, line 16 def initialize(app, options_hash={}, &block) super require 'active_support/core_ext/string' end
placeholder(filename)
click to toggle source
# File lib/middleman-svg/extension.rb, line 60 def self.placeholder(filename) css_class = Middleman::Svg.configuration.svg_not_found_css_class not_found_message = "'#{filename}' #{Middleman::Svg::SvgExtension.extension_hint(filename)}" if css_class.nil? return "<svg><!-- SVG file not found: #{not_found_message}--></svg>".html_safe else return "<svg class='#{css_class}'><!-- SVG file not found: #{not_found_message}--></svg>".html_safe end end
read_svg(filename)
click to toggle source
# File lib/middleman-svg/extension.rb, line 40 def self.read_svg(filename) if Middleman::Svg::IOResource === filename Middleman::Svg::IOResource.read filename elsif Middleman::Svg::URIResource === filename Middleman::Svg::URIResource.read filename else Middleman::Svg::SvgExtension.asset_path(filename) end end
Public Instance Methods
inline_svg(filename, transform_params={})
click to toggle source
# File lib/middleman-svg/extension.rb, line 22 def inline_svg(filename, transform_params={}) begin svg_file = Middleman::Svg::SvgExtension.read_svg(filename) rescue Middleman::Svg::AssetFile::FileNotFound return Middleman::Svg::SvgExtension.placeholder(filename) unless transform_params[:fallback].present? if transform_params[:fallback].present? begin svg_file = Middleman::Svg::SvgExtension.read_svg(transform_params[:fallback]) rescue Middleman::Svg::AssetFile::FileNotFound Middleman::Svg::SvgExtension.placeholder(filename) end end end Middleman::Svg::TransformPipeline.generate_html_from(svg_file, transform_params).html_safe end