Markdown transforms
To ease the transition from other Markdown dialects(like the one used
in software-carpentry), we implement some transformations in sphinx.
These are implemented in the sphinx_lessons.md_transforms
Python
package and are implemented using regular expressions, so they are a
bit fragile.
Code fences
Code fence syntax is translated to CommonMark. Input:
```
blah
```
{: output}
Output:
```{output}
blah
```
Block quotes
Transform CSS styles into MyST directives (implemented as code fences. Input:
> ## some-heading
> text
> text
{: .block-class}
Output:
```{block-class} some-heading
text
text
```
The block-class
is the directive name (we maintain compatibility
with old jekyll-common)
Raw HTML images
Raw HTML isn’t a good idea in portable formats. Plus, in the old jekyll formats, bad relative path handling caused absolute paths to be embedded a lot.Transform this:
```{figure} /path/to/img.png
```
into this:
```{figure} /path/to/img.png
```
Exclude any possible {{ ... }}
template variables used to
semi-hard code absolute paths.