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!
    225 Topics
    1k Posts
    julianJ
    Considering its localized popularity, I think it would be an idea candidate for a plugin. The easiest way would be to utilise an existing askbox service and embed it into a user profile or something.
  • Error installing Mandrill emailer plugin

    24
    0 Votes
    24 Posts
    11k Views
    limkerL
    Fixed, i had to as suggested by several users to change my "base_url" or "url" (depends on your nodebb version). But i had to add the key "port" in the config.json as well. "url": "http://myforum.com", "port": "1234"
  • This topic is deleted!

    Locked
    1
    0 Votes
    1 Posts
    5 Views
  • Apply styles to only certain pages

    11
    0 Votes
    11 Posts
    4k Views
    T
    No, actually I wouldn't recommend adding it to the content as it requires a higher level for better customization such as body or even html so that you can totally customize it the way you want. For example, adding it to the #content would be a bit more work to customize because it contains padding and marginal properties to go around. @julian Oh yeah, just noticed that. Good stuff. @pitaj said putting the template route on the html element would cover everything. +1 for html or body (since they usually contain 0 padding and margins).
  • Any plugin out there can generate badge like DN?

    3
    0 Votes
    3 Posts
    2k Views
    T
    @pitaj said: https://github.com/psychobunny/nodebb-plugin-badges Thanks a lot!
  • getting custom fonts in .less

    1
    0 Votes
    1 Posts
    911 Views
    belstgutB
    hi, I was just trying to write my first Plugin but failed when referencing custom fonts in my .less. my fonts are in ./static/fonts and my .less is ./static/style.less in my .less i use eg: url(fonts/font.woff) The font doesnt get loaded though. What is the easiest way to include fonts in my Plugin? edit: it seems to work if i use plugins/nodebb-plugin-pluginname/static/fonts as fonturl
  • ProfileLinks broken after upgrade 0.6.1

    7
    0 Votes
    7 Posts
    3k Views
    R
    Thanks @baris for the carification
  • Slideshare Embedding

    5
    3 Votes
    5 Posts
    3k Views
    W
  • Need API to get "Post object by passing only post id"

    6
    0 Votes
    6 Posts
    3k Views
    julianJ
    @akumbhare It will be available in v0.7.0.
  • Access database values through plugin.

    4
    0 Votes
    4 Posts
    3k Views
    A
    I am writing like plug-in, which provides an like functionality for anonymous as well as registered user. 1. Anonymous User should be able to like on any comment/reply and I have to restrict anonymous user via IP address. Yet, I can store IP values to redis database, I need to find out, The given IP value is present in "like:pid" hash set. I need to write query structure which finds out the given anonymous users IP address is not present in database for that particular post. Thanks!!
  • Emaze Plugin Help

    14
    0 Votes
    14 Posts
    10k Views
    JonDoe12J
    I was just going to let you take most of the credit. It's still your plugin, and you helped me make the modifications. I'm working on a new modification now, though. I'm trying to get the presentations to embed into an area of the user's profile. Right now, I'm testing it with the Fullname field on the profile, by entering the URL of the presentations (instead of a human name) and seeing if it parses into an embedded slide show. Would this be easy to accomplish? If not, are there any hints you could give me @a_5mith ? So far, I've edited the library.js file and replaced data.post and data.post.conent with data.fullname and data.fullname.content. I've also tried changing the hook in plugin.js from: { "hook": "filter:parse.post", "method": "parse", "callbacked": true } ] to { "hook": "action:user.set", "method": "parse", "callbacked": true } ] I feel like I'm missing something, though. If you're up to it, I'd like to collaborate with you further.
  • Masonary / css or plugin causing issue with embeds?

    2
    0 Votes
    2 Posts
    1k Views
    MegaM
    related https://community.nodebb.org/topic/3876/nodebb-plugin-facebook-facebook-posts/11
  • Plugin Instagram Embed

    3
    4 Votes
    3 Posts
    2k Views
    S
    Yes, please. This is a good plugin
  • plugin Facebook Embeds

    6
    0 Votes
    6 Posts
    3k Views
    MegaM
    I'm sorry @Codejet I completely don't understand you [image: 5.gif]
  • Updated code for Twitter embed && Twitter hashtag search plugin

    1
    0 Votes
    1 Posts
    1k Views
    codejetC
    nodebb-plugin-twitter/library.js (function(module) { "use strict"; var Twitter = {}, embed = '<blockquote class="content twitter-tweet" lang="en"><a href="https://twitter.com/$1/status/$2"></a></blockquote><script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>'; Twitter.parse = function(data, callback) { var regularUrl = /<a href="(?:https?:\/\/)?(?:twitter\.com)\/([^\/"\s]*)\/statuse?s?\/([^\/"\s]*)(\/photo\/1|)">.+?<\/a>/g var postContent = data && data.postData && data.postData.content; if (postContent && postContent.match(regularUrl)) { data.postData.content = postContent.replace(regularUrl, embed); } callback(null, data); }; Twitter.init = { global: { addNavigation: function(custom_header, callback) { custom_header.navigation.push({ class: 'hidden', route: "", text: '<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>' }); callback(null, custom_header); } } }, module.exports = Twitter; }(module)); nodebb-plugin-twitter-hastag/index.js 'use strict'; (function(module) { var regex = /(?:\s|^)#(\w*[A-Za-z_]+\w*)\s?(?!\w\d\s)/gi; module.parse = function(data, callback) { if (!data || !data.postData || !data.postData.content) { return callback(null, data); } var matches = data.postData.content.match(regex); if(!matches || !matches.length) { return callback(null, data); } for(var i=0; i<matches.length; ++i) { var match = matches[i].replace('</p>', '').trim(); data.postData.content = data.postData.content.replace(match, '<a href="https://twitter.com/search?q=%23'+ match.slice(1) +'" target="_blank">' + match + '</a>'); } callback(null, data); }; }(module.exports));
  • Twitter embed plugin

    1
    0 Votes
    1 Posts
    884 Views
    codejetC
    I just started playing with this because I noticed it wasn't working... had a look at the code and @ the twitter url that the embed plugin uses. Noticed that there are 2 different url links with the words 'status' and 'statuses'. On seeing this I decided to change the word in the main regexp for this program. For some unexpected reason, after having so many problems trying to get this working again, changing the regexp and reloading NodeBB seemed to get the plugin displaying twitter embed's again. Can the plugin developer look at why this is working sometimes and not other times. After mucking around with it I decided to change this line to: var regularUrl = /<a href="(http|https):\/\/twitter.com\/([^\/"\s]*)\/statuse?s?\/([^\/"\s]*)(\/photo\/1|)">.+?<\/a>/g note the ' statuse?s? ' (this matches either statuses or status in the url link) I know this probably worked correct before but for some strange reason altering this regexp seemed to kick start the plugin again and now it works.
  • How to add translations from the server that show up on the client

    7
    0 Votes
    7 Posts
    3k Views
    julianJ
    Best commit message ever Thanks @pitaj!
  • How to provide Name and Email field for Guset User?

    11
    0 Votes
    11 Posts
    4k Views
    A
    Hi, Can you point me to that location, where I can find and extend the USER model, to include the USER EMAIL ADDRESS ? The expectation is that the EMAIL ADDRESS should be persisted in the DB and be available across USER login sessions.
  • [nodebb-plugin-reddit] Links out of (sub)reddit syntax

    13
    6 Votes
    13 Posts
    7k Views
    S
    Updated to support the filter:parse.raw hook. New version is 0.0.5.
  • [nodebb-plugin-imdb] Popover IMDB information

    6
    3 Votes
    6 Posts
    3k Views
    S
    Just noticed that this also works for TV shows I can include the RT rating @julian
  • SEO plugin needed

    13
    1 Votes
    13 Posts
    6k Views
    BobberB
    @Baerrus Where you at with SEO so far?