Custom routes are defined by plugins, since the routing actually has to be created by NodeBB.
Custom Homepage: Recent + Categories
As far as I'm aware it's only possible to have either Recent or Categories on the homepage for the Persona theme. Is it possible to have both? I've stitched together 2 screen shots to show what this would look like:
I did try using the custom homepage plugin to add Recent and Categories widgets to the same page but the widgets are not the same as the actual pages and it didn't look very good.
Thanks for the quick reply. This would be beyond my depth and understanding and I'm concerned that anything I develop may break in future releases. Do you have any thoughts on that?
You might be able to just replace the widget templates with the category and recent templates from your theme. I doubt the data is different.
@yariplus thanks - will take a look
I'm helping @unterm to set up our forum (non-business related), we've not got it "live yet". We found we could put global widget for categories. So the home page is great but it appears on all pages. Is it simple to set a home page only widget? (I notice you can put a widget just for categories )
If we were to make our own plugin, would we fork this plugin? Would it be a couple of code line changes or a bit more involved?
Thanks for making a great looking forum software that's easy to set up! I think we're 90% happy with what we have. Its hard to know where to get started if we go behind the scenes to fine tune extra features. Its understandable that involved development of a plugin is worth paying for, even a seemingly simple feature can be a lot of work!
If your homepage is the Recent page, you can add a widget area only to the bottom of that page. To do so, you need to edit your theme in two places, once to define the widget area placement in the recent template, and then define the widget area so you can place a category widget inside from the admin panel.
Hi @yariplus, thanks a lot!
I see either we could directly modify the persona theme files on our server, or copy/fork the theme and manually install that modified version. How would you manually install the copy? I assume without publishing it to npm.
So far we've just installed plugins via the admin panel interface.
There's a few different ways you could do it.
You can install a forked version using npm install with a git url. So if I wanted to install my forked version linked above (on branch rw):
[email protected]:~/nodebb$ npm install yariplus/nodebb-theme-persona#rw
You may also want to rename the theme, since nbb depends on nodebb-theme-persona, your changes could get overwritten when you update. Or just run this command again after you update to repull your forked version.
I think we'll fork your fork and rename it.
I wonder if it works well, its worth a pull request?
@iterm Sure, that should work just fine.
As far as a pull request on the main repo, possibly. I would want to add the widget areas to all of the main templates, not just recent.
The reason it hasn't been done yet is the widget system was going to be reworked, but that has been indefinitely delayed.
Yes. Create a plugin to add recent topics data to categories route. Modify the theme template to show this data.
Could you add just a little more detail to this?
I have a custom homepage and Im trying to add a list of categories using:
<!-- IMPORT categories.tpl -->
But it just displays: No new posts.
Do I have to hook into something to add the category data?