Metadata-Version: 2.1
Name: foliantcontrib.metagraph
Version: 0.1.3
Summary: Preprocessor which generates schemes from metadata
Home-page: UNKNOWN
Author: Daniil Minukhin
Author-email: ddddsa@gmail.com
License: MIT
Platform: any
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Topic :: Documentation
Classifier: Topic :: Utilities
Description-Content-Type: text/markdown
Requires-Dist: foliant (>=1.0.5)
Requires-Dist: foliantcontrib.meta (>=1.3.1)
Requires-Dist: foliantcontrib.utils (>=1.0.2)

[![](https://img.shields.io/pypi/v/foliantcontrib.metagraph.png)](https://pypi.org/project/foliantcontrib.metagraph/)  [![](https://img.shields.io/github/v/tag/foliant-docs/foliantcontrib.metagraph.png?label=GitHub)](https://github.com/foliant-docs/foliantcontrib.metagraph)

# MetaGraph preprocessor for Foliant

Preprocessor generates Graphviz diagrams of meta sections in the project.

## Installation

```bash
$ pip install foliantcontrib.metagraph
```

## Config

```yaml
preprocessors:
    - metagraph:
        natural: false
        directed: false
        draw_all: false
```

`natural`
:   if `true` — the graph is generated based on "natural" section structure: main sections are connected to the inner sections, which are connected to their child sections and so on. If `false` — the connections are deretmined by the `relates` meta section of each chapter. Default: `false`

`directed`
:   If `true` — draws a directed graph (with arrows). Default: `false`

`draw_all`
:   If `true` — draws all sections, except those which have meta field `draw: false`. If `false` — draws only sections which have meta field `draw: true`. Default: `false`

## Usage

First set up a few meta sections:

```html
<meta title="Main document" id="main" relates="['first', 'sub']" draw="true"></meta>

# First title
<meta id="first" draw="true"></meta>

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nesciunt, atque.

## Subtitle

<meta id="sub"  draw="true"></meta>
```

Then add a `metagraph` tag somewhere in the project:

```html
<metagraph></metagraph>
```


