关于思源笔记的一些看法

本贴最后更新于 837 天前,其中的信息可能已经东海扬尘

之前在思源三群发了个消息:

思源写作体验非常棒,算得上 PC 上 MD 笔记的写作体验的领头羊,唯一遗憾的默认存储格式不是.md,限制了玩法和使用场景,否则应该可以封神了。

然后有了如下对话:

萌新的化身[2] 2022/8/8 12:05:20
因果关系搞反了,就是因为打破了 md 的限制才有现在的思源

鸢尾 2022/8/8 12:44:28
果真 .md 格式总是成为大家对思源放不下心的原因

鸢尾 2022/8/8 12:45:17
军师 急需您写一条为什么思源不是.md 的说明

Evil Eyes 2022/8/8 12:46:59
“notion 也不是 md,有本事你去 notion 群里说啊”

Evil Eyes 2022/8/8 12:47:43
再回来的时候已经被骂得不成人形了

是 Dammy 不是 D 大 2022/8/8 12:48:34
MD 问题 D 大熟,我去翻翻 D 大语录看记下了吗,理解老深刻了

是 Dammy 不是 D 大 2022/8/8 12:50:07
坏了我没记

鸢尾 2022/8/8 12:55:05
D 大发的那个我也有点印象

有说大佬曾在群里深刻剖析过为啥不存储 md 的原因。但我进群的晚,没看到大佬的理解。不过呢,感觉对话中的两个理由都比较牵强。

首先我知道思源数据结构是基于内容块的,很多功能和复杂查询与数据关联都是基于这种特有的设计实现的,它就像一个数据库,甚至可以用类似 SQL 的语法进行查询,这种设计思路不错,不过这与最终是否存储为 MD 格式文件没有啥必然联系,因为保存现有格式的元数据与同时再生成一份 MD 文档并没有冲突,而且对直接存储 md 格式不放心的人毕竟是少数,没有啥放不放心,不行的话难道不能对是否存储 md 格式文档设置为用户可选项?

其次我个人认为思源现有的用户增量主要基于写作体验、开源、跨平台、官方同步等方面的原因,这些方面思源除了在移动端的的体验比较糟糕外其他都不错,所以用户的增长几乎是水到渠成的。但这个增速实话说却不是它应有的增速。还有大批人并不知道思源,不知道的原因除开官方推广外主要还是在于用户并没太大的主动意愿去做口碑传播,有些人知道,但用了不久又换其他笔记了,比如 ob。

刚开始我在一些平台回答笔记类的问答时也会推荐一下思源,但后来没有进行推荐了。主要原因有三:

第一、通常发问的人一般都找过许多笔记应用试用过,他们的需求一般是除写作之外的额外要求,否则 word 已是写作体验的天花板,他们也没必要发问,一些需求比较个性化,思源目前并不支持插件扩展,显然无法满足。

第二、md 笔记本身是些简单的标记格式,虽然简单,但也没到人人都懂的程度,懂得 md 语法,并且需要 md 笔记的人大多喜欢折腾,玩 nas、blog、web dev 的人居多,这些人对数据的敏感性高,同时又对数据的通用性有所要求,md 存储格式是其中一个指标,支持第三方同步也是一个指标。这两点不一定是比较重要的指标,但思源显然都不支持。

第三、推荐给一些人用了一段时间后,用的人最终大多还是没选择押宝思源,原因是多方面的,除了我前面说的那些,最主要的是偶发性的报错,思源版本更新很快,但同时也带来了一些问题,比如测试并不严谨,很多问题等新版发布一段时间后才会收到用户反馈,如果是通用型 BUG,恰好被新手体验到了,有些人会选择提交给官方,但更多的人怕是直接选择不用了。我用思源时也会经常遇到崩溃重建索引的情况,而且是连续几个新版本都存在这种偶发性错误,虽然似乎也没影响到数据,但也不太好跟人介绍了。

除上所述外还有一些其他问题,在此不一一列举。总之,思源有它独特的优势,第一眼就觉得惊艳,第二眼还是喜欢,但就目前而言尚未成熟,我知道思源是因为 Vditor,如果不是它,我可能至今也不晓得思源。这本身就是问题。

期待几年后的思源能够建立真正的 md 笔记生态,适用更多的场景,特别是深层次的插件支持,很多功能官方可以说一万个不做的理由,但对于需求者来说,只需要一个理由,扩展插件的意义就在于:你不做,我做。
我会随时关注,期待它超越 ob 的时候!

  • 思源笔记

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

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

    22355 引用 • 89465 回帖 • 1 关注

相关帖子

欢迎来到这里!

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

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

    对于 Markdown 的不合适用于知识管理有以下几点

    1. 知识管理需要对一段知识,或者一个块进行唯一标记,但在 Markdown 设计之初就没有这样的需求,所以 ob 在这一块实现的既不优雅,也不够实用,块的定位有问题
    2. Markdown 文件无法保证文件的唯一写入,这就会造成文件损坏,权限异常等无法解决的问题,解决的办法只用思源通过 api 才能对文件保证“事务性”的操作
    1 回复
  • 其他回帖
  • shileiye
    作者

    首先,这种设计是没问题的,为了支持复杂的应用场景,纯 MD 格式肯定是很难的,但哪怕是用到再复杂的数据结构,甚至直接用数据库也不妨碍同时生成一份 MD 文档,以及反解析 MD 文档为特定数据结构,如果是为了满足知识管理、块管理等,关联特定数据结构即可,没必要彻底放弃 MD 存储格式。

    其次,所谓的唯一写入其实是伪需求,目的只是为了防止内容冲突不好合并,但如果笔记有协作需求,那思源目前来讲绝不是一个好的解决方案,除协作需求外可能产生写入冲突的地方应该是在第三方同步和其他软件直接修改 MD 文档上对吧?

    这涉及到以特定数据结构为主数据还是 MD 文档本身为主数据的问题,用特定结构数据的话自然可以更加方便的管理数据,第三方软件对 MD 文件的写入对主数据并无影响,也就是说思源打开这个 MD 文档还是会恢复为主数据库存储的数据,但这显然有些违反直觉。因此以 MD 文档为主,特定结构数据为辅未尝不可。

    结构数据的生成由 MD 决定,本身思源目前的原理也是这样,扫描 MD 文档的改动并重新建立结构数据用于各种辅助功能和查询,MD 文档作为主要数据生成的载体是可行的,因此不存在说无法实现思源目前的功能以及数据结构的问题,因为 MD 文档的普适性,决定了它的应用场景不仅仅是笔记,它是一个生态,比如市面上基于 MD 文档的各类管理系统,其数据源文件就是 MD 格式,比如在移动端一些写作体验较好的应用源文件格式也是 MD,在思源移动端体验依旧跟不上的情况下,使用第三方 MD 编辑器直接编辑 MD 文件也是最好的选择,另外第三方同步读写 MD 也比被思源锁定的特有格式有优势,唯一要解决的就是版本冲突合并罢了。就像代码协作提交前处理代码冲突,对代码进行合并,这并不是什么难事,这本身就是多端同步协作逻辑上肯定会发生的问题,不应为避免冲突而强制它不冲突,而是在冲突时给个解决方案,无论是强制覆盖,还是内容合并,或者是放弃更改,都应该是交给用户,而不是程序。

    1 回复
  • GuangDai 1 评论

    md 真的太弱了,之前我就和我的同学讨论过 markdown 的缺陷。。。。

    首先 siyuan 是开源的,只要你 Fork 一下,这个项目你就相当于永久保存了,哪怕 D 大和 V 大删了都不会影响你。你同步也可以同步到 github 等等其他地方,你随便访问你保存的目录,没有人会干扰你的自由。

    其次 Siyuan 的存储本身也是一个代码文本,不是 APP、Word 那种结构化的东西,只不过 MD 的结构复杂度远低于 Siyuan 的复杂度,导致 Siyuan 的纯文件阅读会非常困难。

    与其说 Siyuan 为什么不支持这样的纯 md,更不如说,md 本身的贫瘠功能并不足以支持 siyuan 的发展。在最早的 Siyuan 是用 MD 保存的,但后来验证很难支撑起这样一个结构化的。因为 MD 的设计初衷就是类似于一个记录的文本,是一维度、线性的。

    如果老哥写代码非常多,就知道只在编辑器里面写代码,而没有注释、代码的跳转什么的功能,就是给自己找罪受,因为这里用到一个 function,那里用到另一个 function 等等。

    要我说与其说是怀念 MD,不如说是怀念 MD 可以直接用键盘简单的进行编辑。这个是 Siyuan 的缺陷,也是那些快捷键虽然多,但记忆和掌握起来相对更复杂的问题

    MD 本身确实不具备复杂应用的特性,但并不意味着需要放弃 MD 格式本身,无论是使用数据库还是 JSON 来存储 MD 源数据都可以实现复杂的应用,唯一要解决的就是与 MD 文件的关联,而不是彻底放弃 MD 格式。MD 是展示层的东西,也可以是源数据的载体,数据库或者 JSON 完全可以作为中转区域来实现各种复杂应用,没必要完全放弃 MD 格式,放弃 MD 格式也就是放弃了整个 MD 生态,以至于它就只是一个笔记,而无法适应更多的应用场景。比如 WEB 文档、移动端更好的写作体验、个人数据统一管理等等。
    shileiye
  • Bard 1 评论

    我对 “md 笔记生态”一说存疑

    只是有很多软件支持 md 语法,尤其是笔记软件

    再就是说的上的 md 笔记软件也就 ob 和 logseq,而且现在这俩的 md 文件很容易不兼容了

    这已经有悖于 md 的初衷了

    对了,如果说“md 笔记生态”是支持 md 语法的,那思源是属于的

    如果“md 笔记生态”是用 md 文件存储的,那我觉得及没必要,也弊端显著,不进去挺好

    2 操作
    Bard 在 2022-08-10 16:54:24 更新了该回帖
    Bard 在 2022-08-10 16:53:12 更新了该回帖
    所谓生态就是围绕一个关键因素建立的应用关联,你只看到了笔记一个场景,却忽略了整个大环境,目前 MD 文档正在成为富文本外的第二选择,许多应用系统集成了 MD 文档的直接应用,比如一些博客系统、一些文档管理系统、一些办公系统、一些信息发布系统、一些阅读系统、一些 IDE 开发工具等等,更不用说让 MD 源远流长的 Git 代码库了。你想到的只是满足个人写笔记,却没看到那些 MD 正在肆虐的地方,符合标准的 MD 文档正在成为主流。而原因,正是因为它的简洁与复杂,不矛盾,用简洁的语法实现复杂的效果,这就是 MD 的魅力,而你居然把它的优势看成一种劣势,着实有些以己度人。论复杂,请问你为啥不用富文本、HTML 写笔记?
    shileiye
  • 查看全部回帖

推荐标签 标签

  • 设计模式

    设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。

    200 引用 • 120 回帖 • 1 关注
  • WiFiDog

    WiFiDog 是一套开源的无线热点认证管理工具,主要功能包括:位置相关的内容递送;用户认证和授权;集中式网络监控。

    1 引用 • 7 回帖 • 587 关注
  • 工具

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

    286 引用 • 729 回帖
  • 代码片段

    代码片段分为 CSS 与 JS 两种代码,添加在 [设置 - 外观 - 代码片段] 中,这些代码会在思源笔记加载时自动执行,用于改善笔记的样式或功能。

    用户在该标签下分享代码片段时需在帖子标题前添加 [css] [js] 用于区分代码片段类型。

    70 引用 • 375 回帖 • 1 关注
  • webpack

    webpack 是一个用于前端开发的模块加载器和打包工具,它能把各种资源,例如 JS、CSS(less/sass)、图片等都作为模块来使用和处理。

    41 引用 • 130 回帖 • 261 关注
  • 服务

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

    41 引用 • 24 回帖 • 1 关注
  • 旅游

    希望你我能在旅途中找到人生的下一站。

    90 引用 • 899 回帖
  • SpaceVim

    SpaceVim 是一个社区驱动的模块化 vim/neovim 配置集合,以模块的方式组织管理插件以
    及相关配置,为不同的语言开发量身定制了相关的开发模块,该模块提供代码自动补全,
    语法检查、格式化、调试、REPL 等特性。用户仅需载入相关语言的模块即可得到一个开箱
    即用的 Vim-IDE。

    3 引用 • 31 回帖 • 99 关注
  • IBM

    IBM(国际商业机器公司)或万国商业机器公司,简称 IBM(International Business Machines Corporation),总公司在纽约州阿蒙克市。1911 年托马斯·沃森创立于美国,是全球最大的信息技术和业务解决方案公司,拥有全球雇员 30 多万人,业务遍及 160 多个国家和地区。

    17 引用 • 53 回帖 • 136 关注
  • 开源中国

    开源中国是目前中国最大的开源技术社区。传播开源的理念,推广开源项目,为 IT 开发者提供了一个发现、使用、并交流开源技术的平台。目前开源中国社区已收录超过两万款开源软件。

    7 引用 • 86 回帖
  • FreeMarker

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

    23 引用 • 20 回帖 • 462 关注
  • JRebel

    JRebel 是一款 Java 虚拟机插件,它使得 Java 程序员能在不进行重部署的情况下,即时看到代码的改变对一个应用程序带来的影响。

    26 引用 • 78 回帖 • 664 关注
  • 倾城之链
    23 引用 • 66 回帖 • 136 关注
  • PWL

    组织简介

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

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

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

    📙 前端知识精选集,包含 HTML、CSS、JavaScript、React、Node、安全等方面,每天仅需 30 秒。

    • 精选常见面试题,帮助您准备下一次面试
    • 精选常见交互,帮助您拥有简洁酷炫的站点
    • 精选有用的 React 片段,帮助你获取最佳实践
    • 精选常见代码集,帮助您提高打码效率
    • 整理前端界的最新资讯,邀您一同探索新世界
    488 引用 • 384 回帖 • 8 关注
  • Vim

    Vim 是类 UNIX 系统文本编辑器 Vi 的加强版本,加入了更多特性来帮助编辑源代码。Vim 的部分增强功能包括文件比较(vimdiff)、语法高亮、全面的帮助系统、本地脚本(Vimscript)和便于选择的可视化模式。

    29 引用 • 66 回帖 • 1 关注
  • React

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

    192 引用 • 291 回帖 • 385 关注
  • CodeMirror
    1 引用 • 2 回帖 • 129 关注
  • V2EX

    V2EX 是创意工作者们的社区。这里目前汇聚了超过 400,000 名主要来自互联网行业、游戏行业和媒体行业的创意工作者。V2EX 希望能够成为创意工作者们的生活和事业的一部分。

    17 引用 • 236 回帖 • 328 关注
  • 禅道

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

    6 引用 • 15 回帖 • 113 关注
  • FlowUs

    FlowUs.息流 个人及团队的新一代生产力工具。

    让复杂的信息管理更轻松、自由、充满创意。

    1 引用 • 3 关注
  • Log4j

    Log4j 是 Apache 开源的一款使用广泛的 Java 日志组件。

    20 引用 • 18 回帖 • 30 关注
  • Angular

    AngularAngularJS 的新版本。

    26 引用 • 66 回帖 • 536 关注
  • NGINX

    NGINX 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 NGINX 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。

    311 引用 • 546 回帖
  • Tomcat

    Tomcat 最早是由 Sun Microsystems 开发的一个 Servlet 容器,在 1999 年被捐献给 ASF(Apache Software Foundation),隶属于 Jakarta 项目,现在已经独立为一个顶级项目。Tomcat 主要实现了 JavaEE 中的 Servlet、JSP 规范,同时也提供 HTTP 服务,是市场上非常流行的 Java Web 容器。

    162 引用 • 529 回帖
  • 面试

    面试造航母,上班拧螺丝。多面试,少加班。

    325 引用 • 1395 回帖
  • Flume

    Flume 是一套分布式的、可靠的,可用于有效地收集、聚合和搬运大量日志数据的服务架构。

    9 引用 • 6 回帖 • 629 关注