My RST cheatsheet
The reStructuredText Cheat Sheet: Syntax Reminders
- Info
-
See <https://docutils.sourceforge.io/rst.html> for introductory docs.
- Author
-
David Goodger <[email protected]>
- Date
-
$Date: 2022-01-20 11:11:44 +0100 (Do, 20. Jän 2022) $
- Revision
-
$Revision: 8956 $
- Description
-
This is a "docinfo block", or bibliographic field list
Note
If you are reading this as HTML, please read cheatsheet.txt instead to see the input syntax examples!
〉 Section Structure
Section titles are underlined or overlined & underlined.
〉 Body Elements
Grid table:
|
Paragraphs are flush-left, separated by blank lines.
|
Literal block, preceded by "::":
|
+--------------------------------+ or:: | | >>> print 'Doctest block' | | | Doctest block | > Quoted | +--------------------------------+-----------------------------------+ | | Line blocks preserve line breaks & indents. [new in 0.3.6] | | | Useful for addresses, verse, and adornment-free lists; long | | lines can be wrapped with continuation lines. | +--------------------------------------------------------------------+
Simple tables:
| List Type | Examples (syntax in the text source) |
|---|---|
| Bullet list | * items begin with "-", "+", or "*" |
|
Enumerated list |
|
|
Definition list |
|
| Field list |
|
| Option list | -o at least 2 spaces between option & description |
| Explicit Markup | Examples (visible in the text source) |
|---|---|
|
Footnote |
|
| Citation | |
|
Hyperlink Target |
|
| Anonymous Target | __ https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html |
| Directive ("::") |
|
| Substitution Def | |
| Comment | |
|
Empty Comment |
(".." on a line by itself, with blank lines before & after, used to separate indentation contexts) |
〉 Inline Markup
emphasis; strong emphasis; interpreted text; interpreted text with
role; inline literal text; standalone hyperlink, https://docutils.sourceforge.io;
named reference, reStructuredText; anonymous reference__; footnote reference,;
citation reference, [CIT2002]; ; _inline internal target.
〉 Directive Quick Reference
See <https://docutils.sourceforge.io/docs/ref/rst/directives.html> for full info.
| Directive Name | Description (Docutils version added to, in [brackets]) |
|---|---|
|
attention |
Specific admonition; also "caution", "danger", "error", "hint", "important", "note", "tip", "warning" |
| admonition |
Generic titled admonition:
.. admonition:: By The Way
|
| image |
.. image:: picture.png; many options possible
|
| figure | Like "image", but with optional caption and legend |
| topic |
.. topic:: Title; like a mini section
|
| sidebar |
.. sidebar:: Title; like a mini parallel document
|
| parsed-literal | A literal block with parsed inline markup |
| rubric |
.. rubric:: Informal Heading
|
| epigraph | Block quote with class="epigraph" |
| highlights | Block quote with class="highlights" |
| pull-quote | Block quote with class="pull-quote" |
| compound | Compound paragraphs [0.3.6] |
| container | Generic block-level container element [0.3.10] |
| table | Create a titled table [0.3.1] |
| list-table | Create a table from a uniform two-level bullet list [0.3.8] |
| csv-table | Create a table from CSV data [0.3.4] |
| contents | Generate a table of contents |
| sectnum | Automatically number sections, subsections, etc. |
| header, footer | Create document decorations [0.3.8] |
| target-notes | Create an explicit footnote for each external target |
| math | Mathematical notation (input in LaTeX format) |
| meta | Document metadata |
| include | Read an external reST file as if it were inline |
| raw | Non-reST data passed untouched to the Writer |
| replace | Replacement text for substitution definitions |
| unicode | Unicode character code conversion for substitution defs |
| date | Generates today's date; for substitution defs |
| class | Set a "class" attribute on the next element |
| role | Create a custom interpreted text role [0.3.2] |
| default-role | Set the default interpreted text role [0.3.10] |
| title | Set the metadata document title [0.3.10] |
〉 Interpreted Text Role Quick Reference
See <https://docutils.sourceforge.io/docs/ref/rst/roles.html> for full info.
| Role Name | Description |
|---|---|
| emphasis | Equivalent to emphasis |
| literal |
Equivalent to literal but processes backslash
escapes
|
| math | Mathematical notation (input in LaTeX format) |
| PEP | Reference to a numbered Python Enhancement Proposal |
| RFC | Reference to a numbered Internet Request For Comments |
| raw | For non-reST data; cannot be used directly (see docs) [0.3.6] |
| strong | Equivalent to strong |
| sub | Subscript |
| sup | Superscript |
| title | Title reference (book, etc.); standard default role |
Code blocks
Apparently HUGO does not allow you to set the fucking commands to rst2html. So I cant even enable fucking highlighting... (see https://baturin.org/blog/why-not-hugo/) --> Look into https://soupault.app/
For RST, you get hardcoded --leave-comments --initial-header-level=2 and that's it.
Also check rst2html vs pandoc. Pandoc looks like its way more flexible -> possibly a better starting point
〉 C++
int main() {
throw std::runtime_error("You missed a semicolon somewhere")
return 0;
}
〉 Python
def my_function():
"just a test"
print 8/2
〉 HTML
:linenos:
<h1>code block example</h1>
〉 Custom highlighting
An example of using Custom highlighting