1 Star 0 Fork 0

一代梦想家/nodebb-theme-mytheme

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
library.js 2.12 KB
一键复制 编辑 原始数据 按行查看 历史
一代梦想家 提交于 2021-12-16 15:16 +08:00 . first commit
'use strict';
var meta = require.main.require('./src/meta');
var user = require.main.require('./src/user');
var library = {};
library.init = function(params, callback) {
var app = params.router;
var middleware = params.middleware;
app.get('/admin/plugins/persona', middleware.admin.buildHeader, renderAdmin);
app.get('/api/admin/plugins/persona', renderAdmin);
callback();
};
library.addAdminNavigation = function(header, callback) {
header.plugins.push({
route: '/plugins/persona',
icon: 'fa-paint-brush',
name: 'Persona Theme'
});
callback(null, header);
};
library.defineWidgetAreas = function(areas, callback) {
const locations = ['header', 'sidebar', 'footer'];
const templates = [
'categories.tpl', 'category.tpl', 'topic.tpl', 'users.tpl',
'unread.tpl', 'recent.tpl', 'popular.tpl', 'top.tpl', 'tags.tpl', 'tag.tpl'
];
function capitalizeFirst(str) {
return str.charAt(0).toUpperCase() + str.slice(1)
}
templates.forEach(template => {
locations.forEach(location => {
areas.push({
name: capitalizeFirst(template.split('.')[0]) + ' ' + capitalizeFirst(location),
template: template,
location: location,
});
});
});
areas = areas.concat([
{
name: "Account Header",
template: "account/profile.tpl",
location: "header"
},
]);
callback(null, areas);
};
library.getThemeConfig = async function(config) {
const settings = await meta.settings.get('persona');
config.hideSubCategories = settings.hideSubCategories === 'on';
config.hideCategoryLastPost = settings.hideCategoryLastPost === 'on';
config.enableQuickReply = settings.enableQuickReply === 'on';
return config;
};
function renderAdmin(req, res, next) {
res.render('admin/plugins/persona', {});
}
library.addUserToTopic = async function (hookData) {
if (hookData.req.user) {
const userData = await user.getUserData(hookData.req.user.uid);
hookData.templateData.loggedInUser = userData;
} else {
hookData.templateData.loggedInUser = {
uid: 0,
username: '[[global:guest]]',
picture: user.getDefaultAvatar(),
'icon:text': '?',
'icon:bgColor': '#aaa',
};
}
return hookData;
};
module.exports = library;
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/duanjiajian/nodebb-theme-mytheme.git
git@gitee.com:duanjiajian/nodebb-theme-mytheme.git
duanjiajian
nodebb-theme-mytheme
nodebb-theme-mytheme
master

搜索帮助