[思源笔记使用心得] 分享一个渲染当前文章标题 / 命名 / 别名 / 备注等属性的模板片段

本贴最后更新于 796 天前,其中的信息可能已经时移俗易

注: 找到了一个可以增删改查文档属性的挂件, 感谢开发者 leolee9086

leolee9086/cc-doctype-form


当我引用一个文档块时, 发现鼠标悬停在该引用上方弹出的预览面板中只能看到文档内容而无法看到文章的相关属性, 例如

  • 文档标题
  • 文档命名
  • 文档别名
  • 文档备注
  • 文档 ID
  • 文档所在路径
  • 文档创建时间
  • 文档修改时间

而我习惯将这些属性设置为如下内容

  • 命名设置为中文全称, 用于在搜索时精确查找, 虚拟引用匹配等
  • 别名设置为其他不常用的中文全称, 中文简称, 英文缩写等
  • 备注设置为英文全称

但是显然悬浮预览面板无法查看这些内容, 因此我使用如下模板将这些内容以表格的形式插入

.action{$blocks := (queryBlocks "SELECT * FROM blocks WHERE type='d' AND id ='?'" .id)}
.action{$name := ""}
.action{$memo := ""}
.action{$hpath := ""}
.action{$created := ""}
.action{$updated := ""}
.action{range $i, $v := $blocks}
    .action{$name = $v.Name}
    .action{$memo = $v.Memo}
    .action{$hpath = $v.HPath}
    .action{$created = $v.Created}
    .action{$updated = $v.Updated}
.action{end}

.action{$Title := ((((((((((((((((((((((((((((((((.title | replace "\\" "\\\\" ) | replace "`" "\\`" ) | replace "-" "\\-" ) | replace "=" "\\=" ) | replace "[" "\\[" ) | replace "]" "\\]" ) | replace ";" "\\;" ) | replace "'" "\\'" ) | replace "," "\\," ) | replace "." "\\." ) | replace "/" "\\/" ) | replace "~" "\\~" ) | replace "!" "\\!" ) | replace "@" "\\@" ) | replace "#" "\\#" ) | replace "$" "\\$" ) | replace "%" "\\%" ) | replace "^" "\\^" ) | replace "&" "\\&" ) | replace "*" "\\*" ) | replace "(" "\\(" ) | replace ")" "\\)" ) | replace "_" "\\_" ) | replace "+" "\\+" ) | replace "{" "\\{" ) | replace "}" "\\}" ) | replace "|" "\\|" ) | replace ":" "\\:" ) | replace "\"" "\\\"" ) | replace "<" "\\<" ) | replace ">" "\\>" ) | replace "?" "\\?" ) }

.action{$Name := (((((((((((((((((((((((((((((((($name | replace "\\" "\\\\" ) | replace "`" "\\`" ) | replace "-" "\\-" ) | replace "=" "\\=" ) | replace "[" "\\[" ) | replace "]" "\\]" ) | replace ";" "\\;" ) | replace "'" "\\'" ) | replace "," "\\," ) | replace "." "\\." ) | replace "/" "\\/" ) | replace "~" "\\~" ) | replace "!" "\\!" ) | replace "@" "\\@" ) | replace "#" "\\#" ) | replace "$" "\\$" ) | replace "%" "\\%" ) | replace "^" "\\^" ) | replace "&" "\\&" ) | replace "*" "\\*" ) | replace "(" "\\(" ) | replace ")" "\\)" ) | replace "_" "\\_" ) | replace "+" "\\+" ) | replace "{" "\\{" ) | replace "}" "\\}" ) | replace "|" "\\|" ) | replace ":" "\\:" ) | replace "\"" "\\\"" ) | replace "<" "\\<" ) | replace ">" "\\>" ) | replace "?" "\\?" ) }

.action{$Alias := ((((((((((((((((((((((((((((((((.alias | replace "\\" "\\\\" ) | replace "`" "\\`" ) | replace "-" "\\-" ) | replace "=" "\\=" ) | replace "[" "\\[" ) | replace "]" "\\]" ) | replace ";" "\\;" ) | replace "'" "\\'" ) | replace "." "\\." ) | replace "/" "\\/" ) | replace "~" "\\~" ) | replace "!" "\\!" ) | replace "@" "\\@" ) | replace "#" "\\#" ) | replace "$" "\\$" ) | replace "%" "\\%" ) | replace "^" "\\^" ) | replace "&" "\\&" ) | replace "*" "\\*" ) | replace "(" "\\(" ) | replace ")" "\\)" ) | replace "_" "\\_" ) | replace "+" "\\+" ) | replace "{" "\\{" ) | replace "}" "\\}" ) | replace "|" "\\|" ) | replace ":" "\\:" ) | replace "\"" "\\\"" ) | replace "<" "\\<" ) | replace ">" "\\>" ) | replace "?" "\\?" ) | replace "," "<br />")}

.action{$Memo := ((((((((((((((((((((((((((((((((($memo | replace "\\" "\\\\" ) | replace "`" "\\`" ) | replace "-" "\\-" ) | replace "=" "\\=" ) | replace "[" "\\[" ) | replace "]" "\\]" ) | replace ";" "\\;" ) | replace "'" "\\'" ) | replace "," "\\," ) | replace "." "\\." ) | replace "/" "\\/" ) | replace "~" "\\~" ) | replace "!" "\\!" ) | replace "@" "\\@" ) | replace "#" "\\#" ) | replace "$" "\\$" ) | replace "%" "\\%" ) | replace "^" "\\^" ) | replace "&" "\\&" ) | replace "*" "\\*" ) | replace "(" "\\(" ) | replace ")" "\\)" ) | replace "_" "\\_" ) | replace "+" "\\+" ) | replace "{" "\\{" ) | replace "}" "\\}" ) | replace "|" "\\|" ) | replace ":" "\\:" ) | replace "\"" "\\\"" ) | replace "<" "\\<" ) | replace ">" "\\>" ) | replace "?" "\\?" ) | replace "\n" "<br />")}

.action{$Hpath := (((((((((((((((((((((((((((((((($hpath | replace "\\" "\\\\" ) | replace "`" "\\`" ) | replace "-" "\\-" ) | replace "=" "\\=" ) | replace "[" "\\[" ) | replace "]" "\\]" ) | replace ";" "\\;" ) | replace "'" "\\'" ) | replace "," "\\," ) | replace "." "\\." ) | replace "/" "\\/" ) | replace "~" "\\~" ) | replace "!" "\\!" ) | replace "@" "\\@" ) | replace "#" "\\#" ) | replace "$" "\\$" ) | replace "%" "\\%" ) | replace "^" "\\^" ) | replace "&" "\\&" ) | replace "*" "\\*" ) | replace "(" "\\(" ) | replace ")" "\\)" ) | replace "_" "\\_" ) | replace "+" "\\+" ) | replace "{" "\\{" ) | replace "}" "\\}" ) | replace "|" "\\|" ) | replace ":" "\\:" ) | replace "\"" "\\\"" ) | replace "<" "\\<" ) | replace ">" "\\>" ) | replace "?" "\\?" ) }

.action{$Created := toDate "20060102150405" $created | date "2006-01-02 15:04:05"}

.action{$Updated := toDate "20060102150405" $updated | date "2006-01-02 15:04:05"}

| 标题  | .action{$Title} | ID  | .action{.id}      |
| :---: | :-------------- | :---: | :---------------- |
| 命名  | .action{$Name}  | 路径  | .action{$Hpath}   |
| 别名  | .action{$Alias} | 创建  | .action{$Created} |
| 备注  | .action{$Memo}  | 更新  | .action{$Updated} |

  • 该模板片段可以将别名以 , 分割并换行显示
  • 该模板片段可以将备注换行显示

模板解析与渲染样式:

| 标题  | 外部网关协议                                            | ID  | 20211227165822-lqn27nn              |
| :---: | :------------------------------------------------------ | :---: | :---------------------------------- |
| 命名  | 外部网关协议                                            | 路径  | /计算机通信与网络/概念/外部网关协议 |
| 别名  | 外部路由器协议<br />EGP<br />ERP                        | 创建  | 2021-12-27 16:58:22                 |
| 备注  | External Gateway Protocol<br />External Router Protocol | 更新  | 2021-12-28 02:24:05                 |
标题 外部网关协议 ID 20211227165822-lqn27nn
命名 外部网关协议 路径 /计算机通信与网络/概念/外部网关协议
别名 外部路由器协议
EGP
ERP
创建 2021-12-27 16:58:22
备注 External Gateway Protocol
External Router Protocol
更新 2021-12-28 02:24:05
  • 思源笔记

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

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

    18596 引用 • 69212 回帖
6 操作
shuoying 在 2022-02-13 00:16:36 更新了该帖
shuoying 在 2022-01-08 01:04:51 更新了该帖
shuoying 在 2022-01-04 15:46:42 更新了该帖
shuoying 在 2021-12-31 15:29:29 更新了该帖 shuoying 在 2021-12-31 14:43:10 更新了该帖 shuoying 在 2021-12-31 14:28:27 更新了该帖

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
shuoying
一团儿名为 '\u4eba' 的光球~

推荐标签 标签

  • Firefox

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

    7 引用 • 30 回帖 • 455 关注
  • 服务器

    服务器,也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。

    124 引用 • 580 回帖
  • 电影

    这是一个不能说的秘密。

    120 引用 • 597 回帖 • 1 关注
  • JWT

    JWT(JSON Web Token)是一种用于双方之间传递信息的简洁的、安全的表述性声明规范。JWT 作为一个开放的标准(RFC 7519),定义了一种简洁的,自包含的方法用于通信双方之间以 JSON 的形式安全的传递信息。

    20 引用 • 15 回帖 • 18 关注
  • 开源

    Open Source, Open Mind, Open Sight, Open Future!

    395 引用 • 3408 回帖
  • 以太坊

    以太坊(Ethereum)并不是一个机构,而是一款能够在区块链上实现智能合约、开源的底层系统。以太坊是一个平台和一种编程语言 Solidity,使开发人员能够建立和发布下一代去中心化应用。 以太坊可以用来编程、分散、担保和交易任何事物:投票、域名、金融交易所、众筹、公司管理、合同和知识产权等等。

    34 引用 • 367 回帖 • 2 关注
  • WebClipper

    Web Clipper 是一款浏览器剪藏扩展,它可以帮助你把网页内容剪藏到本地。

    3 引用 • 9 回帖 • 4 关注
  • GitHub

    GitHub 于 2008 年上线,目前,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。正因为这些功能所提供的便利,又经过长期的积累,GitHub 的用户活跃度很高,在开源世界里享有深远的声望,并形成了社交化编程文化(Social Coding)。

    207 引用 • 2031 回帖
  • ZeroNet

    ZeroNet 是一个基于比特币加密技术和 BT 网络技术的去中心化的、开放开源的网络和交流系统。

    1 引用 • 21 回帖 • 593 关注
  • wolai

    我来 wolai:不仅仅是未来的云端笔记!

    1 引用 • 11 回帖 • 1 关注
  • IPFS

    IPFS(InterPlanetary File System,星际文件系统)是永久的、去中心化保存和共享文件的方法,这是一种内容可寻址、版本化、点对点超媒体的分布式协议。请浏览 IPFS 入门笔记了解更多细节。

    20 引用 • 245 回帖 • 229 关注
  • etcd

    etcd 是一个分布式、高可用的 key-value 数据存储,专门用于在分布式系统中保存关键数据。

    5 引用 • 26 回帖 • 492 关注
  • 宕机

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

    13 引用 • 82 回帖 • 37 关注
  • 星云链

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

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

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

    17 引用 • 236 回帖 • 420 关注
  • 音乐

    你听到信仰的声音了么?

    59 引用 • 509 回帖
  • 大数据

    大数据(big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。

    89 引用 • 113 回帖
  • 单点登录

    单点登录(Single Sign On)是目前比较流行的企业业务整合的解决方案之一。SSO 的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。

    9 引用 • 25 回帖 • 4 关注
  • AngularJS

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

    12 引用 • 50 回帖 • 422 关注
  • Lute

    Lute 是一款结构化的 Markdown 引擎,支持 Go 和 JavaScript。

    25 引用 • 191 回帖 • 19 关注
  • Sublime

    Sublime Text 是一款可以用来写代码、写文章的文本编辑器。支持代码高亮、自动完成,还支持通过插件进行扩展。

    10 引用 • 5 回帖
  • Maven

    Maven 是基于项目对象模型(POM)、通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。

    185 引用 • 318 回帖 • 348 关注
  • Laravel

    Laravel 是一套简洁、优雅的 PHP Web 开发框架。它采用 MVC 设计,是一款崇尚开发效率的全栈框架。

    19 引用 • 23 回帖 • 681 关注
  • Oracle

    Oracle(甲骨文)公司,全称甲骨文股份有限公司(甲骨文软件系统有限公司),是全球最大的企业级软件公司,总部位于美国加利福尼亚州的红木滩。1989 年正式进入中国市场。2013 年,甲骨文已超越 IBM,成为继 Microsoft 后全球第二大软件公司。

    103 引用 • 126 回帖 • 452 关注
  • React

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

    192 引用 • 291 回帖 • 440 关注
  • 生活

    生活是指人类生存过程中的各项活动的总和,范畴较广,一般指为幸福的意义而存在。生活实际上是对人生的一种诠释。生活包括人类在社会中与自己息息相关的日常活动和心理影射。

    228 引用 • 1450 回帖
  • 程序员

    程序员是从事程序开发、程序维护的专业人员。

    531 引用 • 3528 回帖