Je veux décrire les structures de répertoires et de fichiers dans certains de mes articles de blog Jekyll, Markdown offre-t-il une manière soignée de produire une telle chose?
Par exemple, vous pouvez voir sur ce lien sur le site Web de Jekyll que la structure des répertoires et des fichiers est très bien affichée sur la page:
.
├── _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
Je crois que les caractères de bloc de ligne ci-dessus sont Unicode (comme décrit dans cette réponse ici ), mais je ne sais pas comment Markdown ou différents navigateurs les traiteront. J'espérais que Markdown avait inclus un moyen de le faire qui produirait peut-être les caractères Unicode ci-dessus.
Réponses:
Si vous êtes préoccupé par les caractères Unicode, vous pouvez utiliser ASCII pour créer les structures, de sorte que votre exemple de structure devient
Ce qui est similaire au format
tree
utilisé si vous sélectionnez laANSI
sortie.la source
tree
).J'ai suivi un exemple dans un autre référentiel et j'ai encapsulé la structure du répertoire dans une paire de triples backticks (
```
):la source
Vous pouvez utiliser l' arborescence pour générer quelque chose de très similaire à votre exemple. Une fois que vous avez la sortie, vous pouvez l'envelopper dans une
<pre>
balise pour conserver la mise en forme du texte brut.la source
Si vous utilisez VS Code, il s'agit d'une extension géniale pour générer des arborescences de fichiers. https://marketplace.visualstudio.com/items?itemName=Shinotatwu-DS.file-tree-generator
Ajouté directement à la démarque ...
la source
J'ai fait un module de noeud pour automatiser cette tâche: mddir
Usage
noeud mddir "../relative/path/"
Pour installer: npm install mddir -g
Pour générer une démarque pour le répertoire actuel: mddir
Pour générer pour tout chemin absolu: mddir / absolu / chemin
Pour générer un chemin relatif: mddir ~ / Documents / que ce soit.
Le fichier md est généré dans votre répertoire de travail.
Ignore actuellement les modules node_modules et .git.
Dépannage
Si vous recevez l'erreur «nœud \ r: aucun fichier ou répertoire», le problème est que votre système d'exploitation utilise différentes fins de ligne et mddir ne peut pas les analyser sans que vous définissiez explicitement le style de fin de ligne sur Unix. Cela affecte généralement Windows, mais aussi certaines versions de Linux. La définition des fins de ligne sur le style Unix doit être effectuée dans le dossier bin global mddir npm.
Correction des fins de ligne
Obtenez le chemin du dossier bin npm avec:
npm config get prefix
Cd dans ce dossier
installer brew dos2unix
dos2unix lib / node_modules / mddir / src / mddir.js
Cela convertit les fins de ligne en Unix au lieu de Dos
Exécutez ensuite normalement avec: node mddir "../relative/path/".
Exemple de structure de fichier de démarque générée 'directoryList.md'
la source
Comme déjà recommandé, vous pouvez utiliser
tree
. Mais pour l'utiliser avec du texte restructuré, certains paramètres supplémentaires étaient nécessaires.La
tree
sortie standard ne sera pas imprimée si vous l'utilisezpandoc
pour produire un pdf.tree --dirsfirst --charset=ascii /path/to/directory
produira un joliASCII
arbre qui peut être intégré dans votre document comme ceci:la source
J'ai écrit ceci pour ma liste de fichiers Dropbox.
sed
est utilisé pour supprimer les chemins d'accès complets des chemins de fichiers / dossiers liés entre eux après->
Malheureusement, les onglets sont perdus.En utilisantzsh
je suis en mesure de conserver les onglets.! / usr / bin / env bashLes sorties comme ceci:
la source
Si vous utilisez l'éditeur Atom, vous pouvez le faire avec le package ascii-tree .
Vous pouvez écrire l'arborescence suivante:
et convertissez-le comme suit en le sélectionnant et en appuyant sur
ctrl-alt-t
:la source
Sous OSX, en utilisant
reveal.js
, j'ai un problème de rendu si je ne fais qu'utilisertree
puis copier / coller la sortie: des symboles étranges apparaissent.J'ai trouvé 2 solutions possibles.
1) Utilisez charset ascii et copiez / collez simplement la sortie dans le fichier de démarque
2) Utilisez directement HTML et unicode dans le fichier de démarque
J'espère que ça aide.
la source
Je suggérerais d'utiliser le wasabi, alors vous pouvez utiliser la sensation de démarque comme ceci
et jeter cette syntaxe exacte à la bibliothèque js pour cette
la source
Si vous souhaitez le générer dynamiquement, je vous recommande d'utiliser Frontend-md . C'est simple à utiliser.
la source
Il existe un module NPM pour cela:
npm dree
Il vous permet d'avoir une représentation d'une arborescence de répertoires sous forme de chaîne ou d'objet. Son utilisation avec la ligne de commande vous permettra d'enregistrer la représentation dans un fichier txt.
Exemple:
la source