Skip to content

NodeBB: Creating pages

Solved Configure
9 2 2.4k 1
  • Hi @phenomlab,
    How do I create the pages? I am planning to have pages for About us, Privacy Policy, Terms of Use, etc.
    On your site, I can see you have a “link” icon which has a dropdown for individual pages. Something like that is suitable for me also.
    Also, I saw that on your Policies page, you had 3 topics grouped into a close-open kind of diaplay. How did you do that?
    Thank you!

  • Hi @phenomlab,
    How do I create the pages? I am planning to have pages for About us, Privacy Policy, Terms of Use, etc.
    On your site, I can see you have a “link” icon which has a dropdown for individual pages. Something like that is suitable for me also.
    Also, I saw that on your Policies page, you had 3 topics grouped into a close-open kind of diaplay. How did you do that?
    Thank you!

  • phenomlabundefined phenomlab has marked this topic as solved on
  • Thanks again! Should I wait to install these once the site has been upgraded to V3?

    Also, I went through the whole thread. Seems to be a complicated affair. Anyway, is this how it’s done:

    1. Open Terminal on Mac
    2. Add this script: npm install nodebb-plugin-custom-pages

    What would be the next steps? The referred page doesn’t seem to have that info. Maybe, I missed.

  • Thanks again! Should I wait to install these once the site has been upgraded to V3?

    Also, I went through the whole thread. Seems to be a complicated affair. Anyway, is this how it’s done:

    1. Open Terminal on Mac
    2. Add this script: npm install nodebb-plugin-custom-pages

    What would be the next steps? The referred page doesn’t seem to have that info. Maybe, I missed.

    @mventures It’s not as difficult as it sounds. You just need to gain access to your server via SSH (see https://sudonix.com/topic/445/nodebb-upgrading-to-nodebb-v3-x/6?_=1680448676890) then ensure you are in the NodeBB directory.

    From there, you can issue that same code, for example

    c3d5ce48-5d80-4f07-8b23-75e4a47ee8ba-image.png

    As you can see from the above, I’ve now installed this on your forum. From here, you’ll now need to activate the plugin before you can use it

    In your forum, navigate to /admin/extend/plugins#deactive. You should see the below

    45846af3-a51a-49f7-82e3-eec74dd4800e-image.png

    You’ll notice that the new plugin appears in the list, but needs to be activated first before it can be used

    924df608-bf84-4c78-9a0f-3878fe9e7641-image.png

    Click Confirm. After a few seconds, NodeBB will tell you that the plugin has been activated, but you need to rebuild and restart before it will work

    198008d7-b9d2-4c70-a619-99ee546f2848-image.png

    Now you need to rebuild and restart

    34e6d121-11bf-4d9a-88c8-99559f364f50-image.png

    86d74334-f3b8-4c55-8254-6ad83c8cc0a7-image.png

    Confirm, and the rebuild/restart process will commence

    3082d590-2805-4022-a00f-4878400934b2-image.png

    24d5a209-9735-4db3-86a4-d058818d7066-image.png

    You should then get a self-closing message telling you that the forum has restarted successfully (and can now be used). At this point, you should press F5 in your browser console to reload the page

    Now in the plugins menu, you should see Custom Pages has been added

    ed17f866-10df-4001-8844-1cbcb720fa59-image.png

    That’s it.

    Nothing for you to do here, as I’ve already done it on your site 🙂

  • @mventures It’s not as difficult as it sounds. You just need to gain access to your server via SSH (see https://sudonix.com/topic/445/nodebb-upgrading-to-nodebb-v3-x/6?_=1680448676890) then ensure you are in the NodeBB directory.

    From there, you can issue that same code, for example

    c3d5ce48-5d80-4f07-8b23-75e4a47ee8ba-image.png

    As you can see from the above, I’ve now installed this on your forum. From here, you’ll now need to activate the plugin before you can use it

    In your forum, navigate to /admin/extend/plugins#deactive. You should see the below

    45846af3-a51a-49f7-82e3-eec74dd4800e-image.png

    You’ll notice that the new plugin appears in the list, but needs to be activated first before it can be used

    924df608-bf84-4c78-9a0f-3878fe9e7641-image.png

    Click Confirm. After a few seconds, NodeBB will tell you that the plugin has been activated, but you need to rebuild and restart before it will work

    198008d7-b9d2-4c70-a619-99ee546f2848-image.png

    Now you need to rebuild and restart

    34e6d121-11bf-4d9a-88c8-99559f364f50-image.png

    86d74334-f3b8-4c55-8254-6ad83c8cc0a7-image.png

    Confirm, and the rebuild/restart process will commence

    3082d590-2805-4022-a00f-4878400934b2-image.png

    24d5a209-9735-4db3-86a4-d058818d7066-image.png

    You should then get a self-closing message telling you that the forum has restarted successfully (and can now be used). At this point, you should press F5 in your browser console to reload the page

    Now in the plugins menu, you should see Custom Pages has been added

    ed17f866-10df-4001-8844-1cbcb720fa59-image.png

    That’s it.

    Nothing for you to do here, as I’ve already done it on your site 🙂

    @phenomlab Thank you so much yet again! Much appreciated.

    How do I now add the pages?

    I went to PLUGINS > CUSTOM PAGES & did the below:
    Screen Shot 2023-04-04 at 8.22.00 pm.png

    Then, I went to EXTEND > WIDGETS & did the below:
    Screen Shot 2023-04-04 at 8.23.06 pm.png

    SAVED at both places but nothing has appeared on the footer.
    Where am I going wrong?

  • @phenomlab Thank you so much yet again! Much appreciated.

    How do I now add the pages?

    I went to PLUGINS > CUSTOM PAGES & did the below:
    Screen Shot 2023-04-04 at 8.22.00 pm.png

    Then, I went to EXTEND > WIDGETS & did the below:
    Screen Shot 2023-04-04 at 8.23.06 pm.png

    SAVED at both places but nothing has appeared on the footer.
    Where am I going wrong?

    @mventures That widget will appear in the page it is created, so

    7f564f90-69e1-4ce2-abe3-5f0a37cb272c-image.png

    I’d also recommend placing that in the content section (widget) unless you intended for it to be in the footer ?

  • @mventures That widget will appear in the page it is created, so

    7f564f90-69e1-4ce2-abe3-5f0a37cb272c-image.png

    I’d also recommend placing that in the content section (widget) unless you intended for it to be in the footer ?

    @phenomlab I would like it the way you have it. Is that the CONTENT SECTION you are referring to? How do I place my new pages in the CONTENT SECTION widget? I have done it as below and saved it, but I can’t see it on the page.
    Screen Shot 2023-04-04 at 9.56.24 pm.png

  • @phenomlab I would like it the way you have it. Is that the CONTENT SECTION you are referring to? How do I place my new pages in the CONTENT SECTION widget? I have done it as below and saved it, but I can’t see it on the page.
    Screen Shot 2023-04-04 at 9.56.24 pm.png

    @mventures The privacy policy you see on my site is in fact custom code. The page itself is created the same way, but the running widget is my creation. I’m happy to share the code with you if it’ll help, but it may not operate correctly on your site if you use the v2 version.

    Thankfully, I have a v3 version ready to go also, and happy to share that if it helps.

  • @mventures The privacy policy you see on my site is in fact custom code. The page itself is created the same way, but the running widget is my creation. I’m happy to share the code with you if it’ll help, but it may not operate correctly on your site if you use the v2 version.

    Thankfully, I have a v3 version ready to go also, and happy to share that if it helps.

    OK, I think I have figured out how to place a link in the footer which will click to a new page.


Did this solution help you?
Did you find the suggested solution useful? Support 💗 Sudonix with a coffee
If your organisation needs deeper expertise around infrastructure, security, or technology leadership, learn more about Phenomlab Ltd. Many of the deeper technical guides behind Sudonix are published there.

Related Topics
  • What’s going on with NodeBB?

    Performance nodebb script die
    20
    8 Votes
    20 Posts
    2k Views
    @cagatay The most reliable way to upgrade Node.js on Ubuntu depends on how you originally installed it. Method 1: Using NVM (Recommended) If you already use Node Version Manager (NVM), upgrading is simple. NVM allows you to keep both versions and switch between them if needed. Install Node 22: nvm install 22 Switch to Node 22: nvm use 22 Set it as your default: nvm alias default 22 Verify the change: node -v Method 2: Using NodeSource (PPA) If you installed Node.js via apt using the NodeSource repository, you need to update the repository script to point to the new version. Remove the old NodeSource list (optional but cleaner): sudo rm /etc/apt/sources.list.d/nodesource.list Download and run the NodeSource setup script for Node 22: curl -fsSL [https://deb.nodesource.com/setup_22.x](https://deb.nodesource.com/setup_22.x) | sudo -E bash - Install/Upgrade Node.js: sudo apt-get install -y nodejs Verify the installation: node -v Method 3: Using the ‘n’ Package If you have npm installed, you can use the n interactive manager. Clear the npm cache: sudo npm cache clean -f Install the ‘n’ helper: sudo npm install -g n Install Node 22: sudo n 22 Update your shell: hash -r Troubleshooting Permission Denied: If you see permission errors using Method 2 or 3, ensure you are using sudo. Path Issues: If node -v still shows version 20 after upgrading via NVM, restart your terminal or run source ~/.bashrc. Conflicts: Avoid mixing these methods. If you switch from apt to nvm, it is best to sudo apt remove nodejs first to avoid path conflicts.
  • Nodebb design

    Solved General nodebb
    2
    1 Votes
    2 Posts
    951 Views
    @Panda said in Nodebb design: One negative is not being so good for SEO as more Server side rendered forums, if web crawlers dont run the JS to read the forum. From recollection, Google and Bing have the capability to read and process JS, although it’s not in the same manner as a physical person will consume content on a page. It will be seen as plain text, but will be indexed. However, it’s important to note that Yandex and Baidu will not render JS, although seeing as Google has a 90% share of the content available on the web in terms of indexing, this isn’t something you’ll likely lose sleep over. @Panda said in Nodebb design: The “write api” is preferred for server-to-server interactions. This is mostly based around overall security - you won’t typically want a client machine changing database elements or altering data. This is why you have “client-side” which could be DOM manipulation etc, and “server-side” which performs more complex operations as it can communicate directly with the database whereas the client cannot (and if it can, then you have a serious security flaw). Reading from the API is perfectly acceptable on the client-side, but not being able to write. A paradigm here would be something like SNMP. This protocol exists as a UDP (UDP is very efficient, as it is “fire and forget” and does not wait for a response like TCP does) based service which reads performance data from a remote source, thus enabling an application to parse that data for use in a monitoring application. In all cases, SNMP access should be “RO” (Read Only) and not RW (Read Write). It is completely feasible to assume complete control over a firewall for example by having RW access to SNMP and then exposing it to the entire internet with a weak passphrase. You wouldn’t do it (at least, I hope you wouldn’t) and the same ethic applies to server-side rendering and the execution of commands.
  • NodeBB: Favicon upload issue

    Solved Configure nodebb favicon
    12
    1
    3 Votes
    12 Posts
    2k Views
    @phenomlab I am on a Mac, so I used the “Option + Command + I”, and then performed the steps. It loaded my favicon! I checked on Firefox which I haven’t used before, and it showed my favicon also! That’s fantastic and thank you for the help!
  • NodeBB v3

    Announcements nodebb v3 nodebb
    2
    3 Votes
    2 Posts
    902 Views
    @cagatay JS will work fine - no changes there, and there are no plans to drop support for jQuery. More of an issue is the CSS - for which there are quite a few breaking changes. Keep an eye on sudonix.dev (my development site) where you can see progress in relation to how I am tackling the compatibility issues.
  • Recent Cards plugin customization

    Solved Customisation nodebb
    21
    1
    13 Votes
    21 Posts
    8k Views
    @pobojmoks that’s easily done by modifying the code provided here so that it targets background rather than border In essence, the below should work $(document).ready(function() { $(window).on('action:ajaxify.end', function(data) { $('.recent-card-container').each(function(i) { var dataId = $(this).attr("data-cid"); var color = $('[role="presentation"]', this).css("background-color"); console.log("data-cid " + dataId + " is " + color); $('[data-cid="' + dataId + '"] .recent-card').attr("style", "background-color: " + color); }); }); });
  • NodeBB metadata

    Solved Configure nodebb
    4
    2 Votes
    4 Posts
    1k Views
    @phenomlab said in NodeBB metadata: @jac Are you sure ? https://www.google.co.uk/search?q=site%3Astockportcounty.fans&sxsrf=AOaemvLwnaZL-PliU_2dBOg_Eo1pMVhBjg%3A1638982328139&source=hp&ei=uOKwYeatBcOsad3yp7AE&iflsig=ALs-wAMAAAAAYbDwyLBSDcG5XYoFCKwQFhgz94wTxOcV&ved=0ahUKEwjm6dX71NT0AhVDVhoKHV35CUYQ4dUDCAk&uact=5&oq=site%3Astockportcounty.fans&gs_lcp=Cgdnd3Mtd2l6EAM6BAgjECc6CwgAEIAEELEDEIMBOg4ILhCABBCxAxDHARCjAjoRCC4QgAQQsQMQgwEQxwEQowI6BQguEIAEOggIABCABBCxAzoFCAAQgAQ6CAguELEDEIMBOgsILhCABBDHARCvAToICC4QgAQQsQM6BQgAELEDOgsILhCABBDHARDRAzoLCAAQgAQQsQMQyQM6BQgAEJIDUABYySZg0CdoAHAAeACAAW2IAa0NkgEEMjMuMpgBAKABAQ&sclient=gws-wiz Fair enough 🤪🤪.
  • nodebb dropdown menu

    Solved Configure nodebb
    5
    1
    0 Votes
    5 Posts
    2k Views
    @phenomlab said in nodebb dropdown menu: @kurulumu-net You set it like the below example taken from this site [image: 1637939951821-aae36790-3257-4bb2-ad5a-0d744309876a-image.png] Which presents this [image: 1637939983445-77f47260-2941-4afe-9614-8e17dcfc8c19-image.png] Very interesting… I actually thought this wasn’t possible, as I remember it being asked in the NodeBB forum. Is this something new that’s been implemented? I’ll 100% be doing that when I’m on the laptop over the weekend.
  • RSS parser script [NodeBB]

    Customisation nodebb rss script
    47
    9 Votes
    47 Posts
    15k Views
    @phenomlab said in RSS parser script [NodeBB]: @jac Not yet. Sorry. Have some other work commitments I need to prioritise. Hoping to get to this over the weekend. No worries at all mate, thanks