Я хочу описать структуру каталогов и файлов в некоторых моих сообщениях в блоге Jekyll. Предоставляет ли Markdown удобный способ вывода такой вещи?
Например, по этой ссылке на веб-сайте Jekyll вы можете видеть, что структура каталогов и файлов выводится на страницу очень аккуратно:
.
├── _config.yml
├── _drafts
│ ├── begin-with-the-crazy-ideas.textile
│ └── on-simplicity-in-technology.markdown
├── _includes
│ ├── footer.html
│ └── header.html
├── _layouts
│ ├── default.html
│ └── post.html
├── _posts
│ ├── 2007-10-29-why-every-programmer-should-play-nethack.textile
│ └── 2009-04-26-barcamp-boston-4-roundup.textile
├── _data
│ └── members.yml
├── _site
└── index.html
Я полагаю, что символы блока строк выше - это Unicode (как описано в этом ответе здесь ), но я не уверен, как Markdown или другие браузеры будут их обрабатывать. Я надеялся, что Markdown включил какой-то способ сделать это, что, возможно, выводит в качестве символов Unicode выше.
Ответы:
Если вас интересуют символы Юникода, вы можете использовать ASCII для построения структур, поэтому ваш пример структуры становится
Который похож на формат
tree
использует, если вы выбираетеANSI
выход.источник
tree
).Я последовал примеру в другом репозитории и обернул структуру каталогов в пару тройных обратных галочек (
```
):источник
Вы можете использовать дерево, чтобы сгенерировать что-то очень похожее на ваш пример. Получив выходные данные, вы можете заключить их в
<pre>
тег, чтобы сохранить форматирование простого текста.источник
Если вы используете VS Code, это отличное расширение для генерации файловых деревьев. https://marketplace.visualstudio.com/items?itemName=Shinotatwu-DS.file-tree-generator
Добавлено прямо в уценку ...
источник
Я сделал модуль узла для автоматизации этой задачи: mddir
использование
узел mddir "../relative/path/"
Для установки: npm установите mddir -g
Чтобы создать уценку для текущего каталога: mddir
Чтобы сгенерировать для любого абсолютного пути: mddir / absolute / path
Чтобы сгенерировать относительный путь: mddir ~ / Documents / what.
MD-файл генерируется в вашем рабочем каталоге.
В настоящее время игнорирует node_modules и папки .git.
Исправление проблем
Если вы получаете сообщение об ошибке «узел \ r: нет такого файла или каталога», проблема заключается в том, что ваша операционная система использует разные окончания строк, и mddir не сможет их проанализировать, если вы явно не зададите стиль окончания строк в Unix. Обычно это влияет на Windows, но также и на некоторые версии Linux. Установка конца строки в стиле Unix должна выполняться в глобальной папке bin mddir npm.
Исправление концов строки
Получить путь к папке npm bin с помощью:
npm config get prefix
Компакт-диск в эту папку
заварить установить dos2unix
dos2unix lib / node_modules / mddir / src / mddir.js
Это преобразует окончания строк в Unix вместо Dos
Затем запустите как обычно с: node mddir "../relative/path/".
Пример сгенерированной структуры файла уценки 'directoryList.md'
источник
Как уже рекомендовано, вы можете использовать
tree
. Но для использования его вместе с реструктурированным текстом потребовались дополнительные параметры.Стандартный
tree
вывод не будет напечатан, если вы используетеpandoc
для создания PDF.tree --dirsfirst --charset=ascii /path/to/directory
создаст красивоеASCII
дерево, которое может быть интегрировано в ваш документ следующим образом:источник
Я написал это для своего списка файлов Dropbox.
sed
используется для удаления полных путей пути к файлу / папке с символической ссылкой после->
К сожалению, вкладки потеряны.Используяzsh
я могу сохранить вкладки.! / usr / bin / env bashВыходы как это:
источник
Если вы используете редактор Atom, вы можете сделать это с помощью пакета ascii-tree .
Вы можете написать следующее дерево:
и преобразовать его в следующее, выбрав его и нажав
ctrl-alt-t
:источник
При использовании OSX
reveal.js
у меня возникает проблема рендеринга, если я просто использую пользователь,tree
а затем копирую / вставляю вывод: появляются странные символы.Я нашел 2 возможных решения.
1) Используйте кодировку ascii и просто скопируйте / вставьте вывод в файл уценки
2) Используйте непосредственно HTML и Unicode в файле уценки
Надеюсь, поможет.
источник
Я бы посоветовал использовать васаби, тогда вы можете либо использовать markdown-ish так
и бросить этот точный синтаксис в библиотеке JS для этого
источник
Если вы хотите генерировать его динамически, я рекомендую использовать Frontend-md . Это просто в использовании.
источник
Для этого есть модуль NPM:
нпм дри
Это позволяет вам иметь представление дерева каталогов в виде строки или объекта. Использование его с командной строкой позволит вам сохранить представление в текстовом файле.
Пример:
источник