nodebb.org/blog/index.html
Barış Soner Uşaklı 2d6c9c6934 how to install blog post
2025-04-13 21:17:46 -04:00

283 lines
19 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Blog - NodeBB - Modern Community Forum Software</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="description" content="Blog of NodeBB Forum Software - The Modern Discussion Platform">
<meta name="author" content="NodeBB Inc.">
<meta name="keywords" content="nodebb, node.js, forum, discussion, community, software, hosting, blog">
<link rel="apple-touch-icon" sizes="180x180" href="/images/icons/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/images/icons/32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/images/icons/16x16.png">
<link rel="shortcut icon" href="/images/icons/favicon.ico">
<!-- Google Fonts: Inter & Poppins -->
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&family=Poppins:wght@400;600&display=swap" rel="stylesheet">
<!-- Bootstrap 5 CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous">
<!-- Font Awesome -->
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css" rel="stylesheet" crossorigin="anonymous" referrerpolicy="no-referrer" />
<!-- our css-->
<link href="/css/style.css" rel="stylesheet">
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-V0P62EB8Q6"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-V0P62EB8Q6');
</script>
</head>
<body class="p-0 py-5 p-lg-5">
<!-- Navbar -->
<nav class="navbar navbar-expand-lg bg-body fixed-top shadow-sm">
<div class="container-lg">
<a class="navbar-brand py-2" href="/">
<img src="/images/brand/nodebb-logo.svg" style="height: 36px; width: auto;" alt="NodeBB Logo" />
</a>
<button class="navbar-toggler border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navbarMenu" aria-controls="navbarMenu" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse justify-content-end" id="navbarMenu">
<ul class="nav nav-underline gap-4 flex-column flex-lg-row align-items-end align-items-lg-center mt-4 mt-lg-0">
<li class="nav-item">
<a href="/" class="nav-link text-reset fw-semibold">HOME</a>
</li>
<li class="nav-item">
<a href="/product" class="nav-link text-reset fw-semibold">PRODUCT</a>
</li>
<li class="nav-item">
<a href="/pricing" class="nav-link text-reset fw-semibold">PRICING</a>
</li>
<li class="nav-item">
<a href="/services" class="nav-link text-reset fw-semibold">SERVICES</a>
</li>
<li class="nav-item dropdown">
<a href="#" target="_blank" role="button" data-bs-toggle="dropdown" aria-expanded="false" class="nav-link dropdown-toggle text-reset fw-semibold">RESOURCES</a>
<ul class="dropdown-menu dropdown-menu-end border-0 shadow p-1">
<li><a href="https://community.nodebb.org/" class="dropdown-item rounded-1" target="_blank">Community</a></li>
<li><a href="https://try.nodebb.org/" class="dropdown-item rounded-1" target="_blank">Demo Site</a></li>
<li><a href="https://community.nodebb.org/category/28/answers" class="dropdown-item rounded-1" target="_blank">Answers</a></li>
<li><a href="https://docs.nodebb.org/" class="dropdown-item rounded-1" target="_blank">Documentation</a></li>
<li><a href="/bounty" class="dropdown-item rounded-1">Bug Bounty</a></li>
</ul>
</li>
<li class="nav-item">
<a href="/contact" class="btn btn-warning rounded-pill">Contact Us</a>
</li>
<li class="nav-item">
<a href="https://manage.nodebb.org/register" class="btn btn-primary"><i class="fa-solid fa-rocket"></i> Start Free Trial</a>
</li>
</ul>
</div>
</div>
</nav>
<!-- Page Content -->
<div class="container-lg mt-5">
<!-- Home -->
<div id="home-tab-pane">
<div class="row pt-2 pt-lg-5">
<div class="col-12 d-flex flex-column gap-4">
<h1 class="display-1 fw-bold fs-1">
NodeBB Development Blog
</h1>
<h2 class="text-secondary fs-4">
Find out what the NodeBB development team is up to.
</h2>
</div>
</div>
<hr class="my-5"/>
<!-- blog posts -->
<div class="py-5 row row-cols-1 row-cols-lg-3 g-5">
<div>
<div class="card h-100 shadow-sm border-0">
<a href="https://nodebb.org/blog/nodebb-march-update-digest-new-features-security-fixes-and-more"><img style="height: 225px; object-fit: cover;" src="https://images.unsplash.com/photo-1516116412344-6663387e8590?q=80&w=1828&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D" class="card-img-top"></img></a>
<div class="card-body">
<a href="https://nodebb.org/blog/nodebb-march-update-digest-new-features-security-fixes-and-more" class="card-title fs-5 fw-semibold text-decoration-none">NodeBB March Update Digest: New Features, Security Fixes, and More</a>
<p class="card-text">In advance of the release of v3, we are releasing this migration guide in order to give third-party developers a chance to bring their plugins and themes up-to-date. In the...</p>
</div>
</div>
</div><div>
<div class="card h-100 shadow-sm border-0">
<a href="https://nodebb.org/blog/avatars-404-no-more/"><img style="height: 225px; object-fit: cover;" src="https://images.unsplash.com/photo-1501504905252-473c47e087f8?q=80&w=1974&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D" class="card-img-top"></img></a>
<div class="card-body">
<a href="https://nodebb.org/blog/avatars-404-no-more/" class="card-title fs-5 fw-semibold text-decoration-none">Graceful fallback for avatars (404 no more!)</a>
<p class="card-text">In the midst of our work hacking on v3 (and I mean that in the best possible light), we ran across an interesting problem with an even more interesting solution...</p>
</div>
</div>
</div><div>
<div class="card h-100 shadow-sm border-0">
<a href="https://nodebb.org/blog/migration-guide-for-v3"><img style="height: 225px; object-fit: cover;" src="https://images.unsplash.com/photo-1531403009284-440f080d1e12?q=80&w=1740&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D" class="card-img-top"></img></a>
<div class="card-body">
<a href="https://nodebb.org/blog/migration-guide-for-v3" class="card-title fs-5 fw-semibold text-decoration-none">Migration Guide for v3</a>
<p class="card-text">In advance of the release of v3, we are releasing this migration guide in order to give third-party developers a chance to bring their plugins and themes up-to-date. In the...</p>
</div>
</div>
</div><div>
<div class="card h-100 shadow-sm border-0">
<a href="https://nodebb.org/blog/bringing-back-better-bootswatch"><img style="height: 225px; object-fit: cover;" src="https://images.unsplash.com/photo-1618513462042-29ac20aefe11?q=80&w=1932&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D" class="card-img-top"></img></a>
<div class="card-body">
<a href="https://nodebb.org/blog/bringing-back-better-bootswatch" class="card-title fs-5 fw-semibold text-decoration-none">Bringing Back Better Bootswatch!</a>
<p class="card-text">This blog post is the second in a series of posts related to the release of NodeBB v3 Please see our other articles related to v3: Meet the Designer (Vlad...</p>
</div>
</div>
</div><div>
<div class="card h-100 shadow-sm border-0">
<a href="https://nodebb.org/blog/meet-vlad-gerasimov-product-designer"><img style="height: 225px; object-fit: cover;" src="https://images.unsplash.com/photo-1499750310107-5fef28a66643?q=80&w=1740&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D" class="card-img-top"></img></a>
<div class="card-body">
<a href="https://nodebb.org/blog/meet-vlad-gerasimov-product-designer" class="card-title fs-5 fw-semibold text-decoration-none">Meet the Designer (Vlad Gerasimov)</a>
<p class="card-text">In advance of the release of v2, we are releasing this migration guide in order to give third-party developers a chance to bring their plugins and themes up-to-date. In the...</p>
</div>
</div>
</div><div>
<div class="card h-100 shadow-sm border-0">
<a href="https://nodebb.org/blog/nodebb-specific-bootstrap-3-to-5-migration-guide"><img style="height: 225px; object-fit: cover;" src="https://images.unsplash.com/photo-1625297671662-f073f2a91528?q=80&w=1740&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D" class="card-img-top"></img></a>
<div class="card-body">
<a href="https://nodebb.org/blog/nodebb-specific-bootstrap-3-to-5-migration-guide" class="card-title fs-5 fw-semibold text-decoration-none">NodeBB Specific Bootstrap 3 to 5 Migration Guide</a>
<p class="card-text">A guide to help you migrate your NodeBB theme from Bootstrap 3 to Bootstrap 5.</p>
</div>
</div>
</div><div>
<div class="card h-100 shadow-sm border-0">
<a href="https://nodebb.org/blog/roadmap-retrospective-august-2022"><img style="height: 225px; object-fit: cover;" src="https://nodebb.org/blog/images/DALL·E-2022-08-29-21.47.32-A-nasa-space-shuttle-flying-towards-a-colourful-nebula-pixel-art.png" class="card-img-top"></img></a>
<div class="card-body">
<a href="https://nodebb.org/blog/roadmap-retrospective-august-2022" class="card-title fs-5 fw-semibold text-decoration-none">Roadmap Retro — August 2022</a>
<p class="card-text">As we hurtle our way through 2022, its always good to look introspectively and see how far weve gone, and how our goals have changed1. Earlier in the year, I...</p>
</div>
</div>
</div><div>
<div class="card h-100 shadow-sm border-0">
<a href="https://nodebb.org/blog/changes-to-our-release-branches"><img style="height: 225px; object-fit: cover;" src="https://images.unsplash.com/photo-1521675333836-36e707ac1d20?q=80&w=1740&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D" class="card-img-top"></img></a>
<div class="card-body">
<a href="https://nodebb.org/blog/changes-to-our-release-branches" class="card-title fs-5 fw-semibold text-decoration-none">Changes to our release branches</a>
<p class="card-text">What is a release branch? Whenever we make a NodeBB release, whether it be a patch release, minor release, or a major release, we also push the code to specific...</p>
</div>
</div>
</div><div>
<div class="card h-100 shadow-sm border-0">
<a href="https://nodebb.org/blog/plugin-compatibility-semver"><img style="height: 225px; object-fit: cover;" src="https://images.unsplash.com/photo-1591040092219-081fb773589c?q=80&w=1740&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D" class="card-img-top"></img></a>
<div class="card-body">
<a href="https://nodebb.org/blog/plugin-compatibility-semver" class="card-title fs-5 fw-semibold text-decoration-none">Plugin Compatibility and Semantic Versioning (semver)</a>
<p class="card-text">Over the years, NodeBB has amassed quite a collection of plugins, most of which were published to npm and listed in the “Manage Plugins” page in the admin control panel....</p>
</div>
</div>
</div><div>
<div class="card h-100 shadow-sm border-0">
<a href="https://nodebb.org/blog/nodebb-version-2-0"><img style="height: 225px; object-fit: cover;" src="https://nodebb.org/blog/images/office-move.jpg" class="card-img-top"></img></a>
<div class="card-body">
<a href="https://nodebb.org/blog/nodebb-version-2-0" class="card-title fs-5 fw-semibold text-decoration-none">NodeBB version 2.0 Moving on Up</a>
<p class="card-text">Its a big week at NodeBB. For one, we are moving from the office on King Street in Toronto where we have been for the last 5 years… okay yes,...</p>
</div>
</div>
</div><div>
<div class="card h-100 shadow-sm border-0">
<a href="https://nodebb.org/blog/migration-guide-for-v2"><img style="height: 225px; object-fit: cover;" src="https://images.unsplash.com/photo-1597484661643-2f5fef640dd1?q=80&w=1979&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D" class="card-img-top"></img></a>
<div class="card-body">
<a href="https://nodebb.org/blog/migration-guide-for-v2" class="card-title fs-5 fw-semibold text-decoration-none">Migration Guide for v2</a>
<p class="card-text">In advance of the release of v2, we are releasing this migration guide in order to give third-party developers a chance to bring their plugins and themes up-to-date. In the...</p>
</div>
</div>
</div><div>
<div class="card h-100 shadow-sm border-0">
<a href="https://nodebb.org/blog/roadmap-for-2022"><img style="height: 225px; object-fit: cover;" src="https://images.unsplash.com/photo-1486673748761-a8d18475c757?q=80&w=1740&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D" class="card-img-top"></img></a>
<div class="card-body">
<a href="https://nodebb.org/blog/roadmap-for-2022" class="card-title fs-5 fw-semibold text-decoration-none">Roadmap for 2022</a>
<p class="card-text">The last time we provided an update on our roadmap was in late February of 2020. Development has ebbed and flowed, but we've always tried to make time for contributing...</p>
</div>
</div>
</div><div>
<div class="card h-100 shadow-sm border-0">
<a href="https://nodebb.org/blog/why-we-moved-from-exciting_technology-to-boring_standard"><img style="height: 225px; object-fit: cover;" src="https://images.unsplash.com/photo-1562426772-f7b1d159764b?q=80&w=1740&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D" class="card-img-top"></img></a>
<div class="card-body">
<a href="https://nodebb.org/blog/why-we-moved-from-exciting_technology-to-boring_standard" class="card-title fs-5 fw-semibold text-decoration-none">Why we moved from $EXCITING_TECHNOLOGY to $BORING_STANDARD</a>
<p class="card-text">Introduction This article was inspired by the May 2020 blog post Why we at $FAMOUS_COMPANY Switched to $HYPED_TECHNOLOGY, but while that article is satire, this one is completely serious. This...</p>
</div>
</div>
</div><div>
<div class="card h-100 shadow-sm border-0">
<a href="https://nodebb.org/blog/controversial-increasing-transparency-downvote"><img style="height: 225px; object-fit: cover;" src="https://images.unsplash.com/photo-1591171400758-b2885b7a3183?q=80&w=1740&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D" class="card-img-top"></img></a>
<div class="card-body">
<a href="https://nodebb.org/blog/controversial-increasing-transparency-downvote" class="card-title fs-5 fw-semibold text-decoration-none">How controversial... increasing transparency of the downvote</a>
<p class="card-text">Starting in NodeBB v1.19.2, released today, you may notice there is a new account page available for each user — controversial posts. 👎 A counterpart to the “best posts” page,...</p>
</div>
</div>
</div><div>
<div class="card h-100 shadow-sm border-0">
<a href="https://nodebb.org/blog/tutorial-install-nodebb-on-digitalocean-ubuntu-20-04"><img style="height: 225px; object-fit: cover;" src="https://images.unsplash.com/photo-1630173210162-502ae270c8ad?q=80&w=1760&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D" class="card-img-top"></img></a>
<div class="card-body">
<a href="https://nodebb.org/blog/tutorial-install-nodebb-on-digitalocean-ubuntu-20-04" class="card-title fs-5 fw-semibold text-decoration-none">Tutorial: Install NodeBB on DigitalOcean/Ubuntu 20.04</a>
<p class="card-text">Interested in installing NodeBB? The good news is that NodeBB is free and open-source forum software, so anybody can install and set it up, even you! This tutorial will help...</p>
</div>
</div>
</div>
</div>
</div>
<hr class="my-5"/>
<!-- FOOTER -->
<footer>
<div class="d-flex flex-column flex-md-row gap-5 justify-content-between mb-5 flex-wrap">
<div class="d-flex flex-column">
<h5 class="fw-bold">Get Started</h5>
<ul class="list-unstyled">
<li><a href="/product" class="link-secondary text-decoration-none">PRODUCT</a></li>
<li><a href="/pricing" class="link-secondary text-decoration-none">PRICING</a></li>
<li><a href="/services" class="link-secondary text-decoration-none">SERVICES</a></li>
</ul>
</div>
<div class="d-flex flex-column">
<h5 class="fw-bold">Resources</h5>
<ul class="list-unstyled">
<li><a href="https://community.nodebb.org/" class="link-secondary text-decoration-none" target="_blank">COMMUNITY</a></li>
<li><a href="https://try.nodebb.org/" class="link-secondary text-decoration-none" target="_blank">DEMO SITE</a></li>
<li><a href="https://community.nodebb.org/category/28/answers" class="link-secondary text-decoration-none" target="_blank">ANSWERS</a></li>
<li><a href="https://docs.nodebb.org" class="link-secondary text-decoration-none" target="_blank">DOCUMENTATION</a></li>
<li><a href="/bounty" class="link-secondary text-decoration-none">BUG BOUNTY</a></li>
</ul>
</div>
<div class="d-flex flex-column">
<h5 class="fw-bold">Company</h5>
<ul class="list-unstyled">
<li><a href="/about" class="link-secondary text-decoration-none">ABOUT</a></li>
<li><a href="/blog" class="link-secondary text-decoration-none">BLOG</a></li>
<li><a href="/contact" class="link-secondary text-decoration-none">CONTACT</a></li>
</ul>
</div>
<div class="d-flex flex-column">
<a href="https://manage.nodebb.org/register" class="btn btn-primary"><i class="fa-solid fa-rocket"></i> Start Free Trial</a>
<div class="d-flex gap-3 mt-3 justify-content-between px-2">
<a title="NodeBB Github Page" href="https://github.com/nodebb/nodebb" class="link-secondary text-decoration-none"><i class="fab fa-github"></i></a>
<a title="NodeBB Twitter Page" href="https://twitter.com/nodebb" class="link-secondary text-decoration-none"><i class="fab fa-twitter"></i></a>
<a title="NodeBB Mastodon Page" href="https://fosstodon.org/@nodebb" class="link-secondary text-decoration-none"><i class="fa-brands fa-mastodon"></i></a>
<a title="NodeBB Facebook Page" href="https://www.facebook.com/NodeBB" class="link-secondary text-decoration-none"><i class="fab fa-facebook"></i></a>
</div>
</div>
</div>
<div class="d-flex flex-wrap justify-content-between gap-5 small">
<span class="text-secondary text-nowrap">©2025 NodeBB, Inc. — Made in Canada with <i class="fa-solid fa-heart text-danger"></i>.</span>
<div class="d-flex gap-3">
<a href="/tos" class="link-secondary text-nowrap text-decoration-none">Terms of Service</a>
<a href="/privacy" class="link-secondary text-nowrap text-decoration-none">Privacy Policy</a>
<a href="/gdpr" class="link-secondary text-nowrap text-decoration-none">GDPR</a>
<a href="/dmca" class="link-secondary text-nowrap text-decoration-none">DMCA</a>
</div>
</div>
</footer>
</div>
<!-- Bootstrap 5 JS Bundle (includes Popper) -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" crossorigin="anonymous"></script>
</body>
</html>