markdown tables headings have scope of col; raw html tables are not changed

This commit is contained in:
Adam Teichert
2025-12-16 13:02:24 -07:00
parent e07d0a6e47
commit e9f33e0174
2 changed files with 63 additions and 0 deletions

View File

@@ -47,6 +47,20 @@ marked.use(
marked.use({ extensions: [mermaidExtension] });
// We use a custom renderer instead of a regex replace because regex is too aggressive.
// It would add scope="col" to raw HTML tables (which we want to leave alone).
// The renderer only applies to markdown tables.
marked.use({
renderer: {
tablecell({ text, header, align }) {
const type = header ? "th" : "td";
const alignAttr = align ? ` align="${align}"` : "";
const scopeAttr = header ? ' scope="col"' : "";
return `<${type}${scopeAttr}${alignAttr}>${text}</${type}>\n`;
},
},
});
export function extractImageSources(htmlString: string) {
const srcUrls = [];
const regex = /<img[^>]+src=["']?([^"'>]+)["']?/g;