hexo-theme-fluid
hexo-theme-fluid copied to clipboard
友链随机排序
也不会写代码,只能希望大佬添加这个功能了🙃
在layout文件夹中的link.ejs文件中添加以下代码
function randomsort(a, b) { return Math.random()>.5 ? -1 : 1; //用Math.random()函数生成0~1之间的随机数与0.5比较,返回-1或1 } theme.links.itemsUniversity.sort(randomsort);
这里的‘itemsUniversity’改为你主题中的组名(应该是items开头的)
目前这个代码只能在hexo -d之后随机一次,多次刷新网页还没有实现
在layout文件夹中的link.ejs文件中添加以下代码
function randomsort(a, b) { return Math.random()>.5 ? -1 : 1; //用Math.random()函数生成0~1之间的随机数与0.5比较,返回-1或1 } theme.links.itemsUniversity.sort(randomsort);这里的‘itemsUniversity’改为你主题中的组名(应该是items开头的)目前这个代码只能在hexo -d之后随机一次,多次刷新网页还没有实现
是个实现方法,也可以通过 hexo.inject 实现,不需要修改源文件。另外因为是静态生成,所以只能在生成的时候随机,想动态随机可以通过 JS
在layout文件夹中的link.ejs文件中添加以下代码
function randomsort(a, b) { return Math.random()>.5 ? -1 : 1; //用Math.random()函数生成0~1之间的随机数与0.5比较,返回-1或1 } theme.links.itemsUniversity.sort(randomsort);这里的‘itemsUniversity’改为你主题中的组名(应该是items开头的) 目前这个代码只能在hexo -d之后随机一次,多次刷新网页还没有实现是个实现方法,也可以通过 hexo.inject 实现,不需要修改源文件。另外因为是静态生成,所以只能在生成的时候随机,想动态随机可以通过 JS
求教动态随机😂
求教动态随机😂
可以等其他人提供代码,这种功能不会添加到 Fluid 中的
以下代码可以实现页面刷新时随机排列友链,示例网址https://xiyu.pro/links/ ,如果你的源码存在inject.js,请添加以下内容
injects.linksComments.raw('randomLinks', '<script> let parentElement = document.querySelector(".links"); let childElements = Array.from(parentElement.querySelectorAll(".card"));childElements.sort(function() {return 0.5 - Math.random();});parentElement.innerHTML = "";childElements.forEach(function(child) {parentElement.appendChild(child);});</script>');
如果不存在,请在“scripts\inject.js”这个路径新增inject.js文件,并在js里添加以下内容
hexo.extend.filter.register('theme_inject', function(injects) {
injects.linksComments.raw('randomLinks', '<script> let parentElement = document.querySelector(".links"); let childElements = Array.from(parentElement.querySelectorAll(".card"));childElements.sort(function() {return 0.5 - Math.random();});parentElement.innerHTML = "";childElements.forEach(function(child) {parentElement.appendChild(child);});</script>');
});