Blog authoring notes (not a post)

·2 min read

Draft Article

This is a draft version of this blog post and has not been published yet. Content may be incomplete or subject to changes.

Blog Authoring Notes

This file is not a blog post. The draft: true flag keeps it out of the blog listing (same mechanism as blog_template.md).

Bold formatting: no spaces inside ** markers

Bold written as **text ** or ** text** is invalid CommonMark and renders as literal asterisks on the live site.

  • Keep spaces outside the markers: **text** next, never **text **next
  • Content pasted from WordPress exports or Google Docs often contains invisible non-breaking spaces ( ) inside the markers. They look fine in the editor but break rendering. Find them with: grep -P '\xc2\xa0' content/blog/file.md
  • A blog-wide cleanup in June 2026 fixed 44 of these across 19 posts and 3 help articles

Verifying how a file actually renders

The top-level remark-parse in node_modules is an old lenient v8 that hides these problems. react-markdown (what the site uses) bundles a strict CommonMark v10 under node_modules/react-markdown/node_modules/. Only the nested one matches production rendering.

To check a file, parse it with that nested parser and look for ** surviving in text nodes:

const { unified } = await import(
  './node_modules/react-markdown/node_modules/unified/index.js'
)
const { default: remarkParse } = await import(
  './node_modules/react-markdown/node_modules/remark-parse/index.js'
)
const matter = require('gray-matter')
const { content } = matter(fs.readFileSync(file, 'utf8'))
const tree = unified().use(remarkParse).parse(content)
// walk the tree; any text node containing '**' will show as literal asterisks

Related Posts