Re: [PATCH] doc: Explain light-handed markup preference a bit better

From: Jani Nikula
Date: Tue Nov 29 2016 - 05:39:10 EST

On Tue, 29 Nov 2016, Daniel Vetter <daniel.vetter@xxxxxxxx> wrote:
> We already had a super-short blurb, but worth extending it I think:
> We're still pretty far away from anything like a consensus, but
> there's clearly a lot of people who prefer an as-light as possible
> approach to converting existing .txt files to .rst. Make sure this is
> properly taken into account and clear.
> Motivated by discussions with Peter and Christoph and others.
> v2:
> - Mention that existing headings should be kept when converting
> existing .txt files (Mauro).
> - Explain that we prefer :: for quoting code, it's easier on the
> eyes (Mauro).
> - Explain that blindly converting outdated docs is harmful. Motived
> by comments Peter did in our discussion.

When I wrote most of the document originally, I put a lot of effort into
make it clear and consice. I don't approve of the changes here. This is
going to sound like bikeshedding, but I just couldn't make myself not

> Cc: Jonathan Corbet <corbet@xxxxxxx>
> Cc: linux-doc@xxxxxxxxxxxxxxx
> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx>
> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> Cc: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx>
> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxxx>
> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx>
> ---
> Documentation/kernel-documentation.rst | 44 ++++++++++++++++++++++++++++++++--
> 1 file changed, 42 insertions(+), 2 deletions(-)
> diff --git a/Documentation/kernel-documentation.rst b/Documentation/kernel-documentation.rst
> index 0dd17069bc0b..d04cecdb498d 100644
> --- a/Documentation/kernel-documentation.rst
> +++ b/Documentation/kernel-documentation.rst
> @@ -77,9 +77,27 @@ Specific guidelines for the kernel documentation
> Here are some specific guidelines for the kernel documentation:
> -* Please don't go overboard with reStructuredText markup. Keep it simple.

I wrote that, and I left it short intentionally. I really don't think
prose will help here. This document is primarily a reference. Keep it as
concise as you possibly can.

I'd go with adding bullets along the lines of:

* Please don't go overboard with reStructuredText markup. Keep it
simple. For the most part the documentation should be plain text with
just enough consistency in formatting that it can be converted to
other formats.

* Please keep the formatting changes minimal when converting existing
documentation to reStructuredText.

* Also update the content, not just the formatting, when converting

I think those capture the essence. Less is more.

Please note how I intentionally left out things like "core kernel
developers prefer plain text", "please align with the wishes of the
maintainer", "...would be rather harmful if the text itself is entirely
outdated". Personally, I simply do not think they have a place here.

> +* Please don't go overboard with reStructuredText markup. Keep it simple. A lot
> + of core kernel developers prefer plain text, with a big emphasis on plain. In
> + the end if we have pretty generated docs which the subject experts don't
> + like to edit and keep up-to-date everyone loses.
> -* Please stick to this order of heading adornments:
> + Be especially considerate when converting existing documentation. There's a
> + wide scale from annotating every little bit with in-line styles to only
> + touching up the bare minimum needed to integrate an existing file into the
> + larger documentation. Please align with the wishes of the maintainer to make
> + sure that documentations stays useful for everyone.
> +
> +* Don't just blindly convert documents, also carefully review them and fix up
> + any issues in the text itself. Updated docs might trick readers into believing
> + they're accurately reflecting current best practice, which would be rather
> + harmful if the text itself is entirely outdated.
> +
> +* When converting existing documents, please try to retain the existing heading
> + styles as much as possible. Sphinx accept almost anything, as long as it's
> + consistent and headings all start in column 1.
> +
> + For new documents please stick to this order of heading adornments:
> 1. ``=`` with overline for document title::
> @@ -136,6 +154,28 @@ changed to ``VIDIOC_LOG_STATUS`` and the function can now referenced by:
> +For inserting code examples and use-cases use the simple fixed-width quoting
> +style ``::`` which can either be on a line of it's own, or at the end of a
> +preceeding paragraph. If there's no space before the double-colon it will be
> +converted to a normal ``:``, which makes the overall text flow fairly reasonable
> +
> +.. code-block:: rst
> +
> + Some text explaing what you need to do::
> +
> + code_example()
> +
> + More text explaining the next step::
> +
> + if (condition)
> + more_function_calls();
> +
> +
> +Sphinx also supports ``.. code-block::`` annotations, which also allow you to
> +specify the language used for hightlight. But that should only be used when
> +really necessary.

I don't think this hunk belongs under "the C domain" section. I'd just
stick it at the end of the earlier bullet list.

Condensing from my earlier mail [1], I'd go with just:

* For inserting fixed width text blocks (for code examples, use case
examples, etc.), use ``::`` for anything that doesn't really benefit
from syntax highlighting, especially short snippets. Use
``.. code-block:: <language>`` for longer code blocks that benefit
from highlighting.

Again, I think this is a reference, not a tutorial. Please refer to
Sphinx/reStructuredText documentation for details instead of duplicating
the same information.



> +
> +
> list tables
> -----------

Jani Nikula, Intel Open Source Technology Center