Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@
"vitest": "^3.2.4",
"vue": "^3.5.24",
"vue-i18n": "^11.1.12",
"vue-renderer-markdown": "0.0.63-beta.0",
"vue-renderer-markdown": "0.0.63-beta.2",
"vue-router": "4",
"vue-sonner": "^2.0.9",
"vue-tsc": "^2.2.12",
Expand Down
3 changes: 3 additions & 0 deletions src/renderer/settings/components/AboutUsSettings.vue
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,7 @@
<DialogDescription>
<NodeRenderer
class="max-h-[300px] overflow-y-auto"
:isDark="themeStore.isDark"
:content="t('searchDisclaimer')"
></NodeRenderer>
</DialogDescription>
Expand Down Expand Up @@ -186,8 +187,10 @@ import NodeRenderer from 'vue-renderer-markdown'
import { useUpgradeStore } from '@/stores/upgrade'
import { useLanguageStore } from '@/stores/language'
import type { AcceptableValue } from 'reka-ui'
import { useThemeStore } from '@/stores/theme'

const { t } = useI18n()
const themeStore = useThemeStore()
const languageStore = useLanguageStore()
const devicePresenter = usePresenter('devicePresenter')
const configPresenter = usePresenter('configPresenter')
Expand Down
23 changes: 19 additions & 4 deletions src/renderer/src/components/markdown/MarkdownRenderer.vue
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
<template>
<div class="prose prose-zinc prose-sm dark:prose-invert w-full max-w-none break-all">
<NodeRenderer :content="debouncedContent" @copy="$emit('copy', $event)" />
<NodeRenderer
:content="debouncedContent"
:isDark="themeStore.isDark"
@copy="$emit('copy', $event)"
/>
</div>
</template>

Expand All @@ -17,15 +21,18 @@ import NodeRenderer, {
setCustomComponents,
setKaTeXWorker,
setMermaidWorker,
getUseMonaco
getUseMonaco,
MermaidBlockNode
} from 'vue-renderer-markdown'
import KatexWorker from 'vue-renderer-markdown/workers/katexRenderer.worker?worker&inline'
import MermaidWorker from 'vue-renderer-markdown/workers/mermaidParser.worker?worker&inline'
import { useThemeStore } from '@/stores/theme'

const props = defineProps<{
content: string
debug?: boolean
}>()
const themeStore = useThemeStore()
getUseMonaco()
setKaTeXWorker(new KatexWorker())
setMermaidWorker(new MermaidWorker())
Expand Down Expand Up @@ -86,8 +93,15 @@ setCustomComponents({
referenceStore.hideReference()
}
}),
code_block: (_props) =>
h(CodeBlockNode, {
code_block: (_props) => {
const isMermaid = _props.node.language === 'mermaid'
if (isMermaid) {
// 对于 Mermaid 代码块,直接返回 MermaidNode 组件
return h(MermaidBlockNode, {
..._props
})
}
return h(CodeBlockNode, {
..._props,
onPreviewCode(v) {
artifactStore.showArtifact(
Expand All @@ -105,6 +119,7 @@ setCustomComponents({
)
}
})
}
})

defineEmits(['copy'])
Expand Down
17 changes: 14 additions & 3 deletions src/renderer/src/components/think-content/ThinkContent.vue
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
<NodeRenderer
v-if="content"
class="think-prose w-full max-w-full"
:isDark="themeStore.isDark"
:content="content"
:customId="customId"
/>
Expand All @@ -44,6 +45,7 @@
</template>

<script setup lang="ts">
import { useThemeStore } from '@/stores/theme'
import { Icon } from '@iconify/vue'
import { h } from 'vue'
import NodeRenderer, {
Expand All @@ -63,9 +65,17 @@ defineEmits<{
(e: 'toggle'): void
}>()
const customId = 'thinking-content'
const themeStore = useThemeStore()
setCustomComponents(customId, {
code_block: (_props) =>
h(
code_block: (_props) => {
const isMermaid = _props.node.language === 'mermaid'
if (isMermaid) {
// 对于 Mermaid 代码块,直接返回 MermaidNode 组件
return h(PreCodeNode.vue, {
..._props
})
}
return h(
CodeBlockNode,
{
..._props,
Expand All @@ -76,7 +86,8 @@ setCustomComponents(customId, {
showFontSizeButtons: false
},
undefined
),
)
},
mermaid: (_props) =>
h(PreCodeNode.vue, {
..._props
Expand Down
4 changes: 3 additions & 1 deletion src/renderer/src/components/ui/UpdateDialog.vue
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
<p>{{ t('update.releaseDate') }}: {{ upgrade.updateInfo?.releaseDate }}</p>
<p>{{ t('update.releaseNotes') }}:</p>
<p class="whitespace-pre-line">
<NodeRenderer :content="upgrade.updateInfo?.releaseNotes"></NodeRenderer>
<NodeRenderer :isDark="themeStore.isDark" :content="upgrade.updateInfo?.releaseNotes"></NodeRenderer>
</p>
<!-- 显示下载进度 -->
<div v-if="upgrade.isDownloading && upgrade.updateProgress" class="mt-4">
Expand Down Expand Up @@ -66,9 +66,11 @@ import {
} from '@shadcn/components/ui/dialog'
import { useUpgradeStore } from '@/stores/upgrade'
import NodeRenderer from 'vue-renderer-markdown'
import { useThemeStore } from '@/stores/theme'

const { t } = useI18n()
const upgrade = useUpgradeStore()
const themeStore = useThemeStore()

const handleUpdate = async (type: 'github' | 'netdisk' | 'auto') => {
await upgrade.handleUpdate(type)
Expand Down