Oven logo

Oven

readme-md2019.1.28

Published

README.md generator

pip install readme-md

Package Downloads

Weekly DownloadsMonthly Downloads

Authors

Project URLs

Requires Python

Install

$ [sudo] pip install readme-md

Features

  • <section-name>.md sections
  • attrs/properties/methods sections - subclass readme_md.Readme
  • auto headers - if section 1st line is not empty and not # header
  • sections order - Readme.order or order.txt
  • python project (setup.cfg required) sections - install, classes, functions, cli

Classes

readme_md.Readme - README.md generator

Readme attrs__doc__
header_lvlheader default lvl (4)
headersdict with sections headers (optional)
orderlist of sections order
sectionsdict with sections (loaded from .md files)
Readme methods__doc__
get_header(name)return a string with section header
get_section(name)return a string with README section
get_sections()return all sections in a list of (name, string) pairs sorted by order
load(path)load sections and order
render()render to a string
save(path='README.md')save to file

Functions

function__doc__
readme_md.broken_links(string, timeout=5)return a list with broken markdown links
readme_md.links(string)return a list with markdown links
readme_md.tables.attrs(cls)return a string with class attributes table
readme_md.tables.cls(cls)return a string with class name, description and attrs+methods+properties tables
readme_md.tables.methods(cls)return a string with class methods table
readme_md.tables.properties(cls)return a string with class properties table
readme_md.tables.usage(modules)return a string with cli modules usage table. python -m module or module USAGE variable (if defined). if __name__ == "__main__" line required

CLI

usage__doc__
python -m readme_md.broken_links path [timeout]print README.md broken links
python -m readme_md.create [path ...]generate README.md
python -m readme_md.links pathprint README.md links

Examples

# .README/examples.md, .README/features.md, .README/order.txt
$ python -m readme_md.create .README > README.md
$ python -m readme_md.broken_links README.md # find broken links
class Readme_npm(readme_md.Readme):
    order = ["description","features","install", ...]
    disabled = ["generator"]

    @property
    def install(self):
        return "`$ [sudo] npm i -g %s`" % json.loads(path)["name"]
Readme(".README").save("README.md") # load sections and create README.md

readme-md - README.md generator