目录、标签绑定索引文档

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

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

标签

可以看到这里有一些子标签,以树状形式展开,问题在于,如果我想查看 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 票

  • 思源笔记

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

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

    25771 引用 • 106685 回帖

相关帖子

欢迎来到这里!

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

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

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

    1 回复
  • 其他回帖
  • Clouder

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

  • yunyunyun

    可以求一下模板吗

    1 回复
  • Clouder

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

    1 回复

推荐标签 标签

  • FreeMarker

    FreeMarker 是一款好用且功能强大的 Java 模版引擎。

    23 引用 • 20 回帖 • 464 关注
  • PWL

    组织简介

    用爱发电 (Programming With Love) 是一个以开源精神为核心的民间开源爱好者技术组织,“用爱发电”象征开源与贡献精神,加入组织,代表你将遵守组织的“个人开源爱好者”的各项条款。申请加入:用爱发电组织邀请帖
    用爱发电组织官网:https://programmingwithlove.stackoverflow.wiki/

    用爱发电组织的核心驱动力:

    • 遵守开源守则,体现开源&贡献精神:以分享为目的,拒绝非法牟利。
    • 自我保护:使用适当的 License 保护自己的原创作品。
    • 尊重他人:不以各种理由、各种漏洞进行未经允许的抄袭、散播、洩露;以礼相待,尊重所有对社区做出贡献的开发者;通过他人的分享习得知识,要留下足迹,表示感谢。
    • 热爱编程、热爱学习:加入组织,热爱编程是首当其要的。我们欢迎热爱讨论、分享、提问的朋友,也同样欢迎默默成就的朋友。
    • 倾听:正确并恳切对待、处理问题与建议,及时修复开源项目的 Bug ,及时与反馈者沟通。不抬杠、不无视、不辱骂。
    • 平视:不诋毁、轻视、嘲讽其他开发者,主动提出建议、施以帮助,以和谐为本。只要他人肯努力,你也可能会被昔日小看的人所超越,所以请保持谦虚。
    • 乐观且活跃:你的努力决定了你的高度。不要放弃,多年后回头俯瞰,才会发现自己已经成就往日所仰望的水平。积极地将项目开源,帮助他人学习、改进,自己也会获得相应的提升、成就与成就感。
    1 引用 • 487 回帖 • 1 关注
  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    954 引用 • 944 回帖
  • TensorFlow

    TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。

    20 引用 • 19 回帖 • 1 关注
  • iOS

    iOS 是由苹果公司开发的移动操作系统,最早于 2007 年 1 月 9 日的 Macworld 大会上公布这个系统,最初是设计给 iPhone 使用的,后来陆续套用到 iPod touch、iPad 以及 Apple TV 等产品上。iOS 与苹果的 Mac OS X 操作系统一样,属于类 Unix 的商业操作系统。

    89 引用 • 150 回帖 • 1 关注
  • Postman

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

    4 引用 • 3 回帖 • 3 关注
  • ZeroNet

    ZeroNet 是一个基于比特币加密技术和 BT 网络技术的去中心化的、开放开源的网络和交流系统。

    1 引用 • 21 回帖 • 649 关注
  • Mac

    Mac 是苹果公司自 1984 年起以“Macintosh”开始开发的个人消费型计算机,如:iMac、Mac mini、Macbook Air、Macbook Pro、Macbook、Mac Pro 等计算机。

    167 引用 • 597 回帖 • 1 关注
  • AWS
    11 引用 • 28 回帖 • 3 关注
  • 链滴

    链滴是一个记录生活的地方。

    记录生活,连接点滴

    178 引用 • 3866 回帖
  • Hprose

    Hprose 是一款先进的轻量级、跨语言、跨平台、无侵入式、高性能动态远程对象调用引擎库。它不仅简单易用,而且功能强大。你无需专门学习,只需看上几眼,就能用它轻松构建分布式应用系统。

    9 引用 • 17 回帖 • 642 关注
  • 工具

    子曰:“工欲善其事,必先利其器。”

    298 引用 • 763 回帖
  • JavaScript

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

    730 引用 • 1281 回帖 • 1 关注
  • Firefox

    Mozilla Firefox 中文俗称“火狐”(正式缩写为 Fx 或 fx,非正式缩写为 FF),是一个开源的网页浏览器,使用 Gecko 排版引擎,支持多种操作系统,如 Windows、OSX 及 Linux 等。

    7 引用 • 30 回帖 • 385 关注
  • 招聘

    哪里都缺人,哪里都不缺人。

    188 引用 • 1057 回帖
  • Markdown

    Markdown 是一种轻量级标记语言,用户可使用纯文本编辑器来排版文档,最终通过 Markdown 引擎将文档转换为所需格式(比如 HTML、PDF 等)。

    171 引用 • 1537 回帖
  • 创造

    你创造的作品可能会帮助到很多人,如果是开源项目的话就更赞了!

    186 引用 • 1020 回帖 • 1 关注
  • SQLite

    SQLite 是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是全世界使用最为广泛的数据库引擎。

    4 引用 • 7 回帖 • 8 关注
  • B3log

    B3log 是一个开源组织,名字来源于“Bulletin Board Blog”缩写,目标是将独立博客与论坛结合,形成一种新的网络社区体验,详细请看 B3log 构思。目前 B3log 已经开源了多款产品:SymSoloVditor思源笔记

    1063 引用 • 3455 回帖 • 151 关注
  • BAE

    百度应用引擎(Baidu App Engine)提供了 PHP、Java、Python 的执行环境,以及云存储、消息服务、云数据库等全面的云服务。它可以让开发者实现自动地部署和管理应用,并且提供动态扩容和负载均衡的运行环境,让开发者不用考虑高成本的运维工作,只需专注于业务逻辑,大大降低了开发者学习和迁移的成本。

    19 引用 • 75 回帖 • 677 关注
  • RESTful

    一种软件架构设计风格而不是标准,提供了一组设计原则和约束条件,主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

    30 引用 • 114 回帖
  • Lute

    Lute 是一款结构化的 Markdown 引擎,支持 Go 和 JavaScript。

    29 引用 • 202 回帖 • 27 关注
  • C

    C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

    86 引用 • 165 回帖 • 3 关注
  • Openfire

    Openfire 是开源的、基于可拓展通讯和表示协议 (XMPP)、采用 Java 编程语言开发的实时协作服务器。Openfire 的效率很高,单台服务器可支持上万并发用户。

    6 引用 • 7 回帖 • 117 关注
  • 服务

    提供一个服务绝不仅仅是简单的把硬件和软件累加在一起,它包括了服务的可靠性、服务的标准化、以及对服务的监控、维护、技术支持等。

    41 引用 • 24 回帖 • 1 关注
  • 博客

    记录并分享人生的经历。

    273 引用 • 2388 回帖
  • GAE

    Google App Engine(GAE)是 Google 管理的数据中心中用于 WEB 应用程序的开发和托管的平台。2008 年 4 月 发布第一个测试版本。目前支持 Python、Java 和 Go 开发部署。全球已有数十万的开发者在其上开发了众多的应用。

    14 引用 • 42 回帖 • 819 关注