Quero descrever as estruturas de diretórios e arquivos em alguns dos meus posts no Jekyll. O Markdown fornece uma maneira elegante de produzir uma coisa dessas?
Por exemplo, você pode ver neste link no site da Jekyll que a estrutura de diretórios e arquivos é impressa na página muito bem:
.
├── _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
Acredito que os caracteres do bloco de linhas acima sejam Unicode (conforme descrito nesta resposta aqui ), mas não tenho certeza de como o Markdown ou diferentes navegadores os manipularão. Eu esperava que o Markdown tivesse incluído alguma maneira de fazer isso, que gera os caracteres Unicode acima, talvez.
Respostas:
Se você estiver preocupado com caracteres Unicode, poderá usar ASCII para construir as estruturas, para que sua estrutura de exemplo se torne
Que é semelhante ao formato
tree
usado se você selecionar aANSI
saída.fonte
tree
).Segui um exemplo em outro repositório e agrupei a estrutura de diretórios em um par de triplos backticks (
```
):fonte
Você pode usar a árvore para gerar algo muito semelhante ao seu exemplo. Depois de obter a saída, você pode agrupá-la em uma
<pre>
tag para preservar a formatação do texto sem formatação.fonte
Se você estiver usando o VS Code, esta é uma extensão incrível para gerar árvores de arquivos. https://marketplace.visualstudio.com/items?itemName=Shinotatwu-DS.file-tree-generator
Adicionado diretamente à remarcação ...
fonte
Eu criei um módulo de nó para automatizar esta tarefa: mddir
Uso
nó mddir "../relative/path/"
Para instalar: npm install mddir -g
Para gerar descontos para o diretório atual: mddir
Para gerar para qualquer caminho absoluto: mddir / absolute / path
Para gerar para um caminho relativo: mddir ~ / Documents / Whatever.
O arquivo md é gerado no seu diretório de trabalho.
Atualmente ignora as pastas node_modules e .git.
Solução de problemas
Se você receber o erro 'node \ r: não existe esse arquivo ou diretório', o problema é que o sistema operacional usa diferentes terminações de linha e o mddir não pode analisá-las sem definir explicitamente o estilo de final de linha como Unix. Isso geralmente afeta o Windows, mas também algumas versões do Linux. A definição das terminações da linha no estilo Unix deve ser realizada na pasta bin global mddir npm.
Correção de terminações de linha
Obtenha o caminho da pasta npm bin com:
npm config get prefix
CD nessa pasta
instalação de fermentação dos2unix
lib dos2unix / node_modules / mddir / src / mddir.js
Isso converte as terminações de linha em Unix, em vez de Dos
Em seguida, execute normalmente: node mddir "../relative/path/".
Exemplo de estrutura de arquivo de remarcação gerada 'directoryList.md'
fonte
Como já recomendado, você pode usar
tree
. Mas para usá-lo junto com o texto reestruturado, alguns parâmetros adicionais foram necessários.A
tree
saída padrão não será impressa se você estiver usandopandoc
para produzir pdf.tree --dirsfirst --charset=ascii /path/to/directory
produzirá uma belaASCII
árvore que pode ser integrada ao seu documento assim:fonte
Eu escrevi isso para a minha lista de arquivos do Dropbox.
sed
é usado para remover caminhos completos do caminho de arquivo / pasta com link simbólico que vem depois->
Infelizmente, as guias estão perdidas.Usandozsh
eu sou capaz de preservar guias.! / usr / bin / env bashAs saídas como esta:
fonte
Se você estiver usando o editor Atom, poderá fazer isso com o pacote ascii-tree .
Você pode escrever a seguinte árvore:
e converta-o para o seguinte, selecionando-o e pressionando
ctrl-alt-t
:fonte
No OSX, usando
reveal.js
, eu tenho um problema de renderização se eu apenas usuáriotree
e copio / colo a saída: símbolos estranhos aparecem.Eu encontrei 2 soluções possíveis.
1) Use charset ascii e simplesmente copie / cole a saída no arquivo de remarcação
2) Use diretamente HTML e unicode no arquivo de remarcação
Espero que ajude.
fonte
Eu sugiro usar wasabi, então você pode usar o markdown-ish se sentir assim
e jogue a sintaxe exata na biblioteca js para esse
fonte
Se você deseja gerá-lo dinamicamente, recomendo usar o Frontend-md . É simples de usar.
fonte
Existe um módulo NPM para isso:
npm dree
Ele permite que você tenha uma representação de uma árvore de diretórios como uma sequência ou um objeto. Usá-lo com a linha de comando permitirá salvar a representação em um arquivo txt.
Exemplo:
fonte