fix(blog): restore live blockquote styling and quote-mark SVG

- restores the migrated blog blockquotes to the live site’s visual treatment
- adds the self-hosted quote-mark SVG and matches its live positioning
- updates the extractor, audit scripts, and migration reports to reflect the blockquote work
This commit is contained in:
2026-06-08 16:23:35 -07:00
parent 826d5e8c7d
commit bb4cee97a8
26 changed files with 57 additions and 35 deletions
+3
View File
@@ -9,11 +9,13 @@ const failures = [];
const files = await fg('src/content/blog/**/*.{md,mdx}', { cwd: root, absolute: true });
let faqPosts = 0;
let faqQuestions = 0;
let blockquotes = 0;
for (const file of files) {
const source = await fs.readFile(file, 'utf8');
const { content, data } = matter(source);
const body = content.trimStart();
blockquotes += [...content.matchAll(/^>\s+/gm)].length;
if (body.startsWith('# ')) failures.push(`${path.relative(root, file)}: body begins with a duplicate article title`);
if (body.includes(data.featuredImage) && body.indexOf(data.featuredImage) < 500) {
failures.push(`${path.relative(root, file)}: body begins with a duplicate featured image`);
@@ -55,6 +57,7 @@ const report = [
'',
`Checked ${files.length} blog post bodies for layout content duplicated in Markdown.`,
`Verified ${faqQuestions} FAQ questions across ${faqPosts} FAQ-bearing posts.`,
`Detected ${blockquotes} source-faithful blog blockquotes.`,
'',
failures.length ? failures.map((failure) => `- ${failure}`).join('\n') : 'No duplicated article headers or invalid MDX FAQ components were detected.',
''