Skip to content

Threaded post support for NodeBB

Let's Build It
146 5 118.7k 1
  • wrote on last edited by phenomlab
    #1

    Based on the previous “threaded” capabilities Sudonix had in v2 of NodeBB, and despite me stating that it wouldn’t return… well - I’ve missed it! So much so, that I’ve completely redesigned and developed it.

    Those with eagle eyes might have noticed this toggle switch in the thread view - note that this will only trigger on desktops with a size of 1200px minimum for obvious screen estate reasons, so it won’t be available on mobile devices. I “could” make it available, but in my opinion, it would look horrible 🤢 (so I haven’t).

    So that does this “toggle switch” do?

    faa8375f-d823-44b0-9a3a-946a127f9ebb-image.png

    You’ll notice that to the left, you have a simple “bars” icon, and to the right, a “staggered bars” icon. This essentially means that if the toggle is off, the normal post view is presented -which looks a bit like this

    95922787-ecb2-48c0-a468-a22a06e71c7b-image.png

    Nothing new there you might say (apart from the timeline positioning perhaps…). Now toggle the switch…and you should see the “magic” happen

    d76fe017-2c01-4a63-a679-ca873e39f9d1-image.png

    You’ll (hopefully) notice that the post view becomes “threaded” in the sense that it takes the approach of whom is posting, and makes a decision to reposition those elements to give you a “threaded” view. This (well, I think so) significantly improves readibility on larger screens and makes the reading experience so much better on the eyes.

    Take a good long thread like the below to see it in full

    https://sudonix.org/topic/184/move-out-from-flarum-to-wordpress

    It’s hard to show you just how well this works without a video… So my advice is try it out for yourself 🙂

  • wrote on last edited by
    #2

    interesting.
    Can this code be adapted to the default view (without block per response)

  • interesting.
    Can this code be adapted to the default view (without block per response)

    wrote on last edited by
    #3

    @DownPW Not sure what you mean here - can you elaborate?

  • wrote on last edited by
    #4

    block like this :

    image.png

    And default view :

    image.png

  • block like this :

    image.png

    And default view :

    image.png

    wrote on last edited by
    #5

    @DownPW Something like this I think?

    b5104809-31c2-4548-86d5-0c0b6eceea85-image.png

    The answer is “yes”. I’m using custom styling on Sudonix, so the blocks won’t be seen by default - and that also means thaty the timeline needs to be moved also otherwise it looks terrible…

  • wrote on last edited by
    #6

    So, if you played around with the positioning a bit, and used psuedonym elements, you could get something a bit “reddit” like

    image.png

  • wrote on last edited by
    #7

    @DownPW better still…

    image.png

  • wrote on last edited by
    #8

    yes it’s good.
    I use default view for thread (not custom like you) so I don’t know what that would be like, I’ll have to try it to see.

  • yes it’s good.
    I use default view for thread (not custom like you) so I don’t know what that would be like, I’ll have to try it to see.

    wrote on last edited by
    #9

    @DownPW It might need some adaptions to work before I can release it based on the points you’ve raised. Leave it with me.

  • wrote on last edited by
    #10

    @DownPW developing against sudonix.dev currently so you have something to test. Almost done, but still needs some work.

  • wrote on last edited by phenomlab
    #11

    I’ll just leave this here 🙂

  • wrote on last edited by
    #12

    do you think it can be adapted for the stock default display of topics?

  • do you think it can be adapted for the stock default display of topics?

    wrote on last edited by
    #13

    @DownPW yes, but it’ll need a rewrite to be compatible with the stock NodeBB harmony theme. Sudonix makes a lot changes to the default layout so without those additional modifications, it’ll look odd.

  • wrote on last edited by DownPW
    #14

    ooh ok. I would have liked to apply it on my site too bad for me then 🙂

  • ooh ok. I would have liked to apply it on my site too bad for me then 🙂

    wrote on last edited by
    #15

    @DownPW not necessarily. I can still develop something for you to use as a base.

  • wrote on last edited by DownPW
    #16

    Oh really ?
    That would be super cool 🙂

    Have 2 versions maybe. One adapted to your personalized code and one adapted to Harmony (without customizing the appearance of topics (stock))

    I’m probably asking too much 🙂

  • Oh really ?
    That would be super cool 🙂

    Have 2 versions maybe. One adapted to your personalized code and one adapted to Harmony (without customizing the appearance of topics (stock))

    I’m probably asking too much 🙂

    wrote on last edited by
    #17

    @DownPW said in Threading support for NodeBB:

    I’m probably asking too much

    Nope. Not at all. I’m fact, developing one from stock Harmony is probably a better idea as it’ll work out of the box.

    Leave it with me.

  • wrote on last edited by
    #18

    I’ve set my DEV environment to vanilla and will develop a working solution for that.

  • wrote on last edited by phenomlab
    #19

    Hi All,

    Some very early (subject to the odd bug) code released in DEV. You will need an account there - let me know if you need a password reset

    https://sudonix.dev/topic/331/how-to-install-a-self-hosted-instance-of-iframely-for-use-with-nodebb

    This code is quite complex, and leverages some interesting CSS classes. The most important change is that it removes the stock timeline bar, and will replace it with it’s own. This is for a variety of reasons - mostly around cumulative layout shift and pseudo elements being used in the stock CSS.

  • wrote on last edited by
    #20

    I have tested but I don’t see switch on dev

    image.png


Related Topics
  • Please help me, I can't install nodebb

    Locked Solved Customisation nodebb
    7
    5 Votes
    7 Posts
    2k Views
    phenomlab
    Installation completed, verified, and tested. Correct installation methodology is below https://docs.nodebb.org/installing/os/ubuntu/
  • What plugins are being used here on Sudonix?

    Solved General nodebb plugins development
    6
    5 Votes
    6 Posts
    2k Views
    phenomlab
    @Roki-Antic Welcome! This site isn’t running Persona, but Harmony - a very heavily customised version at that. Do you have a URL where your site is currently located that is publicly accessible? Feel free to PM this info if you do not want to disclose here. Happy to help with any customisation needs.
  • Material View Support for Stock NodeBB

    Unsolved Let's Build It material view javascript css
    51
    4
    15 Votes
    51 Posts
    27k Views
    DownPW
    Oh yes, that’s what’s super cool, I learn something every day. Afterwards I start from so low in JS
  • Threaded chat support for NodeBB

    Let's Build It threaded chat code
    35
    1
    19 Votes
    35 Posts
    16k Views
    phenomlab
    @DownPW said in Threaded chat support for NodeBB: Better like this : add shadow and border-left on self answer Of course - you style to your own requirements and taste I’ll commit that CSS we discussed yesterday also
  • Custom html in nodebb to prevent cache

    Unsolved Configure nodebb
    18
    2 Votes
    18 Posts
    5k Views
    phenomlab
    @Panda You’ll need to do that with js. With some quick CSS changes, it looks like this [image: d619844f-fbfe-4cf1-a283-6b7364f6bf18-image.png] The colour choice is still really hard on the eye, but at least you can now read the text
  • Nodebb 3.2.0

    Bugs nodebb nodebb 3.2.0
    20
    1
    2 Votes
    20 Posts
    7k Views
    phenomlab
    @crazycells yes, I’m aware of that. Need to fix EDIT- fixed. Caused by the same CSS that is used to absolutely position the “verified” group badge in the posts view. Amended this CSS so that is specifically targets the post stream as below li[component="post"] a[href*="/groups/verified"] { position: absolute !important; left: 8px; z-index: 2; margin-top: 1px; border-radius: 999px !important; line-height: 14px; display: block; height: 22px; margin-left: 0px !important; }
  • build nodebb Warning in entrypoint size limit

    Solved Performance nodebb
    2
    0 Votes
    2 Posts
    1k Views
    phenomlab
    @eeeee they are nothing to worry about, and can be ignored.
  • Fresher in Nodebb install

    General nodebb
    24
    15 Votes
    24 Posts
    12k Views
    phenomlab
    @Hari I’ve been reading a lot about APO. Looks impressive.