Releases: vemel/handsdown
0.2.0 - Calling All Pythons
Highlights
Going stable
handsdown
is still in alpha, but it already has all planned features and plenty of supported Python versions. This is the first production-ready release.
Python 3.5 and 3.6 support
Yes, the source code became uglier, but it works on all popular Python versions now! Thanks to developers of Future f-strings package, f-strings
are still there in exchange for one extra dependency. Data classes are gone though and I will miss them. py36
delivers full-featured handsdown
experience while py35
does not render complex type annotations, e.g. List[Text]
becomes List
.
Python 2.7 support
This was huge. It started with comment-style type annotations and ended up with a full object signature rewrite as py27
does not have many useful functions from inspect
module.
Comment-style type annotations
Of course, this comes with py27
support. Say hello to # type: (Text, Text) -> None
comments under your functions. Do you use them? Well, they are fully supported and have no disadvantages compared to py37
-style annotations.
Thanks to developers of pytypes, I got an idea of how type hints should really be implemented in Python. However, I did not add this project to dependencies, I just used it for inspiration.
Features
- Python 2.7 support
- Python 3.5 support
- Python 3.6 support
- Python 3.8 support
- PyPy 7.2.0 support
- Support comment-style type annotations
Bugfixes
- Render dynamic default values correctly
- Do not render
args
andkwargs
inherited fromobject
- Fix anchor links for GitHub Pages
- Fix duplicate auto-generated subtitles
- Fix crash on nameless function (hello Django
operator.attrgetter
)
0.1.6 - GitHub Pages ++
Bugfixes
- Regenerate
README.md
Table of Contents to avoid dead links - Link generation fixes for
GitHub Pages
- Exclude
__pycache__
from sources list
0.1.5 - Nested doctest
Features
- Support doctest strings:
>>> print('finally')
- Support code blocks starting after a section title, e. g.
Examples::
- Add properties documentation
- Support output folder outside of root path
- Add support for GitHub Pages
Changes
- Use nested docs structure
- Add
--cleanup
CLI argument - Add
--gh-pages
CLI argument
Bugfixes
- Fix local modules discovery for installed packages
- Fix parsing of Google-style optional arguments
- Fix module objects listing before docstring lines
- Fix lowercase section names for PEP 257
- Fix wrong indentation in sections with code blocks
- Fix wrong indentation for tilde code blocks
- Fix Sphinx-style titles breaking output
- Fix links discovery in attached
README.md
0.1.4 - reStructured ToC
Goals reached
- All features from Flask docs are now supported!
- Finally, submodules tree looks exactly like it should
- No need to use a full import path to reference an imported object
Features
- Show child modules in ToC
- RST: add code blocks support
- RST: add expressions support
- RST: support double quotes for link lookup
- Add anchor to module links for easier navigation on GitHub
- Add subtitle support to generated docs
- New link lookup for related objects
- Add
--safe
CLI argument to ignore all errors during import
Bugfixes
- Add missing top-level module to breadcrumbs
- Fix breadcrumbs generation for top-level modules
- Fix underscores in titles and ToC
Other changes
- Remove
Modules
section - Move breadcrumbs to ToC
- Add RST docstring format example
- Clean
auto-generated
subtitles - Use project name as a to doc index title
0.1.3 - Picking up the breadcrumbs
Goals reached
- New breadcrumbs allow navigating without using browser history
- No logs from imported modules.
Features
- Add breadcrumbs
Bugfixes
- Patch
logging
while importing modules and Django setup - Fix orphaned docs cleanup
Other changes
- Rename
docs/index.md
todocs/README.md
- Do not add
README.md
content todocs/README.md
- Use module short title as a document title
0.1.2 - Django flavored
Goals reached
- Now documentation can be built for Django projects!
- Speed up module tree build
- Local objects can be referenced using just object name
- A page title now shows the main class of the module
Features
- Import modules only once
- Add local links to
See also
section - Replace local links in docstrings
- Add Django support
- Add
--panic
flag to stop on import error - If a module has a main class - set its name as a title
Bugfixes
- Allow starting empty lines in sections
- Fix section trimming if docstrings quotes are on the same line
- Do not create empty docs
- Do not render ToC if it already exists
- Do not add imported modules to
__init__.py
doc - Fix links to source files if custom output folder is used
- Check that output path is inside repo path
- Fix RST docstring sections splitting