Markdown extension for embedding graphs.
$ gem install graphdown
$ graphdown sample.md
This command generates
sample.html, which is parsed into HTML with graphs in format of SVG.
require "redcarpet" require "graphdown" class BaseRenderer < Redcarpet::Render::HTML include Graphdown::Renderable end markdown = Redcarpet::Markdown.new(BaseRenderer, fenced_code_blocks: true)
Graphdown extends following notations for graphs.
[label name]: Node named "label name"
[label A], [label B], ...: Multiple nodes
->: Unidirectional edge
<->: Bidirectional edge
Graphdown parses these notations into graph images in SVG format.
# Servers arrangement [Load balancer] -> [Web server 1], [Web server 2], [Web server 3] -> [DB server], [Cache server]
# Path to naoty/graphdown on GitHub [/] -> [/naoty] -> [/naoty/graphdown] [/] -> [/search] -> [/naoty/graphdown] [/] -> [/notifications] -> [/naoty/graphdown]
- Kazuo Misue, Kouzou Sugiyama, On Automatic Drowing of Compound Graphs for Computer Aided Diagrammatical Thinking, Journal of Information Processing Society of Japan, 1989, Vol.30, No.10, p1324-1334.