目录、标签绑定索引文档

本贴最后更新于 1401 天前,其中的信息可能已经事过景迁

目前而言,思源的主体依然是目录 + 文件的形式,而这二者的呈现形式都比较单一。

标签

可以看到这里有一些子标签,以树状形式展开,问题在于,如果我想查看 OI 相关内容,很难有一个直观的展现形式。

image.png

当然会有一种解决方案:建立一个文件,比如叫 #OI.md,然后在里面通过各种手段调整相关展现方式。

image.png

而此时一个问题出现了:如果我想要看这个标签的汇总页面,由于这个页面是我手动创建的,我必须跳转到它,而它与思源的标签系统实质上是割裂的。

如果能支持将标签与对应的文档直接绑定,在 Tag 中点击就能跳转到对应的索引文档,类似这样:

image.png

呈现形式可以非常多样,索引页面可以利用 Template 来生成,或者可以和 Widget Block 结合等等。

目录

而目录这个问题,也是和标签有点类似的。目前思源保留了文件夹管理,而由于文件夹的灵活性不够,许多用户手动创建索引文件,还有 MOC 之类的东西。

可以给目录也绑定一个索引页面,点击目录直接跳转到索引页面。

比如说我有一个摘抄目录:

image.png

现在我想查看一个摘抄的汇总,我需要建立一个汇总文件,然后在目录树中打开摘抄文件夹,点击汇总文件。

image.png

包括一些内容较少、不想单独成篇的,也往汇总里塞。
而如果摘抄目录直接绑定了这个汇总文件,就可以直接点击目录打开。

再者,直接显示索引页面,显示面积也比文件树大,看起来更舒服一点- -


一个小的改动建议,以上的例子都是我临时编出来的,灵感大概来自于最近群内的讨论。

接下来说一些这个功能的可能性:

  • 子文档(添加子文档 <=> 将源文档转为目录),虽然一般很少这样用。
  • 类似语雀的专栏索引:image.png
  • #TODO# 标签汇总为看板之类的?
    image.png
  • 通过页内搜索快速定位子文件夹、、、(联想于某位 1k 文件夹的神秘人)
  • ……

这个建议也受到了一些反对的声音:

  • 舍弃对文件夹的执著,完全通过索引体现层级。
    • 这也是一个可行的方案,将索引与文件夹解耦,例如说将所有文件塞到一个文件夹里,然后保留一个 Entry Point,通过链接进行访问。
    • 然而:自己建立的索引无法在侧边栏显示(可以通过分屏来顶顶),但我个人认为,既然保留了文件夹的结构,也提供了文件树的面板,不妨利用起来。
    • 事实上,我们可以将文件树视作一个简陋的根级 Entry Point,这与向下继续自己建立索引是不矛盾的。
  • 舍弃树形结构,拥抱图形结构。
    • 树形结构事实上还是广泛应用的,而图往往是在树上加边所形成的树形图。
      • 譬如说,我们系统地学习某个知识点,形成了一棵知识点树,而各个知识点之间互相联系,在原树上加若干条横叉边等,形成了一张树形图。
    • 因此在局部保留树形结构,作为主干,我认为是没有什么问题的。
  • ……

总的来说,将目录、标签与索引文档绑定,可以算是一个交互上的调整,相关细节可能需要更多的考虑(比如文件树中点击目录展开、Ctrl+Click 打开索引之类的),但整体应该不会需要太大的改动。

你是否赞同加入此功能?

单选 公开 永不结束 7 票
71% 5 票
0% 0 票
我不知道
28% 2 票

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    24922 引用 • 102642 回帖

相关帖子

欢迎来到这里!

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

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

    在 Marketplace 里面应该能找到已经上架的有这种功能的模板,我已经忘了是哪个了(

  • 其他回帖
  • Clouder

    我记得是用了一个模板,其实就是嵌入块 SQL 搜索文档名

    1 回复
  • yunyunyun

    可以求一下模板吗

    1 回复
  • yunyunyun

    想问一下提及标签的索引形式是怎样实现的呢?很想拥有类似功能

    1 回复

推荐标签 标签

  • QQ

    1999 年 2 月腾讯正式推出“腾讯 QQ”,在线用户由 1999 年的 2 人(马化腾和张志东)到现在已经发展到上亿用户了,在线人数超过一亿,是目前使用最广泛的聊天软件之一。

    45 引用 • 557 回帖
  • Ngui

    Ngui 是一个 GUI 的排版显示引擎和跨平台的 GUI 应用程序开发框架,基于
    Node.js / OpenGL。目标是在此基础上开发 GUI 应用程序可拥有开发 WEB 应用般简单与速度同时兼顾 Native 应用程序的性能与体验。

    7 引用 • 9 回帖 • 400 关注
  • 反馈

    Communication channel for makers and users.

    126 引用 • 930 回帖 • 270 关注
  • 叶归
    5 引用 • 16 回帖 • 11 关注
  • Kotlin

    Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,由 JetBrains 设计开发并开源。Kotlin 可以编译成 Java 字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。在 Google I/O 2017 中,Google 宣布 Kotlin 成为 Android 官方开发语言。

    19 引用 • 33 回帖 • 77 关注
  • RYMCU

    RYMCU 致力于打造一个即严谨又活泼、专业又不失有趣,为数百万人服务的开源嵌入式知识学习交流平台。

    4 引用 • 6 回帖 • 52 关注
  • CSDN

    CSDN (Chinese Software Developer Network) 创立于 1999 年,是中国的 IT 社区和服务平台,为中国的软件开发者和 IT 从业者提供知识传播、职业发展、软件开发等全生命周期服务,满足他们在职业发展中学习及共享知识和信息、建立职业发展社交圈、通过软件开发实现技术商业化等刚性需求。

    14 引用 • 155 回帖
  • AngularJS

    AngularJS 诞生于 2009 年,由 Misko Hevery 等人创建,后为 Google 所收购。是一款优秀的前端 JS 框架,已经被用于 Google 的多款产品当中。AngularJS 有着诸多特性,最为核心的是:MVC、模块化、自动化双向数据绑定、语义化标签、依赖注入等。2.0 版本后已经改名为 Angular。

    12 引用 • 50 回帖 • 504 关注
  • MyBatis

    MyBatis 本是 Apache 软件基金会 的一个开源项目 iBatis,2010 年这个项目由 Apache 软件基金会迁移到了 google code,并且改名为 MyBatis ,2013 年 11 月再次迁移到了 GitHub。

    173 引用 • 414 回帖 • 369 关注
  • Angular

    AngularAngularJS 的新版本。

    26 引用 • 66 回帖 • 544 关注
  • OnlyOffice
    4 引用 • 22 关注
  • Bug

    Bug 本意是指臭虫、缺陷、损坏、犯贫、窃听器、小虫等。现在人们把在程序中一些缺陷或问题统称为 bug(漏洞)。

    76 引用 • 1742 回帖
  • Python

    Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    556 引用 • 675 回帖
  • Postman

    Postman 是一款简单好用的 HTTP API 调试工具。

    4 引用 • 3 回帖
  • JavaScript

    JavaScript 一种动态类型、弱类型、基于原型的直译式脚本语言,内置支持类型。它的解释器被称为 JavaScript 引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 HTML 网页上使用,用来给 HTML 网页增加动态功能。

    729 引用 • 1278 回帖 • 1 关注
  • PHP

    PHP(Hypertext Preprocessor)是一种开源脚本语言。语法吸收了 C 语言、 Java 和 Perl 的特点,主要适用于 Web 开发领域,据说是世界上最好的编程语言。

    179 引用 • 408 回帖 • 485 关注
  • WebClipper

    Web Clipper 是一款浏览器剪藏扩展,它可以帮助你把网页内容剪藏到本地。

    3 引用 • 9 回帖 • 5 关注
  • Sphinx

    Sphinx 是一个基于 SQL 的全文检索引擎,可以结合 MySQL、PostgreSQL 做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。

    1 引用 • 216 关注
  • 深度学习

    深度学习(Deep Learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。

    53 引用 • 40 回帖
  • Wide

    Wide 是一款基于 Web 的 Go 语言 IDE。通过浏览器就可以进行 Go 开发,并有代码自动完成、查看表达式、编译反馈、Lint、实时结果输出等功能。

    欢迎访问我们运维的实例: https://wide.b3log.org

    30 引用 • 218 回帖 • 644 关注
  • 导航

    各种网址链接、内容导航。

    43 引用 • 177 回帖
  • API

    应用程序编程接口(Application Programming Interface)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

    79 引用 • 431 回帖 • 1 关注
  • Telegram

    Telegram 是一个非盈利性、基于云端的即时消息服务。它提供了支持各大操作系统平台的开源的客户端,也提供了很多强大的 APIs 给开发者创建自己的客户端和机器人。

    5 引用 • 35 回帖
  • Quicker

    Quicker 您的指尖工具箱!操作更少,收获更多!

    36 引用 • 155 回帖
  • 百度

    百度(Nasdaq:BIDU)是全球最大的中文搜索引擎、最大的中文网站。2000 年 1 月由李彦宏创立于北京中关村,致力于向人们提供“简单,可依赖”的信息获取方式。“百度”二字源于中国宋朝词人辛弃疾的《青玉案·元夕》词句“众里寻他千百度”,象征着百度对中文信息检索技术的执著追求。

    63 引用 • 785 回帖 • 109 关注
  • WebSocket

    WebSocket 是 HTML5 中定义的一种新协议,它实现了浏览器与服务器之间的全双工通信(full-duplex)。

    48 引用 • 206 回帖 • 298 关注
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3195 引用 • 8215 回帖