1. 需求和当前方案

  1. 快速、精确地找到目标
    1. 快速、精确搜索
      1. 方案:使用内置搜索==当前方案==
    2. 快速、精确浏览
      1. 方案:每个类都存在一个大纲文件,该文件标有该所有有关的分级类==当前方案==
      2. 动态toc索引
        1. 方案:使用dataview动态归类==当前方案==
      3. 用键盘在类结构中浏览
      4. 在当前类文件中调用内置搜索的时候可以很快捷的在当前类中进行搜索
  2. 快速、便于管理地创建笔记
    1. 便于管理
      1. 配合搜索
        1. 可以继承多个父类
          1. 能搜索并读取指定类的属性,且能返回文本写入到文件中(而不只是渲染而已)
            1. 方案: 类名也用属性来存储, 搜索的时候就搜类名, 自己写插件读取搜索到的多个文本,并能对这些文本进行操作和输出.
            2. 方案:父类的属性放在标签里面,打标签的时候会搜索并读取匹配到的标签中的内容
          2. 方案:先用标签自动补全把父类的标签复制过来,把类名改成自己,更改属性
        2. 保留所有的父类(包括父类的所有父类)
          1. 用尽可能少的字节数保存所有层级结构
            1. 方案:自研一套语法可以把多条继承路线聚合在最后的类上,方便在后面追加子类
          2. 方案:把类的所有层级结构都保存为属性,继承的时候会把这些层级结构也继承
        3. 把多个父类的属性进行融合
          1. 方案:手动把多个复制过来的父类标签的属性粘贴到一个标签上
          2. 自动把同一个类的不同标签属性融合
            1. 方案: 自制插件能对文本进行操作
            2. 属性名相同的, 把值加起来
            3. 属性名不同的, 都保留
        4. 方案:使用分级标签==当前方案==
        5. 标上子类的时候,可以自动标上所有父类
          1. 标上子类的时候,检查是否已经存在了父类
            1. 检测当前文件的文本
              1. 放弃
            2. 可以动态地获得类的结构
              1. 方案:标类的时候,会自动弹出包含该类的结构,选择即可==当前方案==
          2. 没有父类的话就自动标上父类
            1. 方案:标类的时候,把父类用分级标签表示==当前方案==
      2. 配合浏览
        1. 清楚的根据文件名清楚整个文件的内容
          1. 拆分文件
            1. 方案:用note refacotor插件.选中文本后使用该插件的命令即可==当前方案==
              1. 调研:
                1. 选中内容后拆分到指定文件或输入文件名新建文件
                2. 可以有效防止重复
      3. 自动把近期创建的笔记归类
        1. 按标签数量倒序
          1. 方案:使用多个dataview依次判断标签数为1,为2,为3…==当前方案==
      4. 创建的时候可以自动查重文件名和内容
        1. 放弃
    2. 快速创建
      1. 智能根据文本内容联想类
        1. 人工智能查找关键字
          1. 放弃
        2. 人工智能分类
          1. 放弃
      2. 可以用浏览的方式归于已有类
        1. 方案:用obsidian打个#后弹出来的自动补全菜单菜单==当前方案==

2. 目前决定的方案:

1. 查找的方案

笔记最主要的目的是用来在搜索的时候可以快速找到的,所以首先要能够 【快速、精确】找到目标 找有两个方法:

  1. 搜索
    1. 优先使用系统内置的全局搜索
    2. 当需要搜索目录时
      1. 使用utool的obsidian搜索插件
        1. 直接输入要搜索的内容
        2. 选择obsidian搜索
      2. 使用quick swich插件的文件切换功能
  2. 浏览
    1. 使用alt+r快捷键使用某一个插件来在文件夹中导航

2. 创建笔记的方案

创建笔记的主要原则要能够配合查找 方案:

  1. 配合搜索的方案
    1. 使用标题来列出尽可能多的于当前内容匹配的关键字
  2. 配合浏览的方案
    1. 尽可能放在对应的文件夹之下

3. 方案调研

1. 调研材料

  1. toc索引插件dataview

2. 材料调研结果

2.1. 文件夹和索引来管理文件的优缺点

3.2.1.1. 文件夹

3.2.1.1.1. 优点

分类比较集中 兼容性强

3.2.1.1.2. 缺点

只能属于一个类且固定,创建时候只能去想已有的类

3.2.1.2. toc索引

3.2.1.2.1. 优点

分类灵活和可同属多个类 类之间也可以同属多个类

3.2.1.2.2. 缺点

兼容性没这么好,需要第三方的toc索引插件 分类比较散,可能存在多个相似类 类将会更多,会出现很多小类

2.2. dataview功能

  1. 可以用指定规则列出搜索到的文件
    1. 可以使用的搜索规则
      1. 用yml语言自定义
        1. 语法:
          ---
          title: 标题名字
          author: 作者名
          tags: [标签1]
          ---
      2. dataview插件会在每个笔记中加入很多元数据,可以搜索这些元数据
          1. 标签
          2. 链接
          3. 日期
          4. 大小
          5. 文件标题
  2. 不能列出块和标题

3. 方案调研

  1. 快速、精确地找到目标
    1. 快速、精确搜索
      1. 方案:用quick swich插件的标题搜索和文件名搜索
        1. 可以搜索到标题
        2. 可以搜索到文件名
        3. 可以搜索到目录
        4. 不能搜索到正文
        5. 不能搜索到标签
        6. 不能使用正则表达式
        7. 不能预览太多,只能显示一小行
      2. 方案:用obsidian自带的全局搜索
        1. 能搜索到正文
        2. 能搜索到文件名
        3. 能搜索标题
        4. 能搜索标签
        5. 能搜索目录
        6. 可以使用正则表达式
        7. 可以使用三种逻辑关系符
        8. obsidian内置搜索详解
          1. 搜索对象
            1. 默认的搜索对象非常广,会搜索除了目录的所有文本. 而使用内置的搜索符可以缩小搜索对象
            2. content: 将使搜索对象变为文件中的内容。比如 content:"happy cat"
            3. line:(...) 将使搜索对象从整个文档的内容变为行的内容。比如,当我们使用最普通的搜索搜索 foo bar 时,会返回那些第一行中有 foo,最后一行有 bar 的笔记。但是,如果使用 line:(foo bar),则会返回只在同一行中同时包含 foobar 的笔记。
            4. block:(...) 将使搜索对象从整个文档的内容变为块的内容。正如块链接与块引用中所说的,块是被两个空行包围的元素。由于涉及块的操作需要进一步解析每个文件,因此这种搜索可能会比其他搜索慢。
            5. section:(...) 将使搜索对象从整个文档的内容变为章节的内容。所谓章节指的是两个小标题间的文本(包括开头的小标题)。
          2. 逻辑搜索符
            1. 搜索是可以用逻辑运算符的,or表示或,空格表示与,-表示非
          3. 当你选中某段文本后再唤起搜索功能时,Obsidian 会自动为你在库中搜索这段文本
      3. 方案:用utool的obsidian搜索插件
        1. 能搜索到正文
        2. 能搜索到文件名
        3. 能搜索标题
        4. 能搜索标签
        5. 能搜索到目录
        6. 不能预览太多,只能显示一小行
        7. 不能使用正则表达式
    2. 快速、精确浏览
  2. 快速、便于管理地创建笔记
    1. 配合搜索地创建笔记
      1. 文件拆分
        1. 方案:因为系统的搜索都会返回文件名 所以文件名要尽量概括文件内容,当出现文件内容难以概括或概括起来太长的时候就拆分文件
    2. 配合浏览地创建笔记
      1. toc索引
        1. 方案:如果创建笔记的时候比较零散,但是用标签标题等分好类,那需要用到插件来制作toc索引

4. 随想(未整理):

标签可以设置层级

5. 项目结论

1. 尽可能多个关键字描述同一个东西

2. 浏览和搜索的关系

搜索和浏览是同时使用的 搜索的作用是缩小浏览的范围

3. 手动标类会出现的问题

  1. 标的类搜索的时候想不到
    1. 标类的原则
      1. 尽可能多
      2. 尽可能与当前文件靠近
      3. 包含一些适当大的类
  2. 标的类太大,导致该笔记出现的类都包含有很多其他文件,难以浏览
    1. 不过这个还好,可以在以后的时候再标上切题的类
    2. 或者干脆不要用纯浏览了,直接用搜索

4. 用键盘来浏览类结构的猜想

如果弃用文件夹,用标签归类的话,就不能用alt+r来用键盘在结构中浏览 但在文件中的话,可以用键盘直接进到那个类文件中,然后根据链接跳到结构中的下一级,应该也可以用出链返回键来返回上一级

5. 如果每次记笔记都新建文件会出现的问题

  1. 手动标类太麻烦
    1. 方案猜想:
      1. 智能补全
        1. 智能弹出联想到的类
  2. 出现重复内容也不知道
    1. 方案猜想:创建之前之后可以搜索以下,看看有没有重复的

6. 类中可以被继承的东西叫属性

因为类的层级结构是可以被继承的,所以类的层级结构也是一个属性

7. dataview主要以预览形势输出结果