Nim/lib
Andrey Makarov cde6b2aab8
Implement Pandoc Markdown concise link extension (#20304)
* Implement Pandoc Markdown concise link extension

This implements https://github.com/nim-lang/Nim/issues/20127.
Besides reference to headings we also support doing references
to Nim symbols inside Nim modules.

Markdown:
```
Some heading
------------

Ref. [Some heading].
```

Nim:
```
proc someFunction*() ...

... ## Ref. [someFunction]
```

This is substitution for RST syntax like `` `target`_ ``.
All 3 syntax variants of extension from Pandoc Markdown are supported:
`[target]`, `[target][]`, `[description][target]`.

This PR also fixes clashes in existing files, particularly
conflicts with RST footnote feature, which does not work with
this PR (but there is a plan to adopt a popular [Markdown footnote
extension](https://pandoc.org/MANUAL.html#footnotes) to make footnotes work).

Also the PR fixes a bug that Markdown links did not work when `[...]`
section had a line break.

The implementation is straightforward since link resolution did not
change w.r.t. RST implementation, it's almost only about new syntax
addition. The only essential difference is a possibility to add a custom
link description: form `[description][target]` which does not have an
RST equivalent.

* fix nim 1.0 gotcha
2022-09-04 14:52:21 -04:00
..
arch/x86 Coroutine rework. 2017-02-20 17:24:19 +02:00
core Implement Pandoc Markdown concise link extension (#20304) 2022-09-04 14:52:21 -04:00
deprecated/pure remove some deprecated pre-1.0 stdlib modules (#20202) 2022-08-23 20:18:40 +02:00
experimental gitutils: add diffStrings, diffFiles, and use it in testament to compare expected vs gotten (#17892) 2021-04-30 11:00:33 +02:00
genode Genode platform fixes (#17521) 2021-04-09 16:29:10 +02:00
genode_cpp [std/locks]close #7998(complete condition variables) (#17711) 2021-04-19 10:51:13 +02:00
impure Implement Pandoc Markdown concise link extension (#20304) 2022-09-04 14:52:21 -04:00
js jsffi add missing braces (#19948) 2022-06-30 23:18:11 +02:00
packages/docutils Implement Pandoc Markdown concise link extension (#20304) 2022-09-04 14:52:21 -04:00
posix Adds missing SEEK_ POSIX constants for FreeRTOS (#20241) 2022-08-19 15:40:17 -04:00
pure Implement Pandoc Markdown concise link extension (#20304) 2022-09-04 14:52:21 -04:00
std Implement Pandoc Markdown concise link extension (#20304) 2022-09-04 14:52:21 -04:00
system Implement Pandoc Markdown concise link extension (#20304) 2022-09-04 14:52:21 -04:00
windows enable style:usages for stdlib tests [backport: 1.6] (#19715) 2022-04-13 11:53:02 +02:00
wrappers Add OpenSSL 3 support (#19814) 2022-08-23 21:44:50 +02:00
cycle.h Removes executable bit for text files. 2013-03-16 23:53:07 +01:00
deps.txt added lib/deps.txt 2021-06-03 14:00:53 +02:00
nimbase.h Add error message to pointer size check assert in lib/nimbase.h (#19549) 2022-02-27 15:36:16 +01:00
nimhcr.nim make implicit cstring conversions explicit (#19488) 2022-08-19 15:40:53 -04:00
nimhcr.nim.cfg Initial version of the hot-code reloading support for native targets (#10729) 2019-02-26 15:48:55 +01:00
nimrtl.nim add missing docs (#18758) 2021-08-29 09:18:54 +02:00
nimrtl.nim.cfg Initial version of the hot-code reloading support for native targets (#10729) 2019-02-26 15:48:55 +01:00
stdlib.nimble attempt to make the build green again 2017-01-07 02:55:15 +01:00
system.nim Markdown code blocks part 6 (#20292) 2022-08-31 19:39:02 -04:00
system_overview.rst move io out of system (#19442) 2022-02-02 17:10:11 +01:00