tmomas
(tmomas)
16.Октябрь.2020 18:21:27
1
Проблема: Отсутствие жирного форматирования для текста в скобках, когда вокруг скобок есть ведущие или завершающие символы.
Пример текста, в котором мы хотим выделить (5255) :
1.0.15 Build 20200721 rel.40773(5255)
40773**(5255)** → НЕТ
40773 (5255)
407735255
Теперь добавим одну точку в конец первой строки.
Обратите внимание, как изменились 1-я, 2-я и 3-я строки:
40773**(5255).
40773 (5255)
40773 5255**
Эксперименты с другими примерами
Без скобок: Всё в порядке.
скобки → ОК
скобки → ОК
aскобки 1 → ОК
aскобки a → ОК
aскобки .1 → ОК
aскобки #1 → ОК
aскобки ?1 → ОК
Со скобками: Происходят странные вещи.
скобки → ОК
(скобки) → ОК
**(скобки)**1 → НЕТ
(скобки) .1 → ОК
**(скобки)**a → НЕТ
(скобки) .a → НЕТ
(скобки) #1 → ОК
(скобки) ?1 → ОК
aскобки 1 → НЕТ
aскобки 1 → НЕТ
aскобки 1 → НЕТ
Две одинаковые строки, разделённые пустой строкой
скоб**(ки)** → НЕТ
скоб**(ки)** → НЕТ
То же самое, но без разделения пустой строкой
(скобки) → НЕТ
скоб**(ки)** → НЕТ
justin
(Justin DiRose)
16.Октябрь.2020 19:26:18
2
Если я правильно помню, это ограничение спецификации Markdown.
The following case also illustrates the need for opening and
closing backtick strings to be equal in length:
```````````````````````````````` example
`foo``bar``
.
<p>`foo<code>bar</code></p>
````````````````````````````````
## Emphasis and strong emphasis
John Gruber's original [Markdown syntax
description](http://daringfireball.net/projects/markdown/syntax#em) says:
> Markdown treats asterisks (`*`) and underscores (`_`) as indicators of
> emphasis. Text wrapped with one `*` or `_` will be wrapped with an HTML
> `<em>` tag; double `*`'s or `_`'s will be wrapped with an HTML `<strong>`
> tag.
This is enough for most users, but these rules leave much undecided,
Мы следуем этой спецификации. Попробуйте там — у них тоже не работает.
Существуют ограничения на то, что парсеры могут делать с высокой производительностью, и я не могу сказать, что видел парсер Markdown, работающий так, как вы описываете, ни в одном случае, хотя я могу ошибаться.