Skip to content

Using nodebb as a publishing destination, posting after git push?

General
5 2 1.6k 1
  • Bear with me, this is a bit of a perversion of forum software to use it more as a CMS.
    I want to create an active community. You need to write a lot for that to happen. I do write a lot, but my style is to create a highly connected graph of small thoughts (aka digital garden, aka zettelkasten).

    My ideal workflow is that I have lots of .md files which link to each other.

    I want to publish those to nodebb, as top post on a thread. @phenomlab you already use nodebb instead of a blog, after trying software that was custom-build for blogs (ghost) and not finding it better than nodebb posts! This is very similar, but I want to publish/update lots of posts at once.

    Ideal workflow: I have lots of md files on my local machine. I update them as I like. When I’m ready, I do a git push or similar, and all content appears/gets updated on nodebb.

    This is a perversion: using forum software as a CMS.

    My question is: is this doable? Worth doing? Would I bump into issues in the future if I do this?

  • Bear with me, this is a bit of a perversion of forum software to use it more as a CMS.
    I want to create an active community. You need to write a lot for that to happen. I do write a lot, but my style is to create a highly connected graph of small thoughts (aka digital garden, aka zettelkasten).

    My ideal workflow is that I have lots of .md files which link to each other.

    I want to publish those to nodebb, as top post on a thread. @phenomlab you already use nodebb instead of a blog, after trying software that was custom-build for blogs (ghost) and not finding it better than nodebb posts! This is very similar, but I want to publish/update lots of posts at once.

    Ideal workflow: I have lots of md files on my local machine. I update them as I like. When I’m ready, I do a git push or similar, and all content appears/gets updated on nodebb.

    This is a perversion: using forum software as a CMS.

    My question is: is this doable? Worth doing? Would I bump into issues in the future if I do this?

    @qwinter I wouldn’t use git push for this unless you are specifically looking for version control. I’d personally use the NodeBB API to do exactly this. I have some working code I can share to assist in this process. Essentially, you could just create your own RSS feed, and have NodeBB pull from that directly.

    The code requires some PHP and the SimplePie library - have a look at this

    https://sudonix.com/topic/170/creating-posts-from-rss-feeds-in-flarum

    Something similar I did when using Flarum. If you’d like an idea of how effective this can be, ask @JAC who I’ve written various customizations for over the years for sites that he’s run previously.

  • @qwinter I wouldn’t use git push for this unless you are specifically looking for version control. I’d personally use the NodeBB API to do exactly this. I have some working code I can share to assist in this process. Essentially, you could just create your own RSS feed, and have NodeBB pull from that directly.

    The code requires some PHP and the SimplePie library - have a look at this

    https://sudonix.com/topic/170/creating-posts-from-rss-feeds-in-flarum

    Something similar I did when using Flarum. If you’d like an idea of how effective this can be, ask @JAC who I’ve written various customizations for over the years for sites that he’s run previously.

    @phenomlab wow, no surprise you had thought of this. Yeah I want to keep versions but of course I can do that while still pushing things to an RSS feed.

    Will ask @JAC , thanks for the idea and potentially the scripts!

    Unrelated: I like this at the bottom of the post:

    Referenced by
    phenomlab phenomlab

    Which plugin is that?

  • @phenomlab wow, no surprise you had thought of this. Yeah I want to keep versions but of course I can do that while still pushing things to an RSS feed.

    Will ask @JAC , thanks for the idea and potentially the scripts!

    Unrelated: I like this at the bottom of the post:

    Referenced by
    phenomlab phenomlab

    Which plugin is that?

    @qwinter said in Using nodebb as a publishing destination, posting after git push?:

    Which plugin is that?

    It’s part of core 🙂

  • @qwinter this particular site uses the code I wrote if you want to see it in action. It’s a information and intelligence gatherer I designed for collecting various information security articles from around the globe and consolidating them in one place.

    Essentially, each “post” is in fact generated by the script, and the NodeBB API.

    https://hostrisk.com/


Related Topics
  • Planned sunset of NTFY plugin

    Pinned Announcements push nodebb ntfy
    7
    1
    8 Votes
    7 Posts
    2k Views
    I’ve noticed that I’m the only one subscribed to the push notifications on this site. If you were using NTFY previously, and have noticed that you’ve not had any alerts for a while, it’s because this feature has been disabled. You’ll now need to use the push notification to replace NTFY as mentioned in the first post.
  • Composer options on nodebb

    Solved Configure nodebb
    8
    1
    3 Votes
    8 Posts
    2k Views
    @Panda You should be able to expose the CSS for these using F12 to get into console [image: 1686833368846-3591518c-e3a3-4ada-a43c-6b32a5e0359c-image.png] [image: 1686833399483-a2b8ed46-4157-4ff2-85f0-576543380107-image.png] That should then expose the element once selected [image: 1686833431032-89d9c545-a47a-40d1-98f4-80cf3b958e8f-image.png] Here’s the below CSS you need based on the screenshot provided. .composer .formatting-bar .formatting-group li[data-format="picture-o"], .composer .formatting-bar .formatting-group li[data-format="spoiler"] { display: none; }
  • Issues with 2nd NodeBB installation

    Solved General
    22
    3 Votes
    22 Posts
    6k Views
    @cagatay yes, that will be fine. Just watch for potential caching conflicts as you will have two sites writing to the one instance of iframely.
  • Forum Icons NodeBB

    Solved Customisation icons forum nodebb
    13
    0 Votes
    13 Posts
    3k Views
    @cagatay That matches what I see [image: 1667218162107-4f0f858d-9812-42b1-9f61-ffb13d31dccd-image.png]
  • NodeBB v2.4.0

    Solved General nodebb version error
    3
    1
    2 Votes
    3 Posts
    1k Views
    @phenomlab As always…Thank you. Worked for me.
  • [NODEBB] Help for my custom CSS

    Solved Customisation nodebb css bugfix
    237
    49 Votes
    237 Posts
    107k Views
    @baris said: You should change your selectors so it doesn’t look at the entire document. You probably only want to apply fancybox to stuff inside the #content element which is what changes when the user navigates around the page. So use $('#content a').... for your selectors then the forum logo in the header won’t be selected. I modified the JS Fancybox code now and this code and it seem better // --------------------------------------------- // Fancybox Media Reader (Without Website Logo) // --------------------------------------------- if (top.location.pathname !== '/login') { $(window).on('action:posts.loaded', function(data) { console.log("Polling DOM for lazyLoaded images to apply Fancybox"); $(document).ready(function() { $('#content a').not('.forum-logo').not(".avatar").not(".emoji").not(".bmac-noanimate").each(function() { $('#content a[href*=".jpg"], #content a[href*=".jpeg"], #content a[href*=".png"], #content a[href*=".gif"], #content a[href*=".webp"]').addClass("noanimate"); }); }); }); } if (top.location.pathname !== '/login') { $(document).ready(function() { $(window).on('action:ajaxify.end', function(data) { $('#content a').not('.logo').not(".avatar").not(".emoji").not(".bmac-noanimate").each(function() { $('#content a[href*=".jpg"], #content a[href*=".jpeg"], #content a[href*=".png"], #content a[href*=".gif"], #content a[href*=".webp"]').addClass("noanimate"); data.preventDefault() // Strip out the images contained inside blockquotes as this looks nasty :) $('#content blockquote img').remove(); }); Fancybox.bind( '#content a[href*=".jpg"], #content a[href*=".jpeg"], #content a[href*=".png"], #content a[href*=".gif"], #content a[href*=".webp"]', { groupAll: true, } ); }); }); } // Chat fancybox - fires when chat module loaded and AJAX calls new chat $(document).ready(function() { $(window).on('action:chat.loaded', function(data) { // >>> Se limiter au contenu principal uniquement <<< $('#content img').not('.forum-logo').not(".avatar").not(".emoji").not(".bmac-noanimate").each(function() { var newHref = $(this).attr("src"); $(this).wrap("<a class='fancybox' href='" + newHref + "'/>"); $('#content a[href*=".jpg"], #content a[href*=".jpeg"], #content a[href*=".png"], #content a[href*=".gif"], #content a[href*=".webp"]').addClass("noanimate"); data.preventDefault(); // Strip out the images contained inside blockquotes as this looks nasty :) $('#content blockquote img').remove(); }); Fancybox.bind( '#content a[href*=".jpg"], #content a[href*=".jpeg"], #content a[href*=".png"], #content a[href*=".gif"], #content a[href*=".webp"]', { groupAll: true, } ); }); }); For the logo, I must use overflow: visible !important; on [component="brand/logo"] /* --- Logo --- */ [component="brand/logo"] { max-height: 50px; width: auto; height: auto; max-width: 100%; display: block; object-fit: contain; object-position: left center; overflow: visible !important; } Better result !!
  • Nodebb best plugins

    General nodebb plugins
    18
    7 Votes
    18 Posts
    4k Views
    @phenomlab thanks
  • What system did you first use?

    General computer printer learning
    12
    3
    3 Votes
    12 Posts
    3k Views
    @Sala impressive. That’s actually a lot harder than it looks. I once worked for a trading firm in the 90s and a trader came to me with a corrupted floppy disk demanding I get it to work. Evidently, it had all of his trading positions on it and he had no backup and he wasn’t impressed when I told him that the chances of data recovery were less than zero.