WIP: testing bright and resume copying content

This commit is contained in:
2023-10-23 22:32:15 +11:00
parent cf0579023e
commit a607a4528e
9 changed files with 224 additions and 98 deletions

View File

@@ -8,6 +8,8 @@ import parse, {
HTMLReactParserOptions,
} from "html-react-parser";
import { DummyPostSlug, DummyPostString } from "@/components/dummyPost";
import { Code } from "bright";
import { mark } from "@/bright-extension/mark";
const options: HTMLReactParserOptions = {
replace: (domNode) => {
@@ -22,41 +24,46 @@ const options: HTMLReactParserOptions = {
);
} else {
return (
<h1 className={`${raleway.className} mx-auto w-224 text-3xl`}>
{domToReact(domNode.children)}
</h1>
<h1 className={`${raleway.className} mx-auto w-224 text-3xl`}>
{domToReact(domNode.children)}
</h1>
);
}
} else if (domNode.name === "h2") {
return (
<h1 className={`${raleway.className} mx-auto w-224 text-2xl`}>
{domToReact(domNode.children)}
</h1>
<h1 className={`${raleway.className} mx-auto w-224 text-2xl`}>
{domToReact(domNode.children)}
</h1>
);
} else if (domNode.name === "h3") {
return (
<h1 className={`${raleway.className} mx-auto w-224 text-xl`}>
{domToReact(domNode.children)}
</h1>
<h1 className={`${raleway.className} mx-auto w-224 text-xl`}>
{domToReact(domNode.children)}
</h1>
);
} else if (domNode.name === "code") {
let linenumber = false
if ('class' in domNode.attribs) {
const classes = domNode.attribs.class.split(" ");
if (classes.includes('linenumber')) {
linenumber = true;
}
}
return (
<div className={`w-224 mx-auto`}>
<Code lang={`${domNode.attribs.lang}`} lineNumbers={linenumber} extensions={[mark]}>
{domToReact(domNode.children)}
</Code>
</div>
);
} else if (domNode.name === "p") {
// console.log(domNode.children)
if (domNode.attribs.class === "paragraph") {
return (
<h1 className={`${nunito_sans.className} mx-auto w-224`}>
{domToReact(domNode.children)}
</h1>
<h1 className={`${nunito_sans.className} mx-auto w-224`}>
{domToReact(domNode.children)}
</h1>
);
} else {
const classes = domNode.attribs.class.split(" ");
if (classes.includes("code")) {
if (classes.includes("shell")) {
} else if (classes.includes("go") || classes.includes("golang")) {
} else {
}
}
}
}
}
@@ -69,7 +76,7 @@ export default async function Post({ params }: { params: { slug: string } }) {
const dummySlug = await DummyPostSlug();
if (dummySlug === params.slug) {
content = await DummyPostString();
console.log(content);
// console.log(content);
} else {
content = await getPost(params.slug);
}
@@ -78,5 +85,9 @@ export default async function Post({ params }: { params: { slug: string } }) {
// console.log(content)
const elem = parse(content, options);
return <div className={`flex flex-col`}>{elem}</div>;
return (
<div className={`flex flex-col`}>
{elem}
</div>
);
}