参考自https://ld246.com/article/1632302122435帖子的代码

moc_ref_all_layer.md

块引版本

  1. .action{/*------定义变量------*/}
  2. .action{$tab:=" "}
  3. .action{$list:="- "}
  4. .action{/*--得到当前文档的路径--*/}
  5. .action{$getdocInfo := (queryBlocks "SELECT * FROM blocks WHERE id='?' and type='d' " .id )}
  6. .action{$docPath:=""}
  7. .action{range $v:= $getdocInfo}
  8. .action{$docPath =$v.Path}
  9. .action{end}
  10. .action{/*--得到当前文档的层次数--*/}
  11. .action{$temp:= (splitList "/" $docPath)}
  12. .action{$p_len:=len $temp}
  13. .action{/*--查询子文档--*/}
  14. .action{$block:= (queryBlocks "SELECT * FROM blocks WHERE type= 'd' AND path like '%/?/%.sy' Order BY path" .id )}
  15. .action{/*--先以列表展示当前文档--*/}
  16. - ((.action{.id} ".action{.title}"))
  17. .action{/*--再以列表展示父文档--*/}
  18. .action{range $v:=$block}
  19. .action{$a:=splitList "/" $v.Path}
  20. .action{/*--注释:slice list num 相当于 list[num:],这一步相当于是只计算子文档相对于当前文档的层次数 --*/}
  21. .action{$a:=slice $a $p_len}
  22. .action{range $i:= $a}.action{$tab}.action{end}.action{$list}((.action{$v.ID} ".action{$v.Content}"))
  23. .action{end}

moc_link_all_layer.md

块超链接版本

  1. .action{/*------定义变量------*/}
  2. .action{$tab:=" "}
  3. .action{$list:="- "}
  4. .action{/*--得到当前文档的路径--*/}
  5. .action{$getdocInfo := (queryBlocks "SELECT * FROM blocks WHERE id='?' and type='d' " .id )}
  6. .action{$docPath:=""}
  7. .action{range $v:= $getdocInfo}
  8. .action{$docPath =$v.Path}
  9. .action{end}
  10. .action{/*--得到当前文档的层次数--*/}
  11. .action{$temp:= (splitList "/" $docPath)}
  12. .action{$p_len:=len $temp}
  13. .action{/*--查询子文档--*/}
  14. .action{$block:= (queryBlocks "SELECT * FROM blocks WHERE type= 'd' AND path like '%/?/%.sy' Order BY path" .id )}
  15. .action{/*--先以列表展示当前文档--*/}
  16. - [.action{.title}](siyuan://blocks/.action{.id})
  17. .action{/*--再以列表展示父文档--*/}
  18. .action{range $v:=$block}
  19. .action{$a:=splitList "/" $v.Path}
  20. .action{/*--注释:slice list num 相当于 list[num:],这一步相当于是只计算子文档相对于当前文档的层次数 --*/}
  21. .action{$a:=slice $a $p_len}
  22. .action{range $i:= $a}.action{$tab}.action{end}.action{$list}[.action{$v.Content}](siyuan://blocks/.action{$v.ID})
  23. .action{end}