Skip to content

Commit 48ecdc2

Browse files
authored
fix(www): resolve build errors blocking deploy (#933)
- rehype.mjs: guard parentNode.properties before set — mdxJsxFlowElement nodes (inline code in JSX <li>/<span>) have no properties object, causing "Cannot set properties of undefined (setting 'language')" - blog/[slug]/page.tsx: pass Callout to compileMDX components map — blog posts using <Callout> crashed with "Expected component Callout to be defined"
1 parent 6becea3 commit 48ecdc2

2 files changed

Lines changed: 5 additions & 3 deletions

File tree

www/src/app/blog/[slug]/page.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import { ShareButtons } from '../components/ShareButtons'
88
import { RelatedPosts } from '../components/RelatedPosts'
99
import { BlogPostSchema, BreadcrumbSchema } from '../components/StructuredData'
1010
import { TLDRBox } from '../components/TLDRBox'
11+
import { Callout } from '@/components/Callout'
1112

1213
// Force static generation - required for Cloudflare Workers deployment
1314
export const dynamic = 'force-static'
@@ -82,6 +83,7 @@ export default async function BlogPostPage({ params }: PageProps) {
8283
source: post.content,
8384
components: {
8485
TLDRBox,
86+
Callout,
8587
},
8688
options: {
8789
mdxOptions: {

www/src/mdx/rehype.mjs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ import { visit } from 'unist-util-visit'
88
function rehypeParseCodeBlocks() {
99
return (tree) => {
1010
visit(tree, 'element', (node, _nodeIndex, parentNode) => {
11-
if (node.tagName === 'code') {
12-
parentNode.properties.language = node.properties.className
13-
? node.properties?.className[0]?.replace(/^language-/, '')
11+
if (node.tagName === 'code' && parentNode?.properties != null) {
12+
parentNode.properties.language = node.properties?.className
13+
? node.properties.className[0]?.replace(/^language-/, '')
1414
: 'txt'
1515
}
1616
})

0 commit comments

Comments
 (0)