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,28 @@
import type { RequestData, FetchEventResult } from './types';
import type { RequestInit } from './spec-extension/request';
import { NextFetchEvent } from './spec-extension/fetch-event';
import { NextRequest } from './spec-extension/request';
export declare class NextRequestHint extends NextRequest {
sourcePage: string;
fetchMetrics: FetchEventResult['fetchMetrics'] | undefined;
constructor(params: {
init: RequestInit;
input: Request | string;
page: string;
});
get request(): void;
respondWith(): void;
waitUntil(): void;
}
export type AdapterOptions = {
handler: (req: NextRequestHint, event: NextFetchEvent) => Promise<Response>;
page: string;
request: RequestData;
IncrementalCache?: typeof import('../lib/incremental-cache').IncrementalCache;
incrementalCacheHandler?: typeof import('../lib/incremental-cache').CacheHandler;
bypassNextUrl?: boolean;
};
export type EdgeHandler = (opts: {
request: AdapterOptions['request'];
}) => Promise<FetchEventResult>;
export declare function adapter(params: AdapterOptions): Promise<FetchEventResult>;