@injellyfish 哇谢谢!
不好意思地说我其实还没有开始解决,昨天只是写了个to-do 嘟嘟,因为感觉不是太难,准备今晚从“研究这个函数的名字叫什么”学起……
@SouthFox @injellyfish 是,我中午是直接换成fuzzywordcount的,误差很大,而且明显会随着文章数量的增加越来越大。
你说的计算过程,是应该放在{{ range (where .Site.Pages "Kind" "page" )}}这部分吗?
@Hydrangea
这样好像会超出变量的作用域?
应该在你写一共写了 xx 字那一代码块开头那里声明变量并处理数据,
然后最后在一共写了 xx 字那里替换为一开始声明的变量名就行了。
{{$var := $scratch.Get "total"}}{{$var = div $var 100.0}}{{$var = math.Ceil $var}}{{$var = div $var 10.0}}共嘟嘟了 {{$scratch.Get "total"}}字
这样吗?
@Hydrangea
共嘟嘟了 {{$var}} 字。
@SouthFox 啊我明白了!
谢谢你,我晚上试一下!
@SouthFox @Hydrangea @injellyfish 不好意思打扰了,保留小数点的方法是 lang.FormatNumber:
共嘟嘟了{{ div ($scratch.Get "total") 1000.0 | lang.FormatNumber 2 }}k字.
https://gohugo.io/functions/lang/#langformatnumber
它之所以把这个功能放到 lang 下面,是因为比如说中法双语的博客,切换到法语后小数点自动改成逗号:123.45 → 123,45
@zero 这个方法简单欸!感谢您的补充,原来还有这种函数哇!
@injellyfish @zero 原来还有这种方法!!感谢wwwww
@zero
这……hugo 我也翻了 Format 的页面,只是都是日期相关的……我对取小数的观念还停留在 js 上的 Math.round …… 就以为一定是在 math 下了。
没想到是放在 lang 下 ……
@Hydrangea @injellyfish
这里 Div(ides) 是除法的意思
好像确实没有保留几位小数的选项,所以可能要更麻烦一下了,
{{$var := $scratch.Get "total"}}
{{$var = div $var 100.0}}
先除到百位,然后再用附带的向上(或下)取整函数,
{{$var = math.Ceil $var}}
然后再除多一位
{{$var = div $var 10.0}}
这样就是保留一位小数的数字了。
当然更偷懒的方法就是循环里换成
{{$scratch.Add "total" .FuzzyWordCount}}
这个函数,文章多 1 个字也会当作 100 个字,这样就抹掉了零头,保证能除尽。当然每篇文章这样算,每篇文章都会多算一百字了。