Встроенная справка в удобном формате

Хотите говорить о Far и не знаете, куда обратиться?
User avatar
John Doe
Бюрократ
Posts: 13862
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 74 times
Been thanked: 428 times
Contact:

Re: Конвертер hlf->html (или "Как распечатать Help к FARy")

Post by John Doe »

Latest post of the previous page:

Centaur
А каковы шансы на реализацию этого в консоли?
User avatar
Centaur
Posts: 1083
Joined: Tue 05 Apr, 2005 20:09
Location: Novosibirsk, Russia
Been thanked: 2 times

Re: Конвертер hlf->html (или "Как распечатать Help к FARy")

Post by Centaur »

Чего именно «этого»?

С точки зрения FAR’а как приложения и плагин-хоста, нужна функция «показать топик справки по заданным ID плагина, ID темы». В реализации на готовом (X)HTML во внешнем браузере это грубо ShellExecute(sprintf("%s\\%s\\%s.%s.html", fardir, pluginID, topicID, helpLanguage)). Плюс трудозатраты на конвертацию всего существующего контента в (X)HTML.

Если же хотеть уметь отображать разумно достаточное подмножество XHTML, то задача распадается на несколько подзадач, которые можно брать или не брать в разработку:
  • Парсер. Берётся любой готовый XML-парсер. Поддерживать совместимость с синтаксисом HTML со всеми его неоднозначностями, опциональными тэгами и т.д. — в морг.
  • Layout engine. Тут нужно будет {до,пере}рабатывать то, что уже есть в FAR’е для HLF. В частности, нужно будет поддержать нумерованные и маркированные списки и таблицы.
  • Рендерер оставить как есть, может быть, доточить немного.
  • Проблема модальности. В идеале должно быть можно открыть хелп из диалога и переключаться между ними, не закрывая ни того, ни другого. Эту задачу я не готов оценивать, там много неясного.
Я, впрочем, не уверен, что хочу писать реализацию половины ещё одного консольного веб-браузера. Если смириться с модальностью для тех трёх гиков, которые гоняют FAR через telnet/ssh, можно просто вызывать lynx или там links или чего.
Kildor
Posts: 1515
Joined: Wed 16 Mar, 2005 06:26
Location: Новосибирск
Been thanked: 1 time
Contact:

Re: Конвертер hlf->html (или "Как распечатать Help к FARy")

Post by Kildor »

А может не нужно пытаться прикручивать к фару ещё и веб-браузер? Потому как лично я периодически использую фар без запущенного браузера, и запускать его не хочется.
Ты мне не выкай!
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.

xmpp:kildor@jabber.ru
User avatar
John Doe
Бюрократ
Posts: 13862
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 74 times
Been thanked: 428 times
Contact:

Re: Конвертер hlf->html (или "Как распечатать Help к FARy")

Post by John Doe »

Во-во. У меня те же аргументы. А браузер штука тяжёлая, особенно если загружается весь предыдущий сеанс...
Разве что использовать не полновесный браузер, а нечто вроде ie activex (glie.exe - была такая штука).
Или ещё проще - использовать .chm, как все.
Centaur wrote:Я, впрочем, не уверен, что хочу писать реализацию половины ещё одного консольного веб-браузера.
А это означает что вопрос становится ребром: готовы ли мы отказаться от отображения справки фаром.
Даже не знаю...
Хелп редко читают как роман. Чаще бывает нужно получить короткую контекстную справку, и тут очень важно чтобы она открывалась мгновенно (и закрывалась тоже). При использовании браузера мгновенность теряется, а для возврата в фар ещё и требуется Alt-Tab (или Ctrl-W или Ctrl-F4 или [...])
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Конвертер hlf->html (или "Как распечатать Help к FARy")

Post by NightRoman »

Немного офф, но все-таки связанная с темой идея пришла тут. Для своих (а может и не только) плагинов я, пожалуй, придумал забавный сценарий. Свои хелпы можно писать на markdown, благо, я с ним дружу. Конвертеры markdown в html уже есть. А также есть и парсеры, используя которые, можно этот markdown и в hlf сконвертить (это потребует некоторой работы; все "фичи" hlf, пожалуй, не будут задействованы, ну и ладно).

Если мне не лень это будет сделать, то можно будет относительно комфортно писать хелп в маркдауне, а потом генерерить из него и hlf для Фара, и html для пользователя для "почитать в броузере". А к плагину прикладывать и то, и то.
User avatar
John Doe
Бюрократ
Posts: 13862
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 74 times
Been thanked: 428 times
Contact:

Re: Конвертер hlf->html (или "Как распечатать Help к FARy")

Post by John Doe »

В markdown я не нашёл никаких средств для "табличного" оформления, а скажем в справке фара это сплошь и рядом.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Конвертер hlf->html (или "Как распечатать Help к FARy")

Post by NightRoman »

John Doe wrote:В markdown я не нашёл никаких средств для "табличного" оформления, а скажем в справке фара это сплошь и рядом.
markdown поддерживает встроенный html (просто буквально вставленные куски html), так что в нем оформить можно многое в принципе.
User avatar
Michael Lukashov
Posts: 517
Joined: Mon 23 Jan, 2006 09:38
Has thanked: 6 times
Been thanked: 21 times
Contact:

Re: Конвертер hlf->html (или "Как распечатать Help к FARy")

Post by Michael Lukashov »

+1 за markdown. https://github.com/mojombo/github-flavored-markdown демонстрирует пример использования табличного оформления.
Kildor
Posts: 1515
Joined: Wed 16 Mar, 2005 06:26
Location: Новосибирск
Been thanked: 1 time
Contact:

Re: Конвертер hlf->html (или "Как распечатать Help к FARy")

Post by Kildor »


Две таблицы.
Вообще, из того что я успел понять — маркдаун это такой конструктор лего, и каждый добавляет туда свои фишки, в зависимости от своего желания и умения.
Ты мне не выкай!
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.

xmpp:kildor@jabber.ru
User avatar
Centaur
Posts: 1083
Joined: Tue 05 Apr, 2005 20:09
Location: Novosibirsk, Russia
Been thanked: 2 times

Re: Конвертер hlf->html (или "Как распечатать Help к FARy")

Post by Centaur »

Markdown с кусочками HTML — это уже довольно сложный (для парсинга) язык разметки, обладающий всеми недостатками HTML и добавляющий свои. (В частности, из readme к гитхабовскому диалекту (кстати, наличие диалектов уже само по себе серьёзный недостаток) видно, что в исходной версии подчёркивания внутри слов интерпретировались как выделение курсивом части слова. Решили же проблему костылём — запретили выделять курсивом часть слова, кроме как включением HTML.)
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Конвертер hlf->html (или "Как распечатать Help к FARy")

Post by NightRoman »

Другой вариант предыдущей идеи об альтернативных методах написания хелпа + чтобы и html вариант был. Можно подумать о конвертере незамысловатого html (с определенной структурой, конечно) в hlf.

Тогда любителям html можно писать просто в html, а потом конвертить в hlf. Для любителей же markdown (или чего-то еще, что позволяет получить html) ничего особо не меняется, только схема ваяния такая - markdown (исходник, там собственно сочиняется и пишется хелп) -> html (одним из существующих конвертеров) -> hlf (надо подумать над таким конвертером).
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Конвертер hlf->html (или "Как распечатать Help к FARy")

Post by NightRoman »

Centaur wrote:Markdown с кусочками HTML — это уже довольно сложный (для парсинга) язык разметки, обладающий всеми недостатками HTML и добавляющий свои. ...
Это факт. Только если все это для Фара, то кусочки html будут простые и строго оговоренные (не так уж много в консоли возможностей изобразить это адекватно). Это упрощает ситуацию.
User avatar
John Doe
Бюрократ
Posts: 13862
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 74 times
Been thanked: 428 times
Contact:

Re: Конвертер hlf->html (или "Как распечатать Help к FARy")

Post by John Doe »

Kildor wrote:
Две таблицы.
А это сработает? В доке такого не видел.
Kildor
Posts: 1515
Joined: Wed 16 Mar, 2005 06:26
Location: Новосибирск
Been thanked: 1 time
Contact:

Re: Конвертер hlf->html (или "Как распечатать Help к FARy")

Post by Kildor »

> А это сработает? В доке такого не видел.
В php-маркдауне — работает.
Ты мне не выкай!
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.

xmpp:kildor@jabber.ru
User avatar
John Doe
Бюрократ
Posts: 13862
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 74 times
Been thanked: 428 times
Contact:

Re: Встроенная справка в удобном формате

Post by John Doe »

Кстати да, работают таблички.
Вот тут есть песочница: http://www.toptensoftware.com/markdowndeep/dingus
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Встроенная справка в удобном формате

Post by NightRoman »

Просто для справки, может кому пригодится, MarkdownDeep (там, где эта песочница) - это то, что я в итоге выбрал для работы с маркдауном. Пробовал несколько .NET библиотек, эта лучшая пока (меня полностью устраивает, скажем так). Опенсорс. Есть JavaScript Edition (не пробовал).
Post Reply

Return to “Обсуждение Far Manager”