Приветствую!
Некоторое время назад попалась мне статья об экспорте избранного Хабра в формат FB2.
Мне идея понравилась, но было одно 'но': необходимо было вручную запускать экспорт на локальной машине, а хотелось сразу в браузере; и во-вторых — для запуска надо было установить локально PHP и закачать исходники.
Поэтому я решил написать расширение для браузера, которое бы позволяло просто экспортить в FB2. По ходу написания добавил также экспорт в FB2 и для Самиздата.
Вначале решил написать userscript под Greasemonkey, но на какой-то стадии натолкнулся на неудобство разработки и запуска в Хроме таких расширений, поэтому перешел на разработку нативного расширения под Хром (возможно позже вернусь к доработке userscript версии).
Сейчас проект еще на ранней стадии и многое из задуманого не реализовано, но даже в таком состоянии расширение уже можно использовать. Само расширение можо взять тут, а исходники посмотреть на здесь.
Скриншоты:
![](https://habrastorage.org/r/w1560/storage2/6a5/82c/249/6a582c249798ef70ca54f26f27f8d2ba.png)
![](https://habrastorage.org/r/w1560/storage2/b21/b35/26b/b21b3526b3266ffb06ec7235c381f43c.png)
![](https://habrastorage.org/r/w1560/storage2/61a/b41/d40/61ab41d409ced579d3d3e40b43f075da.png)
Из реализованного на текущий момент:
Из запланированного к реализации:
На текущий момент проверил работоспособность расширения только на небольшом количестве страниц, поэтому возможны баги.
Все найденные проблемы и неработающие сайты просьба указывать в комментариях или на Гитхабе.
Также приветствуются замечания и улучшения к коду расширения.
Upd. Changelog переехал сюда.
Некоторое время назад попалась мне статья об экспорте избранного Хабра в формат FB2.
Мне идея понравилась, но было одно 'но': необходимо было вручную запускать экспорт на локальной машине, а хотелось сразу в браузере; и во-вторых — для запуска надо было установить локально PHP и закачать исходники.
Поэтому я решил написать расширение для браузера, которое бы позволяло просто экспортить в FB2. По ходу написания добавил также экспорт в FB2 и для Самиздата.
Вначале решил написать userscript под Greasemonkey, но на какой-то стадии натолкнулся на неудобство разработки и запуска в Хроме таких расширений, поэтому перешел на разработку нативного расширения под Хром (возможно позже вернусь к доработке userscript версии).
Сейчас проект еще на ранней стадии и многое из задуманого не реализовано, но даже в таком состоянии расширение уже можно использовать. Само расширение можо взять тут, а исходники посмотреть на здесь.
Скриншоты:
![](https://habrastorage.org/storage2/6a5/82c/249/6a582c249798ef70ca54f26f27f8d2ba.png)
![](https://habrastorage.org/storage2/b21/b35/26b/b21b3526b3266ffb06ec7235c381f43c.png)
![](https://habrastorage.org/storage2/61a/b41/d40/61ab41d409ced579d3d3e40b43f075da.png)
Из реализованного на текущий момент:
- Для статей Хабра:
- Конвертация текста в FB2.
- Вставка изображений из статьи.
- Практически корректная конвертация тега code ('ужимаются' пробелы в начале строки).
- Конвертация таблиц в текстовый вид.
- Конвертация тегов a, b, i, s и img в соответствующие теги FB2.
- Для samlib'а:
- Конвертация текста в FB2.
Из запланированного к реализации:
- Поддержка добавления пользовательских конвертеров для других сайтов.
- Поддержка добавления других типов конвертеров (сейчас используется XSLT конвертирование).
- Поддержка других видов сохранения результата (сейчас сохраняется в локальный файл): GDrive, Dropbox, ...
На текущий момент проверил работоспособность расширения только на небольшом количестве страниц, поэтому возможны баги.
Все найденные проблемы и неработающие сайты просьба указывать в комментариях или на Гитхабе.
Также приветствуются замечания и улучшения к коду расширения.
Upd. Changelog переехал сюда.