I'm don't really know much about rst files, I am not really sure if this is an issue or not .
Situation
Was searching for on github's website for a error message and came across a reference in https://github.com/nim-lang/Nim/blob/devel/doc/manual.rst which I opened and started to read.
It looks quiet readable and there was nothing to indicate this was not supposed to be read by humans, but I was initially confused by the content until I realised it was missing lots of code samples which appear in raw mode. It would appear from a casual comparison between the code blocks that appear and those that don't, is that if a code-block does not have a blank line between the .. code-block:: nim header and the actual code, then the github viewer does not display any of the code block.
The official manual e.g. at https://nim-lang.org/1.4.4/manual.html is fine
The manual at https://nim-doc.readthedocs.io/en/latest/manual.html is not.
Are RST files supposed to be human-readably: yes, it's a format similar to Markdown which is intended to be possible to read, but also easily convertible to more "rich" content like websites or print.
From your topic it appears you're not reading the raw RST file however, but rather GitHubs rendering of them. GitHub and the Nim compiler uses two different RST parsers, and thus render the files slightly differently. It is possible to write GitHub-compliant RST that also complies with the Nim compiler, however this is a bit finicky to get right as it is extremely strict about whitespace. In general I'd say you should either read the official docs, or the raw RST output for the best experience. The fact that GitHub is able to render the RST files is more of a coincidence than anything.
P.S.: the link you shared to the manual is for an old version of Nim, the latest version can be found here: https://nim-lang.org/docs/manual.html
then the github viewer does not display any of the code block.
We are currently lax on RST spec conformity, we don't check presence of extra line after directives like code-block. There is a bug https://github.com/nim-lang/Nim/issues/17340 (point 9) about that.