Markdown indented code blocks (#20473)

* Implement Markdown indented code blocks

Additional indentation of 4 spaces makes a block an "indented code block"
(monospaced text without syntax highlighting).
Also `::` RST syntax for code blocks is disabled.

So instead of
```rst
see::

  Some code
```

the code block should be written as
```markdown
see:

    Some code
```

* Migrate RST literal blocks :: to Markdown's ones
This commit is contained in:
Andrey Makarov 2022-10-05 21:03:10 +03:00 • committed by GitHub
commit 6505bd347d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
33 changed files with 697 additions and 603 deletions

View file

@ -9,12 +9,12 @@
## This module implements the basics for Linux distribution ("distro")
## detection and the OS's native package manager. Its primary purpose is to
## produce output for Nimble packages, like::
## produce output for Nimble packages, like:
##
## To complete the installation, run:
## To complete the installation, run:
##
## sudo apt-get install libblas-dev
## sudo apt-get install libvoodoo
## sudo apt-get install libblas-dev
## sudo apt-get install libvoodoo
##
## The above output could be the result of a code snippet like:
##

View file

@ -34,9 +34,9 @@
## var nim = "Nim"
## echo h1(a(href="https://nim-lang.org", nim))
##
## Writes the string::
## Writes the string:
##
## <h1><a href="https://nim-lang.org">Nim</a></h1>
## <h1><a href="https://nim-lang.org">Nim</a></h1>
##
import

View file

@ -2294,11 +2294,12 @@ iterator walkDir*(dir: string; relative = false, checkDir = false):
##
## **Example:**
##
## This directory structure::
## dirA / dirB / fileB1.txt
## / dirC
## / fileA1.txt
## / fileA2.txt
## This directory structure:
##
## dirA / dirB / fileB1.txt
## / dirC
## / fileA1.txt
## / fileA2.txt
##
## and this code:
runnableExamples("-r:off"):

View file

@ -2058,9 +2058,9 @@ func parsePeg*(pattern: string, filename = "pattern", line = 1, col = 0): Peg =
func peg*(pattern: string): Peg =
## constructs a Peg object from the `pattern`. The short name has been
## chosen to encourage its use as a raw string modifier::
## chosen to encourage its use as a raw string modifier:
##
## peg"{\ident} \s* '=' \s* {.*}"
## peg"{\ident} \s* '=' \s* {.*}"
result = parsePeg(pattern, "pattern")
func escapePeg*(s: string): string =

View file

@ -171,9 +171,9 @@ For strings and numeric types the optional argument is a so-called
# Standard format specifiers for strings, integers and floats
The general form of a standard format specifier is::
The general form of a standard format specifier is:
[[fill]align][sign][#][0][minimumwidth][.precision][type]
[[fill]align][sign][#][0][minimumwidth][.precision][type]
The square brackets `[]` indicate an optional element.
@ -423,9 +423,9 @@ proc formatInt(n: SomeNumber; radix: int; spec: StandardFormatSpecifier): string
proc parseStandardFormatSpecifier*(s: string; start = 0;
ignoreUnknownSuffix = false): StandardFormatSpecifier =
## An exported helper proc that parses the "standard format specifiers",
## as specified by the grammar::
## as specified by the grammar:
##
## [[fill]align][sign][#][0][minimumwidth][.precision][type]
## [[fill]align][sign][#][0][minimumwidth][.precision][type]
##
## This is only of interest if you want to write a custom `format` proc that
## should support the standard format specifiers. If `ignoreUnknownSuffix` is true,

View file

@ -778,8 +778,8 @@ macro `<>`*(x: untyped): untyped =
## .. code-block:: nim
## <>a(href="http://nim-lang.org", newText("Nim rules."))
##
## Produces an XML tree for::
## Produces an XML tree for:
##
## <a href="http://nim-lang.org">Nim rules.</a>
## <a href="http://nim-lang.org">Nim rules.</a>
##
result = xmlConstructor(x)