有一些文档想要做成目录
然后就用群里大佬分享的一个模板,代码在最下面,然后就经常出现状态异常的问题了。。。重现步骤
把代码中这个占位符换成目标文档(要生成子文档的那个文档) 的块 id,替换完以后,直接把 html 代码用 html 标签一粘贴就可以了,然后再删除其中一个链接,就很容易触发这个, 下面有演示视频,D 大可以选一个子文档比较多的文件来试一下,我经常出现这个问题
视频
<html> <div style="font-size:20px;color:red">刷新文档</div> <script> var block_id = '{0}'; exec(); async function request(url, data) { return fetch(url, { body: JSON.stringify(data), method: 'POST' }).then(r => { if (r.status === 200) return r.json(); else return null; }); } function write_line(pArr, record, isSon) { var line = ''; if (isSon) { line += '\n' } //这里插入数据 之前有个* 就会有个无序列表 line += ' '.repeat(pArr.length * 2) + "((" + record.id + " '" + record.content + "'))\r\n\r\n"; //alert(line) return line; } async function exec() { //查询所有子目录 var sql = `select root_id from blocks where id = '${block_id}'`; var response_data = await querySql(sql); var current_root_id = response_data.data[0].root_id; sql = ` SELECT b1.id,b1.content,b1.hpath,b1.path FROM 'blocks' as b1 WHERE b1.path like '%${current_root_id}%' and b1.type = 'd' and root_id <> '${current_root_id}' order by hpath ` response_data = await querySql(sql); // var response_text = quickerGetVar('response_text'); // var response_data = JSON.parse(response_text); var records = response_data.data; var markdown = ''; var parents = []; for (var i = 0; i < records.length; i++) { var isSon = true; record = records[i]; while (parents.length > 0) { if (record.path.indexOf(parents[parents.length - 1]) > 0) { markdown += write_line(parents, record, isSon); parents.push(record.id); break; } else { isSon = false; parents.pop(); } } if (parents.length == 0) { markdown += write_line(parents, record, false); parents.push(record.id); } } console.log(markdown.trim()); await updateBlock(block_id, markdown.trim()); // markdown.trim() } async function querySql(sql) { return request('/api/query/sql', { stmt: `${sql}`, }); } async function updateBlock(id, data, dataType = 'markdown') { return request('/api/block/updateBlock', { id: id, data: data, dataType: dataType, }); } </script> </html>
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于