Liquid::Block
# File doc/plugins/graphviz.rb, line 94 def add_desc_attrs(svg) svg.sub!('<svg', %[<svg aria-label="#{CGI::escapeHTML @title}"]) svg.sub!('<svg', %[<svg role="img"]) return svg end
# File doc/plugins/graphviz.rb, line 57 def filter_for_inline_svg(code) code = remove_declarations code code = remove_xmlns_attrs code code = add_desc_attrs code code = insert_desc_elements code code = wrap_with_div code code = code.gsub /<polygon fill="white" stroke="none"/, '<polygon fill="transparent" stroke="none"' code end
# File doc/plugins/graphviz.rb, line 67 def generate_svg code Open3.popen3(DOT_CMD) do |stdin, stdout, stderr| stdout.binmode stdin.print code stdin.close err = stderr.read if not (err.nil? || err.strip.empty?) raise "Error from #{DOT_CMD}:\n#{err}" end svg = stdout.read svg.force_encoding 'UTF-8' return svg end end
# File doc/plugins/graphviz.rb, line 101 def insert_desc_elements(svg) inserted_elements = %[<title>#{CGI::escapeHTML @title}</title>\n] inserted_elements << %[<desc>#{CGI::escapeHTML @src}</desc>\n] svg.sub!(/(<svg [^>]*>)/, "\\1\n#{inserted_elements}") return svg end
# File doc/plugins/graphviz.rb, line 85 def remove_declarations(svg) svg.sub(/<!DOCTYPE .+?>/m, '').sub(/<\?xml .+?\?>/m, '') end
# File doc/plugins/graphviz.rb, line 89 def remove_xmlns_attrs(svg) svg.sub(%[xmlns="http://www.w3.org/2000/svg"], '') .sub(%[xmlns:xlink="http://www.w3.org/1999/xlink"], '') end
# File doc/plugins/graphviz.rb, line 31 def render(context) code = super title = if @title.empty? then DEFAULT_GRAPH_NAME else @title end case @tag_name when 'graphviz' then render_graphviz code when 'graph' then render_graph 'graph', title, code when 'digraph' then render_graph 'digraph', title, code else raise "unknown liquid tag name: #{@tag_name}" end end
# File doc/plugins/graphviz.rb, line 113 def render_graph(type, title, code) render_graphviz %[#{type} "#{title}" { #{code} }] end
Generated with the Darkfish Rdoc Generator 2.