Как добавить onebox внутрь списка?

Несмотря на то, что автоматически гиперссылочный URI имеет достаточно места вокруг себя (одна строка), чтобы быть блочным элементом, он не превращается в однобокс, поскольку:

1. Текст

   https://example.com

   Текст

…превращается в:


  1. Текст

    https://example.com

    Текст


Контекст

1 лайк

Попробуйте один раз перестроить HTML поста — это часто решает проблемы, при которых ссылки не превращаются в карточки (onebox):

1 лайк

Думаю, пробелы перед ним сделают его встроенным onebox, а не полноценным. Не уверен, что знаю обходной путь. :thinking:

У вас это сработало?

3 лайка

@JammyDodger, именно так я вижу это в каждом случае, который пробовал до сих пор (всего около 8).

@janan_gagan, у меня нет прав TL4 ни в одном месте… Если кто-то из вас сможет пересобрать HTML5-контент моего сообщения по адресу /1, это подтвердит, работает ли это. Однако, согласно вышеизложенному, я сомневаюсь.

Тем временем я перевёл это в пост с тегом #feature, поскольку сейчас это, похоже, невозможно.

Спасибо в любом случае.

1 лайк

Да, в наших токенах markdown-it есть специфическая логика, которая заставляет ссылки считаться встроенными onebox-ами в случаях, когда они не находятся на верхнем уровне (то есть не внутри списков, цитат и т. д.).

1 лайк

@renato, они всё ещё могут oneboxify внутри <details>, хотя. Кажется особенно странным разрешать это, но не любой другой блочный элемент. В чём логика?

Нет явного обоснования — просто «raw HTML» воспринимается markdown-it плоским образом: он не пытается вывести вложенность из открывающих и закрывающих тегов.

Узел Raw Html

Onebox верхнего уровня

Узел Raw Html

@renato, мне кажется, что, поскольку CSS определяет элемент, инкапсулирующий URI, как блочный элемент, должна происходить обработка onebox; я не могу придумать никаких проблемных граничных случаев.