Mewakili Direktori & Struktur File di Markdown Syntax

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.

Mengomentari pertanyaan (2)

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

Komentar (3)
Larutan

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.

Komentar (4)

Anda dapat menggunakan pohon untuk menghasilkan sesuatu yang sangat mirip dengan anda contoh. Setelah anda memiliki output, anda dapat membungkusnya dalam sebuah <pre> tag untuk melestarikan plain text format.

Komentar (2)

Saya membuat sebuah node modul untuk mengotomatisasi tugas ini: mddir

Penggunaan

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.

Pemecahan masalah

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.

Akhir baris memperbaiki

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/".

Contoh dihasilkan penurunan harga struktur file 'directoryList.md'

    |-- .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
Komentar (2)

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
Komentar (0)

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
Komentar (0)

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

Komentar (0)

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
Komentar (0)

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.

  1. Menggunakan set karakter ascii dan hanya copy/paste output dalam file markdown
tree -L 1 --charset=ascii
  1. Penggunaan langsung HTML dan unicode di markdown file
<pre>
.
⊢ README.md
⊢ docs
⊢ e2e
⊢ karma.conf.js
⊢ node_modules
⊢ package.json
⊢ protractor.conf.js
⊢ src
⊢ tsconfig.json
⌙ tslint.json
</pre>

Semoga membantu.

Komentar (0)

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

Komentar (0)

Jika anda ingin menghasilkan itu dinamis, saya sarankan menggunakan Frontend-md. Hal ini sederhana untuk menggunakan.

Komentar (0)