Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update dependency myst_parser to v4 #17

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Aug 6, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
myst_parser ==0.17.2 -> ==4.0.0 age adoption passing confidence

Release Notes

executablebooks/MyST-Parser (myst_parser)

v4.0.0

Compare Source

This release bumps the supported versions of:

  • Python to 3.10 and greater
  • Sphinx to >=7,<9
  • Docutils to >=0.19,<0.22

Additionally, footnotes are now parsed similar to the corresponding reStructuredText, in that resolution (between definitions and references) and ordering is now deferred to transforms on the doctree (in gh-pr:931).

This allows for the proper interaction with other docutils/sphinx transforms, including those that perform translations,
and logging of warnings for duplicate/unreferenced footnote definitions and also for footnote references with no definitions.

See the footnotes guide for more information.

Full Changelog: v3.0.1...v4.0.0

v3.0.1

Compare Source

🐛 Bug Fixes
  • Account for the final directive option having an empty value, by gh-user:chrisjsewell in gh-pr:924
  • Re-allow indented directive option blocks, by gh-user:chrisjsewell in gh-pr:925

Full Changelog: v3.0.0...v3.0.1

v3.0.0

Compare Source

Upgraded dependencies
  • ⬆️ Add support for Python 3.12 by gh-user:hugovk in gh-pr:848
  • ⬆️ Update docutils requirement from >=0.16,<0.21 to >=0.18,<0.22 by gh-user:chrisjsewell in gh-pr:916
New features
  • ✨ Allow for use of the line-block directive by gh-user:chrisjsewell in gh-pr:900
  • ✨ Emits sphinx include-read event by gh-user:sumezulike in gh-pr:887
Improvements
  • 👌 Nested parse attribution in attr_block by gh-user:chrisjsewell in gh-pr:831
  • 👌 Directive option parsing by gh-user:chrisjsewell in <gh-pr:796
  • 👌 Improve directive parsing warnings by gh-user:chrisjsewell in gh-pr:893
  • 👌 Allow for opening external links in new tabs (#​856) by gh-user:marjus45 in gh-pr:857
Internal
  • 🔧 Replace black, isort, pyupgrade with ruff formatter by gh-user:chrisjsewell in gh-pr:833
  • 🔧 remove redundant mypy config by gh-user:danieleades in gh-pr:866
  • 🔧 Add additional Ruff lints (and fix issues) by gh-user:danieleades in gh-pr:862
  • 🔧 mypy- disallow 'any generics' by gh-user:danieleades in gh-pr:865
  • 🔧 Fix docutils deprecation in option parsing by gh-user:agoose77 in gh-pr:842
Documentation
  • 📚 Fix a broken link in configuration.md by gh-user:zupo in gh-pr:907
  • 📚 Add linkify dependency to contributing docs. by gh-user:jhcole in gh-pr:792
  • 📚 Fix the double used in docs/syntax/math.md by gh-user:ice-tong in gh-pr:810
  • 📚 Also add linkify to pip install command in README by gh-user:n-peugnet in gh-pr:851
  • 📚 Fix the code section title in live preview by gh-user:BoboTiG in gh-pr:875
  • 📚 Fix admonition example by gh-user:72757373656c6c in gh-pr:904
  • 📚 Fix url for jupyter book gallery by gh-user:72757373656c6c in gh-pr:905
  • 📚 Update theme version by gh-user:chrisjsewell in gh-pr:918
  • 📚 Fix typo by gh-user:blakeNaccarato in gh-pr:911
  • 📚 Fix architecture typo (#​855) by gh-user:72757373656c6c in gh-pr:910

Full Changelog: v2.0.0...v3.0.0

v2.0.0

Compare Source

This release primarily updates core myst-parser dependencies,
with some minor changes to parsing behaviour:

Full Changelog: v1.0.0...v2.0.0

v1.0.0

Compare Source

🎉 MyST-Parser 1.0.0 🎉

This changes absolutely nothing in the code, or about the maintenance/release policy of this project.
But it does feel about time 😄

v0.19.2

Compare Source

✨ NEW: Add myst_fence_as_directive config (gh-pr:742)

Setting the following config, for example:

extensions = ["myst_parser", "sphinxcontrib.mermaid"]
myst_fence_as_directive = ["mermaid"]

v0.19.1

Compare Source

🐛 FIX NoURI error in doc reference resolution, for texinfo builds (gh-pr:734)

v0.19.0

Compare Source

This release brings a number of exciting new features, improvements, and upgrades 🎉

Full Changelog: v0.18.1...v0.19.0

📚 Rewritten documentation

The documentation has been almost completely rewritten,
with a clearer structure, many more examples, rich hover tips, and a new live preview page ⚡️ (powered by pyscript, gh-pr:717).

The code base API is also now fully documented by sphinx-autodoc2, which even allows for MyST docstrings! (gh-pr:704).

⬆️ Add Sphinx 6 support, drop Sphinx 4

The code base has been updated to support sphinx v6, and is no longer tested against sphinx v4 (gh-pr:664)

📄 Extended docutils (single-page) support

The docutils parser now supports many more features, and improvements to support live previews:

  • myst_suppress_warnings option added, mirroring Sphinx, to suppress MyST warnings (gh-pr:655)
  • myst_meta_html and myst_substitutions options are now supported (gh-pr:672)
  • myst_heading_anchors option is now supported (gh-pr:678)
  • Math block labels syntax is now supported (gh-pr:668)
  • Missing directive/role errors errors are now suppressable warnings (gh-pr:687)
  • Non-fatal directive parsing errors are now suppressable warnings (gh-pr:682)
  • Most of the extended markdown syntax below is also supported
🔗 Extended Markdown links

See the Extended Markdown links section for the full guide.

You can now use standard Markdown link syntax to reference many different types of targets, in a more consistent way.

  • [text](relative/path/myfile.md) work as previously, to link to files,
    but they can also be relative to source directory: [text](/path/from/srcdir/myfile.md).
    You can also use <project:file.md>
  • <path:myfile.txt> will link specifically to a downloadable file
  • [text](#target) or <project:#target> will link (in order of priority) to any local target, local heading anchor, target in the same project, or intersphinx (inventory) target
  • [text](inv:name:domain:type#target) will link specifically to a Sphinx inventory target, or to any inventory <inv:#target>, and can even use * wildcards like <inv:*:*:*#*.target>
    • This can even be used in docutils, with the new myst_inventories config option
    • The myst-inv CLI makes it easy to find the correct inventory target

:::{tip}
It is advised (although not immediately necessary) to prefix all internal references with #.
For example, [...](my-reference), should be changed to [...](#my-reference).
:::

{} Attributes syntax

The attrs_inline and attrs_block extensions allow for common Markdown syntaxes to be extended with greater control over the output.

For example, you can now add classes, ids, and other attributes to inline code, images, and links, as well as to code blocks and directives.

  • Inline code: `a = 1`{#id .class l=python}
  • Images: ![image](image.png){#id .class width=100px}
  • Text spans: [some text]{#id .class}

A paragraph block can have attributes too:

{#id .class}
This is a paragraph with an id and class

A code fence can be given line numbers and line emphasis:

{#id .class lineno-start=1 emphasize-lines="2,3"}
```python
a = 1
b = 2
c = 3
```

A definition list can be turned into a glossary, with referenceable terms:

{.glossary}
term name
: Definition of the term

Quote blocks can be given an attribution:

{attribution="Chris Sewell"}
> My quote
👌 Miscellaneous improvements
  • Nested headings (e.g. inside directives) are now allowed in MyST and are correctly rendered in HTML (gh-pr:711)
  • The colon_fence extension now renders internal content as MyST, rather than as a code block (gh-pr:713)
  • The include directive in MyST documents now supports a :heading-offset: option, to offset the heading levels in the included document
  • The myst_heading_slug_func option now supports setting a str which points to a fully qualified function name, e.g. "module.path.func" (gh-pr:696)
  • The myst_enable_checkboxes option allows for task list checkboxes to be enabled/disabled (gh-pr:686)
Additional contributions
  • 🐛 FIX: Remove unnecessary assert in gh-pr:659, thanks to gh-user:n-peugnet
  • 🔧 ci(deps): setup dependabot (gh-pr:669), thanks to gh-user:mmorel-35
  • 🔧: Depend on typing_extensions only on Python<3.8 in gh-pr:642, thanks to gh-user:hukkin

v0.18.1

Compare Source

Full Changelog: v0.18.0...v0.18.1

  • ⬆️ UPGRADE: docutils 0.19 support in gh-pr:611
  • ✨ NEW: Add attrs_image (experimental) extension in gh-pr:620
    • e.g. ![image](image.png){#id .class width=100px}
    • See: Optional syntax section
    • Important: This is an experimental extension, and may change in future releases

v0.18.0

Compare Source

Full Changelog: v0.17.2...v0.18.0

This release adds support for Sphinx v5 (dropping v3), restructures the code base into modules, and also restructures the documentation, to make it easier for developers/users to follow.

It also introduces document-level configuration via the Markdown front-matter, under the myst key.
See the Local configuration section for more information.

Breaking changes

This should not be breaking, for general users of the sphinx extension (with sphinx>3),
but will be for anyone directly using the Python API, mainly just requiring changes in import module paths.

The to_docutils, to_html, to_tokens (from myst_parser/main.py) and mock_sphinx_env/parse (from myst_parser.sphinx_renderer.py) functions have been removed, since these were primarily for internal testing.
Instead, for single page builds, users should use the docutils parser API/CLI (see ),
and for testing, functionality has been moved to https://github.com/chrisjsewell/sphinx-pytest.

The top-level html_meta and substitutions front-matter keys have also been deprecated (i.e. they will still work but will emit a warning), as they now form part of the myst config, e.g.


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants