Skip to content
  • 0 Votes
    2 Posts
    190 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
    676 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
    538 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 🙂

    F88C54E1-721F-4EB9-97E5-5D2550CF28D2.jpeg

  • Theme not found

    Solved Technical Support
    10
    0 Votes
    10 Posts
    597 Views
    C

    Oh thanks @julian!
    I didn't realise that, thanks for clarifying it!
    All working now 🙂

    cheers

  • 8 Votes
    12 Posts
    1k 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 😳

  • 1 Votes
    3 Posts
    494 Views
    noloN

    @PitaJ thank you! will give this a try 👍

  • 2 Votes
    6 Posts
    1k 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
    579 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.

  • 0 Votes
    5 Posts
    764 Views
    Dark ShyD

    @julian maybe you have something for hide something text? bcs it Снимок экрана (47).png
    doesnt work ,-,
    Снимок экрана (48).png

  • 1 Votes
    3 Posts
    682 Views
    dogsD

    @pitaj Thank you so much! That worked. 👍

  • 0 Votes
    5 Posts
    883 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 👍

  • 0 Votes
    3 Posts
    591 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

  • 0 Votes
    4 Posts
    722 Views
    PitaJP

    @pasib glad you found the issue

  • 1 Votes
    5 Posts
    697 Views
    G

    Help me pls )

  • 0 Votes
    5 Posts
    830 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
    663 Views
    magnusvhendinM

    Thanks @baris, I will have a look.

  • 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.

  • 0 Votes
    8 Posts
    4k Views
    P

    @insuusvenerati try running ./nodebb build and then start NodeBB