Markd
A simple python3 package that facilitates the generation of markdown flavoured files
Installation
pip install markd
Usage
Initialize the module
from markd import Markdown()
markd = Markdown()
Add content blocks
add_header(text, htype=1)
Adds an htype header block to the content
markd.add_header("H1")
markd.add_header("H2", 2)
add_text(text)
Adds a text block to the content
markd.add_text("Sample text")
add_list_item(text, depth=None)
Adds a list item to the content with the specified text and intentation depth.
The depth parameter is used to create sublists.
markd.add_list_item("List item 1")
markd.add_list_item("List item 1.1", 1)
markd.add_list_item("List item 1.2", 1)
markd.add_list_item("List item 1.2.1", 2)
add_linebreak()
Adds a linebreak block
markd.add_linebreak()
add_blockquote(*lines)
Adds a blockquote with the specified lines of text
markd.add_blockquote("This is a blockquote")
markd.add_blockquote("This is a", "multi line", "block quote")
add_horizontal_rule()
Adds a horizontal rule block
markd.add_horizontal_rule()
add_code(code)
Adds a code block
trace = '''
Traceback (most recent call last):
File "t.py", line 6, in <module>
raise TypeError("Oups!")
TypeError: Oups!
'''
markd.add_code(trace)
add_image(url, alt_text)
Adds an image using the specified url and alt_text
markd.add_image("https://myimage.link/image.png", "my image")
add_table(*rows)
Adds a table to the content provided a list of table rows.
The first row in the list, is considered to be the header.
markd.add_table(
["Header cell 1", "Header cell 2", "Header cell 3"],
["Row 1 cell 1", "Row 1 cell 2", "Row 1 cell 3"],
["Row 2 cell 1", "Row 2 cell 2", "Row 2 cell 3"],
)
Utility methods
link(url, text=None)
Creates a markdown link that can be added in the content using the available add_* methods
markd.add_text(markd.link("https://test.com", "test"))
emphasis(text)
Emphasizes a given text
markd.add_text(markd.emphasis("Text to be emphasized"))
italics(text)
Wraps the given text in italics
markd.add_text(markd.italics("Enter text here"))
save(filename)
Saves the file to the specified path
markd.save("/path/to/save/the/file.md")
Full Example
from markd import Markdown()
if __name__ == '__main__':
markd = Markdown()
markd.add_header("This an H1 headers")
markd.add_header("This is an H2 header", 2)
markd.add_text("Lorem ipsum text")
markd.add_blockquote("You can also add blockquotes!!")
markd.add_text(markd.link("https://google.com"))
markd.add_text(markd.link("https://google.com", "Link to google"))
markd.add_list_item("List item 1")
markd.add_list_item("List item 1.1", 1) # Sublist item
markd.add_list_item("List item 1.1.1", 2) # Sublist item
markd.add_list_item("List item 2")
markd.add_list_item(markd.link("http://test.com","List item link"))
markd.add_linebreak()
markd.add_code("Some code here")
markd.add_image("https://link.to/image.jpg", "alt-text")
markd.add_table(
["Header cell 1", "Header cell 2", "Header cell 3"],
["Row 1 cell 1", "Row 1 cell 2", "Row 1 cell 3"],
["Row 2 cell 1", "Row 2 cell 2", "Row 2 cell 3"],
)
markd.add_horizontal_rule()
print(markd.content) # Get the content
markd.save("/path/to/save/the/file.md")
License
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file markd-0.1.20.tar.gz.
File metadata
- Download URL: markd-0.1.20.tar.gz
- Upload date:
- Size: 4.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.8.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
964bec62443693e00171ddce32f203339fd25f389c0b73effec41ad577a2b9a9
|
|
| MD5 |
cd72280e4b634c457d9fe85b29cf04a4
|
|
| BLAKE2b-256 |
f68b9fa60b9695f19fd975323640a9f778e776b08f54326250d0677377b3980d
|