Quick, easy, navigatable readme generator
Project description
py_simple_readme 0.0.6
Quick, easy, navigatable readme generator
About^
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^
Available on pip - pip install py_simple_readme
Usage^
Example^
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^
Simple object to handle the programatic generation of readme.md files
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^
0.0.6^
Codeblocks can no longer be indented.
0.0.5^
Last patch didn't completely fix it
0.0.4^
Fix github codeblock incompatibility
0.0.3^
Add ignored methods to readme_generator keywords
0.0.2^
Add show_submodule argument to function/class documenter function
0.0.1^
Fix PyPi readme
0.0.0^
Push
Generated with py_simple_readme
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for py_simple_readme-0.0.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 56e163092b32dd70bb2c6c828751ab52d9a1eff49d0959c9000410f31aa7221d |
|
MD5 | aff10fe39e0f3c511cb4f5fdb907a66d |
|
BLAKE2b-256 | 8072a154c39531a038dfc11a9fd5e2731b1e53d4078883f3d580eff48cab8a52 |