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:
38
apps/public-web/node_modules/next/dist/esm/lib/find-pages-dir.js
generated
vendored
Normal file
38
apps/public-web/node_modules/next/dist/esm/lib/find-pages-dir.js
generated
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
import fs from 'fs';
|
||||
import path from 'path';
|
||||
export function findDir(dir, name) {
|
||||
// prioritize ./${name} over ./src/${name}
|
||||
let curDir = path.join(dir, name);
|
||||
if (fs.existsSync(curDir)) return curDir;
|
||||
curDir = path.join(dir, 'src', name);
|
||||
if (fs.existsSync(curDir)) return curDir;
|
||||
return null;
|
||||
}
|
||||
export function findPagesDir(dir) {
|
||||
const pagesDir = findDir(dir, 'pages') || undefined;
|
||||
const appDir = findDir(dir, 'app') || undefined;
|
||||
if (appDir == null && pagesDir == null) {
|
||||
throw Object.defineProperty(new Error("> Couldn't find any `pages` or `app` directory. Please create one under the project root"), "__NEXT_ERROR_CODE", {
|
||||
value: "E144",
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
}
|
||||
if (pagesDir && appDir) {
|
||||
const pagesParent = path.dirname(pagesDir);
|
||||
const appParent = path.dirname(appDir);
|
||||
if (pagesParent !== appParent) {
|
||||
throw Object.defineProperty(new Error('> `pages` and `app` directories should be under the same folder'), "__NEXT_ERROR_CODE", {
|
||||
value: "E801",
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
}
|
||||
}
|
||||
return {
|
||||
pagesDir,
|
||||
appDir
|
||||
};
|
||||
}
|
||||
|
||||
//# sourceMappingURL=find-pages-dir.js.map
|
||||
Reference in New Issue
Block a user