Page 4 of 6

Re: FarHelpDown — конвертер md -> htm -> hlf

Posted: Mon 19 Mar, 2012 18:39
by NightRoman

Latest post of the previous page:

https://github.com/nightroman/FarHelpDown/downloads
v0.0.22.6 - Lists.

markdown.hrc
* Fixed span stoppers in definition lists.
* Amended ListMark region bounds.

Re: FarHelpDown — конвертер md -> htm -> hlf

Posted: Mon 19 Mar, 2012 18:49
by NightRoman
Начал думать о поддержке таблиц в HLF конвертере. Ничего лучшего не придумывается, чем только пару колонок разрешать. Ширину каждой можно более менее оптимально посчитать, но общая ширина таблицы должна быть фиксированной и довольно узкой, чтобы работать в 80-колоночном окне Фара, да и еще и при неполном окне хелпа. Т.е. 70 колонок (или даже чуть меньше) получается. Вопрос: оно такое надо вообще?

Re: FarHelpDown — конвертер md -> htm -> hlf

Posted: Mon 19 Mar, 2012 18:52
by NightRoman
Впрочем, если не рисовать разделитель колонок таблицы (а хотелось бы..), то можно-таки вторую колонку сделать с заворачивающимся текстом, но для первой колонки тогда придется требовать только очень коротких строк без заворота.

Re: FarHelpDown — конвертер md -> htm -> hlf

Posted: Mon 19 Mar, 2012 18:54
by HaRT
Ответьте профану, а в чём принципиальная сложность-то?
Вот, даже консольные браузеры неплохо вроде поддерживают таблицы…

Re: FarHelpDown — конвертер md -> htm -> hlf

Posted: Mon 19 Mar, 2012 19:00
by NightRoman
HaRT wrote:Ответьте профану, а в чём принципиальная сложность-то?
Вот, даже консольные браузеры неплохо вроде поддерживают таблицы…
Они динамически форматируют текст под текущее окно. А наш случай - другой. Нам надо сгенерить фиксированный HLF файл. Годный для любого окна (то есть минимально возможного, около 70). Фар не будет там таблицы форматировать динамически во время показа.

Re: FarHelpDown — конвертер md -> htm -> hlf

Posted: Mon 19 Mar, 2012 19:12
by HaRT
Ага, ясно. Но тогда откуда ограничение в 2 колонки?
Нам надо отформатировать под фиксированную ширину 70, притом минимизировать надо общую высоту таблицы, перераспределяя слова (а в плохом случае — отдельные символы) между строками.
В ужасном случае на 1 колонку надо 2 знакоместа внутри и 1 — на разделитель справа. Всяко больше 2 колонок поместится.

Re: FarHelpDown — конвертер md -> htm -> hlf

Posted: Mon 19 Mar, 2012 19:18
by NightRoman
Ну можно и больше, да... Но все равно надо рассчитывать на ширину 70, либо делать без разделителей и с заворотом текста только последней колонки.

А о чем вообще писать в хелпе с таблицами в 3+ колонок? Просто юз-кейс какой-нибудь хотелось бы иметь. Не приходит в голову пока.

Re: FarHelpDown — конвертер md -> htm -> hlf

Posted: Mon 19 Mar, 2012 19:32
by HaRT
NightRoman wrote:А о чем вообще писать в хелпе с таблицами в 3+ колонок? Просто юз-кейс какой-нибудь хотелось бы иметь. Не приходит в голову пока.
Что-нибудь типа такого.

Или, скажем, описание, как осуществить какие-то действия с помощью клавиатуры и с помощью мыши.

Re: FarHelpDown — конвертер md -> htm -> hlf

Posted: Mon 19 Mar, 2012 20:17
by NightRoman
А. Хорошо. Первый пример подпадает под заворачивать только последнюю колонку. Второй под 2-ю и 3-ю (жестко). ОК, буду думать дальше. Таблицы пригодятся, конечно. Кстати, как они в маркдауне реализованы - это не очень это удобно для длинных текстов. Но инлайн HTML тоже возможен на худой конец.

Re: FarHelpDown — конвертер md -> htm -> hlf

Posted: Tue 20 Mar, 2012 08:01
by John Doe
HaRT wrote:Что-нибудь типа такого.
Или, скажем, описание, как осуществить какие-то действия с помощью клавиатуры и с помощью мыши.
Придумать можно разного, но на практике почему-то больше 2х колонок никто не использует. Я про реальные *.hlf

Зато в правой колонке бывает выравнивание по правому краю.
Не знаю надо ли это поддерживать в md, но обратите внимание.

Re: FarHelpDown — конвертер md -> htm -> hlf

Posted: Tue 20 Mar, 2012 11:57
by NightRoman
Выравнивание-то не проблема, и у маркдауна в таблицах этот синтакс есть. В общем, подумаю еще, 2 колонки поддерживать или 2+ (и вообще таблицы, ха-ха).

Сами таблицы в маркдауне весьма примитивные, оказывается (или я не знаю продвинутый синтаксис). Взамен HTML таблицы иной раз имеет смысл пользовать для длинных текстов, иначе придется в редакторе длинные строки иметь, что в Фаре не очень удобно.

Re: FarHelpDown — конвертер md -> htm -> hlf

Posted: Tue 20 Mar, 2012 12:37
by John Doe
Большинство таких простых таблиц (как в справке фара) семантически представляют собой definition lists.
Именно семантически, но ведь и визуально definition list можно изобразить таблицей (с помощью стилей).

Re: FarHelpDown — конвертер md -> htm -> hlf

Posted: Tue 20 Mar, 2012 12:51
by NightRoman
Думал об этом. Мысль стоящая. Причем, списки определений удобно набирать в маркдауне, не то что таблицы. Подумаю, но это уже получается конвенция, да и вид в броузере (без стилей) будет отличаться существенно от хелп вьюера. Такие отличия и конвенции надо бы минимизировать (но не обязательно сводить к 0, конечно).

Re: FarHelpDown — конвертер md -> htm -> hlf

Posted: Tue 20 Mar, 2012 13:00
by John Doe
А в md нельзя аккуратненько класс указать?
Чтобы всё было "по-честному", без конвенций.

Re: FarHelpDown — конвертер md -> htm -> hlf

Posted: Tue 20 Mar, 2012 13:15
by NightRoman
Не знаю, наверное, можно (так или сяк). Но это уже рокет-сайенс получается. Но все же учту и эту возможность. В общем, все равно еще надо думать, путей сильно больше одного.

Re: FarHelpDown — конвертер md -> htm -> hlf

Posted: Tue 20 Mar, 2012 18:32
by NightRoman
https://github.com/nightroman/FarHelpDown/downloads
v0.0.22.7 - Nested lists up to level 3 support all features
(речь о схеме markdown.hrc, хелп-конвертер не поддерживает вложенные списки)

В итоге схема markdown.hrc теперь делает все, что от нее было задумано получить, со следующими оговорками:

* Inline HTML should be valid XML.
* Opened spans are always colored.
* Blockquote contents is not parsed.
* List levels 4: only items are parsed.
* List levels 5+: all is colored as code.
* List levels: 4, 8, 12 spaces or 1, 2, 3 tabs.

Дальше будет в основном оптимизация и вылавливание ошибок, можно начинать жаловаться на них.