From 61506c7e28f44bfaf74e042c434219d1799406a7 Mon Sep 17 00:00:00 2001 From: Taneli Hukkinen <3275109+hukkin@users.noreply.github.com> Date: Wed, 2 Feb 2022 12:46:16 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=91=8C=20IMPROVE:=20Allow=20escaping=20My?= =?UTF-8?q?ST=20target=20by=20banning=20backslash?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mdit_py_plugins/myst_blocks/index.py | 5 +++-- tests/fixtures/myst_block.md | 7 +++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/mdit_py_plugins/myst_blocks/index.py b/mdit_py_plugins/myst_blocks/index.py index d0e4cf6..8a7c55a 100644 --- a/mdit_py_plugins/myst_blocks/index.py +++ b/mdit_py_plugins/myst_blocks/index.py @@ -124,7 +124,8 @@ def target(state: StateBlock, startLine: int, endLine: int, silent: bool): return False if not text.endswith(")="): return False - if not text[1:-2]: + content = text[1:-2] + if not content or "\\" in content: return False if silent: @@ -134,7 +135,7 @@ def target(state: StateBlock, startLine: int, endLine: int, silent: bool): token = state.push("myst_target", "", 0) token.attrSet("class", "myst-target") - token.content = text[1:-2] + token.content = content token.map = [startLine, state.line] return True diff --git a/tests/fixtures/myst_block.md b/tests/fixtures/myst_block.md index 90bf9d3..e39472b 100644 --- a/tests/fixtures/myst_block.md +++ b/tests/fixtures/myst_block.md @@ -69,6 +69,13 @@ Escaped target:
(a)=
. +Escaped target 2: +. +(a\)= +. +(a)=
+. + Indented target: . (a)=