不,不,免费的
。
编辑:
您可以在 主题组件 中安装此脚本。
它仅在页面本身上排列类别列表的项。
这不会影响任何模板或内部,以保持更好的兼容性。
根据您的主题,可能需要进行调整。
如果对您有效,请告诉我。
js
<script type="text/discourse-plugin" version="0.8">
api.onPageChange((url, title) => {
const { defaultHomepage } = require('discourse/lib/utilities');
if (url !== '/categories' && (url !== '/' || defaultHomepage() !== 'categories')) {
return;
}
const desktop_category_page_style = api.container.lookup('service:site-settings').desktop_category_page_style;
const sort = ({parent, nodes, selector}) => {
if (!parent || !nodes.length) {
return
}
Array.from(nodes).sort((a, b) => {
const valueA = a.querySelector(selector).textContent;
const valueB = b.querySelector(selector).textContent;
return valueB - valueA;
})
.forEach(row => parent.appendChild(row));
}
if (desktop_category_page_style.startsWith('categories')) {
const parent = document.querySelector('.category-list tbody[aria-labelledby="categories-only-category"]');
sort({
parent: parent,
nodes: parent?.querySelectorAll('tr'),
selector: 'td.topics span.value'
})
}
else if (desktop_category_page_style === 'subcategories_with_featured_topics') {
const childs = document.querySelectorAll('table.category-list');
sort({
parent: childs[0]?.parentElement,
nodes: childs,
selector: 'th.parent-category span.value'
})
} else {
// boxes doesn't have a count displayed
}
});
</script>