由于 notion 的习惯使然,或者还有更前的一些笔记习惯,我习惯会为文档增加标签。
在长期的 notion 使用中,我基于 database 添加了“标签”属性,通过这种方式搜索文档
而在 siyuan 中,内置了标签。这就让我很纠结了:
- 选择扩展属性,那么放弃了系统内置功能,会不会有性能劣势或者其他的没有享受到的东西?
- 使用后者,那我使用数据库副本就少了一个辅助过滤的能力,或者至少实现没有那么简单
你们呢?怎么选择
由于 notion 的习惯使然,或者还有更前的一些笔记习惯,我习惯会为文档增加标签。
在长期的 notion 使用中,我基于 database 添加了“标签”属性,通过这种方式搜索文档
而在 siyuan 中,内置了标签。这就让我很纠结了:
你们呢?怎么选择
思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。
融合块、大纲和双向链接,重构你的思维。
要不试试模板列?
假如你现在有一个包含两个标签的文档:
加入数据库后,使用模板列,输入以下代码:
.action{$tags := splitList "," .tags}
.action{range $index, $tag := $tags}
<span style="padding: 1px 6px 1px 6px; background-color: var(--b3-font-background13); border-radius: 3px;"># .action{$tag}</span>
.action{end}
能够得到这样的效果:
这样做,可以保留你原有的习惯,数据库也有了你说的“辅助过滤的能力”(通过筛选、搜索等),还不需要额外的成本(不需要再维护一个多选列)。不足之处是不能直接在数据库列上修改标签,要回到文档去。
还是等子弹飞一会吧,感觉 database 这块还有很多优化空间,模板更是。按着 notion 的路子来走,起码得大半年不止。
notion 用起来很符合直觉的 database 功能:
目前感觉精力仅集中两个视图 table 和 看板 的实现就现阶段够用了,后面直接做这块的优化,不要只停在够用的程度了
回到主题,目前我还是决定继续在 database 上添加标签多选列,这样使用体验和维护都比较方便,内置标签系统仅作为补充好了,在内容上做下名词索引够用了,同时用于碎片化的内容片段,方便之后整理为文档。或者继续看看 DL 们还有什么骚操作了
@liptshang 在 v3.0.11 要先过滤掉空值,否则会报错
.action{ if not (empty .tags) }
.action{ $tags := splitList "," .tags }
.action{ range $index, $tag := $tags }
<span style="padding: 1px 6px 1px 6px; background-color: var(--b3-font-background12); border-radius: 3px;"># .action{$tag}</span>
.action{ end }
.action{ end }
.action{ if not (empty .tags) }
.action{ $tags := splitList "," .tags }
.action{ range $index, $tag := $tags }
<span data-type="tag">.action{$tag}</span>
.action{ end }
.action{ end }
第一条,多虑了,因为思源的数据库表格才加上没多久,用表格比标签舒服多了
标签用来放一些存档的东西,其实挺好的,不用常出现,但是一直在
FreeMarker 是一款好用且功能强大的 Java 模版引擎。
微服务架构是一种架构模式,它提倡将单一应用划分成一组小的服务。服务之间互相协调,互相配合,为用户提供最终价值。每个服务运行在独立的进程中。服务于服务之间才用轻量级的通信机制互相沟通。每个服务都围绕着具体业务构建,能够被独立的部署。
Shell 脚本与 Windows/Dos 下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比 Windows 下的批处理更强大,比用其他编程程序编辑的程序效率更高,因为它使用了 Linux/Unix 下的命令。
我们平时所说的“架构”主要是指软件架构,这是有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计。另外还有“业务架构”、“网络架构”、“硬件架构”等细分领域。
正则表达式(Regular Expression)使用单个字符串来描述、匹配一系列遵循某个句法规则的字符串。
你若安好,便是晴天。
Webswing 是一个能将任何 Swing 应用通过纯 HTML5 运行在浏览器中的 Web 服务器,详细介绍请看 将 Java Swing 应用变成 Web 应用 。
iOS 是由苹果公司开发的移动操作系统,最早于 2007 年 1 月 9 日的 Macworld 大会上公布这个系统,最初是设计给 iPhone 使用的,后来陆续套用到 iPod touch、iPad 以及 Apple TV 等产品上。iOS 与苹果的 Mac OS X 操作系统一样,属于类 Unix 的商业操作系统。
禅道是一款国产的开源项目管理软件,她的核心管理思想基于敏捷方法 scrum,内置了产品管理和项目管理,同时又根据国内研发现状补充了测试管理、计划管理、发布管理、文档管理、事务管理等功能,在一个软件中就可以将软件研发中的需求、任务、bug、用例、计划、发布等要素有序的跟踪管理起来,完整地覆盖了项目管理的核心流程。
小薇是一个用 Java 写的 QQ 聊天机器人 Web 服务,可以用于社群互动。
由于 Smart QQ 从 2019 年 1 月 1 日起停止服务,所以该项目也已经停止维护了!
flomo 是新一代 「卡片笔记」 ,专注在碎片化时代,促进你的记录,帮你积累更多知识资产。
腾讯公司 2011 年 1 月 21 日推出的一款手机通讯软件。用户可以通过摇一摇、搜索号码、扫描二维码等添加好友和关注公众平台,同时可以将自己看到的精彩内容分享到微信朋友圈。
Scala 是一门多范式的编程语言,集成面向对象编程和函数式编程的各种特性。
让我们欢迎这对新人。哦,不好意思说错了,让我们欢迎这位新人!
新手上路,请谨慎驾驶!
H2 是一个开源的嵌入式数据库引擎,采用 Java 语言编写,不受平台的限制,同时 H2 提供了一个十分方便的 web 控制台用于操作和管理数据库内容。H2 还提供兼容模式,可以兼容一些主流的数据库,因此采用 H2 作为开发期的数据库非常方便。
SVN 是 Subversion 的简称,是一个开放源代码的版本控制系统,相较于 RCS、CVS,它采用了分支管理系统,它的设计目标就是取代 CVS。
ZeroNet 是一个基于比特币加密技术和 BT 网络技术的去中心化的、开放开源的网络和交流系统。
阿里云是阿里巴巴集团旗下公司,是全球领先的云计算及人工智能科技公司。提供云服务器、云数据库、云安全等云计算服务,以及大数据、人工智能服务、精准定制基于场景的行业解决方案。
GitLab 是利用 Ruby 一个开源的版本管理系统,实现一个自托管的 Git 项目仓库,可通过 Web 界面操作公开或私有项目。
Go 语言是 Google 推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。Go 是谷歌 2009 发布的第二款编程语言。
JavaScript 一种动态类型、弱类型、基于原型的直译式脚本语言,内置支持类型。它的解释器被称为 JavaScript 引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 HTML 网页上使用,用来给 HTML 网页增加动态功能。
星云链是一个开源公链,业内简单的将其称为区块链上的谷歌。其实它不仅仅是区块链搜索引擎,一个公链的所有功能,它基本都有,比如你可以用它来开发部署你的去中心化的 APP,你可以在上面编写智能合约,发送交易等等。3 分钟快速接入星云链 (NAS) 测试网
SendCloud 由搜狐武汉研发中心孵化的项目,是致力于为开发者提供高质量的触发邮件服务的云端邮件发送平台,为开发者提供便利的 API 接口来调用服务,让邮件准确迅速到达用户收件箱并获得强大的追踪数据。
你创造的作品可能会帮助到很多人,如果是开源项目的话就更赞了!
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于