| --- |
| orphan: true |
| --- |
| # Markdown in Sphinx Tips and Tricks |
| |
| In this repository, you can use both markdown and reSTructuredText to author |
| your content. This section lists most common examples of how you can use |
| Sphinx directives in your markdown files to expand your contributions. |
| For more information, see |
| [MyST Parser Documentation](https://myst-parser.readthedocs.io/en/v0.17.1/sphinx/intro.html) |
| and [reSTructuredText to Markdown mapping](https://myst-parser.readthedocs.io/en/v0.17.1/syntax/syntax.html#syntax-directives). |
| |
| ## Admonitions |
| |
| Here is an example of how you can add a note. Similarly, you can add |
| `{tip}` and `{warning}`. |
| |
| ::::{tab-set} |
| |
| :::{tab-item} Example |
| ```{image} /_static/img/s_demo_note_render.png |
| :alt: note |
| :class: bg-primary |
| :width: 210px |
| :align: center |
| ``` |
| ::: |
| |
| :::{tab-item} Source |
| ```{image} /_static/img/s_demo_note_source.png |
| :alt: note |
| :class: bg-primary |
| :width: 170px |
| :align: center |
| ``` |
| ::: |
| |
| :::: |
| |
| ## Images |
| |
| [This page](https://myst-parser.readthedocs.io/en/latest/syntax/images_and_figures.html) |
| has extensive reference on how to add an image. You can use the standard markdown |
| syntax as well as an extended one that allows you to modify width, alignment, and |
| other parameters of an image. |
| |
| ::::{tab-set} |
| |
| :::{tab-item} Standard syntax |
| ```{code-block} |
| ![image example][/_static/img/example-image.png] |
| ``` |
| ::: |
| |
| :::{tab-item} Extended Syntax |
| ````{code-block} |
| ```{image} img/s_demo_note_source.png |
| :alt: example |
| :class: bg-primary |
| :width: 150px |
| :align: center |
| ``` |
| ```` |
| ::: |
| |
| :::: |
| |
| ## Code Block |
| |
| You can use standard code blocks as well as the extended syntax and |
| include the code from other files as. More information can be |
| found on [this page](https://myst-parser.readthedocs.io/en/latest/syntax/code_and_apis.html). |
| Examples: |
| |
| ::::{tab-set} |
| |
| :::{tab-item} Standard syntax |
| ````{code-block} |
| ```python |
| a = 1 |
| b = 2 |
| c = a + b |
| print(c) |
| ``` |
| ```` |
| ::: |
| |
| :::{tab-item} Output |
| ```python |
| a = 1 |
| b = 2 |
| c = a + b |
| print(c) |
| ``` |
| ::: |
| |
| :::: |
| |
| ::::{tab-set} |
| |
| :::{tab-item} Extended Syntax |
| ````{code-block} |
| ```{code-block} python |
| :caption: My example code |
| :emphasize-lines: 4 |
| :lineno-start: 1 |
| |
| a = 1 |
| b = 2 |
| c = a + b |
| print(c) |
| ``` |
| ```` |
| ::: |
| |
| :::{tab-item} Output |
| ```{code-block} python |
| :caption: My example code |
| :emphasize-lines: 4 |
| :lineno-start: 1 |
| |
| a = 1 |
| b = 2 |
| c = a + b |
| print(c) |
| ``` |
| ::: |
| |
| :::: |
| |
| ::::{tab-set} |
| |
| :::{tab-item} Include from other files |
| Here is how you can include the code from another file. |
| In this example, we will only include the code between |
| the `start-after` and `end-before` markers. |
| |
| ````{code-block} |
| ```{literalinclude} _static/example.py |
| :start-after: start |
| :end-before: end |
| ``` |
| ```` |
| The `example.py` file looks like this: |
| ```{code-block} python |
| :emphasize-lines: 10, 16 |
| """ |
| A sample python file |
| """ |
| |
| class Person: |
| def __init__(self, name, age): |
| self.name = name |
| self.age = age |
| |
| # start |
| |
| def introduce(self): |
| print("Hello, my name is", self.name) |
| print("I am", self.age, "years old") |
| |
| # end |
| |
| person = Person("Alice", 25) |
| person.introduce() |
| ::: |
| |
| :::{tab-item} Output |
| ```{literalinclude} _static/example.py |
| :start-after: start |
| :end-before: end |
| ``` |
| ::: |
| :::: |