Host Nodebb Free

General Discussion

Suggested Topics


  • 1 Votes
    5 Posts
    848 Views

    @Fiiily
    Autommatic, Wordpress developers have done this because their main service wordpress.com uses the same feature. Today this feature is very popular if you are doing something more than a personal blog about cats. Nodebb has a ton of examples of how other forum services (like Reddit) were made. Maybe it will be their way too. In any case, I hope that someone will make a plugin that allows you to use one file base and easily manage many forums from one place.

  • 1 Votes
    1 Posts
    1k Views

    This is a simple widget tutorial to turn a topic into a twitter timeline. The end result will look like this.

    0_1510068225857_81b76a4a-720a-47d4-b7b0-b9e671e52dd8-image.png

    First create a topic that will be the home of the twitter widget and record its topic id.

    Now go to /admin/extend/widgets and place a html widget on topic.tpl/header. The standard twitter timeline widget code only works on cold loads so we have to modify it for NodeBB. You can generate the twitter widget at https://twitter.com/settings/widgets, after you copy that code you have to replace the <script> block with the one provided below.

    <script> !function(d,s,id){ var js,p=/^http:/.test(d.location)?'http':'https'; var el = d.getElementById(id); if (el) { el.parentNode.removeChild(el); } if (!d.getElementById(id)) { js = d.createElement(s); js.id = id; js.src = p + "://platform.twitter.com/widgets.js"; var fjs = d.getElementsByTagName(s)[0]; fjs.parentNode.insertBefore(js,fjs); } }(document,"script","twitter-wjs"); </script>

    Here is the full widget code for NodeBB's twitter timeline. You can copy paste it into your HTML widget and replace every <topic_id> with your own topic id.

    <style> .page-topic-<topic_id> .topic { display: none; } .page-topic .twitter-timeline { display: none !important; width: 100% !important; height: 800px !important; } .page-topic-<topic_id> .twitter-timeline { display: block !important; } </style> <a class="twitter-timeline" href="https://twitter.com/NodeBB" data-widget-id="433016924318883841">Tweets by @NodeBB</a> <script> !function(d,s,id){ var js,p=/^http:/.test(d.location)?'http':'https'; var el = d.getElementById(id); if (el) { el.parentNode.removeChild(el); } if (!d.getElementById(id)) { js = d.createElement(s); js.id = id; js.src = p + "://platform.twitter.com/widgets.js"; var fjs = d.getElementsByTagName(s)[0]; fjs.parentNode.insertBefore(js,fjs); } }(document,"script","twitter-wjs"); </script>

    Once you have the widget, you can customize it with data attributes, for more info you can read https://dev.twitter.com/web/embedded-timelines

  • 3 Votes
    2 Posts
    967 Views

    Nice @enriquec ! Awesome to see cloud providers step up and support apps like ours.

    Back in the day when WordPress came out, php wasn't supported on web hosts, and they were instrumental in making it the norm. Let's hope we can do our part to make Node apps first-class citizens on web hosts too 😄

  • 0 Votes
    21 Posts
    12k Views

    @lenovouser Your method works fine for me over https. Thanks for your persistence.

    edit: I just had to add in these two lines for socket.io to work.
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";

  • 0 Votes
    6 Posts
    3k Views