Skip to content

Extension for python-markdown and ReText to embed Graphviz output.

License

Notifications You must be signed in to change notification settings

Tanami/markdown-graphviz-svg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Markdown Graphviz SVG (for Python 3 and ReText)

This is a rewrite/continuation of the following modules:

  • markdown-inline-graphviz
  • python-markdown-graphviz
  • markdown-dot

At some point in the development of python-markdown the original method that these modules used to embed Graphviz was broken because the way it inserted the rendered SVG was dumb (see:).

I have poorly reimplemented the original functionality with the BlockProcessors class, this is a bit finnicky with the parsing of blocks (sometimes you need to use double newlines). But it is more robust than using the Preprocessor method.

I did not implement the PNG rendering functionality because I don't use it. If you want to make significantly smaller documents you might wish to implement SVGZ with the original PNG method from python-markdown-graphviz.

Because this uses the special {% %} syntax, it should be compatible with Jinja and other platforms that recognise it as such, however this is untested.

Usage

  • Run setup.py install or put this folder in your $PYTHONPATH
  • Add markdown-graphviz-svg to your extensions list in ReText's configuration
  • Use like this:
{% dot
    digraph G {
        rankdir=LR
        Earth [peripheries=2]
        Mars
        Earth -> Mars
    }
%}

Where dot can be any of: dot, neato, fdp, sfdp, twopi, circo.

KNOWN BUGS

  • Sometimes the block parser doesn't think you have made a separate block. Insert two newlines above and below your code block to fix it.
  • If you don't insert an ending %}, the parser will eat the rest of your document. I am not fixing this.

Credits

License

MIT License

About

Extension for python-markdown and ReText to embed Graphviz output.

Topics

Resources

License

Stars

Watchers

Forks

Languages