通过一段时间的自我使用,在原先日记与数据库模板列的结合使用分享 - 链滴 (ld246.com)的基础上进行了一些小优化。具体怎么玩大家可以看上面这个帖子。
主要是对一些判断处理逻辑进行了小优化。对关键字列可以通过感叹号来对当天的重点事件进行强调,因为普通事件目前做的太花哨了,不强调的话容易看花眼。对样式加上了更骚气的随机渐变色
这个是带渐变色版本的
因为颜色是随机取的思源默认支持的 13 种颜色,而不同主题对这 13 种颜色会有改写,所以展示效果可能会有差异性,我这花哨的展示效果是在 Asri 主题下呈现的,供大家参考,有基础的也可自行对颜色进行改写。
渐变色的缺点是比不带渐变色的加载稍微慢一丢丢
.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 }
还是要额外说明下,在我的例子中,日记模板中的 关键字:
后面可以通过一到三个感叹号表示三种强调级别,比如
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于