feat(markdown): wrap the plain text code block

This commit is contained in:
frostime 2024-07-29 19:10:00 +08:00
parent 90e1fadb1e
commit d49ececcc5
1 changed files with 26 additions and 0 deletions

View File

@ -96,6 +96,32 @@ export function PreCode(props: { children: any }) {
[plugins],
);
//Wrap the paragraph for plain-text
useEffect(() => {
if (ref.current) {
const codeElements = ref.current.querySelectorAll(
"code",
) as NodeListOf<HTMLElement>;
const wrapLanguages = [
"",
"md",
"markdown",
"text",
"txt",
"plaintext",
"tex",
"latex",
];
codeElements.forEach((codeElement) => {
let languageClass = codeElement.className.match(/language-(\w+)/);
let name = languageClass ? languageClass[1] : "";
if (wrapLanguages.includes(name)) {
codeElement.style.whiteSpace = "pre-wrap";
}
});
}
}, []);
return (
<>
<pre ref={ref}>