mirror of
https://hk.gh-proxy.com/https://github.com/NodeBB/nodebb.org.git
synced 2025-10-03 08:43:39 +08:00
283 lines
19 KiB
HTML
283 lines
19 KiB
HTML
<!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, it’s always good to look introspectively and see how far we’ve 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">It’s 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>
|