Number of topics in main screen

Technical Support
  • I'm trying to set the number of topics shown in the main screen for a specific category. I had the idea that going to admin > manage > categories > specific_category > edit > # of Recent Replies would set this, but now I'm clueless.

    I'm using Lavander theme on top of NodeBB v1.2.1.


Suggested Topics


  • 2 Votes
    5 Posts
    486 Views

    @antosik
    thanks for your help! This is exactly what I was looking for!

  • 1 Votes
    10 Posts
    857 Views

    @dunlix Thank you

  • 2 Votes
    5 Posts
    2k Views

    @MJ My solution. For demo you can look at my forum (russian language)

    WARNING!!! It is dirty solution (change source code may cause problem with updating in future, you must know how to solve it) and I am not recommend use it, if you didn't understand what you do. Solution without localization, use it only if your forum use only one language (or change code and use number month)

    1. Set cutoff settings for timeago library

    Open acp > custom HTML&CSS > Custom Header and add this:

    <script type="text/javascript"> jQuery(document).ready(function() { jQuery.timeago.settings.cutoff = 2419200000; }); </script>

    In this example I set 28 days for relative date (1000 * 60 * 60 * 24 * 28 = 2419200000), you can change it.

    Didn't forget turn on checkbutton "Enable Custom Header" and save changes. After this, all dates older 28 days become unvisible.

    2 Change timeago library

    Onen file public/vendor/jquery/timeago and this code:

    if (!isNaN(data.datetime)) { if ( $s.cutoff == 0 || Math.abs(distance(data.datetime)) < $s.cutoff) { $(this).text(inWords(data.datetime)); } }

    replace to this:

    if (!isNaN(data.datetime)) { if ( $s.cutoff === 0 || Math.abs(distance(data.datetime)) < $s.cutoff) { $(this).text(inWords(data.datetime)); } else { var monthNames = [ "Jan", "Feb", "Mar", "Apr", "May", "June", "July", "Aug", "Sept", "Oct", "Nov", "Dec" ]; var day = data.datetime.getDate() var year = data.datetime.getFullYear(); var monthIndex = data.datetime.getMonth(); var hours = ("0" + data.datetime.getHours()).slice(-2); var minutes = ("0" + data.datetime.getMinutes()).slice(-2); $(this).text(day + ' ' + monthNames[monthIndex] + ' ' + year + ' ' + hours + ':' + minutes); } } 3. Restart forum

    All must work fine

    Revert changes back

    If you need revert changes, you can do it with command

    git checkout /public/vendor/jquery/timeago/jquery.timeago.js

    And remove added text from acp > custom HTML&CSS > Custom Header

  • 0 Votes
    6 Posts
    2k Views

    Can you merge into 0.7.x?

  • 0 Votes
    1 Posts
    1k Views

    Does anyone know how I'd go about doing this on the home page in the category list? I'm not much of a fan of the recent posts.

    I've tried using <!-- IF @first --> to get the last updated post/topic but it still shows them all.

    Thanks, Ben.

    Edit, the following code shows first for each post, meaning @first isn't working for some reason (Opened up an issue😞

    <!-- BEGIN posts --> <!-- IF @first --> first <!-- ENDIF @first --> <!-- END posts -->