ТОТАЛНИ ДЕФЕКТИ

Философия на безкрайността, чудесата и политическата мода

ПОРЪЧАЙ ТУК

🎄 Коледно промо: 5 лв.

или търси в книжарниците!

Calibre work

Обновена на: 24 март 2022 г.

Calibre e много яка бира, но не е прекрасна.

А Калибре мога да свалям истории от FanFiction, направо в ePub, мога (уж) да менежирам колекцията си от книги и да ги синхринизирам с четеца си. Но най-вече мога да редактирам ePub-ове, да създавам и да ги манипулирам почти толкова добре, колкото желая, и то на всички платформи.

Имам webcomic от 650 страници. За пръв път от шест години решавам, че ще го препрочета, просто защото има произведения, които оставят такова задоволство, което не можеш да преживееш отново, че ти се струва осквернително да ги експириънснеш отново. Такава ми е например Amnesia.

От месеци имам идеята да портна комикса като електронна книга, за да му се насладя на четеца си. Действието е напълно просто по план, та дори с комбото, че комиксът е черно-бял.

Планът е да се свалят всички изображения, да се импортнат в един нов епъб, да се направи корица и евентуално да се състави правилен Table of Contents (за по-добра навигация).

До оня момент имах опит само с малки, 40-странични физически комикси – получавам скен от някъде и го обработвам. Нужда от пруфридинг няма. С въпросния за темата webcomic беше различно. Преди години авторът имаше сайт, на който можеше да листнеш всички чаптъри, тоест да свалиш всички изображения in one go. Сега обаче го няма. Но има линкове към отделните чаптъри.

Докато открия това, мислех да напиша рекурсивен wget, който да кролва всички страници на пича и понеже знаех формата на наименованията на страниците, щях да ги сваля за нула време.

Свалих ги за по-малко от нула време, понеже 25-те чаптъра бяха чисти, лесни хиперлинкове. BASH скриптът просто викаше wget 25 пъти за отделните страници, и дърпаше само рисунките, gif-ове в този случай, игнорирайки index.html & robots.txt-тата.

wget -nc -R html -nd -r -l 1 -A gif [URL]

Имайки гифовете, първо направих празна книга с Калибре и просто импортирах картинките, праскайки ги в един main.html. Работи, но затвориш ли книгата на четеца, губиш на кой панел си. Нормално – няма TOC; има само една хтмл страница.

За да разграничи страниците, четецът трябва да вижда по .html на панел (понеже ща изображения 100%х100%).

Няма да седна да пиша 650 html-чета наръка, разбира се.

i=1;
while [ $i -lt 649 ]; do
echo ‘<?xml version=\’1.0\’ encoding=\’utf-8\’?>
[…]
html,body{width:100%;height:100%;padding:0;margin:0;}
img{width:100%;height:100%;}
</style>
<body>
<img alt=”Image” src=”BD’$i’.gif” />’ > $i.html;
echo ‘ </body></html>’ >> $i.html;
(( i++ ));
done

Не забравяй ескейпа на единични кавички в ехо-то \’

Та сега имам 650 хтмл файла – по един за страница. Вътре има по една рисунка – BD[номер].gif. Куулио. Аре да го шибаме в Calibre. Да, ама не.

Калибре няма автоматизирано сортиране. Ако навра 650 файла, отиват в рендъм ред. Наистина е рендъм – не е машинизиран тип сортиране или нек’ъв хуй – просто е рендъм. Да, мога да ги сортирам наръка – дърпайки нагоре-надолу 650 пъти. Ай’ да не.

 ls *.gif | awk -FD ‘{print$2}’ | sort -n > blah.txt

Скивай как това само сортира номерата в един blah.txt, където после апендирам на Калибре идеята за книжен спайн: виж, всеки epub има metadata.opf или content.opf файл, в който са описани в XML (йък) манифест всички файлове, присъствуващи в книгата. При добавяне, на всеки се дава id, добавя се в манифеста, и после се нарежда в т.нар <spine>, точно под </manifest>-a. Спайнът е точният ред, който страниците следят – коя е корица, коя е апендикс и т.н. Понеже моят скромен комикс има само корица и всичко друго е 1.html – 649.html, няма колко да му се мисли, но предвид онова рендъм сортиране, споменато горе, трябваше накъра да придавам id-та на страниците и да ги редя в спайна. Пак със скрипт де, но наръка nontheless.

Ботъм лайнът е, че комикса го има. 37 мегабайта е, но са 650 страници – картини. Това е със стандартен DEFLATE – няма накъде повече да се компресира и да бъде ePub. Четецът го чете без спънки, но е най-голямото нещо, което някога съм му качвал. Вече препрочетен (възможно е да не съм спал), реших да отразя приключението по портването му. Уви, единственият начин да научиш що тия е-книги се чупят, е като направиш една от нулата.

Calibre не е прекрасен – никак даже, но с толкова чудна функционалност остава единствения филм, който мога да ползвам за целта…засега.

P.S. Ebook-viewer-a на Калибре няма да извика, ако спайнът е грешен. :с