Fechin / hexo-theme-diaspora

Hexo theme, Blog theme, Clean, Responsive theme
https://fech.in
MIT License
1.26k stars 248 forks source link

图片随机算法逻辑优化,尽量避免重复 #167

Open Marssssssss opened 2 years ago

Marssssssss commented 2 years ago

为什么这么做: 主要是因为之前观察到单纯的随机可能会导致图片重复,而且概率不小,所以读了下 ejs 模板源码,把随机那块的逻辑优化了一下,尽量减少重复的可能性(事实上这么改了之后基本没有出现重复的情况了)

怎么做: 使用轮次进行随机,每一轮中每一次随机的值都会被保存下来(后文称作随机缓存),使得下次随机不会使用到已经随过的值,当保存的值达到最大可选数量的时候,就清空随机缓存的前半段数组,再进入下一轮随机。

效果: 因为本人目前文章的数量少于图片数量,可以得出这种情况下这个逻辑工作的效果还是不错的,不会再出现重复了。 但是文章数量多于图片数量时的去重效果还待验证。

代码: image

如果作者大大有意向的话,可以考虑下把这个特性做到正式代码里面~