Convert list texts to a separate i18n text, allowing translation and fixing action/passive/... removal. Character sheet now use the character compiler.

This commit is contained in:
Clément Pons
2025-08-25 17:35:15 +02:00
parent 247b14b2c8
commit 69ee62c08e
27 changed files with 2432 additions and 1003 deletions

View File

@@ -7,11 +7,14 @@ import RemarkOfm from 'remark-ofm';
import RemarkGfm from 'remark-gfm';
import RemarkBreaks from 'remark-breaks';
import RemarkFrontmatter from 'remark-frontmatter';
import StripMarkdown from 'strip-markdown';
import RemarkStringify from 'remark-stringify';
interface Parser
{
parse: (md: string) => Promise<Root>;
parseSync: (md: string) => Root
parseSync: (md: string) => Root;
text: (md: string) => string;
}
export default function useMarkdown(): Parser
{
@@ -39,5 +42,17 @@ export default function useMarkdown(): Parser
return processed;
}
return { parse, parseSync };
const text = (markdown: string) => {
if (!processor)
{
processor = unified().use([RemarkParse, RemarkGfm, RemarkOfm, RemarkBreaks, RemarkFrontmatter ]);
processor.use(StripMarkdown, { remove: [ 'comment', 'tag', 'callout' ] });
processor.use(RemarkStringify);
}
const processed = processor.processSync(markdown);
return String(processed);
}
return { parse, parseSync, text };
}