Экспорт Хабра в FB2

в 21:25, , рубрики: fb2, fbreader, Google Chrome, habrahabr.ru, usability, хабрахабр, метки: , , ,

Приветствую!

Некоторое время назад попалась мне статья об экспорте избранного Хабра в формат FB2.
Мне идея понравилась, но было одно 'но': необходимо было вручную запускать экспорт на локальной машине, а хотелось сразу в браузере; и во-вторых — для запуска надо было установить локально PHP и закачать исходники.

Поэтому я решил написать расширение для браузера, которое бы позволяло просто экспортить в FB2. По ходу написания добавил также экспорт в FB2 и для Самиздата.
Кому интересно, смотрим

Вначале решил написать userscript под Greasemonkey, но на какой-то стадии натолкнулся на неудобство разработки и запуска в Хроме таких расширений, поэтому перешел на разработку нативного расширения под Хром (возможно позже вернусь к доработке userscript версии).

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

Скриншоты:
Экспорт Хабра в FB2
Экспорт Хабра в FB2
Экспорт Хабра в FB2

Из реализованного на текущий момент:

  1. Для статей Хабра:
    • Конвертация текста в FB2.
    • Вставка изображений из статьи.
    • Практически корректная конвертация тега code ('ужимаются' пробелы в начале строки).
    • Конвертация таблиц в текстовый вид.
    • Конвертация тегов a, b, i, s и img в соответствующие теги FB2.

  2. Для samlib'а:
    • Конвертация текста в FB2.

Из запланированного к реализации:

  1. Поддержка добавления пользовательских конвертеров для других сайтов.
  2. Поддержка добавления других типов конвертеров (сейчас используется XSLT конвертирование).
  3. Поддержка других видов сохранения результата (сейчас сохраняется в локальный файл): GDrive, Dropbox, ...

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

Автор: HaronK

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js