代码拉取完成,页面将自动刷新
同步操作将从 VaguelyCloud/AutoSidebarForDocsify 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
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") ) {
walkSync(filePath, callback);
}
});
}
walkSync(curPath, function(filePath, stat) {
if(".md" == path.extname(filePath).toLowerCase()
&& "_" != path.basename(filePath).substr(0,1)
&& path.basename(filePath).includes(`.md`)){
var relativeFilePath = filePath.substr(curPath.length+1);// 这里取得相对路径 直接删除'/'
if(relativeFilePath == path.basename(filePath)){ //这个地方直接把根目录的 md 文件排除了
return;
}
var relativeFilePathArr = relativeFilePath.split('/') //进行字符串 / 分割
for(var i=0; i<relativeFilePathArr.length-1 ; i++){ //-1的原因是直接不走 README.md 节约性能,relativeFilePathArr.length 此处最低为 2,长度不可能是 1
if(baseDirArr[i] == relativeFilePathArr[i] ){ // 如果这个目录已经存在了就 直接跳过
continue;
}
for(var j= 0; j<i ; j++ ){
sidebarTxt += ' '
}
if(i == relativeFilePathArr.length-2 ){ // 理论上-2 逻辑不会bug 该判断直接生成最终文件链接
sidebarTxt += '- ['+relativeFilePathArr[i]+'](/'+relativeFilePath+')\n';
continue;
}
if(i == 0){
sidebarTxt += '- **'+relativeFilePathArr[i]+'**\n';
} else {
sidebarTxt += '- '+relativeFilePathArr[i]+'\n';
}
baseDirArr[i] = relativeFilePathArr[i]
// console.log(baseDirArr);
}
}
});
var path = require('path');
var fs = require('fs');
// fs.copyFile(path.resolve('./')+"/_sidebar.md",path.resolve('./')+"/_sidebar.md.bak",function(err){
// if(err) throw new Error('something wrong was happended') });
console.log(sidebarTxt);
fs.writeFile(path.resolve('./')+'/_sidebar.md', sidebarTxt,function(err){
if(err){
//console.error(err);
}
});
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。