Pull to refresh

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

Reading time2 min
Views16K
Приветствую!

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

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


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

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

Скриншоты:




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

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

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

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

Upd. Changelog переехал сюда.
Tags:
Hubs:
Total votes 35: ↑33 and ↓2+31
Comments39

Articles