nodebb.org/blog/index.html
2025-04-13 19:04:51 -04:00

227 lines
14 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 active 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;" 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;" 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;" 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;" 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;" 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;" 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/migration-guide-for-v2"><img style="height: 225px;" 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-retrospective-august-2022"><img style="height: 225px;" 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>
<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>