diff --git a/_includes/header.11ty.js b/_includes/header.11ty.js
new file mode 100644
index 00000000000..41c2ca14207
--- /dev/null
+++ b/_includes/header.11ty.js
@@ -0,0 +1,29 @@
+const metadata = require("../_data/metadata.js");
+
+module.exports = function(data) {
+ // Determine if this is the current page for navigation highlighting
+ const isHome = data.page.url === "/" || data.page.fileSlug === "index";
+ const isRecent = data.page.url.startsWith("/recent");
+ const isPopular = data.page.url.startsWith("/popular");
+
+ return `
+
+ `;
+};
diff --git a/_includes/layout.11ty.js b/_includes/layout.11ty.js
index 0698b9cfa5a..6a7c956f212 100644
--- a/_includes/layout.11ty.js
+++ b/_includes/layout.11ty.js
@@ -1,5 +1,6 @@
const dataSource = require("../src/DataSource");
const metadata = require("../_data/metadata.js");
+const header = require("./header.11ty.js");
module.exports = async function(data) {
let titleTweetNumberStr = "";
@@ -38,6 +39,9 @@ module.exports = async function(data) {
// Check if this is the index page and should use sidebar layout
const isIndexPage = data.page.url === "/" || data.page.fileSlug === "index.11ty" || data.page.fileSlug === "index";
+
+ // Generate the consistent header
+ const headerHtml = header.call(this, data);
if (isIndexPage) {
// Sidebar layout for index page
@@ -55,16 +59,19 @@ module.exports = async function(data) {
-
-
-
- ${data.content}
-
-
+ ${headerHtml}
+
+
+
+
+ ${data.content}
+
+
+