markdownio

Python tool to write Markdown as code easily.


Keywords
markdown, domain-specific-language, markup-language, markdown-builder, python
License
MIT
Install
pip install markdownio==0.1.0

Documentation

MarkdownIO

Pypi Version Python Version CI Coverage Status Project license Code Style

Python tool to write Markdown as code easily.

Installation

$ pip install markdownio

Usage

from markdownio import MarkdownIO, span
from markdownio.block import TableHeader

markdown = MarkdownIO()

markdown.h1("My test document")
markdown.p(
    text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. "
         "Vivamus rutrum consequat " + span.bold("odio") + " et mollis."
)
markdown.p(span.image(path="path/img.jpg", alt="img", title="img"))
markdown.table(
    columns=3,
    headers=['Col1', 'Col2', TableHeader.center('Col3')],
    rows=[
        ['foo', 'bar', 'foobar'],
        ['oof', 'rab', 2000],
    ]
)
markdown.p(
    text="This is an interesting article: " + span.link(path='http://test.io')
)
markdown.h2("Code example")
markdown.code(text='<p>Test</p>', language='html')

print(markdown.output())

output:

# My test document

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus rutrum consequat **odio** et mollis. p
![img](path/img.jpg "img")

| Col1 | Col2 | Col3   |
| ---- | ---- | :----: |
| foo  | bar  | foobar |
| oof  | rab  | 2000   |

This is an interesting article: <http://test.io>

## Code example

```html
<p>Test</p>
```

Merge two documents

from markdownio import MarkdownIO

document1 = MarkdownIO()
document1.p("Part 1.")

document2 = MarkdownIO()
document2.p("Part 2.")

full_document = document1 + document2
print(full_document.output())

output:

Part 1.

Part 2.

Documentation