Quiero describir las estructuras de directorios y archivos en algunas de mis publicaciones de blog de Jekyll, ¿Markdown proporciona una forma ordenada de generar tal cosa?
Por ejemplo, puede ver en este enlace en el sitio web de Jekyll que la estructura de directorios y archivos se muestra en la página de manera muy clara:
.
├── _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
Creo que los caracteres de bloque de línea anteriores son Unicode (como se describe en esta respuesta aquí ), pero no estoy seguro de cómo Markdown o los diferentes navegadores los manejarán. Tenía la esperanza de que Markdown había incluido alguna forma de hacer esto que se muestra como los caracteres Unicode anteriores tal vez.
Respuestas:
Si le preocupan los caracteres Unicode, puede usar ASCII para construir las estructuras, por lo que su estructura de ejemplo se convierte en
Que es similar al formato que
tree
utiliza si selecciona laANSI
salida.fuente
tree
).Seguí un ejemplo en otro repositorio y envolví la estructura del directorio dentro de un par de triples tics (
```
):fuente
Puedes usar el árbol para generar algo muy similar a tu ejemplo. Una vez que tenga el resultado, puede envolverlo en una
<pre>
etiqueta para preservar el formato de texto sin formato.fuente
Si está utilizando VS Code, esta es una extensión increíble para generar árboles de archivos. https://marketplace.visualstudio.com/items?itemName=Shinotatwu-DS.file-tree-generator
Agregado directamente a Markdown ...
fuente
Hice un módulo de nodo para automatizar esta tarea: mddir
Uso
nodo mddir "../relative/path/"
Para instalar: npm install mddir -g
Para generar rebajas para el directorio actual: mddir
Para generar para cualquier ruta absoluta: mddir / absolute / path
Para generar una ruta relativa: mddir ~ / Documentos / lo que sea.
El archivo md se genera en su directorio de trabajo.
Actualmente ignora los módulos node_modules y .git.
Solución de problemas
Si recibe el error 'nodo \ r: No existe tal archivo o directorio', el problema es que su sistema operativo utiliza diferentes finales de línea y mddir no puede analizarlos sin que configure explícitamente el estilo de final de línea en Unix. Esto generalmente afecta a Windows, pero también a algunas versiones de Linux. La configuración de los finales de línea al estilo Unix debe realizarse dentro de la carpeta bin global mddir npm.
Fijación de terminaciones de línea
Obtenga la ruta de la carpeta bin de npm con:
npm config get prefix
Cd en esa carpeta
instalar brew dos2unix
dos2unix lib / node_modules / mddir / src / mddir.js
Esto convierte las terminaciones de línea a Unix en lugar de Dos
Luego, ejecute normalmente con: node mddir "../relative/path/".
Ejemplo generado estructura de archivo de rebajas 'directorioLista.md'
fuente
Como ya se recomienda, puede usar
tree
. Pero para usarlo junto con texto reestructurado se requerían algunos parámetros adicionales.El
tree
resultado estándar no se imprimirá si está utilizandopandoc
para producir pdf.tree --dirsfirst --charset=ascii /path/to/directory
producirá un bonitoASCII
árbol que se puede integrar en su documento de esta manera:fuente
Escribí esto para mi lista de archivos de Dropbox.
sed
se utiliza para eliminar rutas completas de ruta de archivo / carpeta con enlace simbólico después->
Lamentablemente, las pestañas se pierden.Utilizandozsh
puedo preservar pestañas.! / usr / bin / env bashLas salidas como esta:
fuente
Si está utilizando el editor Atom, puede lograr esto con el paquete ascii-tree .
Puedes escribir el siguiente árbol:
y conviértalo al siguiente seleccionándolo y presionando
ctrl-alt-t
:fuente
Bajo OSX, usando
reveal.js
, tengo un problema de representación si solo usotree
y luego copio / pego la salida: aparecen símbolos extraños.He encontrado 2 posibles soluciones.
1) Use charset ascii y simplemente copie / pegue la salida en el archivo de descuento
2) Use directamente HTML y Unicode en el archivo de descuento
Espero eso ayude.
fuente
Sugeriría usar wasabi, entonces puedes usar la sensación de markdown-ish de esta manera
y lanzar esa sintaxis exacta a la biblioteca js para esto
fuente
Si desea generarlo dinámicamente, le recomiendo usar Frontend-md . Es simple de usar.
fuente
Hay un módulo NPM para esto:
npm dree
Le permite tener una representación de un árbol de directorios como una cadena o un objeto. Usarlo con la línea de comando le permitirá guardar la representación en un archivo txt.
Ejemplo:
fuente