feat(blog): add file-based blog with dynamic slugs, MDX content and layout shell

- Introduced blog routing using Next.js App Router
- Implemented dynamic [slug] pages for blog posts
- Added MDX-based content loading via lib/posts
- Integrated shared TopBar layout with navigation
- Established clear content, lib and component separation
This commit is contained in:
PascalSchattenburg
2026-01-22 14:14:15 +01:00
parent b717952234
commit d147843c76
10412 changed files with 2475583 additions and 0 deletions

View File

@@ -0,0 +1,13 @@
var R=require("../../../../chunks/ssr/[turbopack]_runtime.js")("server/app/(site)/blog/[slug]/page.js")
R.c("server/chunks/ssr/node_modules_e94c91d1._.js")
R.c("server/chunks/ssr/[root-of-the-server]__55620567._.js")
R.c("server/chunks/ssr/node_modules_next_dist_7381059c._.js")
R.c("server/chunks/ssr/[externals]__7f148858._.js")
R.c("server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_ece394eb.js")
R.c("server/chunks/ssr/node_modules_next_dist_client_components_9774470f._.js")
R.c("server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_45780354.js")
R.c("server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_15817684.js")
R.c("server/chunks/ssr/_9cda0e57._.js")
R.c("server/chunks/ssr/_next-internal_server_app_(site)_blog_[slug]_page_actions_b1c0e1b0.js")
R.m("[project]/node_modules/next/dist/esm/build/templates/app-page.js?page=/(site)/blog/[slug]/page { GLOBAL_ERROR_MODULE => \"[project]/node_modules/next/dist/client/components/builtin/global-error.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_0 => \"[project]/node_modules/next/dist/client/components/builtin/not-found.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_1 => \"[project]/node_modules/next/dist/client/components/builtin/forbidden.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_2 => \"[project]/node_modules/next/dist/client/components/builtin/unauthorized.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_3 => \"[project]/node_modules/next/dist/client/components/builtin/global-error.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_4 => \"[project]/app/(site)/layout.tsx [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_5 => \"[project]/node_modules/next/dist/client/components/builtin/not-found.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_6 => \"[project]/node_modules/next/dist/client/components/builtin/forbidden.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_7 => \"[project]/node_modules/next/dist/client/components/builtin/unauthorized.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_8 => \"[project]/app/(site)/blog/[slug]/page.tsx [app-rsc] (ecmascript, Next.js Server Component)\" } [app-rsc] (ecmascript)")
module.exports=R.m("[project]/node_modules/next/dist/esm/build/templates/app-page.js?page=/(site)/blog/[slug]/page { GLOBAL_ERROR_MODULE => \"[project]/node_modules/next/dist/client/components/builtin/global-error.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_0 => \"[project]/node_modules/next/dist/client/components/builtin/not-found.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_1 => \"[project]/node_modules/next/dist/client/components/builtin/forbidden.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_2 => \"[project]/node_modules/next/dist/client/components/builtin/unauthorized.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_3 => \"[project]/node_modules/next/dist/client/components/builtin/global-error.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_4 => \"[project]/app/(site)/layout.tsx [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_5 => \"[project]/node_modules/next/dist/client/components/builtin/not-found.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_6 => \"[project]/node_modules/next/dist/client/components/builtin/forbidden.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_7 => \"[project]/node_modules/next/dist/client/components/builtin/unauthorized.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_8 => \"[project]/app/(site)/blog/[slug]/page.tsx [app-rsc] (ecmascript, Next.js Server Component)\" } [app-rsc] (ecmascript)").exports

View File

@@ -0,0 +1,5 @@
{
"version": 3,
"sources": [],
"sections": []
}

View File

@@ -0,0 +1,3 @@
{
"/(site)/blog/[slug]/page": "app/(site)/blog/[slug]/page.js"
}

View File

@@ -0,0 +1,22 @@
{
"devFiles": [],
"ampDevFiles": [],
"polyfillFiles": [
"static/chunks/node_modules_next_dist_build_polyfills_polyfill-nomodule.js"
],
"lowPriorityFiles": [],
"rootMainFiles": [
"static/chunks/[turbopack]_browser_dev_hmr-client_hmr-client_ts_956a0d3a._.js",
"static/chunks/node_modules_next_dist_compiled_react-dom_1e674e59._.js",
"static/chunks/node_modules_next_dist_compiled_react-server-dom-turbopack_9212ccad._.js",
"static/chunks/node_modules_next_dist_compiled_next-devtools_index_1dd7fb59.js",
"static/chunks/node_modules_next_dist_compiled_a0e4c7b4._.js",
"static/chunks/node_modules_next_dist_client_17643121._.js",
"static/chunks/node_modules_next_dist_f3530cac._.js",
"static/chunks/node_modules_@swc_helpers_cjs_d80fb378._.js",
"static/chunks/_a0ff3932._.js",
"static/chunks/turbopack-_23a915ee._.js"
],
"pages": {},
"ampFirstPages": []
}

View File

@@ -0,0 +1,6 @@
{
"pages": {},
"app": {},
"appUsingSizeAdjust": false,
"pagesUsingSizeAdjust": false
}

View File

@@ -0,0 +1,4 @@
{
"node": {},
"edge": {}
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,13 @@
var R=require("../../../chunks/ssr/[turbopack]_runtime.js")("server/app/(site)/blog/page.js")
R.c("server/chunks/ssr/node_modules_cf9bf5e8._.js")
R.c("server/chunks/ssr/[root-of-the-server]__fcb83e22._.js")
R.c("server/chunks/ssr/node_modules_next_dist_7381059c._.js")
R.c("server/chunks/ssr/[externals]__7f148858._.js")
R.c("server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_ece394eb.js")
R.c("server/chunks/ssr/node_modules_next_dist_client_components_9774470f._.js")
R.c("server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_45780354.js")
R.c("server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_15817684.js")
R.c("server/chunks/ssr/_9cda0e57._.js")
R.c("server/chunks/ssr/_next-internal_server_app_(site)_blog_page_actions_af0b9c97.js")
R.m("[project]/node_modules/next/dist/esm/build/templates/app-page.js?page=/(site)/blog/page { GLOBAL_ERROR_MODULE => \"[project]/node_modules/next/dist/client/components/builtin/global-error.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_0 => \"[project]/node_modules/next/dist/client/components/builtin/not-found.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_1 => \"[project]/node_modules/next/dist/client/components/builtin/forbidden.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_2 => \"[project]/node_modules/next/dist/client/components/builtin/unauthorized.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_3 => \"[project]/node_modules/next/dist/client/components/builtin/global-error.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_4 => \"[project]/app/(site)/layout.tsx [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_5 => \"[project]/node_modules/next/dist/client/components/builtin/not-found.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_6 => \"[project]/node_modules/next/dist/client/components/builtin/forbidden.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_7 => \"[project]/node_modules/next/dist/client/components/builtin/unauthorized.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_8 => \"[project]/app/(site)/blog/page.tsx [app-rsc] (ecmascript, Next.js Server Component)\" } [app-rsc] (ecmascript)")
module.exports=R.m("[project]/node_modules/next/dist/esm/build/templates/app-page.js?page=/(site)/blog/page { GLOBAL_ERROR_MODULE => \"[project]/node_modules/next/dist/client/components/builtin/global-error.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_0 => \"[project]/node_modules/next/dist/client/components/builtin/not-found.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_1 => \"[project]/node_modules/next/dist/client/components/builtin/forbidden.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_2 => \"[project]/node_modules/next/dist/client/components/builtin/unauthorized.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_3 => \"[project]/node_modules/next/dist/client/components/builtin/global-error.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_4 => \"[project]/app/(site)/layout.tsx [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_5 => \"[project]/node_modules/next/dist/client/components/builtin/not-found.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_6 => \"[project]/node_modules/next/dist/client/components/builtin/forbidden.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_7 => \"[project]/node_modules/next/dist/client/components/builtin/unauthorized.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_8 => \"[project]/app/(site)/blog/page.tsx [app-rsc] (ecmascript, Next.js Server Component)\" } [app-rsc] (ecmascript)").exports

View File

@@ -0,0 +1,5 @@
{
"version": 3,
"sources": [],
"sections": []
}

View File

@@ -0,0 +1,3 @@
{
"/(site)/blog/page": "app/(site)/blog/page.js"
}

View File

@@ -0,0 +1,22 @@
{
"devFiles": [],
"ampDevFiles": [],
"polyfillFiles": [
"static/chunks/node_modules_next_dist_build_polyfills_polyfill-nomodule.js"
],
"lowPriorityFiles": [],
"rootMainFiles": [
"static/chunks/[turbopack]_browser_dev_hmr-client_hmr-client_ts_956a0d3a._.js",
"static/chunks/node_modules_next_dist_compiled_react-dom_1e674e59._.js",
"static/chunks/node_modules_next_dist_compiled_react-server-dom-turbopack_9212ccad._.js",
"static/chunks/node_modules_next_dist_compiled_next-devtools_index_1dd7fb59.js",
"static/chunks/node_modules_next_dist_compiled_a0e4c7b4._.js",
"static/chunks/node_modules_next_dist_client_17643121._.js",
"static/chunks/node_modules_next_dist_f3530cac._.js",
"static/chunks/node_modules_@swc_helpers_cjs_d80fb378._.js",
"static/chunks/_a0ff3932._.js",
"static/chunks/turbopack-_23a915ee._.js"
],
"pages": {},
"ampFirstPages": []
}

View File

@@ -0,0 +1,6 @@
{
"pages": {},
"app": {},
"appUsingSizeAdjust": false,
"pagesUsingSizeAdjust": false
}

View File

@@ -0,0 +1,4 @@
{
"node": {},
"edge": {}
}

File diff suppressed because one or more lines are too long