Skip to content

Releases: vemel/handsdown

0.2.0 - Calling All Pythons

19 Oct 10:16
Compare
Choose a tag to compare

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 and kwargs inherited from object
  • 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 ++

18 Oct 02:50
Compare
Choose a tag to compare
Pre-release

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

18 Oct 01:28
Compare
Choose a tag to compare
Pre-release

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

16 Oct 02:24
Compare
Choose a tag to compare
Pre-release

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

14 Oct 20:59
Compare
Choose a tag to compare
Pre-release

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 to docs/README.md
  • Do not add README.md content to docs/README.md
  • Use module short title as a document title

0.1.2 - Django flavored

14 Oct 07:53
Compare
Choose a tag to compare
Pre-release

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