Я хочу описать &амп каталог; файловые структуры в некоторых из моих постов в блоге Джекил, ли уценке обеспечить аккуратный способ выводить такие вещи?
Например, вы можете увидеть по этой ссылке на Джекилл сайт что каталог & файловая структура выводится на странице очень аккуратно:
.
├── _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
Я считаю, что линия блока символов выше Юникод (как описано в разделе Этот вариант ответа here), но не знаете, как Markdown или разные браузеры будут обрабатывать их. Я надеялся, что уценки включил какой-то способ сделать это, который выводит в качестве символов Unicode, выше возможно.
Я последовал за пример в другой репозиторий и завернул структуру каталогов в паре-тройке обратные кавычки (<код>в
</код>):
project
│ README.md
│ file001.txt
│
└───folder1
│ │ file011.txt
│ │ file012.txt
│ │
│ └───subfolder1
│ │ file111.txt
│ │ file112.txt
│ │ ...
│
└───folder2
│ file021.txt
│ file022.txt
Если вы беспокоитесь о символах Юникода в ASCII можно использовать для построения структуры, так что ваш пример структура становится
.
+-- _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
Который похож на формат "дерево" использует при выборе Анси
выход.
Вы можете использовать дерево, чтобы создать нечто очень похожее на ваш пример. Если у вас есть выход, вы можете обернуть его в `<предварительно> тег для сохранения простого форматирования текста.
Я сделал узел модуля для автоматизации этой задачи: mddir
Использование #
узел mddir и"../относительный/путь/тогда"
Для установки: НПМ установки mddir -г
Для создания уценки для текущего каталога: mddir
Создать для любой абсолютный путь: mddir /абсолютный/путь
Создать для относительный путь: mddir ~/документы/что угодно.
Файл MD генерируется в вашем рабочем каталоге.
В настоящее время игнорирует папки node_modules, а .папки в Git.
Устранение неполадок
Если вы получаете ошибку 'узел\Р: Нет такого файла или каталога', вопрос в том, что ваша операционная система использует разные символы конца строки и mddir можете'т разобрать их без явного параметра в конец строки в Unix. Это обычно влияет на Windows, но и некоторые версии Linux. Установка окончания строк в стиле Unix должен быть выполнен в папку mddir НПМ глобальной бин.
Линия # окончаний исправить
Вам НПМ ОГРН путь к папке с:
НПМ конфиг сделать префикс
Компакт-диск в эту папку
самогон установите dos2unix
dos2unix lib/node_modules/mddir/src/mddir.js
Это преобразует окончания строк в Unix вместо Дос
Затем выполните как нормально с: узел mddir " от../относительный/путь/то".
|-- .bowerrc
|-- .jshintrc
|-- .jshintrc2
|-- Gruntfile.js
|-- README.md
|-- bower.json
|-- karma.conf.js
|-- package.json
|-- app
|-- app.js
|-- db.js
|-- directoryList.md
|-- index.html
|-- mddir.js
|-- routing.js
|-- server.js
|-- _api
|-- api.groups.js
|-- api.posts.js
|-- api.users.js
|-- api.widgets.js
|-- _components
|-- directives
|-- directives.module.js
|-- vendor
|-- directive.draganddrop.js
|-- helpers
|-- helpers.module.js
|-- proprietary
|-- factory.actionDispatcher.js
|-- services
|-- services.cardTemplates.js
|-- services.cards.js
|-- services.groups.js
|-- services.posts.js
|-- services.users.js
|-- services.widgets.js
|-- _mocks
|-- mocks.groups.js
|-- mocks.posts.js
|-- mocks.users.js
|-- mocks.widgets.js
Как уже рекомендовали, можно использовать "дерево". Но для использования его вместе с измененной структурой текста требуются некоторые дополнительные параметры.
Стандартное "дерево" выходные данные не печатаются, если у вас'вновь с помощью pandoc для создания PDF.
дерево --dirsfirst --кодировка=символы ASCII /путь/к/директориибудет производить хороший
в кодировке ASCII` дерево, которое может быть интегрирован в документ такой:
.. code::
.
|-- ContentStore
| |-- de-DE
| | |-- art.mshc
| | |-- artnoloc.mshc
| | |-- clientserver.mshc
| | |-- noarm.mshc
| | |-- resources.mshc
| | `-- windowsclient.mshc
| `-- en-US
| |-- art.mshc
| |-- artnoloc.mshc
| |-- clientserver.mshc
| |-- noarm.mshc
| |-- resources.mshc
| `-- windowsclient.mshc
`-- IndexStore
|-- de-DE
| |-- art.mshi
| |-- artnoloc.mshi
| |-- clientserver.mshi
| |-- noarm.mshi
| |-- resources.mshi
| `-- windowsclient.mshi
`-- en-US
|-- art.mshi
|-- artnoloc.mshi
|-- clientserver.mshi
|-- noarm.mshi
|-- resources.mshi
`-- windowsclient.mshi
Я вписал это в моем списке файл Dropbox.
ООО
используется для удаления полный путь указывает символьная ссылка файл/путь к папке идет после ->
в <ы>к сожалению, вкладки теряются.</с> с помощью ЗШ
я могу сохранить вкладки.
в <ы>!/usr/Бен/ОКР Баш</с>
#!/usr/bin/env zsh
F1='index-2.md' #With hyperlinks
F2='index.md'
if [ -e $F1 ];then
rm $F1
fi
if [ -e $F2 ];then
rm $F2
fi
DATA=`tree --dirsfirst -t -Rl --noreport | \
sed 's/->.*$//g'` # Remove symlink adress and ->
echo -e '```\n' ${DATA} '\n```' > $F1 # Markdown needs triple back ticks for <pre>
# With the power of piping, creating HTML tree than pipe it
# to html2markdown program, creates cool markdown file with hyperlinks.
DATA=`tree --dirsfirst -t -Rl --noreport -H http://guneysu.pancakeapps.com`
echo $DATA | \
sed 's/\r\r/\n/g' | \
html2markdown | \
sed '/^\s*$/d' | \
sed 's/\# Directory Tree//g' | \
> $F2
Выходы вроде этого:
. ├── 2013 │ └── index.markdown ├── 2014 │ └── index.markdown ├── 2015 │ └── index.markdown ├── _posts │ └── 2014-12-27-2014-yili-degerlendirmesi.markdown ├── _stash └── update.sh
[BASE_URL/](BASE_URL/)
├── [2013](BASE_URL/2013/)
│ └── [index.markdown](BASE_URL/2013/index.markdown)
├── [2014](BASE_URL/2014/)
│ └── [index.markdown](BASE_URL/2014/index.markdown)
├── [2015](BASE_URL/2015/)
│ └── [index.markdown](BASE_URL/2015/index.markdown)
├── [_posts](BASE_URL/_posts/)
│ └── [2014-12-27-2014-yili-degerlendirmesi.markdown](_posts/2014-12-27-2014-yili-degerlendirmesi.markdown)
├── [_stash](BASE_URL/_stash/)
├── [index-2.md](BASE_URL/index-2.md)
└── [update.sh](BASE_URL/update.sh)
* * *
tree v1.6.0 © 1996 - 2011 by Steve Baker and Thomas Moore
HTML output hacked and copyleft © 1998 by Francesc Rocher
Charsets / OS/2 support © 2001 by Kyosuke Tokoro
Если вы're, используя код против, это потрясающее расширение для генерации файла деревьев. https://marketplace.visualstudio.com/items?itemName=Shinotatwu-DS.file-tree-generator
Добавлять непосредственно в уценке...
📦quakehunter ┣ 📂клиент ┣ 📂папки node_modules ┣ 📂сервер ┃ ┗ 📜index.js ┣ 📜.гитюдного ┣ 📜пакет-замок.в JSON ┗ 📜упаковка.в JSON
Если вы're через Атом Редактор, вы можете сделать это [в ASCII-дерево(пакет https://atom.io/packages/ascii-tree).
Вы можете написать следующее дерево:
root
+-- dir1
+--file1
+-- dir2
+-- file2
и преобразовать его к следующему, выбрав его и нажав клавиши Ctrl-альт-Т`:
root
├── dir1
│ └── file1
└── dir2
└── file2
Под OSX, используя reveal.js
, у меня проблема с отображением, если я просто пользователь дерево
, а затем копировать/вставить выходные данные: появляются странные символы.
Я нашел 2 возможных решения.
tree -L 1 --charset=ascii
<pre>
.
⊢ README.md
⊢ docs
⊢ e2e
⊢ karma.conf.js
⊢ node_modules
⊢ package.json
⊢ protractor.conf.js
⊢ src
⊢ tsconfig.json
⌙ tslint.json
</pre>
Надеюсь, что это помогает.
Я'd предлагает, используя васаби затем вы можете либо использовать уценки-иш чувствовать себя такой
root/ # entry comments can be inline after a '#'
# or on their own line, also after a '#'
readme.md # a child of, 'root/', it's indented
# under its parent.
usage.md # indented syntax is nice for small projects
# and short comments.
src/ # directories MUST be identified with a '/'
fileOne.txt # files don't need any notation
fileTwo* # '*' can identify executables
fileThree@ # '@' can identify symlinks
и бросить, что точный синтаксис в библиотеке JS для этой
Если вы хотите создать его динамически, я рекомендую использовать фронтенд-МД. Он прост в использовании.