Saya ingin menggambarkan directory & struktur file dalam beberapa Jekyll posting blog, apakah Penurunan harga menyediakan cara yang rapi keluaran hal seperti itu?
Misalnya, anda dapat melihat di link ini pada Jekyll web direktori & struktur file merupakan output pada halaman sangat rapi:
.
├── _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
Saya percaya garis blok karakter di atas adalah Unicode (seperti yang dijelaskan di jawaban ini here), tetapi tidak yakin bagaimana Penurunan harga atau browser yang berbeda akan menangani mereka. Saya berharap bahwa Penurunan harga sudah termasuk beberapa cara untuk melakukan hal ini yang output sebagai karakter Unicode di atas mungkin.
Aku mengikuti contoh di repositori lain dan dibungkus struktur direktori di dalam pasangan triple backticks (``
):
project
│ README.md
│ file001.txt
│
└───folder1
│ │ file011.txt
│ │ file012.txt
│ │
│ └───subfolder1
│ │ file111.txt
│ │ file112.txt
│ │ ...
│
└───folder2
│ file021.txt
│ file022.txt
Jika anda prihatin tentang karakter Unicode anda dapat menggunakan ASCII untuk membangun struktur, sehingga anda contoh struktur menjadi
.
+-- _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
Yang mirip dengan format pohon
menggunakan jika anda memilih ANSI
output.
Saya membuat sebuah node modul untuk mengotomatisasi tugas ini: mddir
node mddir "../kerabat/path/"
Untuk menginstal: npm install mddir -g
Untuk menghasilkan penurunan harga untuk direktori saat ini: mddir
Untuk menghasilkan untuk setiap path absolut: mddir /mutlak/path
Untuk menghasilkan untuk path relatif: mddir ~/Dokumen/apapun.
Md file yang akan dihasilkan dalam direktori kerja anda.
Saat ini mengabaikan node_modules, dan .git folder.
Jika anda menerima kesalahan 'node\r: Tidak ada berkas atau direktori', masalah adalah bahwa anda menggunakan sistem operasi yang berbeda akhir baris dan mddir dapat't mengurai mereka tanpa anda secara eksplisit menetapkan garis akhir gaya Unix. Ini biasanya mempengaruhi Windows, tetapi juga beberapa versi dari Linux. Pengaturan akhir baris untuk Unix gaya harus dilakukan dalam mddir npm global bin folder.
Dapatkan npm bin path folder dengan:
npm config mendapatkan awalan
Cd ke folder itu
minuman menginstal dos2unix
dos2unix lib/node_modules/mddir/src/mddir.js
Ini mengkonversi akhir baris untuk Unix bukan Dos
Kemudian jalankan seperti biasa dengan: node mddir "../kerabat/path/".
|-- .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
Seperti yang sudah dianjurkan, anda dapat menggunakan pohon
. Tapi untuk menggunakannya bersama-sama dengan direstrukturisasi teks beberapa parameter tambahan yang diperlukan.
Standar pohon
output tidak akan dicetak jika anda're menggunakan pandoc
untuk menghasilkan pdf.
pohon-dirsfirst --charset=ascii /path/ke/direktori
akan menghasilkan yang bagus ASCII
pohon yang dapat diintegrasikan ke dalam dokumen anda seperti ini:
.. 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
Saya scripted ini untuk Dropbox saya daftar file.
sed
ini digunakan untuk menghapus jalan penuh dari symlink file/folder path datang setelah ->
Sayangnya, tab yang hilang. Menggunakan zsh
saya mampu melestarikan tab.
!/usr/bin/env bash
#!/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
Output seperti ini:
. ├── 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
Jika anda're menggunakan LENSA dengan Kode, ini adalah aplikasi yang mengagumkan ekstensi untuk menghasilkan file pohon. https://marketplace.visualstudio.com/items?itemName=Shinotatwu-DS.file-tree-generator
Ditambahkan langsung ke penurunan harga...
📦quakehunter ┣ 📂klien ┣ 📂node_modules ┣ 📂server ┃ ┗ 📜index.js ┣ 📜.gitignore ┣ 📜paket-lock.json ┗ 📜paket.json
Jika anda're menggunakan Atom editor, anda dapat mencapai ini dengan ascii-pohon paket.
Anda dapat menulis pohon berikut:
root
+-- dir1
+--file1
+-- dir2
+-- file2
dan mengubahnya berikut dengan memilih dan menekan ctrl-alt-t
:
root
├── dir1
│ └── file1
└── dir2
└── file2
Di bawah OSX, menggunakan reveal.js
saya punya masalah render jika saya hanya pengguna pohon
dan kemudian copy/paste output: simbol-simbol yang aneh muncul.
Saya telah menemukan 2 solusi yang mungkin.
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>
Semoga membantu.
I'd sarankan menggunakan wasabi maka anda bisa menggunakan markdown-ish merasa seperti ini
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
dan membuang yang tepat sintaks di js library untuk ini
Jika anda ingin menghasilkan itu dinamis, saya sarankan menggunakan Frontend-md. Hal ini sederhana untuk menggunakan.