nightroman / FarNet

Far Manager framework for .NET modules and scripts in PowerShell, F#, JavaScript.
https://github.com/nightroman/FarNet/wiki
BSD 3-Clause "New" or "Revised" License
136 stars 19 forks source link

HtmlToFarHelp: нюансы со вложенными списками #55

Closed johnd0e closed 5 months ago

johnd0e commented 5 months ago
<ul>
<li>Внешний список
  <ul>
  <li>Вложенный список</li>
  </ul>
  Продолжение элемента внешнего списка
</li>
<li>Следующий элемент внешнего списка</li>
</ul>
   • §¦Внешний список

       • §¦Вложенный список

  Продолжение элемента внешнего списка
   • §¦Следующий элемент внешнего списка
nightroman commented 5 months ago

Не уверен, что буду с этим разбираться. Нужен исходный маркдаун, а не хтмл. Хотя название продукта и HtmlToFarHelp, цель его - конвертация маркдауна в хелп, а не какого-то произвольного хтмл в хелп.

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

nightroman commented 5 months ago

For example, this markdown, reasonably composed manually

# Contents

- Внешний список

    - Вложенный список

    Продолжение элемента внешнего списка

- Следующий элемент внешнего списка

is converted to this reasonable HLF

@Contents
$ #Contents#

   • §¦Внешний список

       • §¦Вложенный список

     §¦Продолжение элемента внешнего списка

   • §¦Следующий элемент внешнего списка
johnd0e commented 5 months ago

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

Пример в первом сообщении был намеренно упрощён, и в действительности я столкнулся с этим именно при конвертации из маркдауна.

Предложенное вами форматирование к сожалению приведёт к тому, что элементы списков будут обрамлены ещё и в \<p>, а в hlf соответственно разделит их дополнительной пустой строкой, что нежелательно, поскольку хочется уместить весь текст статьи на одном экране.

nightroman commented 5 months ago

Закрою тикет, если нет какого-то чего-то простого предложения, что можно сделать. Вложенные списки с параграфами - это сложно, некогда.

johnd0e commented 5 months ago

Вложенные списки с параграфами - это сложно, некогда.

"Некогда" я могу понять, хотя тикет мог бы и открытым побыть в этом случае. Только хочу уточнить, что никаких параграфов в моём примере нет, только голые ul+li. Пример исходного md можно увидеть тут https://github.com/nightroman/FarNet/issues/56#issuecomment-2119022392.

Реальный же образец содержит не div а details, но сути это не меняет (details я скриптом убираю, поскольку HtmlToFarHelp его не понимает).

nightroman commented 5 months ago

Не чтобы спорить, а для понимания (нашего общего). Мой пример мд превращается в такой хтмл

<h1 id="contents">Contents</h1>
<ul>
<li><p>Внешний список</p>
<ul>
<li>Вложенный список</li>
</ul>
<p>Продолжение элемента внешнего списка</p></li>
<li><p>Следующий элемент внешнего списка</p></li>
</ul>

Параграфы есть.

nightroman commented 5 months ago

"Некогда" я могу понять, хотя тикет мог бы и открытым побыть в этом случае.

Понимаю логику не закрывания не сделанного тикета. Но у меня другая бухгалтерия -- то, что не будет делаться, не должно быть открытым. Тикеты в моих проектах - это список активных задач.

johnd0e commented 5 months ago

Параграфы есть.

Pandoc добавляет параграфы в случае если элементы списка разделены пустой строкой. Мой пример по ссылке выше не содержит пустых строк, и поэтому pandoc не заключает элементы списка в параграфы.

Html из первого сообщения создан pandoc. К сожалению HtmlToFarHelp на нём спотыкается.