Skip to content

mbarkhau/markdown-aafigure

Repository files navigation

logo

This is an extension for Python Markdown which renders diagrams using aafigure.

Project/Repo:

MIT License Supported Python Versions CalVer v202405.1012 PyPI Version PyPI Downloads

Code Quality/CI:

GitHub CI Status GitLab CI Status Type Checked with mypy Code Coverage Code Style: sjfmt

Name role since until
Manuel Barkhau ([email protected]) author/maintainer 2018-05 -

INFO: You may want to consider using the markdown-svgbob extension instead of this one. svgbob has an online editor and supports a wider range of shapes and diagrams. Its main disadvantage is that it "only" has builtin support for x86_64 on Windows, Linux and Mac, in contrast to aafigure which is pure python and supported everywhere.

Install

$ pip install markdown-aafigure
$ pip install Pillow    # only if you want to render as png

Use

In your markdown text you can define the block:

```aafigure
      +-----+   ^
      |     |   |
  --->+     +---o--->
      |     |   |
      +-----+   V
```

Parameters can be set for individual figures. Availabale parameters

```aafigure {"foreground": "#ff0000"}
      +-----+   ^
      |     |   |
  --->+     +---o--->
      |     |   |
      +-----+   V
```

Development/Testing

$ git clone https://gitlab.com/mbarkhau/markdown_aafigure
$ cd markdown_aafigure
$ make install
$ make lint mypy test

MkDocs Integration

In your mkdocs.yml add this to markdown_extensions.

markdown_extensions:
  - markdown_aafigure:
      tag_type: inline_svg

Valid options for tag_type are inline_svg (the default), img_utf8_svg, img_base64_svg, img_base64_png.