Предпросмотр тем в Onebox в списке тем

Я пытаюсь в общих чертах воспроизвести то, как Facebook обрабатывает гиперссылки в публикуемых сообщениях.
В сущности, они отображают превью в формате Onebox (или аналогичном) для первой гиперссылки, а также первые несколько фрагментов вашего поста.

Я немного попробовал плагин Topic List Previews, но он, похоже, не делает того, что мне нужно.

Знает ли кто-нибудь способ реализовать описанное поведение?

Вы пытаетесь стилизовать список тем или саму тему?

Использовали ли вы настройку «Tiles» в TLP? Это покажет миниатюру и отрывок (если он доступен) в стиле «Facebook» — см. пример https://rideabl.es

В Discourse миниатюры отображаются в стиле социальных сетей только на уровне списка тем (и для этого требуется плагин или TC, например TLP, Fakebook или Topic List Thumbnails).

На уровне темы, возможно, придётся использовать один блок, хотя стилизовать их тоже может быть возможно — я лично этим не занимался.

Спасибо. Я не пробовал режим плиток — и да, похоже, что это работает. Очевидно, что там три колонки, а не одна, как в Facebook, но я предполагаю, что это можно изменить? (хотя, возможно, я оставлю как есть — так может быть даже лучше!)

Кстати, я попробовал использовать topic list excerpt, но это приводит к странному отображению. Например, он показывает полностью отформатированный отрывок (включая гиперссылки), а также начинает случайным образом менять стиль (например, увеличивать шрифт) и/или добавлять пробел в начале. Подскажите, пожалуйста, как это исправить?

И ещё: на rideabl.es есть удобная иконка/гиперссылка «Открыть во внешнем окне» в верхней части тем. Предоставляет ли эту функцию ваш плагин или чей-то другой?

TLP TC (не плагин) полностью адаптивен: если вы уменьшите доступное пространство, добавив боковые панели, количество колонок автоматически уменьшится (просто уменьшите размер окна браузера, чтобы проверить это). См. Pavilion

Для добавления настраиваемых боковых панелей используйте плагин Layouts. Подробнее об этом: Pavilion

Альтернативно попробуйте Fakebook TC, который всегда отображается в одну колонку и имеет встроенные боковые панели.

В выдержках из списка тем есть проблемы для всех реализаций, так как сериализатор отправляет много лишнего мусора (например, включает якоря onebox!). Это можно частично скрыть с помощью стилей — я только что сделал это на rideables.

Это нативная функция, просто включённая в вывод TLP.

Подскажите, как мне получить к этому доступ? У меня на практически ванильной установке Discourse это не отображается.

И ещё: вы не знаете, почему форматирование выглядит немного криво даже на страницах, где плагин не включён? Я заметил, что в списках тем или категориях, где TLP не активирован, под заголовком темы в списках всегда есть лишние отступы снизу.

Это создаётся автоматически, когда вы добавляете ссылку в заголовок (см. текст-заполнитель).

Плагин, если он установлен, всё равно переопределяет шаблоны. Если что-то выглядит странно, попробуйте изменить стиль (но проверьте, чтобы влияние на каждый стиль было приемлемым), и, возможно, я обновлю CSS в плагине — не стесняйтесь сделать pull request. Вы также можете отправить отчет об ошибке здесь: Pavilion.

Хорошо, я добавил URL в тему, и теперь я вижу значок внешней ссылки, а также то, как Discourse автоматически скопировал заголовок из связанного ресурса.

К сожалению, это, похоже, остановило предпросмотр onebox для TLP. Что я делаю не так?

Я изучаю тему Fakebook. Спасибо за подсказку! :ok_hand:

Нет, это не остановит процесс. Вам нужно набраться терпения. Рендеринг миниатюры (на самом деле набора миниатюр) — это процесс на стороне сервера, который занимает время. Это не происходит мгновенно. Это верно для всех реализаций. Изменение фронтенда не повлияет на это. :).