您好,欢迎来到欧得旅游网。
搜索
您的当前位置:首页docsify 建立目录树脚本

docsify 建立目录树脚本

来源:欧得旅游网

docsify是轻量级的文档构建工具,无需生成html就能在网页展示markdown

我想着,将所有的markdown弄到一起,并用docsify生成网站,用github pages预览

然后我跑了之后不符合我的要求,在上面改…但是写完之后才发现,issues里面有人讲了改法,尴尬…

下面是我改的

var sidebarTxt = '- [**书不尽意**](/README.md)\n';
var path = require('path');
var curPath = path.resolve('./');
var baseDirArr = [];

function walkSync(currentDirPath, callback) {
	var fs = require('fs'),
		path = require('path');
	fs.readdirSync(currentDirPath).forEach(function (name) {
		var filePath = path.join(currentDirPath, name);
		var stat = fs.statSync(filePath);
		if (stat.isFile()) {//是文件
			callback(filePath, stat);
		} else if (stat.isDirectory() && !filePath.includes(".git")) {//是目录但不是.git
			walkSync(filePath, callback);
		}
	});
}

walkSync(curPath, function (filePath, stat) {
	if (".md" == path.extname(filePath).toLowerCase()//后缀是.md
		&& "_" != path.basename(filePath).substr(0, 1)
		&& path.basename(filePath).includes(`.md`)) {

		var relativeFilePath = filePath.substr(curPath.length + 1);
		if (relativeFilePath == path.basename(filePath)) {//如果最后的string和原来的一样
			return;
		}
		var relativeFilePathArr = relativeFilePath.split('\\')//这里可以看情况改

		for (var i = 0; i < relativeFilePathArr.length; i++) {
			if (baseDirArr[i] == relativeFilePathArr[i]) {//相同就continue
				continue;
			}
			baseDirArr[i] = relativeFilePathArr[i]//记录
			for (var j = 0; j < i; j++) {
				sidebarTxt += '  '
			}
			if (i != relativeFilePathArr.length - 1) {//如果不是md文件就输出文件夹
				sidebarTxt += '- **' + relativeFilePathArr[i] + '**\n';
			}
			if (i == relativeFilePathArr.length - 1) {//输入md文件夹
				sidebarTxt += '- [' + path.basename(relativeFilePathArr[i],".md") + '](' + relativeFilePath + ')\n';
			}

		}
	}
});

var path = require('path');
var fs = require('fs');

console.log(sidebarTxt);
fs.writeFile(path.resolve('./') + '/_sidebar.md', sidebarTxt, function (err) {
	if (err) {
		console.error(err);
	}
});

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- ovod.cn 版权所有 湘ICP备2023023988号-4

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务