Новая читалка и редактор - прошу помощи сообщества

Господа читатели и верстальщики!

Я задумал две новые свободные программы - читалку и редактор. Лицензия - GPLv3. Пишу для себя, но если у кого-нибудь будет интерес - буду рад.

Вторая версия читалки сейчас находится в стадии отладки и оптимизации. Делается только для обычного компьютера (на карманные и подобные не рассчитываю за отсутствием и ненадобностью для меня). Программа межплатформенная - FreeBSD, Linux, Windows. Основной прицел - среда GNOME. Включает инструменты для ведения библиотеки (в текущей версии только локальной). Планирую закончить этой осенью.

Редактор - на стадии обдумывания и постановки задачи.

У меня, собственно, три вопроса.

1. Найдутся ли желающие протестировать программу для чтения на тему удобства, желаемых возможностей и багов?

2. Есть ли спрос на программы для чтения и ведения библиотек в средах, отличных от Windows?

3. Прошу помощи в составлении техзадания для редактора. Поскольку я еще непосредственно не приступил к разработке, думаю, самое время обсудить ТЗ. То есть, кому чего не хватает в существующих средствах, кому чего хотелось бы видеть в таком редакторе и так далее.

Вот кратко и обобщенно мои мысли по этому поводу:

1. Редактор должен быть свободным (лицензия GPLv3, открытые исходные коды и все положенные атрибуты);
2. Редактор должен быть межплатформенным;
3. Он должен иметь модульную архитектуру, чтобы любой желающий мог дописать свои модули в дальнейшем (например, экспорт в fb3 или импорт из чего-нибудь еще);
4. Он должен выдавать ПРАВИЛЬНЫЕ документы - то есть, валидные с точки зрения fb2;
5. Редактор должен максимально автоматизировать процедуру форматирования (где это возможно);
6. Он должен выглядеть как привычные и всем известные редакторы (типа MS Word до версии 2007 или OpenOffice.org) и давать такие же привычные инструменты;
7. Документ в редакторе должен иметь несколько типов отображения: как книга в читалке, как исходный текст XML (для любителей видеть исходник и для отладки) и как структура документа;
8. Программа не должна иметь ограничений по возможностям верстки и управления содержимым.

Есть ли желающие поучаствовать в составлении ТЗ для редактора?

Комментарии

читалку под линем готов потестить ))))
единственный вопрос: почему гтк, а не куте ? :)

В попу ёжика Qt! Она скоро больше, чем дистрибутив Линукса занимать будет :(

Woland61 написал:
читалку под линем готов потестить ))))
единственный вопрос: почему гтк, а не куте ? :)

Потому что я живу в Гноме, а не в КДЕ. :-)

Еще от себя добавлю хотелку :) Возможно ли будет сделать в редактор импорт закладок из читалки. Поясняю. Читал, нашел опечатку, поставил закладку. После экспорт закладок в тхт и импорт их в редактор. Или возможнось ограниченого редактирования в читалке.
Может на наладонниках и смартах в Allreader у кого работало, но я не нашел нормальной версии для РС :(

sc_pasechnik написал:
Еще от себя добавлю хотелку :) Возможно ли будет сделать в редактор импорт закладок из читалки. Поясняю. Читал, нашел опечатку, поставил закладку. После экспорт закладок в тхт и импорт их в редактор. Или возможнось ограниченого редактирования в читалке.

Да, идея интересная. Тогда надо для начала определиться с форматом закладок. Его как такового не существует - я уже пытался поспрашивать авторов других читалок. Ничего сложного, но было бы здорово принять какой-то формат для общего использования.

Похожее на хотелку есть в CR3. Формат в явном виде не документирован, придется смотреть исходники

Да, идея хорошая!
А насчёт единого формата: ну так вы первые будете, кто его придумает :)

Ян Злобин написал:
sc_pasechnik написал:
Да, идея интересная. Тогда надо для начала определиться с форматом закладок. Его как такового не существует - я уже пытался поспрашивать авторов других читалок. Ничего сложного, но было бы здорово принять какой-то формат для общего использования.

Была сторонняя программа для редактирования закладок CoolReader и Alreader. Как только найду, скину ссылку (но у меня она не всегда попадала в нужное место в документе).
Вот описание на форуме http://forum.coolreader.org/index.php?topic=592.0%3Bwap2 написана на Java
и сама прога http://sunet.dl.sourceforge.net/project/fbstudio/Fb%20Studio/0.2/fbstudio02.zip

Эта. Постойте. Редактор и читалка разные программы без взаимопроникновения?
Хочется как-то исправлять по мелочам очепятки и форматирование не вылезая из читалки. По крайней мере не замечать что вылезаешь.

Цитата:

1. Найдутся ли желающие протестировать программу для чтения на тему удобства, желаемых возможностей и багов?

2. Есть ли спрос на программы для чтения и ведения библиотек в средах, отличных от Windows?

3. Прошу помощи в составлении техзадания для редактора. Поскольку я еще непосредственно не приступил к разработке, думаю, самое время обсудить ТЗ. То есть, кому чего не хватает в существующих средствах, кому чего хотелось бы видеть в таком редакторе и так далее.

1. #t

2. (linux)

3. Хочется чего-нибудь расширяемого, но при этом нужны и плагины, и возможность прикручивания внешних программ. Скажем, мне будет лень писать плагин, если то же действие можно выполнить с помощью sed.
Конечно, вам решать, как лучше реализовать работу с внешними программами (если вообще реализовывать). По-моему, нужны возможности вставки вывода программы в редактируемый текст и куда-нибудь в дополнительное окошко (или что-то подобное) --- второе, например, для запуска валидатора xml с просмотром вывода.
Возможно, при этом стоит сделать возможность пропарсить вывод и привязать результат к каким-то действиям (скажем, переход на строку с ошибкой или что-то подобное).

gltronred написал:
3. Хочется чего-нибудь расширяемого, но при этом нужны и плагины, и возможность прикручивания внешних программ. Скажем, мне будет лень писать плагин, если то же действие можно выполнить с помощью sed.

В редакторе gedit есть такой модуль Внешние инструменты. Это практически неограниченная расширяемость. Я таким образом прикручивал к обработкам текста sed - очень удобно. Думаю, можно пойти таким путем.

Цитата:

Ян Злобин wrote:
В редакторе gedit есть такой модуль Внешние инструменты. Это практически неограниченная расширяемость. Я таким образом прикручивал к обработкам текста sed - очень удобно. Думаю, можно пойти таким путем.

Да, похоже, это достаточно удобно. Особенно, если у вас получится адаптировать этот модуль к своей программе.

А новостей по поводу читалки и редактора ждать здесь или есть какой-то сайт, рассылка?

gltronred написал:
Да, похоже, это достаточно удобно. Особенно, если у вас получится адаптировать этот модуль к своей программе.

А новостей по поводу читалки и редактора ждать здесь или есть какой-то сайт, рассылка?

Модуль не этот, а подобный. Брать его целиком не вижу смысла - gedit не так прост внутри. У него свои виджеты и объекты - я довольно долго изучал его исходники. У него и цели другие, и возможности - например, закладки и перенос закладок из одного окна в другое. То есть, писать нужно свой.

gltronred написал:
А новостей по поводу читалки и редактора ждать здесь или есть какой-то сайт, рассылка?

Есть, но пока там только страница-заглушка. Здесь заявлюсь, конечно.

Готов тестировать под ОС maemo, debian
Если есть какая-то рассылка,

Доброго всем времени
прочитал ветку, возникла маленькая хотелка
Коль скоро есть каталогизатор, был неплохо иметь синхронизацию с библиотекой на мобильных гаджетах....
ну например накачал книг, они попали в базу ББ... воткнул в него наладонник и синхронул с мобильным клиентом... также и в другую сторону....
а если это чудо еще на лету конвертит корректны FB2 или PDF..... ооооо, за такую прогу я бы даже и заплатил....

Удачи Вам

Так это уже наверное больше к тематике MyHomeLib, а не редактора\читалки:
более глобальные задачи каталогизации на разных устройствах не относящиеся к вопросам чтения\редактирования фб2..

Цитата:
Лицензия - GPLv3.

Вторая версия читалки сейчас находится в стадии отладки и оптимизации.


Эээ... исходники?

Shimuuar написал:
Цитата:
Лицензия - GPLv3.

Вторая версия читалки сейчас находится в стадии отладки и оптимизации.


Эээ... исходники?

Первая версия использовала DOM. Прочитав в ней несколько десятков книг, я решил переписать с нуля с использованием SAX - не устроил меня DOM по ряду моментов. Уже читаю во второй, но она готова еще не полностью. Например, картинки показывать в пуле потоков еще не умеет - пока только одним потоком. Показывать исходники недоделанной программы не хочу. Кроме всего прочего и изменится еще много чего. Как закончу, добавлю в порты FreeBSD и выставлю в виде DEB-пакета, дистрибутива для виндовоза и, конечно же, исходников. Если мне помогут, будет и RPM.

Ой:) 85 коментов и ещё не посрались никто. День то какой:) Чудесный:)

Igorek67 написал:
Ой:) 85 коментов и ещё не посрались никто. День то какой:) Чудесный:)

Да Вы, господин Волк, оптимист. :-)

Она как-то работает? Так выложите исходники на общее обозрение. Получите баг-репорты, пожелания. Если повезёт — патчи. Если очень повезёт — разраработчиков.

Знаете такой девиз: «Release early, release often».

Shimuuar написал:
Она как-то работает? Так выложите исходники на общее обозрение. Получите баг-репорты, пожелания. Если повезёт — патчи. Если очень повезёт — разраработчиков.

Знаете такой девиз: «Release early, release often».

Доделаю, выложу :-)

Плагины входят в пакет как часть программы. Никакой разницы. Уже проверено. И первую версию своей читалки под винду собирал. Тоже все отлично. :-)

Вообще, получать багрепорты на то, что еще неготово несколько странно...

Дык почему ж странно? Альфа версия, бета версия... Программу можно считать готовой, когда багрепорты получать поздно.

Shimuuar написал:
Дык почему ж странно? Альфа версия, бета версия... Программу можно считать готовой, когда багрепорты получать поздно.

Думаю, в этом случае можно считать готовой когда работает все, что планировал сделать.

Дело, впрочем, хозяйское (-:

Конечно, с одной стороны пользователи будут писать тупые сообщения о багах и пожелания, ругаться.
Но если ты оптимист, то учтёшь, что планы вечно врут, и что некоторые пользователи действительно помогут тебе полезными советами или багами, которых ты у себя не заметил, но у других пользователей есть.
И это будет ещё до того момента, когда сделаешь "всё, что планировал сделать", и когда исправлять уже будет возможно тяжелее.

Ой зря это. По опыту заказчику даже концепт полезно сунуть чтобы у него сформировалось понимание достигнуто ли взаимопонимание. Честно предупредив что "это" не работает. На начальных итерациях проще изменять концепт. И у пользователей предложений будет больше. И меньшее их количество будет отвергнуто по причине "основа уже сделана, а для реализации этого её нужно переделывать, теперь это очень трудозатратно."
"Релиз это когда в вашей программе появилась первая функциональность."
Что-то меня на повторение прописных истин пробило...

Shimuuar написал:
Она как-то работает? Так выложите исходники на общее обозрение. Получите баг-репорты, пожелания. Если повезёт — патчи. Если очень повезёт — разраработчиков.

Знаете такой девиз: «Release early, release often».


Ребята ну не стоит одному человеку навязывать девизы других!!!
И не надо разработчикам говорить как реализовывать технические моменты...
Во время решения задачи иногда лутше так а иногда наооборот, тем более если не владеешь вопросом досконально... только не нужно обижатся, это не упрек...
Взять хотя бы тот же спелчекер... Вроде просто, сравнивай слова и словоформы да говори это правильно а это нет... А на самом деле кто знает что есть спец. словари правильных слов, которые пишутся точно так же как и слова с ошибками???

Поэтому больше слов о том чего хочется, не вдаваясь в вопросы как оно должно работать ;)

Если возможно, неплохо бы в читалке реализовать режим правки текста, как в AlReader.
По редактору поддерживаю отзывы по FBE. Его интерфейс удобен..Сделать, хотя бы так, что бы ваш редактор выполнял те же операции, что и FBE, но без глюков и тормозов.И, конечно, проверка орфографии + реализация вложенности секций. Остальное прикручивать потом, по мере необходимости
Хотелка: переформатирование жесткоформатированного текста ( типа Hieroglyph или cleartxt )

1. Могу потестить, особенно редактор. ОС Ubuntu 9.04, Windows XP, возможно Windows 7
2. У меня потребности нету, предпочитаю FBReader и папки с именами авторов :)
3. Сложно сказать, сейчас видится клон FBE - обязательно с поддержкой скриптов.

Пожелание номер раз - поддержка CSS и встроенных стилей (stylesheet, тэг "style" и одноимённый атрибут в других тэгах); неплохо было бы и в редакторе показывать текст с учётом стиля.
Номер два - экспорт-импорт закладок и цитат из читалки в редактор и обратно (типа "посмотреть, как выглядит после очередной правки").
Номер три - чтобы можно было все операции выполнять и мышом, и клавой.

Это все прекрасно, но проект не маленький, и работы здесь на 4-6 месяцев как минимум. Хватит ли энтузиазма?

Цитата:
Пожелание номер раз - поддержка CSS и встроенных стилей

+100 ДА!!!Очень хочется.

По структуре редактора: надо бы загружаемую XML-схему для FB2 - не будет жалоб вида "тэг можно только в Source добавить"! Нужные тэги должны добавляться в схему и появляться в редакторских причиндалах оттуда.

1. Найдутся, могу потестить в WinXP, Debian (stable/testing), MacOS X 10.5.6
2. Да, спрос есть

Кстати, Ян, что посоветуете в качестве систематического чтива по GTtk+ ?

Ulenspiegel написал:
Кстати, Ян, что посоветуете в качестве систематического чтива по GTtk+ ?

http://www.gtk.org/ http://library.gnome.org/

Что такое "читалка" представляю слабо - для художественной литературы чаще пользуюсь "Говорилкой", а специальную читаю в редакторе. Но потестировать не откажусь :)
Что касается редактора. С форматом fb2 практически не сталкивалась. (Если знаете, где про него доходчиво и немногословно написано и кинете ссылку - с удовольствием почитаю). Пользуюсь Вордом из Офиса-95. Потому что чем старше версия - тем больше ненужных тэгов Ворд в файл пишет и тем больше "весит" файл.
С максимальным упрощением форматирования, пожалуй, соглашусь, но автоформатирование - когда, например, в том же Ворде текст, выделенный жирным, сразу становится виден в поле структуры (колонка слева) - меня бесит мне не нравится.
Ещё одна проблема Ворда - некорректная работа с картинками - если скопировать картинку из doc'овского документа, она будет в формате 256 цветов. Если с этим можно что-то сделать - было бы здорово. (Наверное, исходный текст в формале XML в вашем 7-м пункте должен иметь окно/кнопку для открытия окна, чтобы иметь прямой доступ к картинкам).

Редактор очень нужен, но совсем не вордоподобный. fb2 таки структурный формат, а в ворде и прочих подобных программах структура неизбежно теряется. Я когда-то начал писать подобное, но уже на уровне проектирования интерфейса сдулся, ибо задача хорошо представить всё из fb2 оказалась сильно сложной. Особенно это касалось картинок и примечаний.

Не откажусь попробовать вашу читалку... И напишу свои мысли по её поводу... Виндовс ХР =).
По поводу какой вид лучше выскажу своё мнение: 1 колонка с выравнивание по левому краю, (не по ширине) с возможностью настройки перелистывания по строкам. Желательно чтобы регулировался размер и вид шрифта, а также межстрочные интервалы и чтобы нормально работало выделение для копирования... Насчёт того чтобы ставить метки для последующего/текущего исправления нууу... за...

Для редактора предлагаю фичу, которую можно было бы назвать „План работ“.

Что сейчас происходит при обработке документа с помощью FBE? Я по очереди то запускаю один скрипт, то запускаю другой скрипт, то ищу/заменяю через регэкспы, то запускаю третий скрипт, то ищу, а найденной обрабатываю четвертым скриптом… В голове сложно удержать в каком порядке, при каких условиях, какие действия нужно выполнять. Какие-то наметки я записываю в текстовый файл, но проблему можно было бы решить фундаментально — с помощью боковой (или еще какой) панели, содержащей „План работ“.

Это должен быть не просто текст, а именно — панель управления: кликнул на очередном пункте — запустилось его выполнение. Она должна содержать: какие работы надо выполнять в процессе работы над fb2-документом, в каком порядке, в чем эти работы заключаются, а также отмечать — какие работы уже выполнены. Она должна быть доступна для изменения-настройки.

„План работ“ поможет собрать опыт по обработке fb2 в единое целое. И этот опыт будет напрямую доступен для использования начинающими.

ccaid написал:
Ян Злобин написал:
Нет. Только свободные технологии. И потом, какая проверка на основе MS Word может быть в Linux?

wine?
[offtop]я встречал мнение, что MS Office под Linux+wine лучше, чем нативный OpenOffice. по крайней мере, тому человеку было так.[/offtop]

MS Office закрытый. А мы обсуждаем открытый редактор. А вообще редкий изврат писать программу для Линукса, чтобы она использовала компоненты MS Office из Wine.

ccaid написал:
Для редактора предлагаю фичу, которую можно было бы назвать „План работ“.

Что сейчас происходит при обработке документа с помощью FBE? Я по очереди то запускаю один скрипт, то запускаю другой скрипт, то ищу/заменяю через регэкспы, то запускаю третий скрипт, то ищу, а найденной обрабатываю четвертым скриптом… В голове сложно удержать в каком порядке, при каких условиях, какие действия нужно выполнять. Какие-то наметки я записываю в текстовый файл, но проблему можно было бы решить фундаментально — с помощью боковой (или еще какой) панели, содержащей „План работ“.

Это должен быть не просто текст, а именно — панель управления: кликнул на очередном пункте — запустилось его выполнение. Она должна содержать: какие работы надо выполнять в процессе работы над fb2-документом, в каком порядке, в чем эти работы заключаются, а также отмечать — какие работы уже выполнены. Она должна быть доступна для изменения-настройки.

„План работ“ поможет собрать опыт по обработке fb2 в единое целое. И этот опыт будет напрямую доступен для использования начинающими.

Так, а можно подробнее про последовательность действий? К примеру, что за чем следует в реале и почему приходится делать именно так.

Ян Злобин написал:

Так, а можно подробнее про последовательность действий? К примеру, что за чем следует в реале и почему приходится делать именно так.

я описывал механизм. а наполнение (действия и последовательность) его можно будет развивать, после того, как механизм будет готов. это будет отдельная тема, и активные оформители fb2 смогут внести свою лепту.

а для примера: сначала выполняется всякая уборка грязи, например, поиск латиницы в кириллице (или наоборот), чистка заголовков и т.п., потом можно заняться форматированием, кавычками, примечаниями, иллюстрациями. скрипт генеральная уборка, обычно выполняется ближе к концу.
какие-то действия можно свободно переупорядочивать, какие-то имеют взаимную зависимость. короче, отдельная песня.

ccaid написал:
Ян Злобин написал:

Так, а можно подробнее про последовательность действий? К примеру, что за чем следует в реале и почему приходится делать именно так.

я описывал механизм. а наполнение (действия и последовательность) его можно будет развивать, после того, как механизм будет готов. это будет отдельная тема, и активные оформители fb2 смогут внести свою лепту.

а для примера: сначала выполняется всякая уборка грязи, например, поиск латиницы в кириллице (или наоборот), чистка заголовков и т.п., потом можно заняться форматированием, кавычками, примечаниями, иллюстрациями. скрипт генеральная уборка, обычно выполняется ближе к концу.
какие-то действия можно свободно переупорядочивать, какие-то имеют взаимную зависимость. короче, отдельная песня.

Алексей_Н написал:
По поводу скриптов.
В FBE есть скрипты "Интерактивные разрывы" и "разрывы предложений". При использовании этих скриптов предлагаются варианты замены: "поставить в конце точку", "заменить запятую на точку" или "соединить".
Хотелось бы добавить: "поставить в конце двоеточие", "заменить запятую на точку, или двоеточие, или многоточие".

Это можно делать в фоне при импорте, при сохранении файла, а так же кнопкой типа проверки орфографии. А действия по этой кнопки где-нибудь в настройках меняется. Как вариант. Я спросил подробнее, чтобы решать задачу с начала, а не с конца. Другими словами, от абстракции к конкретике. Так понятнее для меня и не привносит в ТЗ недочеты и ошибки уже существующих редакторов - надо же использовать уже имеющийся опыт. И потом, само существование этих скриптов говорит о том, что в редакторах чего-то не учли.

Резонно. По поводу полезного для редактора функционала. Есть весьма неплохое расширение для OpenOffice - ooofbtools.
И на посвященном ему форуме люди, профессионально занимающиеся fb2деланием, обсуждают его функционал.

Ulenspiegel написал:
Резонно. По поводу полезного для редактора функционала. Есть весьма неплохое расширение для OpenOffice - ooofbtools.
И на посвященном ему форуме люди, профессионально занимающиеся fb2деланием, обсуждают его функционал.

ОК. Чуть позже я сделаю набросок ТЗ и выставлю его у себя на сайте. Здесь обсудим, если что упущу из виду. А пока если есть еще идеи или хотелки, пишите.

Ян Злобин написал:
И потом, само существование этих скриптов говорит о том, что в редакторах чего-то не учли.

нет. насколько я понимаю, это было сознательное решение. скрипты это расширяемость. добавить новую функциональность проще и быстрее с помощью скрипта, а не ковырянием в исходниках. Исходники первоначального FBE доступны с самого начала, и последний вариант - от Литреса - по большому счету не имеет принципиальных отличий от первоначального... если не считать скриптов...
когда мне понадобилась некая новая функция, я, даже на зная языка скриптов, смог по образу и подобию сделать нужный скрипт. а в случае монолитного редактора, то ли мне удалось бы достучаться до автора, то ли он давно забил бы на редактор, но ковыряние в исходниках для меня было бы исключено.

а макросы в Far ввели не потому, что чего-то не учли.

ccaid написал:
Для редактора предлагаю фичу, которую можно было бы назвать „План работ“.

Что сейчас происходит при обработке документа с помощью FBE? Я по очереди то запускаю один скрипт, то запускаю другой скрипт, то ищу/заменяю через регэкспы, то запускаю третий скрипт, то ищу, а найденной обрабатываю четвертым скриптом… В голове сложно удержать в каком порядке, при каких условиях, какие действия нужно выполнять. Какие-то наметки я записываю в текстовый файл, но проблему можно было бы решить фундаментально — с помощью боковой (или еще какой) панели, содержащей „План работ“.

Это должен быть не просто текст, а именно — панель управления: кликнул на очередном пункте — запустилось его выполнение. Она должна содержать: какие работы надо выполнять в процессе работы над fb2-документом, в каком порядке, в чем эти работы заключаются, а также отмечать — какие работы уже выполнены. Она должна быть доступна для изменения-настройки.

„План работ“ поможет собрать опыт по обработке fb2 в единое целое. И этот опыт будет напрямую доступен для использования начинающими.


Может, лучше назвать не "план работ", а макрокоманда?
В FBE мне кажется не хватает пользовательских макрокоманд: неких наборов нажатий клавиш, которые приходится делать часто, можно было бы оформить самому пользователю.(а то я не знаю, как писать свои скрипты, да и не хочется узнавать, кажется, что это все сложно), а так - нажал кнопку- выполнил некие действия - записал макрокоманду и пользуйся, тот же скрипт, но проще для пользователя, неплохо, чтобы в макрокомандах можно было и др., уже написанные макрокоманды вызывать.

Zadd написал:
ccaid написал:
Для редактора предлагаю фичу, которую можно было бы назвать „План работ“.

Может, лучше назвать не "план работ", а макрокоманда?

неа. план работ более глобальная вещь. а макрокоманда может быть элементом плана работ.
Zadd написал:
В FBE мне кажется не хватает пользовательских макрокоманд: неких наборов нажатий клавиш, которые приходится делать часто, можно было бы оформить самому пользователю.(а то я не знаю, как писать свои скрипты, да и не хочется узнавать, кажется, что это все сложно), а так - нажал кнопку- выполнил некие действия - записал макрокоманду и пользуйся, тот же скрипт, но проще для пользователя, неплохо, чтобы в макрокомандах можно было и др., уже написанные макрокоманды вызывать.

+1

Страницы

X