在使用 NodeBB 进行开发和维护过程中,经常会用到 npm 包来进行一些必要的功能构建。NodeBB Plugin Custom Persona Templates 就是一个很实用的 npm 包,它允许你通过自定义主题模板,来改变论坛界面的外观。这篇文章将详细介绍如何使用这个 npm 包,并通过示例代码来帮助你理解它的应用。
安装 nodebb-plugin-custom-persona-templates
在开始使用这个插件前,我们需要将它安装到我们的 NodeBB 实例中。
npm install nodebb-plugin-custom-persona-templates
配置插件
安装插件后,需要进行一些配置。进入论坛管理界面,在左边点击“Plugins”,找到“Custom Persona Templates”并点击“Settings”。
在设置界面中,你可以设置自定义模板的名称、描述以及路径。此外,还可以添加额外的 CSS 和 JavaScript 代码。
创建和修改模板
我们可以通过两种方式来创建和修改自定义模板。第一种方式是手动创建模板,第二种方式是修改现有的默认模板。下面将分别介绍这两种方式。
手动创建模板
要手动创建模板,我们需要在 NodeBB 的 themes 目录中创建以我们设置的模板名称命名的文件夹。例如,如果我们在插件配置中将模板名称设置为“mytheme”,则需要在 themes 目录中创建“mytheme”文件夹。
在“mytheme”文件夹中,我们需要创建一个名为“template.tpl”的文件。这个文件将成为我们自定义模板的主体。
我们可以通过在“template.tpl”文件中添加 HTML 代码来创建自己的模板。这里有一个示例代码:
-- -------------------- ---- ------- --------- ----- ------ ------ --------- ------ ------------- ------- ------ -------- ----------- -- -- ------ ----------- --------- ------ ---- ---- ----- ------- ---- -- ---- --- ------- -------- --------- ---- -- --------- --------- ------- -------
完成以上操作后,我们需要重新启动 NodeBB 以使插件生效:
./nodebb dev || ./nodebb start
修改默认模板
我们也可以通过修改默认主题模板来创建自定义主题。默认情况下,NodeBB 有两个内置的主题,分别是“Persona”和“Lavender”。这里以“Persona”为例来演示如何修改默认模板。
前往NodeBB安装的目录中,找到"node_modules/nodebb-theme-persona/templates/partials"文件夹,这里面存放并确定NodeBB默认外观的不同展示区域。比如,我们的修改想发生在电脑端头部链接区域上的登录/注册,我们在文件夹partials内找到文件header.tpl,复制这个文件到国管理员主题的存储目录的template/partials下,这样从此时开始,这个header.tpl被视作管理员的主题。
然后在这个复制的header.tpl文件里我们可以写入如下代码变更模板,然后在后台重新主题渲染即可:
<a class="login req_login" rel="nofollow" href="#" data-logged-out="login" data-logged-in="user">{{translate 'register}}</a> <a class="register req_register" rel="nofollow" href="#" data-logged-out="register" data-logged-in="user">{{translate 'register}}</a>
结论
通过这篇文章,我们学习了如何使用 NodeBB Plugin Custom Persona Templates 插件来创建或修改自定义主题模板。我们了解了插件的安装和配置步骤,并用示例代码来帮助我们更好地理解这个插件的应用。现在你可以尝试自己创建你自己喜欢的主题模板,来让你的网站更加专业和时尚。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005601781e8991b448de370