Ich möchte Verzeichnis- und Dateistrukturen in einigen meiner Jekyll-Blog-Beiträge beschreiben. Bietet Markdown eine gute Möglichkeit, so etwas auszugeben?
Unter diesem Link auf der Jekyll-Website können Sie beispielsweise sehen, dass die Verzeichnis- und Dateistruktur auf der Seite sehr übersichtlich ausgegeben wird:
.
├── _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
Ich glaube, dass die obigen Zeilenblockzeichen Unicode sind (wie in dieser Antwort hier beschrieben ), aber ich bin nicht sicher, wie Markdown oder andere Browser damit umgehen werden. Ich hatte gehofft, dass Markdown eine Möglichkeit dazu enthalten hatte, die vielleicht als Unicode-Zeichen oben ausgegeben wird.
Antworten:
Wenn Sie sich Gedanken über Unicode-Zeichen machen, können Sie die Strukturen mit ASCII erstellen, sodass Ihre Beispielstruktur wird
Dies ähnelt dem Format,
tree
das bei Auswahl derANSI
Ausgabe verwendet wird.quelle
tree
).Ich folgte einem Beispiel in einem anderen Repository und verpackte die Verzeichnisstruktur in ein Paar dreifacher Backticks (
```
):quelle
Sie können einen Baum verwenden , um etwas zu generieren, das Ihrem Beispiel sehr ähnlich ist. Sobald Sie die Ausgabe haben, können Sie sie in ein
<pre>
Tag einschließen, um die Nur-Text-Formatierung beizubehalten.quelle
Wenn Sie VS-Code verwenden, ist dies eine großartige Erweiterung zum Generieren von Dateibäumen. https://marketplace.visualstudio.com/items?itemName=Shinotatwu-DS.file-tree-generator
Direkt zum Markdown hinzugefügt ...
quelle
Ich habe ein Knotenmodul erstellt, um diese Aufgabe zu automatisieren: mddir
Verwendung
Knoten mddir "../relative/path/"
So installieren Sie: npm install mddir -g
So generieren Sie einen Abschlag für das aktuelle Verzeichnis: mddir
So generieren Sie für einen beliebigen absoluten Pfad: mddir / absolute / path
So generieren Sie für einen relativen Pfad: mddir ~ / Documents / Whatever.
Die MD-Datei wird in Ihrem Arbeitsverzeichnis generiert.
Ignoriert derzeit die Ordner node_modules und .git.
Fehlerbehebung
Wenn Sie die Fehlermeldung 'node \ r: Keine solche Datei oder kein solches Verzeichnis' erhalten, besteht das Problem darin, dass Ihr Betriebssystem unterschiedliche Zeilenenden verwendet und mddir diese nicht analysieren kann, ohne dass Sie den Zeilenendenstil explizit auf Unix setzen. Dies betrifft normalerweise Windows, aber auch einige Linux-Versionen. Das Festlegen von Zeilenenden auf den Unix-Stil muss im globalen bin-Ordner mddir npm erfolgen.
Zeilenenden reparieren
Holen Sie sich den npm bin Ordnerpfad mit:
npm config get prefix
CD in diesen Ordner
brauen install dos2unix
dos2unix lib / node_modules / mddir / src / mddir.js
Dadurch werden Zeilenenden in Unix anstelle von Dos konvertiert
Führen Sie dann wie gewohnt aus mit: node mddir "../relative/path/".
Beispiel generierte Markdown-Dateistruktur 'directoryList.md'
quelle
Wie bereits empfohlen, können Sie verwenden
tree
. Für die Verwendung zusammen mit umstrukturiertem Text waren jedoch einige zusätzliche Parameter erforderlich.Die Standardausgabe
tree
wird nicht gedruckt, wenn Sie PDF-Dateienpandoc
erstellen.tree --dirsfirst --charset=ascii /path/to/directory
erzeugt einen schönenASCII
Baum, der wie folgt in Ihr Dokument integriert werden kann:quelle
Ich habe dies für meine Dropbox-Dateiliste geschrieben.
sed
wird zum Entfernen der vollständigen Pfade des nachfolgenden Symbols für verknüpfte Dateien / Ordner verwendet->
Leider gehen Tabs verloren.Mit kannzsh
ich Tabs beibehalten.! / usr / bin / env bashDie Ausgaben wie folgt:
quelle
Wenn Sie den Atom-Editor verwenden, können Sie dies mit dem ASCII-Tree- Paket erreichen.
Sie können den folgenden Baum schreiben:
und konvertieren Sie es in Folgendes, indem Sie es auswählen und drücken
ctrl-alt-t
:quelle
Unter OSX habe
reveal.js
ich ein Rendering-Problem, wenn ich nur Benutzer bintree
und dann die Ausgabe kopiere / einfüge: Es erscheinen seltsame Symbole.Ich habe 2 mögliche Lösungen gefunden.
1) Verwenden Sie charset ascii und kopieren Sie die Ausgabe einfach in die Markdown-Datei
2) Verwenden Sie direkt HTML und Unicode in der Markdown-Datei
Ich hoffe es hilft.
quelle
Ich würde vorschlagen, Wasabi zu verwenden, dann können Sie entweder das Markdown-Gefühl so verwenden
und werfen diese genaue Syntax in der js Bibliothek für diese
quelle
Wenn Sie es dynamisch generieren möchten, empfehle ich die Verwendung von Frontend-md . Es ist einfach zu bedienen.
quelle
Hierfür gibt es ein NPM-Modul:
npm dree
Sie können einen Verzeichnisbaum als Zeichenfolge oder Objekt darstellen. Wenn Sie es mit der Befehlszeile verwenden, können Sie die Darstellung in einer txt-Datei speichern.
Beispiel:
quelle