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,18 @@
import type { WorkAsyncStorage } from '../app-render/work-async-storage.external';
import { type WorkUnitAsyncStorage } from '../app-render/work-unit-async-storage.external';
type Fetcher = typeof fetch;
type PatchedFetcher = Fetcher & {
readonly __nextPatched: true;
readonly __nextGetStaticStore: () => WorkAsyncStorage;
readonly _nextOriginalFetch: Fetcher;
};
export declare const NEXT_PATCH_SYMBOL: unique symbol;
export declare function validateRevalidate(revalidateVal: unknown, route: string): undefined | number;
export declare function validateTags(tags: any[], description: string): string[];
interface PatchableModule {
workAsyncStorage: WorkAsyncStorage;
workUnitAsyncStorage: WorkUnitAsyncStorage;
}
export declare function createPatchedFetcher(originFetch: Fetcher, { workAsyncStorage, workUnitAsyncStorage }: PatchableModule): PatchedFetcher;
export declare function patchFetch(options: PatchableModule): void;
export {};