[issue32523] inconsistent spacing in changelog.html

New submission from Ned Deily <nad@python.org>: The rendered changelog.html files produced "make html" have inconsistent spacing between items. Usually, the first changelog topic section (e.g. Security) starts with no blank lines between items but occasionally some subsequent sections will render with a blank link between items; this seems to be often true for the Library section, but not always. This is visible across the recent 3.x branches; here's an example with the stable 3.5 docs: Library section has blank line separator: https://docs.python.org/3.5/whatsnew/changelog.html#id5 Library section has no blank separators: https://docs.python.org/3.5/whatsnew/changelog.html#id11 ---------- assignee: docs@python components: Documentation messages: 309711 nosy: docs@python, ned.deily priority: normal severity: normal status: open title: inconsistent spacing in changelog.html versions: Python 3.6, Python 3.7 _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue32523> _______________________________________

Ned Deily <nad@python.org> added the comment: See also discussion at https://github.com/python/core-workflow/issues/209 ---------- _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue32523> _______________________________________

Ned Deily <nad@python.org> added the comment: @mdk, Would you have time to take a look at this? Thanks! ---------- nosy: +mdk versions: +Python 3.8 _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue32523> _______________________________________

Julien Palard <julien+python@palard.fr> added the comment: It's from docutils (see details below), it can be fixed in pydoctheme.css by adding something like: li p { margin-bottom: 0; } Would look like: https://mdk.fr/list-before.png → https://mdk.fr/list-after.png is it better? (If it's better I still have to ensure this rule won't break something else in another place.) For more information I quote here the docstring of `class HTMLTranslator`: The html4css1 writer has been optimized to produce visually compact lists (less vertical whitespace). HTML's mixed content models allow list items to contain "<li><p>body elements</p></li>" or "<li>just text</li>" or even "<li>text<p>and body elements</p>combined</li>", each with different effects. It would be best to stick with strict body elements in list items, but they affect vertical spacing in older browsers (although they really shouldn't). The html5_polyglot writer solves this using CSS2. Here is an outline of the optimization: - Check for and omit <p> tags in "simple" lists: list items contain either a single paragraph, a nested simple list, or a paragraph followed by a nested simple list. This means that this list can be compact: - Item 1. - Item 2. But this list cannot be compact: - Item 1. This second paragraph forces space between list items. - Item 2. - In non-list contexts, omit <p> tags on a paragraph if that paragraph is the only child of its parent (footnotes & citations are allowed a label first). - Regardless of the above, in definitions, table cells, field bodies, option descriptions, and list items, mark the first child with 'class="first"' and the last child with 'class="last"'. The stylesheet sets the margins (top & bottom respectively) to 0 for these elements. ---------- _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue32523> _______________________________________

Julien Palard <julien+python@palard.fr> added the comment: An intermediate fix would be to remove only bottom of first paragraphs: li p.first { margin-bottom: 0; } It looks like: https://mdk.fr/list-intermediate.png ---------- _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue32523> _______________________________________

Ned Deily <nad@python.org> added the comment: Thank you for looking into it! In the example you chose, I think the first step would be to trim the two two-paragraph news items to be only one paragraph each; in general, news items should only be a few sentences at most. With that change, I think the choice is pretty clear (to me, at least:): I prefer without the blank lines. And the issue is that today the changelogs have a "random" mixture of both. So, if news items followed that rule, would the css change still be necessary? ---------- _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue32523> _______________________________________

Julien Palard <julien+python@palard.fr> added the comment:
So, if news items followed that rule, would the css change still be necessary?
The CSS change would not be necessary, so yes the issue is "Don't mix paragraphs in changelogs". Maybe we can add an option to blurb merge to only keep the first paragraph, to fix every list in a single shot, then better document the "a single paragraph per news entry"? Would it be OK to edit old Misc/NEWS.d/ to fix it in the past? ---------- _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue32523> _______________________________________

Change by Julien Palard <julien+python@palard.fr>: ---------- keywords: +patch pull_requests: +7720 stage: -> patch review _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue32523> _______________________________________

Terry J. Reedy <tjreedy@udel.edu> added the comment: Since 'News entry is one paragraph without subject line' is a change from older policy, I suggest posting a reminder to committers list and rechecking devguide. ---------- nosy: +terry.reedy _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue32523> _______________________________________

Julien Palard <julien+python@palard.fr> added the comment: terry: Make sense, I'll also try to add the reminder in blurb if I find an appropriate place and wording. ---------- stage: patch review -> _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue32523> _______________________________________

Julien Palard <julien+python@palard.fr> added the comment: Hi Ned, what do you think about https://github.com/python/cpython/pull/8154? I feel this is a bit a huge change in NEWS entry writing policy which make them less readable (in text files). Is it really worth it to change the policy to single-paragraph only just for an HTML rendering issue? Or should we silently join/trim those paragraphs only in blurb merge, maybe with an option like "--trim-paragraphs" while building the HTML documentations? ---------- _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue32523> _______________________________________

Julien Palard <julien+python@palard.fr> added the comment: New changeset 137be34180a20dba53948d126b961069f299f153 by Julien Palard in branch 'master': bpo-32523: Simplifying news entries with multiple paragraphs. (GH-8154) https://github.com/python/cpython/commit/137be34180a20dba53948d126b961069f29... ---------- _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue32523> _______________________________________
participants (3)
-
Julien Palard
-
Ned Deily
-
Terry J. Reedy