日记与数据库模板列使用分享 v2.0 版本

通过一段时间的自我使用,在原先日记与数据库模板列的结合使用分享 - 链滴 (ld246.com)的基础上进行了一些小优化。具体怎么玩大家可以看上面这个帖子。

主要是对一些判断处理逻辑进行了小优化。对关键字列可以通过感叹号来对当天的重点事件进行强调,因为普通事件目前做的太花哨了,不强调的话容易看花眼。对样式加上了更骚气的随机渐变色

这个是带渐变色版本的

因为颜色是随机取的思源默认支持的 13 种颜色,而不同主题对这 13 种颜色会有改写,所以展示效果可能会有差异性,我这花哨的展示效果是在 Asri 主题下呈现的,供大家参考,有基础的也可自行对颜色进行改写。

ce3c1af2b8842f92b67f9c882431f16b.jpeg

渐变色的缺点是比不带渐变色的加载稍微慢一丢丢

.action{$key := "关键词:"}
.action{$ret := queryBlocks "SELECT * FROM blocks WHERE root_id = '?' AND type = 'p' AND content LIKE '?%' LIMIT 1" .id $key}
.action{if len $ret}
.action{$val := first $ret}
.action{$str := trimPrefix $key $val.Content}
.action{if empty $str}
<span class="b3-chip" style="background-color:#C5E1A5;color:#000000">^.^ 今日安康</span>
.action{else}
.action{$str = replace "!" "!" $str | replace "," ","}
.action{$list := splitList "," $str}
.action{ $one := list }
.action{ $two := list }
.action{ $three := list }
.action{ $four := list }
.action{ range $v := $list }
.action{ if hasPrefix "!!!" $v }
.action{ $one = append $one $v }
.action{ else if hasPrefix "!!" $v }
.action{ $two = append $two $v }
.action{ else if hasPrefix "!" $v }
.action{ $three = append $three $v }
.action{ else }
.action{ $four = append $four $v }
.action{ end }
.action{end}
.action{ if and (empty $one) (empty $two) (empty $three)}
.action{ range $v := $four}
.action{$a := randInt 2 13}
.action{$b := randInt 1 13}
<span class="b3-chip" style="background: linear-gradient(120deg, var(--b3-font-background.action{$a}) 0%, var(--b3-font-background.action{$b}) 100%);color:var(--b3-font-color.action{$a})">.action{$v}</span>
.action{ end }
.action{ else }
.action{ $list := concat $one $two $three $four }
.action{ range $v := $list }
.action{if hasPrefix "!!!" $v}
.action{ $v:= trimAll "!" $v }
<span class="b3-chip" style="background-color:red;color:yellow">!.action{$v}</span>
.action{else if hasPrefix "!!" $v}
.action{ $v:= trimAll "!" $v }
<span class="b3-chip" style="background-color:#FFD700;color:#000000">!.action{$v}</span>
.action{else if hasPrefix "!" $v}
<span class="b3-chip" style="background-color:#007BFF;color:#FFFFFF">.action{$v}</span>
.action{else}
.action{$a := randInt 2 13}
.action{$b := randInt 1 13}
<span class="b3-chip" style="background: linear-gradient(120deg, var(--b3-font-background.action{$a}) 0%, var(--b3-font-background.action{$b}) 100%);color:var(--b3-font-color.action{$a})">.action{$v}</span>
.action{end}
.action{ end }
.action{ end }
.action{ end }
.action{ end }

上述代码只是为了方便大家看下怎么写的,真正填入模板列的时候是需要把所有换行都去掉的,可以直接复制下面的内容或者自行换成一行

.action{$key := "关键词:"}.action{$ret := queryBlocks "SELECT * FROM blocks WHERE root_id = '?' AND type = 'p' AND content LIKE '?%' LIMIT 1" .id $key}.action{if len $ret}.action{$val := first $ret}.action{$str := trimPrefix $key $val.Content}.action{if empty $str}<span class="b3-chip" style="background-color:#C5E1A5;color:#000000">^.^ 今日安康</span>.action{else}.action{$str = replace "!" "!" $str | replace "," ","}.action{$list := splitList "," $str}.action{ $one := list }.action{ $two := list }.action{ $three := list }.action{ $four := list }.action{ range $v := $list }.action{ if hasPrefix "!!!" $v }.action{ $one = append $one $v }.action{ else if hasPrefix "!!" $v }.action{ $two = append $two $v }.action{ else if hasPrefix "!" $v }.action{ $three = append $three $v }.action{ else }.action{ $four = append $four $v }.action{ end }.action{end}.action{ if and (empty $one) (empty $two) (empty $three)}.action{ range $v := $four}.action{$a := randInt 2 13}.action{$b := randInt 1 13}<span class="b3-chip" style="background: linear-gradient(120deg, var(--b3-font-background.action{$a}) 0%, var(--b3-font-background.action{$b}) 100%);color:var(--b3-font-color.action{$a})">.action{$v}</span>.action{ end }.action{ else }.action{ $list := concat $one $two $three $four }.action{ range $v := $list }.action{if hasPrefix "!!!" $v}.action{ $v:= trimAll "!" $v }<span class="b3-chip" style="background-color:red;color:yellow">!.action{$v}</span>.action{else if hasPrefix "!!" $v}.action{ $v:= trimAll "!" $v }<span class="b3-chip" style="background-color:#FFD700;color:#000000">!.action{$v}</span>.action{else if hasPrefix "!" $v}<span class="b3-chip" style="background-color:#007BFF;color:#FFFFFF">.action{$v}</span>.action{else}.action{$a := randInt 2 13}.action{$b := randInt 1 13}<span class="b3-chip" style="background: linear-gradient(120deg, var(--b3-font-background.action{$a}) 0%, var(--b3-font-background.action{$b}) 100%);color:var(--b3-font-color.action{$a})">.action{$v}</span>.action{end}.action{ end }.action{ end }.action{ end }.action{ end }

这是不带渐变色的,流畅性稍微好点,使用时最好也是把换行都去掉:

.action{$key := "关键词:"}
.action{$ret := queryBlocks "SELECT * FROM blocks WHERE root_id = '?' AND type = 'p' AND content LIKE '?%' LIMIT 1" .id $key}
.action{if len $ret}
.action{$val := first $ret}
.action{$str := trimPrefix $key $val.Content}
.action{if empty $str}
<span class="b3-chip" style="background-color:#C5E1A5;color:#000000">^.^ 今日安康</span>
.action{else}
.action{$str = replace "!" "!" $str | replace "," ","}
.action{$list := splitList "," $str}
.action{ $one := list }
.action{ $two := list }
.action{ $three := list }
.action{ $four := list }
.action{ range $v := $list }
.action{ if hasPrefix "!!!" $v }
.action{ $one = append $one $v }
.action{ else if hasPrefix "!!" $v }
.action{ $two = append $two $v }
.action{ else if hasPrefix "!" $v }
.action{ $three = append $three $v }
.action{ else }
.action{ $four = append $four $v }
.action{ end }
.action{end}
.action{ if and (empty $one) (empty $two) (empty $three)}
.action{ range $v := $four}
.action{$a := randInt 1 13}
<span class="b3-chip" style="background-color:var(--b3-font-background.action{$a});color:var(--b3-font-color.action{$a})">.action{$v}</span>
.action{ end }
.action{ else }
.action{ $list := concat $one $two $three $four }
.action{ range $v := $list }
.action{if hasPrefix "!!!" $v}
.action{ $v:= trimAll "!" $v }
<span class="b3-chip" style="background-color:red;color:yellow">!.action{$v}</span>
.action{else if hasPrefix "!!" $v}
.action{ $v:= trimAll "!" $v }
<span class="b3-chip" style="background-color:#FFD700;color:#000000">!.action{$v}</span>
.action{else if hasPrefix "!" $v}
<span class="b3-chip" style="background-color:#007BFF;color:#FFFFFF">.action{$v}</span>
.action{else}
.action{$a := randInt 1 13}
<span class="b3-chip" style="background-color:var(--b3-font-background.action{$a});color:var(--b3-font-color.action{$a})">.action{$v}</span>
.action{end}
.action{ end }
.action{ end }
.action{ end }
.action{ end }

还是要额外说明下,在我的例子中,日记模板中的 关键字: 后面可以通过一到三个感叹号表示三种强调级别,比如Clip20240718105446.jpg

Clip20240718105501.jpg

  • 思源笔记

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

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

    22378 引用 • 89573 回帖
1 操作
jihui 在 2024-07-18 10:55:44 更新了该帖

相关帖子

欢迎来到这里!

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

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

  • 其他回帖
  • jihui

    另外最新数据库模板是能兼容日记模版中对于中英文逗号的区分的,不管你使用哪种逗号都能分割,这在上一版是不行的,感叹号强调级别也同时支持中英文的使用。

jihui
可是,现在是春天,一切的好事都应该有权利发生。

推荐标签 标签

  • Eclipse

    Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

    75 引用 • 258 回帖 • 618 关注
  • 前端

    前端技术一般分为前端设计和前端开发,前端设计可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,包括 HTML、CSS 以及 JavaScript 等。

    247 引用 • 1348 回帖
  • 30Seconds

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

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

    阿里巴巴网络技术有限公司(简称:阿里巴巴集团)是以曾担任英语教师的马云为首的 18 人,于 1999 年在中国杭州创立,他们相信互联网能够创造公平的竞争环境,让小企业通过创新与科技扩展业务,并在参与国内或全球市场竞争时处于更有利的位置。

    43 引用 • 221 回帖 • 116 关注
  • Netty

    Netty 是一个基于 NIO 的客户端-服务器编程框架,使用 Netty 可以让你快速、简单地开发出一个可维护、高性能的网络应用,例如实现了某种协议的客户、服务端应用。

    49 引用 • 33 回帖 • 22 关注
  • CAP

    CAP 指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得。

    11 引用 • 5 回帖 • 608 关注
  • Bootstrap

    Bootstrap 是 Twitter 推出的一个用于前端开发的开源工具包。它由 Twitter 的设计师 Mark Otto 和 Jacob Thornton 合作开发,是一个 CSS / HTML 框架。

    18 引用 • 33 回帖 • 659 关注
  • Vue.js

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

    266 引用 • 665 回帖 • 1 关注
  • Ubuntu

    Ubuntu(友帮拓、优般图、乌班图)是一个以桌面应用为主的 Linux 操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词,意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu 的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。

    125 引用 • 169 回帖
  • Solidity

    Solidity 是一种智能合约高级语言,运行在 [以太坊] 虚拟机(EVM)之上。它的语法接近于 JavaScript,是一种面向对象的语言。

    3 引用 • 18 回帖 • 399 关注
  • 大疆创新

    深圳市大疆创新科技有限公司(DJI-Innovations,简称 DJI),成立于 2006 年,是全球领先的无人飞行器控制系统及无人机解决方案的研发和生产商,客户遍布全球 100 多个国家。通过持续的创新,大疆致力于为无人机工业、行业用户以及专业航拍应用提供性能最强、体验最佳的革命性智能飞控产品和解决方案。

    2 引用 • 14 回帖
  • jsoup

    jsoup 是一款 Java 的 HTML 解析器,可直接解析某个 URL 地址、HTML 文本内容。它提供了一套非常省力的 API,可通过 DOM,CSS 以及类似于 jQuery 的操作方法来取出和操作数据。

    6 引用 • 1 回帖 • 476 关注
  • 微软

    微软是一家美国跨国科技公司,也是世界 PC 软件开发的先导,由比尔·盖茨与保罗·艾伦创办于 1975 年,公司总部设立在华盛顿州的雷德蒙德(Redmond,邻近西雅图)。以研发、制造、授权和提供广泛的电脑软件服务业务为主。

    8 引用 • 44 回帖 • 1 关注
  • Hexo

    Hexo 是一款快速、简洁且高效的博客框架,使用 Node.js 编写。

    21 引用 • 140 回帖 • 2 关注
  • Lute

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

    25 引用 • 191 回帖 • 15 关注
  • Jenkins

    Jenkins 是一套开源的持续集成工具。它提供了非常丰富的插件,让构建、部署、自动化集成项目变得简单易用。

    53 引用 • 37 回帖 • 2 关注
  • Hibernate

    Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。

    39 引用 • 103 回帖 • 709 关注
  • App

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

    91 引用 • 384 回帖 • 1 关注
  • 创业

    你比 99% 的人都优秀么?

    84 引用 • 1399 回帖
  • Sphinx

    Sphinx 是一个基于 SQL 的全文检索引擎,可以结合 MySQL、PostgreSQL 做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。

    1 引用 • 211 关注
  • 互联网

    互联网(Internet),又称网际网络,或音译因特网、英特网。互联网始于 1969 年美国的阿帕网,是网络与网络之间所串连成的庞大网络,这些网络以一组通用的协议相连,形成逻辑上的单一巨大国际网络。

    98 引用 • 344 回帖
  • Gzip

    gzip (GNU zip)是 GNU 自由软件的文件压缩程序。我们在 Linux 中经常会用到后缀为 .gz 的文件,它们就是 Gzip 格式的。现今已经成为互联网上使用非常普遍的一种数据压缩格式,或者说一种文件格式。

    9 引用 • 12 回帖 • 134 关注
  • Kafka

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

    36 引用 • 35 回帖 • 2 关注
  • SEO

    发布对别人有帮助的原创内容是最好的 SEO 方式。

    35 引用 • 200 回帖 • 22 关注
  • Kubernetes

    Kubernetes 是 Google 开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。

    110 引用 • 54 回帖
  • 微信

    腾讯公司 2011 年 1 月 21 日推出的一款手机通讯软件。用户可以通过摇一摇、搜索号码、扫描二维码等添加好友和关注公众平台,同时可以将自己看到的精彩内容分享到微信朋友圈。

    130 引用 • 793 回帖 • 1 关注
  • JSON

    JSON (JavaScript Object Notation)是一种轻量级的数据交换格式。易于人类阅读和编写。同时也易于机器解析和生成。

    52 引用 • 190 回帖 • 1 关注