Библиотека собирается на DLE-news.
Первая задача нужна надстройка над формой (bb code) добавления новости в DLE-news. Назовем его парсер.
Функция парсера конвертация электронных книг форматов epub, fb2 и docx в html-страницы проекта.
В раздел «добавления новости» в админке DLE ставим линк «загрузить электронную книгу». По клику открывается окно, аплодим файл эл.книги, текст которой заливается в окно новости в виде размеченного текста на основании разметки сделанной в исходном файле. Код должен быть чистым, избавленным от мусора, типа
<div> </div>, <em> </em> и прочих подобных «артефактов». Редактор добавления новостей используемый в проекте BBCODES.
Помимо конвертации контента парсер должен уметь размещать в тексте:
1. DLE-код для виртуальной пагинации {PAGEBREAK} вместе с постраничной навигацией. Выбирается в диалоговом окне галочкой.
Для романа с постраничной пагинацией (не зависящей от «содержания»):
[size=4]« [page=1]1[/page] . [page=2]2[/page] . [page=3]3[/page] . [page=4]4[/page] . [page=5]5[/page] . [page=6]6[/page] »[/size]
{PAGEBREAK}
[size=4]« [page=1]1[/page] . [page=2]2[/page] . [page=3]3[/page] . [page=4]4[/page] . [page=5]5[/page] . [page=6]6[/page] »[/size]
Количество страниц определяется парсером автоматически количество символов в тексте электронной книги делится на заданное в параметрах количество символов для одной виртуальной страницы.
Для сборника рассказов с пагинацией по количеству рассказов (зависящей от «содержания»):
« [page=2]Назад[/page] | [page=1]к Содержанию[/page] | [page=5]Дальше[/page] »
{PAGEBREAK}
« [page=3]Назад[/page] | [page=1]к Содержанию[/page] | [page=6]Дальше[/page] »
Ссылки в «содержании» будут иметь вид:
[page=3]Рассказ 3[/page]
[page=4]Рассказ 4[/page]
Для сборника стихотворений такая пагинация должна быть в режиме ручной обработки: нажал-добавил.
2. Любой другой код из контейнера, который будет в него предварительно помещен. В режиме ручной обработке: нажал-разместил.
Парсер должен работать без внесения модификаций в стандартную БД DLE-news.
Есть пример ручного размещения книг трех указанных типов: