Как встроить большое количество изображений AVIF в один пост для онлайн-чтения книг?

Я редко так говорю, но не уверен, что Discourse — подходящий инструмент для вашей задачи.

Если вы всё же хотите попробовать, я бы, вероятно, создал отдельную тему для каждой книги и, возможно, отдельный пост для каждой главы (если это имеет смысл; может быть, глав вообще нет?).

Затем можно использовать скрипт импорта, который будет читать имя директории, создавать тему и выполнять что-то вроде:

files.each do |f|
   u=uploader.create_upload(1, f.path, f.filename)
   raw += uploader.html_for_upload(u, f.filename)
end

После этого вы сможете использовать полученный raw-контент для создания темы.

Вам стоит заглянуть в каталог скриптов импорта, чтобы найти примеры создания тем, но это общая идея.

Таким образом, все изображения окажутся в одной теме/посте. Существуют также инструменты, позволяющие прокручивать множество изображений, насколько я знаю. Возможно, кто-то другой обратил на них больше внимания, чем я.