py-simple-readme 0.0.8
Quick, easy, navigatable readme generator
Requires Python: >=3.8

# py_simple_readme 0.0.8<a name="mark0"></a>

***Quick, easy, navigatable readme generator***

- [About](#mark1)
	- [Installation](#mark2)
- [Usage](#mark3)
	- [Example](#mark4)
	- [readme_generator](#mark5)
- [Changelog](#mark6)
	- [0.0.8](#mark7)
	- [0.0.7](#mark8)
	- [0.0.6](#mark9)
	- [0.0.5](#mark10)
	- [0.0.4](#mark11)
	- [0.0.3](#mark12)
	- [0.0.2](#mark13)
	- [0.0.1](#mark14)
	- [0.0.0](#mark15)

---

# About<a name="mark1"></a>[^](#mark0)

I'm tired of hand-making big, navigatable readme.md files for github projects so I made this to make the process a lot less tedious. This readme was generated by this project.

### Installation<a name="mark2"></a>[^](#mark1)

Available on pip - `pip install py_simple_readme`

# Usage<a name="mark3"></a>[^](#mark0)

### Example<a name="mark4"></a>[^](#mark3)

```python
from py_simple_readme import readme_generator()
gen = readme_generator(title="Example", slogan="This goes below the title in the readme")
gen.set_changelog({"0.0.0": "Push"})
gen.add_heading_1("About")
gen.add_paragraph("A paragraph about the project.")
gen.add_heading_1("Installation")
gen.add_paragraph("Installation instructions")
gen.add_heading_1("Usage")
gen.add_paragraph("A paragraph about using the module")
with open("readme.md", "w+") as f:
f.write(gen.assemble())

```
### readme_generator<a name="mark5"></a>[^](#mark4)
**Simple object to handle the programatic generation of readme.md files**

```py
class readme_generator(object):
	def __init__(self, title: str = None, slogan: str = None, footnote_title: str = 'Notes:', footnote_heading_level: int = 2, numbered_toc: bool = False, ignored: list = []):
		...
	def add_blockquote(self, text: str, end: str = '\n\n'):
		"""Add a blockquoted paragraph at the current point in the readme body"""
	def add_bold(self, text: str, end: str = ''):
		"""Adds a bold piece of text at the current point in the readme body"""
	def add_code_block(self, code: str, lang: str = 'python', end: str = '\n'):
		"""Add a block of code at the current point in the readme body"""
	def add_header_image(self, alt_text: str, url: str, replace_ok: bool = False):
		"""Adds an image to the images placed under the project title / slogan"""
	def add_heading(self, text: str, level: int = 1, end: str = '\n', add_toc: bool = True):
		"""Add a heading, set "add_toc" keyword to add a table of contents entry. Set "end" keyword to change the line ending."""
	def add_heading_1(self, text: str, **kwargs):
		"""Add a level 1 heading, set "add_toc" keyword to add a table of contents entry."""
	def add_heading_2(self, text: str, **kwargs):
		"""Add a level 2 heading, set "add_toc" keyword to add a table of contents entry."""
	def add_heading_3(self, text: str, **kwargs):
		"""Add a level 3 heading, set "add_toc" keyword to add a table of contents entry."""
	def add_heading_4(self, text: str, **kwargs):
		"""Add a level 4 heading, set "add_toc" keyword to add a table of contents entry."""
	def add_heading_5(self, text: str, **kwargs):
		"""Add a level 5 heading, set "add_toc" keyword to add a table of contents entry."""
	def add_heading_6(self, text: str, **kwargs):
		"""Add a level 6 heading, set "add_toc" keyword to add a table of contents entry."""
	def add_horizontal_rule(self):
		"""Adds a horizontal rule at the current point in the readme body"""
	def add_italic(self, text: str, end: str = ''):
		"""Adds italicized piece of text at the current point in the readme body"""
	def add_link(self, link: str, text: str = None, tooltip: str = None):
		"""Adds a link at the current point in the readme body"""
	def add_multi_blockquote(self, texts: list):
		"""Add multiple blockquoted paragraphs at the current point in the readme body"""
	def add_ordered_list(self, texts: list, indent: int = 0):
		"""Add an ordered (numbered) list as the current point in the readme body"""
	def add_paragraph(self, text: str, end: str = '\n\n'):
		"""Add a paragraph to the current point in the readme body"""
	def add_toc(self, title: str, end: str = '\n'):
		"""Add an entry to the table of contents at the current point in the readme body."""
	def add_unordered_list(self, texts: list, indent: int = 0):
		"""Add an unordered (non-numbered) list as the current point in the readme body"""
	def assemble(self):
		"""Generate the readme and return as a string."""
	def b(self, *args, **kwargs):
		"""Alias for add_bold"""
	def cb(self, *args, **kwargs):
		"""Alias for add_code_block"""
	def dd(self):
		"""Alias for decrease_toc_depth"""
	def decrease_toc_depth(self):
		"""Decrease table of contents depth"""
	def fn(self, text: str):
		"""Alias for insert_footnote"""
	def get_prefix(self):
		"""Returns the appropriate blockquote depth indicator"""
	def h1(self, *args, **kwargs):
		"""Alias for add_heading_1"""
	def h2(self, *args, **kwargs):
		"""Alias for add_heading_2"""
	def h3(self, *args, **kwargs):
		"""Alias for add_heading_3"""
	def h4(self, *args, **kwargs):
		"""Alias for add_heading_4"""
	def h5(self, *args, **kwargs):
		"""Alias for add_heading_5"""
	def h6(self, *args, **kwargs):
		"""Alias for add_heading_6"""
	def handle_class_list(self, classes: list, show_submodule: bool = False):
		"""Adds documentation for a list of classes at the current point in the readme body."""
	def handle_function_list(self, functions: list, show_submodule: bool = False):
		"""Adds documentation for a list of functions at the current point in the readme body."""
	def hr(self):
		"""Alias for add_horizontal_rule"""
	def i(self, *args, **kwargs):
		"""Alias for add_italic"""
	def id(self):
		"""Alias for increase_toc_depth"""
	def increase_toc_depth(self):
		"""Increase table of contents depth"""
	def insert_footnote(self, text: str):
		"""Inserts a footnote at the current point in the readme body."""
	def l(self, *args, **kwargs):
		"""Alias for add_link"""
	def ol(self, *args, **kwargs):
		"""Alias for add_ordered_list"""
	def p(self, *args, **kwargs):
		"""Alias for add_paragraph"""
	def q(self, *args, **kwargs):
		"""Alias for add_blockquote"""
	def save(self, path):
		"""Generate readme and save to a given location."""
	def set_changelog(self, changelog: dict):
		"""Set the changelog with a dictionary of version strings mapped to update info strings."""
	def set_header_images(self, images: dict, replace_ok: bool = False):
		"""Sets a list of header images from a dict that maps image_alt texts to image urls."""
	def set_slogan(self, slogan: str):
		"""Set readme slogan. This will appear directly below the readme title if set."""
	def toc(self, *args, **kwargs):
		"""Alias for add_toc"""
	def ul(self, *args, **kwargs):
		"""Alias for add_unordered_list"""
```
# Changelog<a name="mark6"></a>[^](#mark0)

## 0.0.8<a name="mark7"></a>[^](#mark6)

Fix issue with multiline comments, last push accidentally only fixed multi-line descriptions which needed the treatment too.

## 0.0.7<a name="mark8"></a>[^](#mark6)

Fix issue with multiline comments.

## 0.0.6<a name="mark9"></a>[^](#mark6)

Codeblocks can no longer be indented.

## 0.0.5<a name="mark10"></a>[^](#mark6)

Last patch didn't completely fix it

## 0.0.4<a name="mark11"></a>[^](#mark6)

Fix github codeblock incompatibility

## 0.0.3<a name="mark12"></a>[^](#mark6)

Add ignored methods to readme_generator keywords

## 0.0.2<a name="mark13"></a>[^](#mark6)

Add show_submodule argument to function/class documenter function

## 0.0.1<a name="mark14"></a>[^](#mark6)

Fix PyPi readme

## 0.0.0<a name="mark15"></a>[^](#mark6)

Push



Generated with [py_simple_readme](https://github.com/AndrewSpangler/py_simple_readme)