搜索时新建文档的路径不正确

本贴最后更新于 527 天前,其中的信息可能已经水流花落

思源版本:Windows 版 2.12.0

我的设置如下:

  • 新建文档存放位置(使用 Ctrl+N 时新建文档的存放路径):
    • /Docs/{{randAlphaNum 1}}/NewDoc-{{randAlpha 4}}
  • 块引新建文档存放位置(使用 (( 时新建文档的存放路径):
    • /Docs/{{randAlphaNum 1}}/

目前按 Ctrl+N 新建文档和使用 (( 新建文档的路径都是正确的,跟上面的设置一致。例如,

  • Ctrl+N 时,新建出来的文档的路径是 /Docs/k/NewDoc-bwLv
  • 输入 ((早上好,新建出来的文档的路径是 /Docs/x/早上好

但是在搜索窗口中新建文档时,文档会保存到 /Docs/{{randAlphaNum 1}}/NewDoc-{{randAlpha 4}} 这个目录下,文档名是搜索中的关键字,例如搜索「中午好」,按回车新建文档,新建出来的文档的路径是 /Docs/L/NewDoc-dEOh/中午好

这与预期不符,期望的路径应当是 /Docs/L/中午好,应该跟使用 (( 新建文档的路径保持一致,也就是搜索时新建的文档应该存放到「块引新建文档存放位置」设置的目录下。

image.png

  • 思源笔记

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

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

    25969 引用 • 107685 回帖
1 操作
rwaysov 在 2024-01-06 11:16:31 更新了该帖

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • 这是新建文档,没有地方引用到。

    1 回复
  • rwaysov

    我没说哪里引用到,我说的是新建的文档的路径是不是调整下。

  • 这里不是创建块引文档,所以不应该遵循 块引新建文档存放位置,这里是单独的一套优先级逻辑:

    1. 如果存在 新建文档存放位置 配置,则直接使用
    2. 使用当前文档页签作为父路径
    3. 使用文档树选中作为父路径
    4. 使用第一个笔记本作为父路径
    1 回复
  • rwaysov

    但是「新建文档存放位置」配置是具体到文档名的,它不是一个目录的路径,「块引新建文档存放位置」配置的是目录的路径。

    在搜索的时候,我们是知道要新建的文档的名称的(使用搜索的关键字作为新建的文档的名称),所以此时程序只需要知道要把新建的文档放到哪个目录就可以了。这跟使用 (( 块引用新建文档的时候是类似的,因为使用 (( 块引用新建文档时,也是知道了新建的文档的名称,要选择一个目录来存放新建的文档。

    所以在搜索时新建文档,把第一条规则改成「1. 如果存在 块引新建文档存放位置 配置,则直接使用」会更合适。

    1 回复
  • / 结尾就是目录路径了。

    1 回复
  • rwaysov

    刚试了不行,如果「新建文档存放位置」设置成以 / 结尾,把笔记本设置窗口关闭后再打开,会发现最后的斜杠被自动删掉了。

    1 回复
  • 被删掉不影响,会作为父路径的。

    1 回复
  • rwaysov

    感觉被带偏了 😄 。我发这个帖子,说的问题就是搜索时新建的文档存放到 新建文档存放位置 设置的目录下不合适,应该存放到 块引新建文档存放位置 设置的目录下。原因在前面的评论里讲了。

    可以把第二个配置项的中文名称改一下,改成 块引新建文档或搜索时新建文档的存放位置,不知道这样是不是更清晰一些,大家更能达成共识?

    如果不修改现有的搜索时新建文档的存放路径的逻辑,想把所有新建的文档都统一放到一个目录下,是做不到的。例如想把所有新建的文档都存放到 /Docs 目录下,把 新建文档存放位置 设置为 /Docs/NewDoc块引新建文档存放位置 设置为 /Docs/,则各种情况下新建的文档的路径分别如下:

    场景 新建的文档的路径
    Ctrl+N 新建文档 /Docs/NewDoc
    块引新建文档 /Docs/< 块引文本 >
    搜索时新建文档 /Docs/NewDoc/< 搜索关键字 >

    可以看到,搜索时新建的文档的路径比其他两种情况新建的文档的路径深了一层。

    只有调整了新建文档存放路径的逻辑,让搜索时新建的文档保存到 块引新建文档或搜索时新建文档的存放位置 下,才能够让所有新建的文档都统一放到一个目录下。

    1 回复
  • 没有偏,我们讨论就是这个配置项,不应该使用 新建块引保存位置,因为这里没有建立块引。已有的 块引保存位置 也不适合(即便重命名加了这个功能)来做这件事,因为这件事已经通过 新建文档保留位置 来做了。

    后面举的例子里,新建文档保存路径 如果使用 /Docs 是不是就能在搜索的时候保存在 /Docs/搜索关键字 路径下了?但是缺点就是不使用变量的话直接 Ctrl+N 就会建立同名的 /Docs 文档。所以这里的逻辑并不是你建议的改下 块引保存( 块引新建文档或搜索时新建文档的存放位置)就行的,也不适合这样改。

    1 回复
  • rwaysov 1

    所以不修改新建文档的存放路径的逻辑,三种情况新建的文档就无法都在同一个目录下,或者都处于同一个目录层级。

    不能按照我前面说的方法改的话,那「新建文档存放位置」这个配置项能改吗,能改成像「块引新建文档存放位置」配置项那样,只需指定新建的文档的存放目录,而不用包含文档名吗?然后 Ctrl+N 新建文档时都统一命名为 Untitled,像下图这样:

    image.png

    为了兼容用户已有的设置,如果「新建文档存放位置」不以 / 结尾,则认为是包含文档名的全路径,如果以 / 结尾,则认为是新建文档的存放目录。不知道这样是否可行?

    由于在目前版本的思源中,「新建文档存放位置」如果设置成以 / 结尾,在保存时结尾的 / 会被自动删除,所以现有的用户设置(如果设置了的话)都是不以 / 结尾的包含文档名的全路径。

    1 回复
  • 88250 1

    目前的兼容问题就是结尾 / 这里,早期版本因为某些情况特意剔除了结尾 /。目前还需要时间确认这些情况是否依然会在现在的版本中造成冲突,如果没有冲突的话,我也认为以结尾 / 来区分是比较好的方案。

    先记录一下 Issue #10094 · siyuan-note/siyuan 谢谢。

请输入回帖内容 ...

推荐标签 标签

  • 禅道

    禅道是一款国产的开源项目管理软件,她的核心管理思想基于敏捷方法 scrum,内置了产品管理和项目管理,同时又根据国内研发现状补充了测试管理、计划管理、发布管理、文档管理、事务管理等功能,在一个软件中就可以将软件研发中的需求、任务、bug、用例、计划、发布等要素有序的跟踪管理起来,完整地覆盖了项目管理的核心流程。

    10 引用 • 15 回帖 • 9 关注
  • Shell

    Shell 脚本与 Windows/Dos 下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比 Windows 下的批处理更强大,比用其他编程程序编辑的程序效率更高,因为它使用了 Linux/Unix 下的命令。

    125 引用 • 74 回帖 • 3 关注
  • 尊园地产

    昆明尊园房地产经纪有限公司,即:Kunming Zunyuan Property Agency Company Limited(简称“尊园地产”)于 2007 年 6 月开始筹备,2007 年 8 月 18 日正式成立,注册资本 200 万元,公司性质为股份经纪有限公司,主营业务为:代租、代售、代办产权过户、办理银行按揭、担保、抵押、评估等。

    1 引用 • 22 回帖 • 796 关注
  • Office

    Office 现已更名为 Microsoft 365. Microsoft 365 将高级 Office 应用(如 Word、Excel 和 PowerPoint)与 1 TB 的 OneDrive 云存储空间、高级安全性等结合在一起,可帮助你在任何设备上完成操作。

    5 引用 • 34 回帖 • 1 关注
  • HBase

    HBase 是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的 Google 论文 “Bigtable:一个结构化数据的分布式存储系统”。就像 Bigtable 利用了 Google 文件系统所提供的分布式数据存储一样,HBase 在 Hadoop 之上提供了类似于 Bigtable 的能力。

    17 引用 • 6 回帖 • 65 关注
  • 黑曜石

    黑曜石是一款强大的知识库工具,支持本地 Markdown 文件编辑,支持双向链接和关系图。

    A second brain, for you, forever.

    24 引用 • 242 回帖 • 1 关注
  • Gzip

    gzip (GNU zip)是 GNU 自由软件的文件压缩程序。我们在 Linux 中经常会用到后缀为 .gz 的文件,它们就是 Gzip 格式的。现今已经成为互联网上使用非常普遍的一种数据压缩格式,或者说一种文件格式。

    9 引用 • 12 回帖 • 175 关注
  • React

    React 是 Facebook 开源的一个用于构建 UI 的 JavaScript 库。

    192 引用 • 291 回帖 • 371 关注
  • flomo

    flomo 是新一代 「卡片笔记」 ,专注在碎片化时代,促进你的记录,帮你积累更多知识资产。

    6 引用 • 143 回帖 • 1 关注
  • HTML

    HTML5 是 HTML 下一个的主要修订版本,现在仍处于发展阶段。广义论及 HTML5 时,实际指的是包括 HTML、CSS 和 JavaScript 在内的一套技术组合。

    108 引用 • 295 回帖
  • VirtualBox

    VirtualBox 是一款开源虚拟机软件,最早由德国 Innotek 公司开发,由 Sun Microsystems 公司出品的软件,使用 Qt 编写,在 Sun 被 Oracle 收购后正式更名成 Oracle VM VirtualBox。

    10 引用 • 2 回帖 • 17 关注
  • 安全

    安全永远都不是一个小问题。

    199 引用 • 818 回帖
  • 服务

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

    41 引用 • 24 回帖 • 1 关注
  • Love2D

    Love2D 是一个开源的, 跨平台的 2D 游戏引擎。使用纯 Lua 脚本来进行游戏开发。目前支持的平台有 Windows, Mac OS X, Linux, Android 和 iOS。

    14 引用 • 53 回帖 • 558 关注
  • AngularJS

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

    12 引用 • 50 回帖 • 512 关注
  • WordPress

    WordPress 是一个使用 PHP 语言开发的博客平台,用户可以在支持 PHP 和 MySQL 数据库的服务器上架设自己的博客。也可以把 WordPress 当作一个内容管理系统(CMS)来使用。WordPress 是一个免费的开源项目,在 GNU 通用公共许可证(GPLv2)下授权发布。

    45 引用 • 114 回帖 • 172 关注
  • 友情链接

    确认过眼神后的灵魂连接,站在链在!

    24 引用 • 373 回帖
  • Notion

    Notion - The all-in-one workspace for your notes, tasks, wikis, and databases.

    10 引用 • 77 回帖
  • 创业

    你比 99% 的人都优秀么?

    82 引用 • 1395 回帖 • 1 关注
  • CongSec

    本标签主要用于分享网络空间安全专业的学习笔记

    1 引用 • 1 回帖 • 37 关注
  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    693 引用 • 537 回帖 • 1 关注
  • 酷鸟浏览器

    安全 · 稳定 · 快速
    为跨境从业人员提供专业的跨境浏览器

    3 引用 • 59 回帖 • 50 关注
  • JetBrains

    JetBrains 是一家捷克的软件开发公司,该公司位于捷克的布拉格,并在俄国的圣彼得堡及美国麻州波士顿都设有办公室,该公司最为人所熟知的产品是 Java 编程语言开发撰写时所用的集成开发环境:IntelliJ IDEA

    18 引用 • 54 回帖 • 1 关注
  • LaTeX

    LaTeX(音译“拉泰赫”)是一种基于 ΤΕΧ 的排版系统,由美国计算机学家莱斯利·兰伯特(Leslie Lamport)在 20 世纪 80 年代初期开发,利用这种格式,即使使用者没有排版和程序设计的知识也可以充分发挥由 TeX 所提供的强大功能,能在几天,甚至几小时内生成很多具有书籍质量的印刷品。对于生成复杂表格和数学公式,这一点表现得尤为突出。因此它非常适用于生成高印刷质量的科技和数学类文档。

    12 引用 • 59 回帖 • 5 关注
  • DevOps

    DevOps(Development 和 Operations 的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。

    59 引用 • 25 回帖 • 1 关注
  • 数据库

    据说 99% 的性能瓶颈都在数据库。

    345 引用 • 753 回帖 • 2 关注
  • Docker

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的操作系统上。容器完全使用沙箱机制,几乎没有性能开销,可以很容易地在机器和数据中心中运行。

    496 引用 • 934 回帖 • 1 关注