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:
30
apps/public-web/node_modules/next/dist/esm/server/post-process.js
generated
vendored
Normal file
30
apps/public-web/node_modules/next/dist/esm/server/post-process.js
generated
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
import { nonNullable } from '../lib/non-nullable';
|
||||
async function postProcessHTML(content, renderOpts) {
|
||||
const postProcessors = [
|
||||
process.env.NEXT_RUNTIME !== 'edge' && renderOpts.optimizeCss ? async (html)=>{
|
||||
// eslint-disable-next-line import/no-extraneous-dependencies
|
||||
const Critters = require('critters');
|
||||
// @ts-expect-error -- interopRequireDefault
|
||||
const cssOptimizer = new Critters({
|
||||
ssrMode: true,
|
||||
reduceInlineStyles: false,
|
||||
path: renderOpts.distDir,
|
||||
publicPath: `${renderOpts.assetPrefix}/_next/`,
|
||||
preload: 'media',
|
||||
fonts: false,
|
||||
logLevel: process.env.CRITTERS_LOG_LEVEL || (process.env.NODE_ENV === 'production' ? 'warn' : 'info'),
|
||||
...renderOpts.optimizeCss
|
||||
});
|
||||
return await cssOptimizer.process(html);
|
||||
} : null
|
||||
].filter(nonNullable);
|
||||
for (const postProcessor of postProcessors){
|
||||
if (postProcessor) {
|
||||
content = await postProcessor(content);
|
||||
}
|
||||
}
|
||||
return content;
|
||||
}
|
||||
export { postProcessHTML };
|
||||
|
||||
//# sourceMappingURL=post-process.js.map
|
||||
Reference in New Issue
Block a user