Я использую движок шаблонов Liquid, чтобы отобразить сводную серию постов - на данный момент у меня есть кое-что эти строки:
{% for page in site.posts %}
{{page.content | truncatewords: 100}}
{% endfor %}
Содержимое страницы содержит HTML, и использование усеченных слов может привести к вставке недопустимого HTML в вывод. Я не хочу удалять весь HTML-код из контента (встроенные видео и изображения должны быть видны), и в идеале все, что я хочу, это добавить соответствующие закрывающие теги.
Я вижу, что простое усечение не приведет к ожидаемому результату, поэтому мой вопрос: как я могу урезать свой HTML, чтобы вывести правильную разметку с помощью Liquid?
Обновить
Очень специфическая проблема заключается в том, что у меня есть пример кода, размеченный с помощью Pigments. Теперь, если усечение происходит в середине примера кода, оно оставляет открытыми несколько тегов, искажая остальную часть страницы. Я ищу способ обрезать эти сообщения, не удаляя весь пример кода - просто обрезать и закрыть все открытые теги в теле контента.