mirror of
https://github.com/CorentinTh/it-tools.git
synced 2025-05-08 07:11:03 -04:00
Refactor
This commit is contained in:
parent
b14283ff64
commit
ab414f0ea7
2 changed files with 21 additions and 17 deletions
|
@ -0,0 +1,20 @@
|
||||||
|
import { marked } from "marked";
|
||||||
|
import highlight from "highlight.js";
|
||||||
|
import 'highlight.js/styles/atom-one-dark.css';
|
||||||
|
|
||||||
|
export const renderMarkdown = (md: string) => {
|
||||||
|
highlight.configure({
|
||||||
|
|
||||||
|
})
|
||||||
|
const renderer = new marked.Renderer();
|
||||||
|
|
||||||
|
// Override the code rendering function to use highlight.js for syntax highlighting
|
||||||
|
renderer.code = (code: string, language: string) => {
|
||||||
|
const validLanguage = highlight.getLanguage(language) ? language : 'plaintext';
|
||||||
|
return `<pre><code class="hljs ${validLanguage}">${highlight.highlight(validLanguage, code).value}</code></pre>`;
|
||||||
|
};
|
||||||
|
|
||||||
|
marked.use({ renderer });
|
||||||
|
|
||||||
|
return marked.parse(md)
|
||||||
|
}
|
|
@ -1,24 +1,8 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useStorage } from '@vueuse/core';
|
import { useStorage } from '@vueuse/core';
|
||||||
import { marked } from "marked";
|
|
||||||
const rawMd = useStorage('markdown-viewer:raw-md', '# Hello World');
|
const rawMd = useStorage('markdown-viewer:raw-md', '# Hello World');
|
||||||
const inputElement = ref<HTMLElement>();
|
const inputElement = ref<HTMLElement>();
|
||||||
import highlight from "highlight.js";
|
import { renderMarkdown } from "./markdown-viewer.service";
|
||||||
import 'highlight.js/styles/default.css';
|
|
||||||
|
|
||||||
const renderMarkdown = (md: string) => {
|
|
||||||
const renderer = new marked.Renderer();
|
|
||||||
|
|
||||||
// Override the code rendering function to use highlight.js for syntax highlighting
|
|
||||||
renderer.code = (code: string, language: string) => {
|
|
||||||
const validLanguage = highlight.getLanguage(language) ? language : 'plaintext';
|
|
||||||
return `<pre><code class="hljs ${validLanguage}">${highlight.highlight(validLanguage, code).value}</code></pre>`;
|
|
||||||
};
|
|
||||||
|
|
||||||
marked.use({ renderer });
|
|
||||||
|
|
||||||
return marked.parse(md)
|
|
||||||
}
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue