Skip to content

NodeBB Plugins

Discussion regarding NodeBB Plugin development.

1.8k Topics 15.2k Posts
Most Voted Plugins

Subcategories


  • Have a question about building a plugin? Ask here
    444 Topics
    2k Posts
    Sky FoxxS
    Perfect! Does the job super elegantly thank you
  • Need a plugin developed? Ask here!
    226 Topics
    1k Posts
    juseJ
    like this [image: 1732282083034-snipaste_2024-11-22_21-27-43.png] or [image: 1732282134821-snipaste_2024-11-22_21-28-46.png]
  • [nodebb-plugin-postlink] Adds a prefix on postlinks

    8
    4 Votes
    8 Posts
    4k Views
    julianJ
    @Jenkler said: when to use ./ and when not to? To answer your earlier inquiry... in general it should be safe to use both. When paths are passed in plugin configs, we run them through path.join to remove relative relations and double slashes, etc. In all cases (exceptions are bugs), the path should be relative from the plugin directory itself.
  • Error installing nodebb-widget-ns-stats

    7
    0 Votes
    7 Posts
    2k Views
    N
    @rspk should be resolved https://github.com/NicolasSiver/nodebb-widget-ns-stats/issues/2
  • [nodebb-plugin-featured-threads] Featuring threads + related widgets

    15
    1 Votes
    15 Posts
    8k Views
    jareyJ
    @psychobunny said: I think the most recent one this would be good for is 0.8.x, we since revamped our menu system to lazy load instead so that made this one incompatible. Ping me again if I haven't looked at this by end of next week ping @psychobunny :bowtie:
  • 0 Votes
    2 Posts
    2k Views
    yariplusY
    in the client, those values are stored in ajaxify.data For your jQuery, you don't append a closing tag, it does that automatically. When you want to insert the element into the div, you need to use appendTo(). Also, unless your label has additional data, I recommend using html() instead of text(). Here's a fiddle. I also added an ID to the new label so it isn't added more than once. https://jsfiddle.net/bdLgsj7p/
  • Anyone know how the following site has TOPIC voting

    11
    0 Votes
    11 Posts
    4k Views
    P
    Yup, that's how we built it. Although it might be an idea to add a hook so you can just do it programmatically rather than via templating
  • Bulk registration of members and optionally into groups - plugin

    1
    0 Votes
    1 Posts
    977 Views
    M
    Dear Nodearati Bulk registration Can anyone recommend a plugin that allows me to bulk load bb members and optionally register them into a group? Alternatively if I was to write a specification is there anyone who would be interested in developing such an plugin using Write-API as the basis. Thanks in advance DM
  • Groups as Subdomains via plugin?

    7
    0 Votes
    7 Posts
    3k Views
    faddatF
    @PitaJ You could do that, it's true. That said I'd like to kinda shunt people away from NginX. To hell with it and its antiquated ways. (okay okay, that is harsh-- it's very good at what it does and most likely it will continue doing that even a decade from now.) Anyway, try out Caddy. I use Caddy in front of my web applications, which I run in the wonderful isolation of Docker containers, and caddy slaps an automatically generated SSL/TLS cert on them, yay! If you're running without encryption, you no longer have any excuse. Both Caddy and Let's Encrypt have made trivial work out of the previously quite harsh process of getting your site secured.
  • [nodebb-plugin-search-elasticsearch] Elasticsearch Search

    8
    2 Votes
    8 Posts
    4k Views
    pennyfxP
    I just installed it with 0.9.3 and it doesn't appear to work. It never created an es index, but search results were still coming back.
  • Is this feasible: Extract geolocation data from images?

    3
    0 Votes
    3 Posts
    2k Views
    R
    I may commission the Nodebb team for this work. I have been in contact with @julian regarding it.
  • how to delete data when plugin is disabled

    4
    0 Votes
    4 Posts
    2k Views
    yariplusY
    Make sure you have a good reason for doing this. Someone may remove a plugin and reinstall it at a later date, and still want their old settings. Right now this is how it works by default.
  • Create custom route in plugin

    2
    0 Votes
    2 Posts
    3k Views
    yariplusY
    You define routes in your load hook. So your library.js might look like this: var Plugin = module.exports = {}; Plugin.load = function (params, callback) { var router = params.router; var middleware = params.middleware; // Define the function that renders the custom route. function render(req, res, next) { // Get whatever data you want to send to the template here. var data = {whatever: 33}; // This is the path to your template without the .tpl, relative to the templates directory in plugin.json var template = 'templatename' // Send the page to the user. res.render(template, data); } // This actually creates the routes, you need two routes for every page. // The first parameter is the actual path to your page. router.get('/yourpage', middleware.buildHeader, render); router.get('/api/yourpage', render); callback(); }; And your plugin.json would look something like this: { "library": "library.js", "hooks": [ { "hook": "static:app.load", "method": "load" } ], "templates": "./public/templates", "staticDirs": { "public": "public" } } and you would have a template here: /nodebb-plugin-yourplugin/public/templates/templatename.tpl <h2>My Awesome Custom Page</h2> The Magic Number is: {whatever} I'm pretty sure I posted about this before, with more details even. Have to start using those canned responses.
  • 1 Votes
    3 Posts
    2k Views
    S
    Has anyone looked at this plugin recently? Is it still working or being supported? Would love to be using it.
  • Plugin for jsbin embed or jsfiddle embed ?

    7
    0 Votes
    7 Posts
    3k Views
    agusputraA
    I have update the repo and add support for jsBin : https://github.com/agusputra/nodebb-plugin-jsfiddle Screenshot: [image: us84RiI.png]
  • Show users, categories, tag and groups at the same time on the homepage

    2
    0 Votes
    2 Posts
    1k Views
    A
    I believe there are widgets for each of those! However, I'd implore you to consider information density- Most users are scared off by even too many categories- putting all that on the landing page will bounce a lot of users!
  • 0 Votes
    6 Posts
    2k Views
    R
    I may have found it. node_modules/nodebb-plugin-google-analytics/lib/client.js looks promising. But ohhzzmyyygeez wtf. I don't know how all of that constructs the js call for GA.
  • Changetip Plugin

    1
    0 Votes
    1 Posts
    983 Views
    orweinbergerO
    Re: Plugin Request: ChangeTip This is quite an old request, ChangeTip now has a nodejs module to perform API actions: https://www.npmjs.com/package/changetip If anyone can assist with this, it would be very much appreciated. I would love to know if anyone has any idea on a different plugin that I could use as a skeleton to create this plugin. I tried using the nodebb-plugin-sso skeleton but it seems to be a bit obsolete. Thanks
  • The script doesn't work until I refresh the page[Nodebb-plugin]

    2
    0 Votes
    2 Posts
    1k Views
    yariplusY
    This is because the form element doesn't exist when you initially load the page. Use the event selector on the body element to grab the form dynamically. $('body').on('input', '#email', function() { console.log("IN"); $.ajax({ url:'....', data: { 'email_input': $(this).val() }, success: function(data) { } }); });
  • How to create topic from plugin?

    Solved
    3
    0 Votes
    3 Posts
    2k Views
    olegO
    @yariplus yeah, its work, thank you
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    15 Views
  • Replace composer but only on replys to a topic in one category

    1
    0 Votes
    1 Posts
    724 Views
    D
    Hello thanks for any help what I am looking to do is create a plugin that for a category could replace the composer with a "form". what I want is for users to only be able to post a small bit of text say around 100 chars. and then a link to a blog post. Any help in pointing in at what hooks I need would be amazing Thank you Dale