一些小特性的建议

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

建议 1 增加 Snippet 功能

才开始试用,感觉思源笔记的很多创新和借鉴的东西非常不错,非常看好这个产品的未来

使用笔记类的软件的用户,其实有多种的需求,比如我,多是进行各类自己喜欢知识的收集和整理,所以思源的网页及其 Word、Excel 的直接粘贴功能我非常的喜欢,以前为了这些剪贴,自己还专门写了相关的程序来处理。还有一类用户呢,是用笔记软件来记录或者写作,比如大学生或者论坛的写手等等,这类用户更会在意写作的流畅性,在这一点上思源笔记也做了很好的工作。

可能对一些使用过其他笔记软件的非码农,对于 Markdown 方式的写作有一点点恐惧,他们会说思源不宜入门,但有了软件的功能按钮,其实对普通用户来说,入手并没有那么难。

但是对于那些做随堂笔记的学生们,他们也许更希望能做到更快捷,更易用。

所以某种意义上的自动完成,捷显得非常有意义。

所以我建议作者可以考虑 snippets 的使用,在流行的编辑软件里,不管是 vim subline 还是 VScode,都不约而同地使用了 snippets.思源笔记在 Markdown 的文本里,集成了 MathJax、mindmap、mermaid、echarts、abc、graphviz、plantuml 这些优秀的应用,使得笔记里面可以集成公式、图表、UML 图、脑图等各种类型的功能。但这些对普通用户来说才是更难的东西。一个经常画类图、流程图的人,他可能会下一些时间去学习 plantUML,但是对于偶尔用其中一些功能的人,其实了解其中一小部分就足够用了。比如说一个学生,课堂笔记经常要输入公式,但一个学微积分的人,可能最常用的都是微积分符号,而学代数的人,也许会经常和矩阵打交道,所以如果能让他们不必完整掌握 Latex 或者 MathJax,就能很好使用的话,易用性的问题就能得到解决,同时也会成为思源笔记与其他笔记软件的差异性所在。

实现这个第一种方式,就是可以考虑使用 snippets,很成熟的一种方式

其实思源里已经有自动完成功能了,比如表情 Emoji 的输入就是一种,所以这段代码几乎是现成的了

使用 snippets 的一个考虑是,可以让用户自己定义这些自动完成的内容,而且可以让用户直接或者部分修改就是一直接使用其他软件目前大量的 snippets 资源。

调用自动完成,可以考虑使用思源原有的标点符号启用方式,也可以把 snippets 的激活定义在一个快捷键上

建议:

  • 不同类型的内容块,可以对应不同的 snippets 定义
  • 代码块中似应该针对代码语言的不同,对应不同的 snippets 定义

当然,使用和 Vscode 类似的编写 JSON 文件的方式,实现用户定义,对非 IT 用户来说未必友好,作者也可以考虑开发相应的模块来进行,可以考虑两种方式混用

其实还可以考虑增加一个可开关的浮动工具版,将定义好的 Snippet 关联在按钮上,可以给非专业者更好的体验。

建议 2 文档块增加一个将网络图片下载到本地的功能

对于我这种经常搜集文档的人,在以前使用 Markdown,总遇到一个问题,就是把 Markdown 的图片等资源保持原有链接还是下载到本地。

保持原有链接,可以减少文档及附件的尺寸,但是在没有网络的情况下或者原链接失效的情况下,就会让这类图片无法显示了。保存到本地可以在文档有大量图片的时候,仍能更好的快速显示,但是会让本地的包尺寸较大。

所以按照不同情况转换是最好的,我看到思源在剪贴文档的时候,可以选择保持原有链接,或者选择下载到本地,这个做得很好。

我认为缺省保持原链接是最好的,有特殊需求的时候,我希望可以在文件列表里增加一项功能,就是把已经做好的笔记文档里的外部链接图片,一键下载到本地,并把原来笔记里的网络连接改为本地链接

对于开发者,这个功能实现是举手之劳而已

一些建议或者说一些需求,供开发者参考

  • 思源笔记

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

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

    18595 引用 • 69210 回帖

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • 谢谢,这个特性很专业啊,估计暂时做不了。

  • 其他回帖
    • Snippet 应该就是现有的模板功能吧,不知道我理解是否有误
    • 图床功能订阅后就有了,默认是本地文件,同步时会自动上传一份到图床上,方便分享

    感谢你花时间帮助思源进步,欢迎继续讨论 ❤️

    1 回复
  • 我个人感觉 snippet 和现在的模板差别还蛮大的(我之前用过 vim 的 UltiSnips 插件写数学公式),主要体现在以下方面:

    • 首先是使用的便捷性,snippet 一般是无时无刻不在识别(类似于代码自动补全),但是模板需要“{{”来唤起
    • 其次 snippet 光标比较自由:可以产生多光标,或者按 Tab 键跳转光标(公式,代码等常用)
      beginend
    • 另外比较高级的 snippet 可以使用正则表达式匹配输入的内容,从而实现一些自动格式化(这个我目前只在 vim 的 UltiSnips 里面见过)
      • 例子 1:在公式(由两个$包裹的区域)中输入 alpha(alpha)会自动在前面加上\(变为\alpha
      • 例子 2:在 alpha 后输入 1(\alpha1)会自动加下标(\alpha_1
        自动加下标

    其他例子:

    高级例子

    更多例子可以见这篇文章


    这样使用 snippet 确实非常顺滑,但是一些比较高级的使用可能不好做?我感觉目前如果有需要也就是 VScode 那种:输入命名按 tab 进行补全,同时可以自定义光标的多个位置这样或许就好。

    不过目前我写数学公式,复杂的都用 ipad 手写了,而 snippet 的使用场景大多数是在代码中,所以我其实没有很大的需求。。。

    这上面就是提供一下 snippet 和模板不同之处的参考。模板或许更适合接入思源的 api 来生成大段的文字?

    1 回复

推荐标签 标签

  • Docker

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

    476 引用 • 899 回帖
  • Firefox

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

    7 引用 • 30 回帖 • 454 关注
  • CSS

    CSS(Cascading Style Sheet)“层叠样式表”是用于控制网页样式并允许将样式信息与网页内容分离的一种标记性语言。

    180 引用 • 447 回帖
  • TextBundle

    TextBundle 文件格式旨在应用程序之间交换 Markdown 或 Fountain 之类的纯文本文件时,提供更无缝的用户体验。

    1 引用 • 2 回帖 • 44 关注
  • App

    App(应用程序,Application 的缩写)一般指手机软件。

    90 引用 • 383 回帖 • 1 关注
  • Caddy

    Caddy 是一款默认自动启用 HTTPS 的 HTTP/2 Web 服务器。

    10 引用 • 54 回帖 • 131 关注
  • 星云链

    星云链是一个开源公链,业内简单的将其称为区块链上的谷歌。其实它不仅仅是区块链搜索引擎,一个公链的所有功能,它基本都有,比如你可以用它来开发部署你的去中心化的 APP,你可以在上面编写智能合约,发送交易等等。3 分钟快速接入星云链 (NAS) 测试网

    3 引用 • 16 回帖 • 5 关注
  • HHKB

    HHKB 是富士通的 Happy Hacking 系列电容键盘。电容键盘即无接点静电电容式键盘(Capacitive Keyboard)。

    5 引用 • 74 回帖 • 404 关注
  • OpenStack

    OpenStack 是一个云操作系统,通过数据中心可控制大型的计算、存储、网络等资源池。所有的管理通过前端界面管理员就可以完成,同样也可以通过 Web 接口让最终用户部署资源。

    10 引用 • 10 关注
  • Kafka

    Kafka 是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是现代系统中许多功能的基础。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。

    35 引用 • 35 回帖
  • 反馈

    Communication channel for makers and users.

    123 引用 • 906 回帖 • 190 关注
  • SMTP

    SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。

    4 引用 • 18 回帖 • 589 关注
  • 域名

    域名(Domain Name),简称域名、网域,是由一串用点分隔的名字组成的 Internet 上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。

    43 引用 • 208 回帖
  • GitBook

    GitBook 使您的团队可以轻松编写和维护高质量的文档。 分享知识,提高团队的工作效率,让用户满意。

    3 引用 • 8 回帖
  • Git

    Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

    205 引用 • 357 回帖 • 1 关注
  • RIP

    愿逝者安息!

    8 引用 • 92 回帖 • 293 关注
  • Vue.js

    Vue.js(读音 /vju ː/,类似于 view)是一个构建数据驱动的 Web 界面库。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

    261 引用 • 662 回帖
  • BAE

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

    19 引用 • 75 回帖 • 620 关注
  • 心情

    心是产生任何想法的源泉,心本体会陷入到对自己本体不能理解的状态中,因为心能产生任何想法,不能分出对错,不能分出自己。

    59 引用 • 369 回帖
  • 尊园地产

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

    1 引用 • 22 回帖 • 682 关注
  • 导航

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

    37 引用 • 168 回帖
  • 宕机

    宕机,多指一些网站、游戏、网络应用等服务器一种区别于正常运行的状态,也叫“Down 机”、“当机”或“死机”。宕机状态不仅仅是指服务器“挂掉了”、“死机了”状态,也包括服务器假死、停用、关闭等一些原因而导致出现的不能够正常运行的状态。

    13 引用 • 82 回帖 • 37 关注
  • ActiveMQ

    ActiveMQ 是 Apache 旗下的一款开源消息总线系统,它完整实现了 JMS 规范,是一个企业级的消息中间件。

    19 引用 • 13 回帖 • 628 关注
  • Spark

    Spark 是 UC Berkeley AMP lab 所开源的类 Hadoop MapReduce 的通用并行框架。Spark 拥有 Hadoop MapReduce 所具有的优点;但不同于 MapReduce 的是 Job 中间输出结果可以保存在内存中,从而不再需要读写 HDFS,因此 Spark 能更好地适用于数据挖掘与机器学习等需要迭代的 MapReduce 的算法。

    74 引用 • 46 回帖 • 550 关注
  • 数据库

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

    330 引用 • 614 回帖 • 1 关注
  • Vditor

    Vditor 是一款浏览器端的 Markdown 编辑器,支持所见即所得、即时渲染(类似 Typora)和分屏预览模式。它使用 TypeScript 实现,支持原生 JavaScript、Vue、React 和 Angular。

    311 引用 • 1666 回帖
  • 百度

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

    63 引用 • 785 回帖 • 252 关注