Open mwouts opened 3 years ago
A comment: jupytext --to md:myst
sometimes makes other somewhat disturbing changes that preclude this being a good solution to issue #759. Let me know if I should open a new issue or a couple for each problem. Here are some examples:
This could be bad in an environment where code cells are executed...
# Demo
You should be **very** careful about doing this:
```bash
#rm -rf * # Commented out just in case!
After `jupytext --to md:myst *.md` this transmutes to
````markdown
# Demo
You should be **very** careful about doing this:
```{code-cell}
#rm -rf * # Commented out just in case!
which might execute code... also there are whitespace changes (new lines) that break idempotence of the conversion. After several runs of `jupytext --to md:myst *.md` I get
````markdown
+++
+++
# Demo
You should be **very** careful about doing this:
```{code-cell}
#rm -rf * # Commented out just in case!
i.e. added blank notebook cells at the top.
Here is another example:
# Demo
This is a [reference-link to the issue][].
:::{note}
This note is key... not sure why.
:::
[reference-link to the issue]: <https://github.com/mwouts/jupytext/issues/789>
This gets transmuted to
---
jupytext:
text_representation:
extension: .md
format_name: myst
format_version: 0.13
jupytext_version: 1.16.2
---
# Demo
This is a [reference-link to the issue](https://github.com/mwouts/jupytext/issues/789).
This note is key… not sure why.
after which it no longer changes (idempotent). Note that note admonition was removed, and the reference-link was converted to an absolute link.
This is a follow-up on #759 .
MyST Markdown notebooks normally use the
pygments_lexer
to anotate the code cells like e.g.ipython3
in this example:This information comes from the
language_info
notebook metadata, which is taken either from the paired ipynb notebook, or recreated by Jupyter when the notebook is opened.However when Jupytext CLI is used (e.g.
jupytext --to md:myst
on a MyST Markdown file), thelanguage_info
metadata might not be present, and theipython3
marker disappears.We should find a way to ensure the persistence of the lexer.