detect ERROR: bad internal link
Open/Libre Office extension for converting eBooks in fb2 format
Brought to you by:
ikonta_521
документ подготовлен, сконвертирован и верифицирован в OOoFBTools. Но Флибуста на него смачно отругалась:
Добавление книги from-fb2.
ERROR: bad internal link: #1.
ERROR: bad internal link: #_.
ERROR: bad internal link: #.
Плохой, негодный файл
Действительно, указанные дефекты в файле пристутсвуют.
Надо их вылавливать в OOoFBTools
Насколько я помню, это (контроль внутренних ссылок, т.е. сносок/примечаний) на уровне валидатора fb2 не ловится.
«Ругань» сформирована отдельным дополнительным модулем проверки.
Мне бы текстовый файл для LO для теста.
Я словил эти ошибки на этом тексте:
https://doc.rust-lang.org/stable/rust-by-example/print.html
Сделал конвертацию той странички, что Вы указали (по ссылке), не всю книгу. Ошибки не выявились..
Не могли бы Вы прислать сгенерированный fb2 файл с указанием строк, где Флибуста видит ошибки ссылок?
Спасибо.
FB2 файл, на который отругалась флибуста.
Найти ошибки легко вручную по строке поиска
href="#_"и т.п.Спасибо, посмотрю.
Скопировал весь текст с указанной Вами ссылки, экспортировал в fb2 файл.
Проблемный абаз:
Ваш:
<p>? is <emphasis>almost</emphasis><a l:href="#_">1</a> exactly equivalent to an unwrap which returns instead of panicking on Errs. Let's see how we can simplify the earlier example that used combinators:</p>У меня:
<p>? is <emphasis>almost</emphasis><sup><a l:href="https://doc.rust-lang.org/stable/rust-by-example/print.html#†">1</a></sup> exactly equivalent to an unwrap which returns instead of panicking on Errs. Let's see how we can simplify the earlier example that used combinators:</p>Как видно, у меня экспортировалось корректно.
Реализация cope/paste может зависеть от платформы.
Прошу указать версию офиса, тип сборки и платформу на которой он запускается.
И выслать исходный .odt на почту разработчику.
7.1.0.2 / ALTLinux / x86_64
Текст переносился двумя способами:
Да, чуть не забыл. Так уж получилось, что я сначала сохранил страницу из
веб на жёсткий диск. А потом открыл её в Firefox и скопировал оттуда.
Ильдар, я проделал все, что Вы описАли: Сохранил страничку через FireFox на жесткий диск. Потом открыл этот html файл в текстовом редакторе, и увидел что ФайерФох "выкинул" гиперссылку, заменив ее на "#†":
Поэтому, конвертер корректно экспортировал, что было. Можно, конечно ввести в конвертер проверку на правильность гиперссылок.... Как появится время.
К слову: Если делать прямое копирование/вставку из браузера с открытой интернет странички, то во многих случаях текст вставляется в LO корректно (не буду категоричным - не везде проверял).
Last edit: dikbsd 2021-05-14
Кстати, попробовал отлавливать эти коварные "#_" - с ходу не получится обрабатывать эти "битые" ссылки, так как символом "#" LO отмечает закладки, которые конвертер тоже экспортирует, как ссылку-переход по документу.
Именно в этом был первоначальный запрос.
Тут засада вот в чем: экспорт разбит на 2 этапа: 1. анализ (сбор данных) и 2. формирование структуры fb2.
Вводить проверку на правильность гиперссылок на этапе Анализа - это раз в 10 замедлить скорость экспорта. Надо будет продумать, как и где лучше сделать проверку: или на этапе анализа, или же - после конвертации править 3-м этапом сгенерированный fb2 файл. Что будет проще и быстрее.
Подумаем.
А пока - лучше всего пока делать копи/пасте, а не открывать сохраненный html файл для экспорта.
Спасибо за сообщения о проблемах...
Лично мне в данной ситуации наиболее правильным представляется вынос обсуждаемой проверки в пост-обработку (то есть на третий этап).
И, помнится, подобные нежданчики встречались и с copy/paste…
Правда когда и на каких версиях офиса я уже не вспомню.