Chcę opisać struktury katalogów i plików w niektórych moich postach na blogu Jekyll, czy Markdown zapewnia dobry sposób na wyprowadzenie czegoś takiego?
Na przykład możesz zobaczyć pod tym linkiem na stronie Jekyll, że struktura katalogów i plików jest bardzo ładnie wyświetlana na stronie:
.
├── _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
Wydaje mi się, że powyższe znaki bloku linii to Unicode (jak opisano w tej odpowiedzi tutaj ), ale nie jestem pewien, jak Markdown lub inne przeglądarki będą je obsługiwać. Miałem nadzieję, że Markdown podał jakiś sposób na zrobienie tego, co może wynikać z powyższych znaków Unicode.
Odpowiedzi:
Jeśli obawiasz się znaków Unicode, możesz użyć ASCII do budowania struktur, więc twoja przykładowa struktura staje się
Który jest podobny do formatu
tree
używanego po wybraniuANSI
wyjścia.źródło
tree
).Podążyłem za przykładem z innego repozytorium i zawinąłem strukturę katalogów w parę potrójnych backticks (
```
):źródło
Możesz użyć drzewa, aby wygenerować coś bardzo podobnego do twojego przykładu. Po uzyskaniu wyniku możesz zawinąć go w
<pre>
znacznik, aby zachować formatowanie zwykłego tekstu.źródło
Jeśli używasz VS Code, jest to niesamowite rozszerzenie do generowania drzew plików. https://marketplace.visualstudio.com/items?itemName=Shinotatwu-DS.file-tree-generator
Dodano bezpośrednio do Markdown ...
źródło
Zrobiłem moduł węzła, aby zautomatyzować to zadanie: mddir
Stosowanie
węzeł mddir „../relative/path/”
Aby zainstalować: npm install mddir -g
Aby wygenerować przecenę dla bieżącego katalogu: mddir
Aby wygenerować dla dowolnej ścieżki bezwzględnej: mddir / absolut / ścieżka
Aby wygenerować dla ścieżki względnej: mddir ~ / Documents /okolwiek.
Plik md zostanie wygenerowany w katalogu roboczym.
Obecnie ignoruje moduły node_modules i .git.
Rozwiązywanie problemów
Jeśli pojawi się błąd „node \ r: Brak takiego pliku lub katalogu”, problem polega na tym, że twój system operacyjny używa różnych zakończeń linii i mddir nie może ich przetworzyć bez wyraźnego ustawienia stylu zakończenia linii na Unix. Zwykle dotyczy to systemu Windows, ale także niektórych wersji systemu Linux. Ustawienie zakończenia linii na styl uniksowy należy wykonać w globalnym folderze bin mddir npm.
Naprawić zakończenia linii
Uzyskaj ścieżkę folderu bin npm za pomocą:
npm config get prefix
Cd do tego folderu
napar zainstaluj dos2unix
dos2unix lib / node_modules / mddir / src / mddir.js
Konwertuje to zakończenia linii na Unix zamiast Dos
Następnie uruchom normalnie z: node mddir „../relative/path/”.
Przykładowa wygenerowana struktura pliku Markdown „directoryList.md”
źródło
Jak już zalecono, możesz użyć
tree
. Ale do korzystania z niego wraz ze zmienionym tekstem wymagane były dodatkowe parametry.Standardowe
tree
wyjście nie zostanie wydrukowane, jeśli używaszpandoc
do tworzenia pdf.tree --dirsfirst --charset=ascii /path/to/directory
stworzy ładneASCII
drzewo, które można zintegrować z dokumentem w następujący sposób:źródło
Skryptowałem to dla mojej listy plików Dropbox.
sed
służy do usuwania pełnych ścieżek dowiązań do plików / folderów znajdujących się po->
Niestety karty zostały utracone.Za pomocązsh
Jestem w stanie zachować zakładki.! / usr / bin / env bashWyjścia takie jak to:
źródło
Jeśli używasz edytora Atom, możesz to zrobić za pomocą pakietu ascii-tree .
Możesz napisać następujące drzewo:
i przekonwertuj go na następujący, wybierając go i naciskając
ctrl-alt-t
:źródło
W OSX, używając
reveal.js
, mam problem z renderowaniem, jeśli tylko użytkownik,tree
a następnie skopiuj / wklej dane wyjściowe: pojawiają się dziwne symbole.Znalazłem 2 możliwe rozwiązania.
1) Użyj charset ascii i po prostu skopiuj / wklej dane wyjściowe w pliku markdown
2) Użyj bezpośrednio HTML i Unicode w pliku przeceny
Mam nadzieję, że to pomoże.
źródło
Sugerowałbym użycie wasabi, wtedy możesz albo użyć markdown-ish w ten sposób
i rzucać, że dokładnej składni w js biblioteki dla tego
źródło
Jeśli chcesz wygenerować go dynamicznie, polecam użycie Frontend-md . Jest prosty w użyciu.
źródło
Do tego celu służy moduł NPM:
npm dree
Pozwala mieć reprezentację drzewa katalogów jako łańcucha lub obiektu. Używanie go z wierszem poleceń pozwoli ci zapisać reprezentację w pliku txt.
Przykład:
źródło