老板:让 AI 大模型输出📊图表&🗺️地图

在开发现代前端应用时,特别是与 AI 大模型交互的场景中,我们经常会遇到这样的需求:

  • 需要美观地展示 ChatGPT、Claude 等大模型生成的 Markdown 内容
  • 希望在 Markdown 中嵌入图表、自定义组件等富交互元素
  • 想要实现打字机效果等流式渲染,但传统 Markdown 渲染器力不从心
  • 对 Markdown 渲染结果需要更精细的控制和定制

如果你也和我遇到了一样的需求,没关系!我写了一个组件库,拿去用!

源码和文档在最后

✨ @vunk/markdown 是什么?

@vunk/markdown 是一个基于 markdown-it 的增强型 Markdown 渲染库,专为现代 Vue 3 应用设计。它的核心使命是增强 Markdown 内容在页面中的表现力 ,通过自定义渲染策略将传统的 Markdown 文本转换为丰富的交互式组件。

直接来看 两个实现

🎯 核心特色

传统 Markdown 渲染器 @vunk/markdown
直接输出 HTML 字符串 输出 Vue 组件树
固定的渲染样式 完全可定制的组件模板
静态内容展示 支持交互式组件
扩展性有限 基于策略模式的无限扩展

🚀 快速上手

安装

bash 复制代码
pnpm install @vunk/markdown -S

基础使用

vue 复制代码
<script setup>
import { VkMarkdown, VkTemplatesDefault } from '@vunk/markdown'

const markdownContent = `
# Hello, @vunk/markdown!

这是一个**增强型** Markdown 渲染器示例。

## 特性展示
- 支持所有标准 Markdown 语法
- *斜体*、**粗体**、\`行内代码\`
- [链接](https://github.com)

\`\`\`javascript
// 代码高亮
console.log('Hello World!')
\`\`\`
`
</script>

<template>
  <VkMarkdown :source="markdownContent">
    <VkTemplatesDefault />
  </VkMarkdown>
</template>

🌟 自定义容器

这是 @vunk/markdown 最强大的特性之一 ------ 自定义容器支持。你可以在 Markdown 中嵌入任何自定义组件!

内置图表支持

vue 复制代码
<script setup>
import { VkMarkdown, VkTemplatesDefault, VkTemplatesContainer } from '@vunk/markdown'

const chartMarkdown = `
# 数据可视化示例

下面是一个动态图表:

:::echarts
\`\`\`json
{
  "title": {
    "text": "销量统计"
  },
  "tooltip": {},
  "xAxis": {
    "data": ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
  },
  "yAxis": {},
  "series": [{
    "name": "销量",
    "type": "bar",
    "data": [5, 20, 36, 10, 10, 20]
  }]
}
\`\`\`
:::
`
</script>

<template>
  <VkMarkdown 
    :source="chartMarkdown"
    :containers="['echarts']"
  >
    <VkTemplatesDefault />
    <VkTemplatesContainer />
  </VkMarkdown>
</template>

🎨 策略模式的优雅实现

@vunk/markdown 采用了策略模式的设计理念,通过不同的 Templates 组件来处理不同类型的 Markdown 内容:

核心组件

  • VkMarkdown:主组件,负责解析 Markdown 并协调渲染策略
  • VkTemplatesDefault:处理标准 Markdown 元素(标题、段落、列表等)
  • VkTemplatesContainer:处理自定义容器(如图表、特殊组件等)

可扩展的渲染策略

vue 复制代码
<!-- 你可以轻松添加自己的渲染策略 -->
<VkMarkdown :source="content">
  <VkTemplatesDefault />
  <VkTemplatesContainer />
  <!-- 添加你的自定义模板 -->
  <MyCustomTemplates />
</VkMarkdown>

🎉 总结

@vunk/markdown 是一个为了现代 Vue 3 应用量身定制的内容展示解决方案。它的小而美的设计理念,强大的扩展能力,以及对 AI 时代内容展示需求的深度理解,让它成为了 Vue 开发者的理想选择。

🌈 立即开始

bash 复制代码
pnpm install @vunk/markdown -S

GitHub 地址 : vunk-markdown

文档地址 : 在线文档


如果你觉得这个库对你有帮助,别忘了给个 ⭐️ Star 支持一下!同时欢迎提 Issue 和 PR

相关推荐
芋头莎莎8 分钟前
基于MQTT通讯UNIapp程序解析JSON数据
前端·uni-app·json
weixin_4365250724 分钟前
若依多租户版: 页面新增菜单, 执行菜单SQL
前端·数据库·sql
FITA阿泽要努力31 分钟前
Agent Engineer-Day 1 初始智能体与大语言模型基础
java·前端·javascript
霸王蟹34 分钟前
Uni-app 跨端开发框架Unibest快速体验
前端·笔记·微信·uni-app·unibest
zihan032134 分钟前
element-plus, el-table 表头按照指定字段升降序的功能实现
前端·vue.js·状态模式
三翼鸟数字化技术团队38 分钟前
watchEffect的两种错误用法
前端·javascript·vue.js
局外人LZ41 分钟前
Decimal.js 完全指南:解决前端数值精度痛点的核心方案
开发语言·前端·javascript
郑州光合科技余经理1 小时前
同城配送调度系统实战:JAVA微服务
java·开发语言·前端·后端·微服务·中间件·php
一只小bit2 小时前
Qt 绘图核心教程:从基础绘制到图像操作全解析
前端·c++·qt·gui
乾元2 小时前
绕过艺术:使用 GANs 对抗 Web 防火墙(WAF)
前端·网络·人工智能·深度学习·安全·架构