import AppLayout from "components/AppLayout"; import Markdawn from "components/Markdown/Markdawn"; import ContentPanel, { ContentPanelWidthSizes, } from "components/Panels/ContentPanel"; import { GetStaticProps } from "next"; import { useRouter } from "next/router"; import Script from "next/script"; import { AppStaticProps, getAppStaticProps } from "queries/getAppStaticProps"; import { useCallback, useState } from "react"; interface EditorProps extends AppStaticProps {} export default function Editor(props: EditorProps): JSX.Element { const { langui } = props; const router = useRouter(); const handleInput = useCallback((e) => { setMarkdown(e.target.value); }, []); const [markdown, setMarkdown] = useState(""); const contentPanel = ( Editor Convert text to markdown { const TurndownService = require("turndown").default; const turndownService = new TurndownService({ headingStyle: "atx", codeBlockStyle: "fenced", bulletListMarker: "-", emDelimiter: "*", strongDelimiter: "**", }); let paste = event.clipboardData.getData("text/html"); paste = paste.replace(/<\!--.*?-->/g, ""); paste = turndownService.turndown(paste); paste = paste.replace(/<\!--.*?-->/g, ""); const target = event.target as HTMLTextAreaElement; target.value = paste; target.select(); event.preventDefault(); }} className="font-monospace" /> Preview ); return ( ); } export const getStaticProps: GetStaticProps = async (context) => { const props: EditorProps = { ...(await getAppStaticProps(context)), }; return { props: props, }; };