Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions lib/jekyll/graphviz.rb
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
require "jekyll"
require "jekyll/graphviz/version"
require "jekyll/graphviz/block"
require "jekyll/graphviz/dotf"

module Jekyll
module Graphviz
Expand All @@ -10,3 +11,4 @@ module Graphviz
Liquid::Template.register_tag('graphviz', Jekyll::Graphviz::Block)
Liquid::Template.register_tag('graph', Jekyll::Graphviz::Block)
Liquid::Template.register_tag('digraph', Jekyll::Graphviz::Block)
Liquid::Template.register_tag('dotf', Jekyll::Graphviz::DotF)
22 changes: 22 additions & 0 deletions lib/jekyll/graphviz/dotf.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
require "liquid/tag"
require "jekyll/graphviz/renderer"

module Jekyll
module Graphviz
class DotF < Liquid::Tag
def initialize tag_name, path, tokens
super
@path = path
end

def render context
config = context.registers[:site].config
renderer = Jekyll::Graphviz::Renderer.new(config["graphviz"])

page = context.registers[:page]
path = File.dirname(page[:relative_path]) + "/" + @path
renderer.render_dotf path
end
end
end
end
5 changes: 5 additions & 0 deletions lib/jekyll/graphviz/renderer.rb
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,11 @@ def initialize config = nil
@config = config || {}
end

def render_dotf path
code = File.read path.strip
render code, File.basename(path, ".*")
end

def render code, title = nil
title = gen_title(title, code)
svg = generate_svg code
Expand Down