[思源笔记经验分享] 复制当前文档的大纲至剪贴板

背景

由于思源编辑器不支持将大纲嵌入正文的 [TOC] 功能, 且思源数据库中也无法通过查询还原同级标题在文档中的顺序, 但是大纲面板具有当前文档各级标题的内容与块 ID, 因此可以通过解析该面板的内容, 生成一个以列表形式表示的大纲

简介

主题 Dark+v0.5.5 中又更新的几个小功能:

  • 使用快捷键 Shift + Ctrl + Alt + O 将当前文章的大纲以 Markdown 有序列表的形式写入剪贴板
  • 使用快捷键 Shift + Ctrl + Alt + U 将当前文章的大纲以 Markdown 无序列表的形式写入剪贴板
  • 使用快捷键 Shift + Ctrl + Alt + T 将当前文章的大纲以 Markdown 任务列表的形式写入剪贴板

如果需要订阅服务, 欢迎使用我的推荐码呀: h0sc9rc (*^▽^*)

演示

image.png


Shift + Ctrl + Alt + O 剪贴板内容:

1. [](siyuan://blocks/20211017112249-59xa033)

    1. [](siyuan://blocks/20211018140211-ghlrrkk)

        1. [](siyuan://blocks/20211018140212-x6xcxvj)

            1. [](siyuan://blocks/20211018140213-t5v75sz)

                1. [](siyuan://blocks/20211018140216-sc3jqmh)

                    1. [](siyuan://blocks/20211018140216-tyuw5f9)
2. [1](siyuan://blocks/20211228201551-1497upl)

    1. [2](siyuan://blocks/20211228201553-703akuw)

        1. [3](siyuan://blocks/20211228201600-y70gm6k)

            1. [4](siyuan://blocks/20211228201603-ovb5g5d)

                1. [5](siyuan://blocks/20211228201604-i9u2cz9)

                    1. [6](siyuan://blocks/20211228201606-t4b7f5n)

Shift + Ctrl + Alt + U 剪贴板内容:

* [](siyuan://blocks/20211017112249-59xa033)

    * [](siyuan://blocks/20211018140211-ghlrrkk)

        * [](siyuan://blocks/20211018140212-x6xcxvj)

            * [](siyuan://blocks/20211018140213-t5v75sz)

                * [](siyuan://blocks/20211018140216-sc3jqmh)

                    * [](siyuan://blocks/20211018140216-tyuw5f9)
* [1](siyuan://blocks/20211228201551-1497upl)

    * [2](siyuan://blocks/20211228201553-703akuw)

        * [3](siyuan://blocks/20211228201600-y70gm6k)

            * [4](siyuan://blocks/20211228201603-ovb5g5d)

                * [5](siyuan://blocks/20211228201604-i9u2cz9)

                    * [6](siyuan://blocks/20211228201606-t4b7f5n)

Shift + Ctrl + Alt + T 剪贴板内容:

* [ ] [](siyuan://blocks/20211017112249-59xa033)

    * [ ] [](siyuan://blocks/20211018140211-ghlrrkk)

        * [ ] [](siyuan://blocks/20211018140212-x6xcxvj)

            * [ ] [](siyuan://blocks/20211018140213-t5v75sz)

                * [ ] [](siyuan://blocks/20211018140216-sc3jqmh)

                    * [ ] [](siyuan://blocks/20211018140216-tyuw5f9)
* [ ] [1](siyuan://blocks/20211228201551-1497upl)

    * [ ] [2](siyuan://blocks/20211228201553-703akuw)

        * [ ] [3](siyuan://blocks/20211228201600-y70gm6k)

            * [ ] [4](siyuan://blocks/20211228201603-ovb5g5d)

                * [ ] [5](siyuan://blocks/20211228201604-i9u2cz9)

                    * [ ] [6](siyuan://blocks/20211228201606-t4b7f5n)

使用

若不使用 Dark+ 主题, 可以下载该主题 v0.5.5+ 版本, 并将该主题目录下的 theme.js 文件 复制 到所使用的主题的目录下

自定义配置选项

  1. 该功能配置文件为 conf/appearance/themes/Dark+/script/module/config.js
  2. 大纲中的内容可以通过配置文件中的 config.theme.doc.outline.style.content 属性定义
    • link (默认): 大纲中每一项的内容是可以跳转到对应子标题的思源块超链接 [大纲内容](siyuan://blocks/块ID)
    • text: 大纲中每一项的内容是纯文本
    • ref: 大纲中每一项的内容是可以跳转到对应子标题的思源块引用 ((块ID "大纲内容"))
  3. 大纲中最顶层设置为当前文档标题还是级别最高的子标题可以通过配置文件中的 config.theme.doc.outline.top 属性定义
    • h (默认): 大纲中最顶层设置为当前文档级别最高的子标题
    • d: 大纲中最顶层设置为当前文档标题

使用场景

  1. 将大纲嵌入文档正文中: 将大纲复制到剪贴板后可以将其粘贴至原文档首
  2. 将大纲复制到其他 markdown 文件中: 由于大纲默认复制为跳转到对应块的超链接, 因此复制到其他 markdown 文件后单击超链接也可以跳转到原文
  3. 欢迎朋友们在评论区进行补充

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • woilifei

    word 的一些基础功能还是很重要呀,

  • Spade7
    订阅者

    非常感谢,这个功能还挺需要的,能够增加保留的层级标题,以# ,## ,这样导出的形式就更好了

  • Diamond
    订阅者

    使用了一下,贼棒,

    @88250 D 大是否考虑把这个功能聚合到思源笔记

shuoying
一团儿名为 '\u4eba' 的光球~