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
    440 Topics
    2k Posts
    barisB
    You could use the below custom javascript, it will open the last chat if there is no open chat. $(window).on('action:ajaxify.end', async () => { const { data } = ajaxify; if (data.template.chats && !data.template.roomId && data.rooms.length) { const Chats = await app.require('forum/chats'); Chats.switchChat(data.rooms[0].roomId); } });
  • Need a plugin developed? Ask here!
    223 Topics
    1k Posts
    Silver.meS
    I am willing to pay whatever it takes, $30 max.
  • NodeBB Upyun Uploads Plugin: for Chinese users.

    2
    2 Votes
    2 Posts
    1k Views
    julianJ
    Awesome work! Enjoy your new badge
  • How To Import FluxBB to NodeBB

    2
    0 Votes
    2 Posts
    1k Views
    BriB
    Check out https://github.com/akhoury/nodebb-plugin-import I don't think there's an adaptor for FluxBB... yet
  • Which emailer plugin do you use here?

    9
    0 Votes
    9 Posts
    3k Views
    poP
    Thank you for your quick reply! It was extremely helpful. I have added the 1-line fix to map your from_name field to SendGrid's API. I submitted a PR to the nodebb-plugin-emailer-sendgrid GitHub repo, so that hopefully others can benefit too. This is the first time I have submitted a PR to an open source project, so I hope I did the procedure correctly. The 1-line fix works on our installation, and I am now receiving emails which have a proper From name!
  • Plugins getting deleted automatically

    9
    0 Votes
    9 Posts
    3k Views
    julianJ
    @Giggiux In other hosts, the file system doesn't nuke itself every time you reboot the machine, so if you install a plugin, it stays installed
  • Extra field in topic list view plugin.

    3
    0 Votes
    3 Posts
    2k Views
    W
    Not sure how i missed your reply. Thanks for getting back to me. For now i think we are just going to use the tags field since the person assigned doesn't have to be linked via the users table. Its more of a, let me check who is running that project (imagine each topic as a mini project) and since we dont use tags for anything else i think they may work fine. Thanks again
  • How get all bookmarks from a user

    6
    0 Votes
    6 Posts
    2k Views
    D
    @baris and in the version like 1.2.1 how I can do ( I can't upgrade to 1.3.0) ? Because if I use db.getSortedSetRevRange('uid:' + uid_of_user + ':bookmarks', 0, -1, callback); It's not work in the 1.2.1 maybe I can use: db.getSortedSetRange('uid:'+uid+":favourites",callback);?
  • Error: listen EADDRINUS when I do ./nodebb dev

    4
    0 Votes
    4 Posts
    2k Views
    D
    @julian @PitaJ this is my result after that I have do fir "./nodebb stop" and after "ps aux | grep node" in Centos: [image: RRkFknr.png] I do "vagrant up" to start a centos machine.
  • Social Locker

    4
    0 Votes
    4 Posts
    1k Views
    H
    @metalkramp I want to lock/hide the content and make it available unless the visitor share it. there several wordpress plugin which they can do it. I hope my question is clear
  • Tip with Reddcoin plugin

    1
    0 Votes
    1 Posts
    953 Views
    R
    Re: Tip with bitcoin Just to update the thread and status of the plugin. I believe this is now resolved. https://github.com/reddink/nodebb-plugin-reddcoin/issues/4 Had to amend some versioning Would be great if someone could test it out in the wild, and feed back Wont close the issue yet, unless i dont here back in a reasonable time
  • Want a NodeBB REPL (command line interface)?

    1
    0 Votes
    1 Posts
    939 Views
    J
    I wanted to debug some code I had written in my plugin and did a quick search to see if I could create a Node.js REPL that would function in the context of my plugin. It turned out to be quite simple to do. Just add this to your plugin's static:app.load method: setTimeout(function() { console.log("About to start REPL"); var repl = require("repl"); var util = require('util'); var replServer = repl.start({ prompt: "swf-cms> ", breakEvalOnSigint: true, ignoreUndefined: true, useGlobal: true, useColors: true }); var context = replServer.context; context.require = require; context.module = module; context.context = util.inspect(replServer.context, {depth: 0}); }, 3000); You'll want to wrap this in something to prevent it from running outside of dev mode. Also, load up the context object with anything that you want to be conveniently available in the REPL. FYI, I used the setTimeout to give Nodebb a chance to finish loading before it gives you the prompt. Have fun.
  • Help please, how uninstall nodebb-package-manager

    2
    0 Votes
    2 Posts
    1k Views
    feroomF
    Hard fix I`m remove this folder from node_modules and upgrade nodebb.. What was it?
  • This topic is deleted!

    0
    0 Votes
    0 Posts
    2 Views
  • How create circle icon

    3
    0 Votes
    3 Posts
    1k Views
    julianJ
    I also believe there is .avatar-rounded for 50% border radius.
  • How load a tpl file in a component html (div)

    1
    0 Votes
    1 Posts
    825 Views
    D
    I need to load a tpl file in a <div> in a page. My purpose is loaded an tpl file in a component and I need to pass parameter in this tpl file. I think that "Load()" function from jquery can be usefull but I'm not sure. if (data.tpl === "account/favourites") { console.log("MIAOOO"); // Add your jQuery here. var gancio = $('ul[component="posts"]').empty(); //var gancio = $('#content'); var uid = app.user.uid; gancio.load("connect-aggiungi-bookmarked.tpl", function() { }); Anyone can suggest me how I can do this ? Or something like ajaxify.loadTemplate?
  • How put header from user page in another tpl page

    5
    0 Votes
    5 Posts
    2k Views
    P
    @Doppy this line is the problem... $('ul[component="posts"]').remove(); when you scroll down the page, infinite scroll kicks in and the DOM element removed using the above statement contains a data point that the infinite scroll needs to look for more data.
  • loading indicator api

    3
    0 Votes
    3 Posts
    1k Views
    P
    @Bruce-Lee this should help you https://github.com/NodeBB/nodebb-theme-persona/blob/master/lib/persona.js#L19-L25
  • How handle hook when I click in the user profile

    2
    0 Votes
    2 Posts
    1k Views
    P
    @Doppy there is no hook for that. Just listen to the click event.
  • Quote plugin

    12
    0 Votes
    12 Posts
    4k Views
    T
    @pichalite Yea, that's why I asked first to see if someone had done one. Maybe I can try, but i'll probably burn my site down... Does this look OK? $('document').ready(function() { require(['composer', 'composer/controls'], function(composer, controls) { composer.addButton('fa fa-quote-right', function(textarea, selectionStart, selectionEnd) { if (selectionStart === selectionEnd) { controls.insertIntoTextarea(textarea, '@Username / Website said:\n> '); controls.updateTextareaSelection(textarea, selectionStart + 4, selectionStart + 20); } else { controls.wrapSelectionInTextareaWith(textarea, '@Username / Website said:\n> ', '\n\n'); controls.updateTextareaSelection(textarea, selectionStart + 4, selectionEnd + 4); } }); }); });
  • Cannor ready get() of undefined(csrf.get())

    5
    0 Votes
    5 Posts
    2k Views
    D
    @baris It works thank for your support!
  • Show last three posts per category on home and categories

    1
    0 Votes
    1 Posts
    864 Views
    vct.fernandesV
    Hey guys, I'm trying to customize persona theme to show the last three posts per category. I'm having a hard time trying to find a way to do this, can anyone shed some light? I guess I should be working with hooks, but I need some guidance, can't seem to find what I need in the docs. Thanks everyone!