The **`version 2.0`** of `npdoc_to_md` is a **complete rewrite of the library**.
Thanks to drastically improved Python skills I was able to fix many formatting bugs with this library and add a few new features.
Unfortunately, keeping compability with the previous version was just too much work and would have led to an awkward code. Also the current user base seems to be very small and some previous behaviors were rather questionable e.g. removing stuff as a default (`remove_doctest_blanklines=True`).
I listed changes in [Breaking Changes](Breaking-Changes) but I highly suggest you go through the new documentation.
New Features
* Added a CLI
* Added the ability to document members of an object (e.g. class methods) via a new key in placeholders: `"members"`
* Added support for custom sections (`numpydoc` ignores them)
* Added option `remove_doctest_skip` for removing [doctest skip markers](https://docs.python.org/3/library/doctest.html#doctest.SKIP) ` doctest: +SKIP`
* Added option `md_section_level` to customize the Markdown title level of the sections in the docstrings
* Added new function `npdoc_to_md.render_folder` for rendering a folder of templates
Bugfixes
* Fixed a lot of formatting issues: missing escape characters in signature, irrelevant line breaks, missing line breaks, incorrect detection of blocks in examples...
Documentation
* Made an overhaul of the documentation
Testing
* Switched to GitHub Actions
Breaking Changes
Existing functions that have been changed:
`npdoc_to_md.render_md_from_obj_docstring`
* The function was renamed to `render_obj_docstring`
* Default of parameter `remove_doctest_blanklines` is now `False` instead of `True`
* Parameter `examples_md_flavor` has been renamed to `examples_md_lang`
* Parameter `obj_namespace` has been renamed to `obj` and there is now a parameter `alias` for displaying object names differently than using the namespace
The **changes to these parameters also affect placeholders**!
`npdoc_to_md.render_md_string`
* The function was renamed to `render_string`
* Parameter `text` was renamed to `string`
`npdoc_to_md.render_md_file`
* The function was renamed to `render_file`
* Returns an instance of `npdoc_to_md.RenderedFile` (or `npdoc_to_md.RenderedFileCLI` when using the CLI) instead of `str`
* Remove parameter `allow_same_path`
`npdoc_to_md.get_markdown_files_in_dir`
* This function was removed. It does not serve much purpose since the introduction of function `npdoc_to_md.render_folder`