Skip to content

NodeBB Plugins

Discussion regarding NodeBB Plugin development.

1.8k Topics 15.0k Posts
Most Voted Plugins

Subcategories


  • Have a question about building a plugin? Ask here
    426 Topics
    2k Posts
    starkorebaS

    Hello, first of' thanks for the amazing work !
    For the context: I'm a junior developer from France, so excuse my english (and my limited understanding of everything lol). I was looking for a software alternative to build a forum RPG. I just installed NodeBB on Ubuntu 20 (Focal) working on WSL 2. I'm using redis and want to write plugin using typescript.

    It would be great to have a guide version of the Quickstart plugin in typescript !
    I know its possible to write plugin in typescript, the emoji plugin does that. But it would save me so much time to have a guide that explain the extra step we need to do in order of compiler and make it work on NodeBB.

    Here's my questions tho:

    Is it in the roadmap team of NodeBB to document how to write plugin in typescript? Did the team plan to write a typescript version of NodeBB?

    Although it would be great to have some more advanced example right in the documentation on how to do something and what are the step to make it work.
    Like here : https://community.nodebb.org/topic/16994/how-do-i-add-custom-user-fields-to-my-theme

    Like "if I want to add/ change something, I have to think of the scope of this features and what's need to be modify in other file to be working properly". Or at least, say it in the documentation a little bit more straightforward. So that beginner will understand that first sight. But I think examples are more worthy than tons of words.

    Is it possible for beginner to contribute on the documentation to make it more specific and understandable for beginners, or is it a documentation for more experienced developers and a choice of the team (and don't want to change that)?

    Is it because from a plugin to another, things might be working so differently that it's not worthy to do a more detailed documentation ?

    Because people might be wanted to write plugin over time, mutualisation of knowledge would be great, so that might simplified the process of each developer trying to write plugin have to go throw investigations to understand how NodeBB works before even start to develop the actual plugin.

    For example: How to interact with the database explain in this answer: https://community.nodebb.org/topic/17657/best-way-to-store-plugin-data-in-database-in-context-of-compatibility/2?_=1714543873650 for me this should be in the documentation.

    In conclusion, I feel like in general people agree that it's difficult to start writting plugin without investigate and dive in the structure file of the source code. I'm willing to help on that make it easier to really understand how NodeBB works for developer. So that anyone not familiar with the source code can start almost immediately customization. :emo:

  • Need a plugin developed? Ask here!
    222 Topics
    1k Posts
    barisB

    Plugin doesn't show usernames if they set their status to offline AFAIK

  • 0 Votes
    3 Posts
    430 Views
    A

    @omega Thanks

  • Saving Plugins Locally?

    3
    0 Votes
    3 Posts
    352 Views
    R

    @crazycells, Thanks. I need to look if all of the plugins I use are from GitHub. Definitely I’ll fork those.

  • 7 Votes
    94 Posts
    48k Views
    T

    Hi, all:

    Are there plans to update this for 2.0? The formatting in this one looks easier for users than the formatting in nodebb-plugin-btn-spoilers, so I would prefer to use this.

  • Importer stop after one hour

    8
    1 Votes
    8 Posts
    603 Views
    julianJ

    @Freelancer Is this you? https://github.com/NodeBB/NodeBB/issues/10632

    Disable the admin timeout and that should resolve it.

  • 0 Votes
    16 Posts
    1k Views
    phenomlabP

    @DownPW same issues for me. Incomplete plugin list when searching

  • nodebb-plugin-ns-custom-fields setting

    1
    1 Votes
    1 Posts
    189 Views
    R

    I'm using nodebb-plugin-ns-custom-fields plugin. but it seems not working.I wasn't found the setting page in my acp panel. Does anyone know how to fix this problem or some alternative plugins to add custom fields in user's profile

  • Post lifecyle

    8
    1 Votes
    8 Posts
    670 Views
    PitaJP

    @razibal try checking ajaxify.data for the post content to see what it looks like before being added to the page.

  • iframe integration

    1
    1 Votes
    1 Posts
    242 Views
    R

    I'm trying to get bi-directional integration working for nodebb running in an iFrame. One of the last pieces left is ensuring that the post index is captured in the browser session stack. I can get the navigation events captured by listening for 'action:ajaxify.end' and using that to postMessage back to the parent so it can then be used for a pushState. I would also like to capture the post index changes as a user scrolls through the posts so it can be reflected in the parent url. Is there an event I can attach to, so these index changes can be captured?

  • wechat authorization login for mobile terminal

    2
    0 Votes
    2 Posts
    288 Views
    julianJ

    @yasz 🤔 How would a mobile device scan a QR code on its own screen

  • 0 Votes
    2 Posts
    306 Views
    PitaJP

    Are there any errors that pop up when you click save, or in the browser console, or in the server logs?

  • Discord OAuth Plugin

    11
    1 Votes
    11 Posts
    1k Views
    julianJ

    @phenomlab gh#10474 👍

  • Sign in via Firebase

    2
    1 Votes
    2 Posts
    1k Views
    zhivkoangelovZ

    I am trying to do the same. Does anyone managed to develop such an integration?

  • [nodebb-plugin-feed] NodeBB Feed Plugin

    16
    7 Votes
    16 Posts
    2k Views
    crazycellsC

    previously I wrote here: https://community.nodebb.org/post/87648

    this custom CSS (what baris mentioned above) is related to the Feed plugin as well...

    .posts-list .posts-list-item .content { overflow: auto; max-height: 480px; }

    with this change, people can go through all the posts by scrolling on the same page... feel free to change the post height...

  • 2 Votes
    26 Posts
    9k Views
    crazycellsC

    thanks @baris , [email protected] fixes the issue.

  • 0 Votes
    3 Posts
    407 Views
    julianJ

    @zhivkoangelov That's great! Thanks for sharing this plugin with us 😄

  • 20 Votes
    122 Posts
    82k Views
    volanarV

    @DownPW I agree. This plugin should be in nodebb by default

  • Question and Answer Plugin - Permissions

    1
    0 Votes
    1 Posts
    211 Views
    oci-userO

    Hi,
    there is a way to allow mark a topic as question or not, solved or not only to mods / admins?

    Will be useful have more controls on the permission.
    I opened a GitHub issue for this but try to see here if can be some solution to avoid user remove or set resolved status.

  • Why Iframely over Embedly?

    9
    0 Votes
    9 Posts
    1k Views
    phenomlabP

    @hollosch Yes, you can use the nodebb-plugin-iframely plugin, but ensure you use

    Link Preview Image GitHub - itteco/iframely: oEmbed proxy. Supports over 1800 domains via custom parsers, oEmbed, Twitter Cards and Open Graph

    oEmbed proxy. Supports over 1800 domains via custom parsers, oEmbed, Twitter Cards and Open Graph - itteco/iframely

    favicon

    GitHub (github.com)

    For the self hosted install.

  • [nodebb-plugin-iframely] IFramely Embeds

    81
    9 Votes
    81 Posts
    41k Views
    J

    How do I customize the embedding of YouTube videos (I want to embed the videos with another lazy YouTube embedding plugin)?
    I exceeded the

    https://www.youtube.com/ https://youtu.be/

    And it still assimilates ... 😞

  • 2 Votes
    13 Posts
    5k Views
    crazycellsC

    Hi @julian , while restarting the forum (1.19.1) , I get this "warning" for canned-responses plugin... Is this a problem or normal?

     started 2022-02-03T04:28:25.721Z [4567/3637012] - info: [build] Building in series mode 2022-02-03T04:28:25.724Z [4567/3637012] - info: [build] plugin static dirs build started 2022-02-03T04:28:25.756Z [4567/3637012] - info: [build] plugin static dirs build completed in 0.032sec 2022-02-03T04:28:25.756Z [4567/3637012] - info: [build] requirejs modules build started 2022-02-03T04:28:35.741Z [4567/3637012] - info: [build] requirejs modules build completed in 9.984sec 2022-02-03T04:28:35.743Z [4567/3637012] - info: [build] client js bundle build started 2022-02-03T04:28:39.189Z [4567/3637012] - info: [build] client js bundle build completed in 3.446sec 2022-02-03T04:28:39.189Z [4567/3637012] - info: [build] admin js bundle build started 2022-02-03T04:28:43.542Z [4567/3637012] - info: [build] admin js bundle build completed in 4.353sec 2022-02-03T04:28:43.543Z [4567/3637012] - info: [build] client side styles build started 2022-02-03T04:28:51.795Z [4567/3637012] - info: [build] client side styles build completed in 8.252sec 2022-02-03T04:28:51.796Z [4567/3637012] - info: [build] admin control panel styles build started 2022-02-03T04:28:58.818Z [4567/3637012] - info: [build] admin control panel styles build completed in 7.022sec 2022-02-03T04:28:58.820Z [4567/3637012] - info: [build] templates build started [benchpress] warning: output bloat due to ambiguous inner BEGIN --> admin/plugins/canned-responses.tpl:44:17 | 44 | <!-- BEGIN responses --> | ^^^^^^^^^ `responses` could refer to the top-level value `responses` or the `.responses` property of the current element, so compiler must emit code for both cases | note: Migrate to modern syntax to avoid the ambiguity. This will become an error in the future. 2022-02-03T04:29:00.904Z [4567/3637012] - info: [build] templates build completed in 2.084sec 2022-02-03T04:29:00.905Z [4567/3637012] - info: [build] languages build started 2022-02-03T04:29:07.261Z [4567/3637012] - info: [build] languages build completed in 6.356sec 2022-02-03T04:29:07.264Z [4567/3637012] - info: [build] Asset compilation successful. Completed in 41.54sec. [cluster] Restarting... 2022-02-03T04:29:07.321Z [4567/3637012] - info: [app] Shutdown (SIGTERM/SIGINT) Initialised. 2022-02-03T04:29:07.332Z [4567/3637012] - info: [app] Web server closed to connections. 2022-02-03T04:29:07.338Z [4567/3637012] - info: [app] Live analytics saved. Clustering enabled: Spinning up 1 process(es). 2022-02-03T04:29:07.393Z [4567/3637012] - info: [app] Database connection closed. 2022-02-03T04:29:07.394Z [4567/3637012] - info: [app] Shutdown complete. [cluster] Child Process (3637012) has exited (code: 0, signal: null) 2022-02-03T04:29:08.058Z [4567/3646564] - info: Initializing NodeBB v1.19.1