Пагинация невозможна или просто сложна?

Похоже, это способ связывать отдельные темы, а не добавлять навигацию по страницам внутри одной темы.


Я немного продвинулся в реализации пагинации. Идея заключалась в использовании встроенной в Discourse функции ?page=x для навигации между «страницами» и блокировке загрузки дальнейших сообщений путём переопределения функций потока постов, которые загружают следующую партию постов.

Подробнее см. ниже (и нерешённую проблему):

Я добавил кнопки пагинации в верхней и нижней части каждой темы. Пока не разобрался, как получить общее количество страниц в теме, чтобы знать, сколько кнопок отображать. С бэкенда это сделать несложно, но я предпочитаю решение в виде компонента темы, а не плагина, поэтому варианты реализации более ограничены.

С учётом этих двух моментов система пагинации, кажется, будет в основном функциональной. Однако, наверняка останутся некоторые странные поведения, которые потребуют доработки, например: учитываются ли удалённые посты как сообщение на странице или как контролировать количество постов при переходе на последнюю страницу.

Я периодически возвращаюсь к этой задаче. Не уверен, что когда-либо достигну чистого решения, но думаю, что возможно существование «костыльного», но в основном рабочего решения.