Skip to content
  • Set Skin via CLI

    Solved Technical Support
    4
    0 Votes
    4 Posts
    255 Views
    phenomlabP
    @lase You might be interested in this. https://sudonix.org/topic/542/swatch-theme-changer?_=1720810499018
  • 0 Votes
    2 Posts
    343 Views
    omegaO
    Second to this, but actually primary to everything, if truly embracing "columns" a la Harmony. Then we all should be thinking about breaking out features into the column area especially for composer. Then alternatively, you can have a feature like tags vertically display in the left column in line with the composer edge, what I'm talking about here would be better considered as Composer-columns that overlay (if that technically makes it easier or is more efficient). Bring/Give columns to composer. Space for breaking out features. IMHO this is a more correct justification for column layouts, to provision for many cool secondary features even for other aspects of NodeBB (again widget in the main columns, is in line with this thinking too) that enhance posting beyond what is typically found in forum platform software. Give composer wings!
  • 4 Votes
    2 Posts
    946 Views
    manaM
    I like it very much, and I am willing to use it for secondary development. The large screen and almost full-screen experience on the mobile phone make me feel like using a native app
  • 9 Votes
    2 Posts
    793 Views
    B
    In 2020-2021 years I tried NodeBB for the first time, it seems then it was the ~1.5 version of the forum and I remember exactly what I fell in love with at first sight - the navigator in the header [image: 1682459187395-f88c54e1-721f-4eb9-97e5-5d2550cf28d2.jpeg]
  • Theme not found

    Solved Technical Support
    10
    0 Votes
    10 Posts
    884 Views
    C
    Oh thanks @julian! I didn't realise that, thanks for clarifying it! All working now cheers
  • 8 Votes
    12 Posts
    2k Views
    KosiakK
    @julian said in September 2022 Design Preview (New Base Theme): We have taken a number of approaches to the design and are close to showing off another preview very soon (an actual one with real content!) Wow! I look forward to
  • How do you actually work on a theme?

    Moved Technical Support
    3
    1 Votes
    3 Posts
    676 Views
    noloN
    @PitaJ thank you! will give this a try
  • No new themes for 5 years?

    General Discussion
    6
    2 Votes
    6 Posts
    2k Views
    julianJ
    @macfan Not strictly true -- while you can accomplish a lot with just front-end styling, our theming engine allows you to change the underlying templates as well, so you are not limited to having elements in specific positions. For example, if you want to have your reply buttons somewhere else on the page, or remove them altogether, you can do so by updating the topic.tpl template.
  • 0 Votes
    2 Posts
    756 Views
    M
    After some more code digging and experiments I can answer my own question. A theme is a normal plugin and as such does not inherit any behavior from other plugins. So you need to copy everything you need from the base theme library.js to your child theme. And of course, you need to declare client scripts explicitly. Loading of missing templates from base theme is the only link between the base and the child theme.
  • Real-time page editor

    Feature Requests
    5
    0 Votes
    5 Posts
    994 Views
    Dark ShyD
    @julian maybe you have something for hide something text? bcs it [image: 1615613062172-%D1%81%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA-%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0-47.png] doesnt work ,-, [image: 1615613124590-%D1%81%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA-%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0-48.png]
  • 1 Votes
    3 Posts
    884 Views
    dogsD
    @pitaj Thank you so much! That worked.
  • 0 Votes
    5 Posts
    1k Views
    dogsD
    @baris Thank you very much. This worked! €: I additionally use the hook $(window).on('action:ajaxify.start', function (ev, data) { $('div.topic-header-image').hide(); }); so that the header container with the image is hiding immediatly and before ajaxify.end
  • the issue of benchpressjs

    NodeBB Development
    3
    0 Votes
    3 Posts
    872 Views
    T
    Thanks for the help and sorry if the "terrible" word hurts your feeling, I didn't mean to. @PitaJ said in the issue of benchpressjs: First off, calling their work "terrible" is a really bad strategy if you're trying to get help from someone. I'll still help, because I like being helpful, but please don't act this way in the future. #1. about Interpolation, benchpressjs does NOT allow to retrieve array by index, like this: <h1>{localNews.topics[0].title}</h1> If you're trying to just get a specific single element of an array, you just put the number as the property name, like so: <h1>{localNews.topics.0.title}</h1> I see this isn't documented, so I'll open an issue to document this behavior. #2, about helper function, I created one like this: Benchpress.registerHelper('getByIndexInArray', function (arrayData, i) { return arrayData[i]; }); and call this helper function like this: <h5>{getByIndexInArray(localNews.topics, 1)}</h5> But it seems like the index "i" can not be passed into the helper function, since in this helper function, I always got "i" as undefined. Your helper is correct, it's how you're calling it that's the issue. Benchpress doesn't have numeric literals, it only has string literals. Putting just 1 in there is telling Benchpress to look up the property "1" on the global object, and call the helper with that value (which is undefined in your case). Your helper will work if you call it like this instead: <h5>{getByIndexInArray(localNews.topics, "1")}</h5> I will also add a note to document this behavior in the paths and helper section. Issue is here: https://github.com/benchpressjs/benchpressjs/issues/89
  • Assign own translation

    Solved Technical Support
    4
    0 Votes
    4 Posts
    954 Views
    PitaJP
    @pasib glad you found the issue
  • 1 Votes
    5 Posts
    934 Views
    G
    Help me pls )
  • Benchpress is undefined clien side

    Moved NodeBB Development
    5
    0 Votes
    5 Posts
    1k Views
    magnusvhendinM
    Thank you @PitaJ for pointing me in the right direction. I adapted my code to the link you sent me. (function (factory) { if (typeof module === 'object' && module.exports) { factory(require.main.require('benchpressjs')); } else { require(['benchpress'], factory); } }(function (Benchpress) { const logger = (data) => { console.log('Logger helper', data); return ''; }; const customHelpers = { register, logger, }; function register() { Object.keys(customHelpers).forEach(function (helperName) { Benchpress.registerHelper(helperName, customHelpers[helperName]); }); } register(); if (typeof module === 'object' && module.exports) { module.exports = customHelpers; } })); Just by doing this made it work client side. But then it stopped working server side. That was easily fixed though by running helpers.register in my library file. const helpers = require('./lib/helpers'); helpers.register(); Hope this helpes someone!
  • 0 Votes
    3 Posts
    838 Views
    magnusvhendinM
    Thanks @baris, I will have a look.
  • Adding "See all chats" for Persona on mobile

    Moved Technical Support
    5
    0 Votes
    5 Posts
    1k Views
    thomas.picklesT
    Been offline for a bit but it looks like this has been addressed. This has been fixed by @julian in commit d33d965 to nodebb-theme-persona and commit 9d202d9 to nodebb. Thanks Julian!
  • 0 Votes
    2 Posts
    2k Views
    A
    the answer is in this topic : https://community.nodebb.org/topic/11906/add-a-class-to-the-body-if-the-template-is-404/3
  • Two-column Persona Categories

    Moved Solved Technical Support
    4
    0 Votes
    4 Posts
    3k Views
    A
    nah, not gonna do this.