Skip to content

Commit e477a75

Browse files
authored
🚀 RELEASE: 0.17.0 (#507)
1 parent 7654462 commit e477a75

File tree

3 files changed

+92
-2
lines changed

3 files changed

+92
-2
lines changed

CHANGELOG.md

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,95 @@
11
# Changelog
22

3+
## 0.17.0 - 2021-02-11
4+
5+
This release contains a number of breaking improvements.
6+
7+
Full Changelog: [v0.16.1...v0.17.0](https://github.com/executablebooks/MyST-Parser/compare/v0.16.1...v0.17.0)
8+
9+
### ‼️ Markdown link resolution improvements
10+
11+
Markdown links are of the format `[text](link)`.
12+
MyST-Parser looks to smartly resolve such links, by identifying if they are:
13+
14+
1. A link to an external resource, e.g. `[text](http://example.com)`
15+
2. A link to another source document, e.g. `[text](file.md)`
16+
- If `header-anchors` are enabled, anchor links are also supported, e.g. `[text](file.md#anchor)`
17+
3. A link to an internal sphinx cross-reference, e.g. `[text](my-reference)`
18+
19+
an additional situation is now supported:
20+
21+
4. A link to a source file, which is not a document, e.g. `[text](file.js)`. This behaves similarly to the sphinx `download` role.
22+
23+
In addition, configuration to more finely tune this behaviour has been added.
24+
25+
- `myst_all_links_external=True`, will make all links be treated as (1)
26+
- `myst_url_schemes=("http", "https")`, sets what URL schemes are treated as (1)
27+
- `myst_ref_domains=("std", "py")`, sets what Sphinx reference domains are checked, when handling (3)
28+
29+
See [Markdown Links and Referencing](docs/syntax/syntax.md#markdown-links-and-referencing) for more information.
30+
31+
### ‼️ Dollarmath is now disabled by default
32+
33+
The default configuration is now `myst_enable_extensions=()`, instead of `myst_enable_extensions=("dollarmath",)`.
34+
If you are using math enclosed in `$` or `$$` in your documents, you should enable `dollarmath` explicitly.
35+
36+
See [Dollar delimited math](docs/syntax/optional.md#math-shortcuts) for more information.
37+
38+
### ⬆️ Drop Python 3.6 support
39+
40+
MyST-Parser now supports, and is tested against, Python 3.7 to 3.10.
41+
42+
### ✨ Add the `strikethrough` extension and `myst_gfm_only` configuration
43+
44+
The `strikethrough` extension allows text within `~~` delimiters to have a strike-through (horizontal line) placed over it.
45+
For example, `~~strikethrough with *emphasis*~~` renders as: ~~strikethrough with *emphasis*~~.
46+
47+
**Important**: This extension is currently only supported for HTML output.
48+
49+
See [Strikethrough](docs/syntax/optional.md#strikethrough) for more information.
50+
51+
The `myst_gfm_only=True` configuration sets up specific configuration, to enable compliance only with [GitHub-flavored Markdown](https://github.github.com/gfm/), including enabling the `strikethrough`, `tasklist` and `linkify` extensions, but disabling support for roles and directives.
52+
53+
### ✨ Add `myst_title_to_header` configuration
54+
55+
Setting `myst_title_to_header=True`, allows for a `title` key in the frontmatter to be used as the document title.
56+
for example:
57+
58+
```md
59+
---
60+
title: My Title with *emphasis*
61+
---
62+
```
63+
64+
would be equivalent to:
65+
66+
```md
67+
# My Title with *emphasis*
68+
```
69+
70+
See [Front matter](docs/syntax/syntax.md#front-matter) for more information.
71+
72+
### 👌 Internal improvements
73+
74+
👌 IMPROVE: Convert nested headings to rubrics.
75+
Headings within directives are not directly supported by sphinx, since they break the structure of the document. Previously myst-parser would emit a `myst.nested_header` warning, but still generate the heading, leading to unexpected outcomes.
76+
Now the warning is still emitted, but also the heading is rendered as a [rubric](https://docutils.sourceforge.io/docs/ref/rst/directives.html#rubric) non-structural heading (i.e. it will not show in the ToC).
77+
78+
Other internal improvements primarily focussed in improving support for the for "docutils-only" use, introduced in `v0.16`:
79+
80+
- ♻️ REFACTOR: `default_parser` -> `create_md_parser` in [#474](https://github.com/executablebooks/MyST-Parser/pull/474)
81+
- 👌 IMPROVE: Add `bullet` attribute to `bullet_list` node in [#465](https://github.com/executablebooks/MyST-Parser/pull/465)
82+
- 👌 IMPROVE: Use correct renderer for `state.inline_text` in [#466](https://github.com/executablebooks/MyST-Parser/pull/466)
83+
- 👌 IMPROVE: Docutils parser settings in [#476](https://github.com/executablebooks/MyST-Parser/pull/476)
84+
- 🐛 FIX: front-matter rendering with docutils in [#477](https://github.com/executablebooks/MyST-Parser/pull/477)
85+
- 👌 IMPROVE: Code block highlighting in [#478](https://github.com/executablebooks/MyST-Parser/pull/478)
86+
- 👌 IMPROVE: `note_refname` for docutils internal links in [#481](https://github.com/executablebooks/MyST-Parser/pull/481)
87+
- 🐛 FIX: Ordered list starting number in [#483](https://github.com/executablebooks/MyST-Parser/pull/483)
88+
- 👌 IMPROVE: Propagate enumerated list suffix in [#484](https://github.com/executablebooks/MyST-Parser/pull/484)
89+
- 👌 IMPROVE: `DocutilsRenderer.create_highlighted_code_block` in [#488](https://github.com/executablebooks/MyST-Parser/pull/488)
90+
- 🐛 FIX: Source line reporting for nested parsing in [#490](https://github.com/executablebooks/MyST-Parser/pull/490)
91+
- 🔧 MAINTAIN: Implement `MockInliner.parse` in [#504](https://github.com/executablebooks/MyST-Parser/pull/504)
92+
393
## 0.16.1 - 2021-12-16
494

595
✨ NEW: Add `myst_linkify_fuzzy_links` option.

docs/syntax/optional.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ For example, `~~strikethrough with *emphasis*~~` renders as: ~~strikethrough wit
8686

8787
:::{warning}
8888
This extension is currently only supported for HTML output,
89-
and you will neeed to suppress the `myst.strikethrough` warning
89+
and you will need to suppress the `myst.strikethrough` warning
9090
(see [](howto/warnings))
9191
:::
9292

myst_parser/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from typing import TYPE_CHECKING
22

3-
__version__ = "0.16.1"
3+
__version__ = "0.17.0"
44

55

66
if TYPE_CHECKING:

0 commit comments

Comments
 (0)