feat: 对接 Spark 大模型

This commit is contained in:
2024-04-01 17:03:03 +08:00
parent d20b518f5b
commit 3ded5f8e7a
12 changed files with 328 additions and 67 deletions

44
components/Markdown.vue Normal file
View File

@@ -0,0 +1,44 @@
<script setup lang="ts">
import md from 'markdown-it'
import hljs from "highlight.js";
import 'highlight.js/styles/github-dark-dimmed.min.css';
const renderer = md({
html: true,
linkify: true,
typographer: true,
breaks: true,
highlight: function (str, lang) {
if (lang && hljs.getLanguage(lang)) {
try {
return (
`<pre class="hljs" style="overflow-x: auto"><code>${
hljs.highlight(str, {language: lang, ignoreIllegals: true}).value
}</code></pre>`
)
} catch (_) {
}
}
return '<pre class="hljs"><code>' + md().utils.escapeHtml(str) + '</code></pre>';
}
})
const props = defineProps({
source: {
type: String,
required: true,
},
})
</script>
<template>
<article
class="prose dark:prose-invert max-w-none prose-sm prose-neutral"
v-html="renderer.render(source.replaceAll('\t', '&nbsp;&nbsp;&nbsp;&nbsp;'))"
></article>
</template>
<style scoped>
</style>