Идентификатор языка отсутствует в блоке кода с тире, когда он цитируется

Кто-то может написать что-то вроде этого:

```py
print()
```

Но когда вы затем цитируете его вывод:

print()

он цитируется без идентификатора языка, вот так:

print()

Конкретно, я заметил это на https://forum.typst.app, и не только я. Это довольно утомительно исправлять вручную каждый раз, поэтому я уверен, что это ошибка. Сохранение идентификатора языка — ожидаемое поведение.

4 лайка

Вот живой пример того, как цитируется блок кода (без идентификатора языка).

2 лайка

Сегодня я узнал, что строку информации можно получить, проверив HTML:

<code class="lang-py hljs language-python" data-highlighted="yes">
  <span class="hljs-built_in">print</span>
  ()
</code>

Если язык известен (?), похоже, что полное имя отображается в language-x, а указанный вами — в lang-x. Однако, даже если Python определён (визуально), в обоих классах будет указано Python.

Это поможет узнать, какая строка информации использовалась другим человеком или в любом сообщении, которое вы не можете редактировать (или можете).

Вы имеете в виду, когда вы цитируете с выделением текста, верно? Кнопка «Полная цитата» работает нормально.

Это ожидаемое поведение, так как при выделении текста у нас нет доступа к исходному markdown, и мы делаем приблизительную копию.

То же самое, что и в сообщении по ссылке:

Да.

Кнопки «Полная цитата» не существует.

Неужели вы не можете получить точное место в DOM, где происходит выделение? Тогда было бы довольно просто воспроизвести всё необходимое.