Skip to main content

An easy-to-use Python to Markdown generator.

Project description

markdownmaker

PyPI PyPI - Python Version PyPI - Downloads PyPI - License

markdownmaker is an easy-to-use minimal library to generate a Markdown document with a Python API. Actually, this document you are reading right now was generated with markdownmaker for demonstration purposes (source). Currently it uses Github Flavored Markdown but more flavors might follow.

This library was developed to aid with generating a reference for Armory3D's logic nodes, thus its feature scope is rather small and the output might have some bugs when creating complex documents. If you encounter problems, please open an issue.

Installation

markdownmaker is installed via pip:

pip install markdownmaker

Usage (API)

Import the following:

from markdownmaker.document import Document
from markdownmaker.markdownmaker import *

Then, create a document:

doc = Document()

After you finished creating the document, doc.write() returns the Markdown source code.

Emphasis

doc.add(Paragraph(Italic("This text will be italic!")))
doc.add(Paragraph(Bold("This text will be bold!")))

doc.add(Paragraph(f"You can also combine {Bold(Italic('bold and italic text!'))}"))

This text will be italic!

This text will be bold!

You can also combine bold and italic text!

Headers

doc.add(Header("This is a header"))
with HeaderSubLevel(doc):
    doc.add(Header("This is a sub-header"))
    with HeaderSubLevel(doc):
        doc.add(Header("This is a sub-sub-header"))

This is a header

This is a sub-header

This is a sub-sub-header

Lists

doc.add(OrderedList((
    "Item 1", 
    "Item 2", 
    UnorderedList((
        Bold("Sub-item A"), 
        Italic("Sub-item B"))), 
    "Item 3")))
  1. Item 1
  2. Item 2
  • Sub-item A
  • Sub-item B
  1. Item 3

Horizontal Rule

doc.add(HorizontalRule())

Links and Images

doc.add(Link(label='Go to top', url='#markdownmaker'))
doc.add(Image(url='https://gitlab.com/uploads/-/system/project/avatar/21351489/markdownmaker.png?width=40', alt_text='logo'))

Go to top

logo

Code

doc.add(CodeBlock("""import this
import __hello__""", language="python"))

doc.add(Paragraph(f"{InlineCode('Inline code')} is also supported!"))
import this
import __hello__

Inline code is also supported!

Quotes

doc.add(Quote(f"""Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Donec et quam at eros dignissim accumsan. Aenean quis sagittis dolor. Ut justo nisl,
lobortis nec elit id, dictum ullamcorper ipsum. Fusce eu ullamcorper eros, nec
feugiat lectus.

{Italic(Bold("Albert Einstein."))}"""))

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et quam at eros dignissim accumsan. Aenean quis sagittis dolor. Ut justo nisl, lobortis nec elit id, dictum ullamcorper ipsum. Fusce eu ullamcorper eros, nec feugiat lectus.

Albert Einstein.

License

markdownmaker is licensed under the zlib license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

markdownmaker-0.4.0.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

markdownmaker-0.4.0-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file markdownmaker-0.4.0.tar.gz.

File metadata

  • Download URL: markdownmaker-0.4.0.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.1

File hashes

Hashes for markdownmaker-0.4.0.tar.gz
Algorithm Hash digest
SHA256 5aa5e41f9527325280dbee2aa902000e2142a6650b5b241b1090e8fce29f1b92
MD5 42fe274af8dc065e862f241618426662
BLAKE2b-256 e576e5e9edf573ab781de57295ac35d8a65e47025e52e6d0594a8a0623b7728c

See more details on using hashes here.

File details

Details for the file markdownmaker-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: markdownmaker-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 5.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.1

File hashes

Hashes for markdownmaker-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e62ef5a340ab9c9ce5b73cbf85a5865921821f147a99befb247f963992304a99
MD5 4eff6e4c54a6da7a12bd3f10ac5444b6
BLAKE2b-256 cfc8453c1d88c195cc5831db6fe3fcaf8ea95c93e97ddd90b8a3b2d72b0ee835

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page