markdown如何写出项目目录结构

使用MarkDown写博文时,想对整个项目目录做一个说明,比如这样的:


image.png

使用treer工具


treer是一个目录树生成工具

npm链接:https://www.npmjs.com/package/treer
安装:

npm install treer -g

查看版本:

treer --version

我目前安装的是1.0.4版本。
使用配方:

treer //查看目录树
treer -d <指定路径>//查看指定路径的目录树
treer -e <导出路径>//导出当前目录的目录树到特定路径下文件
treer -i "/^regex$/"//忽略目录或文件

使用案例:
进入目录,执行命令

treer -e ./result.txt -i node_modules
$ treer -e ./result.txt -i node_modules
D:\nodejs
├─.gnvmrc
├─gnvm.exe
├─node.exe
├─nodevars.bat
├─node_etw_provider.man
├─node_perfctr_provider.man
├─npm
├─npm.cmd
├─npx
├─npx.cmd
└result.txt


The result has been saved into ./result.txt

得到当前目录下result.txt文件如下:

D:\nodejs
├─.gnvmrc
├─gnvm.exe
├─node.exe
├─nodevars.bat
├─node_etw_provider.man
├─node_perfctr_provider.man
├─npm
├─npm.cmd
├─npx
├─npx.cmd
└result.txt

缺点:需要额外安装
优点:安装之后使用简单方便

使用tree命令


windows下的CMD命令tree可以很方便的得到文件夹目录树,此处要谢谢


image.png

的提醒,在此对tree命令进行一些学习和总结

环境:windows
功能:以树状图列出目录的内容
使用配方:

tree [drive][path] [/F] [/A]
#/f 显示所有目录及目录下的所有文件,省略时,只显示目录,不显示目录下的文件
#/a 使用ASCII字符,而不使用扩展字符

查看帮助:

C:\Users\Acer>tree /?
以图形显示驱动器或路径的文件夹结构。

TREE [drive:][path] [/F] [/A]

   /F   显示每个文件夹中文件的名称。
   /A   使用 ASCII 字符,而不使用扩展字符。

选用>PRN参数时,则把所列目录及目录中文件名打印输出

使用案例:
1.把D盘nodejs目录下的目录树输出到D盘的result.txt文件

tree D:\nodejs > D:result.txt

D盘下会自动生成一个result.txt文件,里面只是文件目录名:

卷 Data 的文件夹 PATH 列表
卷序列号为 D470-E3AD
D:\NODEJS
└─node_modules
    └─npm
        ├─.github
        ├─bin
        │  └─node-gyp-bin
        ├─changelogs
        ├─doc
        │  ├─cli
        │  ├─files
        │  ├─misc
        │  └─spec
...

2.把D盘nodejs目录下的目录及文件目录树输出到D盘的result.txt文件

tree D:\nodejs /f > D:result.txt

此时打印出来的文件中包括了所有文件名

卷 Data 的文件夹 PATH 列表
卷序列号为 D470-E3AD
D:\NODEJS
│  .gnvmrc
│  gnvm.exe
│  node.exe
│  nodevars.bat
│  node_etw_provider.man
│  node_perfctr_provider.man
│  npm
│  npm.cmd
│  npx
│  npx.cmd
│  
└─node_modules
    └─npm
        │  .mailmap
        │  .npmignore

注意事项:
1、导出符<前后空格可以省略
2、tree命令涉及的文件名不能有空格

优点:windows下啥都不用安装,直接使用
缺点:需要使用cmd进入特定目录或者打出目录

ios下需要额外安装tree命令,此处不提及。

使用mddir命令


使用mddir来生成项目目录的结构(比tree命令麻烦些)
命令:

npm install mddir --save
cd node_modules/mddir/src
node mddir "目录"

案例:
进入目录demo下,demo目录结构如下:


image.png

运行命令:

node install mddir --save
cd node_modules/mddir/src
node mddir "../../../"//即根目录

命令完成后,在node_modules/mddir/src下生成了一个文件“directoryList.md”
直接给我们生成了md格式的项目目录
打开可以看到是这样子:


image.png

把它的内容复制出来,放在代码块里面,会保留它的tab,效果如下:

|-- undefined
    |-- .gitignore
    |-- package-lock.json
    |-- package.json
    |-- _config.yml
    |-- scaffolds
    |   |-- draft.md
    |   |-- page.md
    |   |-- post.md
    |-- source
    |   |-- _posts
    |       |-- hello-world.md
    |-- themes
        |-- landscape
            |-- .gitignore
            |-- Gruntfile.js
            |-- LICENSE
            |-- package.json
            |-- README.md
            |-- _config.yml
            |-- languages
            |   |-- de.yml
            |   |-- default.yml
            |   |-- es.yml
            |   |-- fr.yml
            |   |-- ja.yml
            |   |-- ko.yml
            |   |-- nl.yml
            |   |-- no.yml
            |   |-- pt.yml
            |   |-- ru.yml
            |   |-- zh-CN.yml
            |   |-- zh-TW.yml
            |-- layout
            |   |-- archive.ejs
            |   |-- category.ejs
            |   |-- index.ejs
            |   |-- layout.ejs
            |   |-- page.ejs
            |   |-- post.ejs
            |   |-- tag.ejs
            |   |-- _partial
            |   |   |-- after-footer.ejs
            |   |   |-- archive-post.ejs
            |   |   |-- archive.ejs
            |   |   |-- article.ejs
            |   |   |-- footer.ejs
            |   |   |-- gauges-analytics.ejs
            |   |   |-- google-analytics.ejs
            |   |   |-- head.ejs
            |   |   |-- header.ejs
            |   |   |-- mobile-nav.ejs
            |   |   |-- sidebar.ejs
            |   |   |-- post
            |   |       |-- category.ejs
            |   |       |-- date.ejs
            |   |       |-- gallery.ejs
            |   |       |-- nav.ejs
            |   |       |-- tag.ejs
            |   |       |-- title.ejs
            |   |-- _widget
            |       |-- archive.ejs
            |       |-- category.ejs
            |       |-- recent_posts.ejs
            |       |-- tag.ejs
            |       |-- tagcloud.ejs
            |-- scripts
            |   |-- fancybox.js
            |-- source
                |-- css
                |   |-- style.styl
                |   |-- _extend.styl
                |   |-- _variables.styl
                |   |-- fonts
                |   |   |-- fontawesome-webfont.eot
                |   |   |-- fontawesome-webfont.svg
                |   |   |-- fontawesome-webfont.ttf
                |   |   |-- fontawesome-webfont.woff
                |   |   |-- FontAwesome.otf
                |   |-- images
                |   |   |-- banner.jpg
                |   |-- _partial
                |   |   |-- archive.styl
                |   |   |-- article.styl
                |   |   |-- comment.styl
                |   |   |-- footer.styl
                |   |   |-- header.styl
                |   |   |-- highlight.styl
                |   |   |-- mobile.styl
                |   |   |-- sidebar-aside.styl
                |   |   |-- sidebar-bottom.styl
                |   |   |-- sidebar.styl
                |   |-- _util
                |       |-- grid.styl
                |       |-- mixin.styl
                |-- fancybox
                |   |-- blank.gif
                |   |-- fancybox_loading.gif
                |   |-- [email protected]
                |   |-- fancybox_overlay.png
                |   |-- fancybox_sprite.png
                |   |-- [email protected]
                |   |-- jquery.fancybox.css
                |   |-- jquery.fancybox.js
                |   |-- jquery.fancybox.pack.js
                |   |-- helpers
                |       |-- fancybox_buttons.png
                |       |-- jquery.fancybox-buttons.css
                |       |-- jquery.fancybox-buttons.js
                |       |-- jquery.fancybox-media.js
                |       |-- jquery.fancybox-thumbs.css
                |       |-- jquery.fancybox-thumbs.js
                |-- js
                    |-- script.js

列出了每一个文件,但是不包括node_modules和.git文件夹,这是如果觉得有些东西冗余,根据自己的需要裁剪就可以啦!

你可能感兴趣的:(markdown如何写出项目目录结构)