The Problem with Linux Kernel Documentation, and How We're Fixing It
blogs.s-osg.org
blogs.s-osg.org
URL[2] to live streaming.
[1] https://kernel-recipes.org/en/2016/talks/kernel-documentatio...
[2] https://air.mozilla.org/kernel-recipes-2016-09-29-PM-Session...
And then documentation, where it exists, is often poorly CM'd word documents, and poorly OCR'd PDFs (or doc->pdf that somehow lost the ability to be searchable and selectable text, what option did they select?!?).
The offending systems are only maintainable because a few people haven't retired (< 1 year left for several of them) and sheer force of will for the rest of us.
It meant "ynteger". Elementary, my dear Watson.
It's also not really correct to say there's not much documentation. We have quite a bit if you look at it, especially if you count the 55,000 kerneldoc comments in the source itself. The quality of some of it and the organization of all of it is another matter...but we're working on that.
The very human element, that most programmers simply don't like writing documentation is certainly a larger factor. If this holds true for the Kernel no new format can fix the problem by itself. At a minimum it will require a encouragement from the top to improve.
You can `make mandocs` in the linux tree, then `make installmandocs` to make them easily accessible with the man command, i.e. `man struct_sk_buff` will display the definition of an sk_buff.
1. Embed HTML (more or less preferred, depending on your situation). 2. Create an extension.
But then you can't embed markdown inside the HTML, like code blocks inside a table. Sure you can use <pre><code> tags, but then you lose syntax highlighting.
Actually I've always wondered why no MD renderer supports something like
<code data-lang="js">
which it then treats the same as a ```js
code block. Or a pseudo <x-markdown> element... <td>
```js
console.log("Hello, world!");
```
</td>
will work as expected. http://spec.commonmark.org/0.26/#example-118 and further discussion at http://spec.commonmark.org/0.26/#example-153VSCode's markdown preview renderer ( https://github.com/markdown-it/markdown-it ) implements CommonMark, so I'm very happy right now :)
Pandoc supports this with the `markdown_in_html_blocks` option.
[1] For example, github flavour, stackoverflow flavour, reddit flavour, ...
[2] Roles and directives.
Otherwise it will be harder to get more tools.