diff --git a/_includes/blog/authors.html b/_includes/blog/authors.html
new file mode 100644
index 00000000..5efdfd23
--- /dev/null
+++ b/_includes/blog/authors.html
@@ -0,0 +1,21 @@
+{%- assign authors = include.authors -%}
+{% if authors %}
+
+ By
+ {% for author in authors %}
+
+ {%- assign label = author.github | prepend: '@' -%}
+ {%- if author.name -%}
+ {%- assign label = author.name -%}
+ {%- endif -%}
+
+ {% if label and author.github %}
+
+
+ {{label}}{% unless forloop.last %}, {% endunless %}
+ {% elsif label %}
+ {{label}}{% unless forloop.last %}, {% endunless %}
+ {% endif %}
+ {% endfor %}
+
+{% endif %}
diff --git a/_includes/feed-entry.xml b/_includes/feed-entry.xml
index d9547279..00af8b93 100644
--- a/_includes/feed-entry.xml
+++ b/_includes/feed-entry.xml
@@ -3,11 +3,18 @@
- {% if page.author %}
-
By {{page.author}}
- {% endif %}
+ {% include blog/authors.html authors=page.authors %}
{{page.date| date: "%d %b %Y" }}
{{ content }}
diff --git a/_posts/2024-07-16-welcome-post.md b/_posts/2024-07-16-welcome-post.md
index bbbb66d5..52fc60a2 100644
--- a/_posts/2024-07-16-welcome-post.md
+++ b/_posts/2024-07-16-welcome-post.md
@@ -2,7 +2,11 @@
title: Welcome to The Express Blog!
description: Introducing the new Express blog — a primary platform for announcements, updates, and communication from the Express technical committee.
tags: site-admin
-author: Rand McKinney and Chris Del
+authors:
+ - name: Rand McKinney
+ github: crandmck
+ - name: Chris Del
+ github: chrisdel101
---
Welcome to the new Express blog! The blog is meant to be a primary means of communication for the Express technical committee (TC). While we currently have other channels such as X, LinkedIn, and of course GitHub, there's no authoritative "soapbox" for announcements and general communication.
diff --git a/_posts/2024-09-29-security-releases.md b/_posts/2024-09-29-security-releases.md
index bff156d6..658fe345 100644
--- a/_posts/2024-09-29-security-releases.md
+++ b/_posts/2024-09-29-security-releases.md
@@ -2,7 +2,9 @@
title: September 2024 Security Releases
description: Security releases for Express, body-parser, send, serve-static, and path-to-regexp have been published. We recommend that all users upgrade as soon as possible.
tags: security vulnerabilities
-author: Ulises Gascón
+authors:
+ - name: Ulises Gascón
+ github: UlisesGascon
---
Recently, the Express team has been made aware of a number of security vulnerabilities in the Express project. We have released a number of patches to address these vulnerabilities.
diff --git a/_posts/2024-10-01-HeroDevs-partnership-announcement.md b/_posts/2024-10-01-HeroDevs-partnership-announcement.md
index 3f053e6e..9ae9dac7 100644
--- a/_posts/2024-10-01-HeroDevs-partnership-announcement.md
+++ b/_posts/2024-10-01-HeroDevs-partnership-announcement.md
@@ -2,7 +2,9 @@
title: Express Never Ending Support Launched by HeroDevs and Express.js
description: The Express.js team is pleased to announce a partnership with HeroDevs to launch Express Never-Ending Support (NES), providing long-term support for applications built with legacy Express. This collaboration ensures that developers relying on older versions of the framework will continue to receive critical security and compatibility updates, allowing them to maintain and scale their applications securely, even after the framework's official end-of-life.
tags: partnerships announcements
-author: Express Technical Committee
+authors:
+ - name: Express Technical Committee
+ github: expressjs
---
The Express.js team is pleased to announce a partnership with HeroDevs to launch [Express Never-Ending Support (NES)](https://www.herodevs.com/support/express-nes), providing long-term support for applications built with legacy Express. This collaboration ensures that developers relying on older versions of the framework will continue to receive critical security and compatibility updates, allowing them to maintain and scale their applications securely, even after the framework's official end-of-life.
diff --git a/_posts/2024-10-15-v5-release.md b/_posts/2024-10-15-v5-release.md
index ebb9fcca..3e33233d 100644
--- a/_posts/2024-10-15-v5-release.md
+++ b/_posts/2024-10-15-v5-release.md
@@ -1,7 +1,11 @@
---
title: "Introducing Express v5: A New Era for the Node.js Framework"
tags: releases
-author: Wes Todd and the Express Technical Committee
+authors:
+ - name: Wes Todd
+ github: wesleytodd
+ - name: Express Technical Committee
+ github: expressjs
description: Announcing the release of Express version 5
---
diff --git a/_posts/2024-10-22-security-audit-milestone-achievement.md b/_posts/2024-10-22-security-audit-milestone-achievement.md
index 66677917..bf8bee0f 100644
--- a/_posts/2024-10-22-security-audit-milestone-achievement.md
+++ b/_posts/2024-10-22-security-audit-milestone-achievement.md
@@ -1,7 +1,9 @@
---
title: "Express.js Security Audit: A Milestone Achievement"
tags: security audit releases
-author: Express Technical Committee
+authors:
+ - name: Express Technical Committee
+ github: expressjs
description: Celebrating the successful completion of the Express.js security audit conducted by Ada Logics and facilitated by OSTIF.
---
diff --git a/_posts/2025-01-09-rewind-2024-triumphs-and-2025-vision.md b/_posts/2025-01-09-rewind-2024-triumphs-and-2025-vision.md
index 72024ef9..cc2a734b 100644
--- a/_posts/2025-01-09-rewind-2024-triumphs-and-2025-vision.md
+++ b/_posts/2025-01-09-rewind-2024-triumphs-and-2025-vision.md
@@ -1,7 +1,9 @@
---
title: "A New Chapter for Express.js: Triumphs of 2024 and an ambitious 2025"
tags: news rewind 2024
-author: Express Technical Committee
+authors:
+ - name: Express Technical Committee
+ github: expressjs
description: Explore the transformative journey of Express.js in 2024, marked by governance improvements, the long-awaited release of Express 5.0, and heightened security measures. Look into the ambitious plans for 2025, including performance optimizations, scoped packages, and a bold roadmap for sustained growth in the Node.js ecosystem.
---
diff --git a/_posts/2025-03-31-v5-1-latest-release.md b/_posts/2025-03-31-v5-1-latest-release.md
index ce631d3d..9a1ee879 100644
--- a/_posts/2025-03-31-v5-1-latest-release.md
+++ b/_posts/2025-03-31-v5-1-latest-release.md
@@ -1,7 +1,9 @@
---
title: "Express@5.1.0: Now the Default on npm with LTS Timeline"
tags: news release
-author: Express Technical Committee
+authors:
+ - name: Express Technical Committee
+ github: expressjs
description: Express 5.1.0 is now the default on npm, and we're introducing an official LTS schedule for the v4 and v5 release lines.
---
diff --git a/_posts/2025-05-16-express-cleanup-legacy-packages.md b/_posts/2025-05-16-express-cleanup-legacy-packages.md
index a9cd2ad3..eee24e3b 100644
--- a/_posts/2025-05-16-express-cleanup-legacy-packages.md
+++ b/_posts/2025-05-16-express-cleanup-legacy-packages.md
@@ -1,7 +1,9 @@
---
title: "Spring Cleaning in Express.js: Deprecations and the Path Ahead"
tags: news
-author: Express Technical Committee
+authors:
+ - name: Express Technical Committee
+ github: expressjs
description: As part of a broader effort to modernize and streamline Express.js, we’ve deprecated several outdated packages including csurf, connect-multiparty, and path-match. Learn why we made these changes and what it means for the future of the framework.
---
diff --git a/_posts/2025-05-19-security-releases.md b/_posts/2025-05-19-security-releases.md
index a81f0da1..bfab761a 100644
--- a/_posts/2025-05-19-security-releases.md
+++ b/_posts/2025-05-19-security-releases.md
@@ -2,7 +2,9 @@
title: May 2025 Security Releases
description: Security release for Multer has been published. We recommend that all users upgrade as soon as possible.
tags: security vulnerabilities
-author: Ulises Gascón
+authors:
+ - name: Ulises Gascón
+ github: UlisesGascon
---
The Express team has released a new major version of [Multer](https://www.npmjs.com/package/multer) addressing two high-severity security vulnerabilities. This update improves the reliability and security of handling file uploads in Express applications.
diff --git a/css/style.css b/css/style.css
index d44d957d..d0bc0d25 100644
--- a/css/style.css
+++ b/css/style.css
@@ -1487,9 +1487,24 @@ h2 a {
max-width: 100%;
margin: auto;
}
-.blog-author {
+.blog-authors {
font-style: italic;
}
+.blog-author-link {
+ color: inherit;
+ margin-left: 0.5ch;
+ text-decoration: none;
+}
+.blog-author-link-label {
+ text-decoration: underline;
+}
+.blog-author-avatar {
+ border-radius: 50%;
+ display: inline-block;
+ vertical-align: middle;
+ width: 1.5em;
+ height: 1.5em;
+}
.blog-date {
font-weight: bold;
font-size: 85%;
diff --git a/en/blog/posts.md b/en/blog/posts.md
index d49e1298..9375e394 100644
--- a/en/blog/posts.md
+++ b/en/blog/posts.md
@@ -17,7 +17,7 @@ Want to write a post? See the submission [guidelines.](/en/blog/write-post.html)
-
By {{ post.author }}
+ {% include blog/authors.html authors=post.authors %}
{{ post.date | date:"%b %d, %Y" }}