This commit introduces the following changes to themes and segment
rendering:
- Spacer segments are now regular string/function type segments with
"width": "auto" in the themes.
- The "rjust"/"ljust" properties have been replaced by the "width"
option combined with a new "align" option.
- Renderer._render_segments() is now a generator which renders each
segment separately, and assigns the rendered contents to
"_rendered_hl" and "_rendered_raw" in the segment dict.
- Renderer.render() returns the segments by joining the "_rendered_hl"
values for each segment.
- Spacer segment widths are calculated in the render() method, and
assigned to "_space_left" and "_space_right" in the segment dict.
These spaces are then applied in Renderer._render_segments().
- All space characters are converted to no-break spaces (U+00A0) in the
"_rendered_hl" property.
Refs #113.
Refs #154.
The header levels have been switched to correspond more with the Sphinx
suggested standards and the troubleshooting section has been
restructured to make it easier to find solutions. Minor markup changes
and other changes are also included in this commit.
This requires a couple of minor changes to custom segments. The segment
`highlight` key has been renamed to `highlight_group`, and segment
functions must return a list of segments dicts instead of just a dict.
Closes#88.
- Added notes about where common and extension-specific configuration is located
- Added common.paths config.json option description
- Fixed user-defined segments location found in segments section
- Fixed Themes/segments/module reference text