vue3【实战】 渲染 md 文件(markdown语法 .md后缀的文件)
1. 安装相关插件
npm i unplugin-vue-markdown markdown-it-prism prism @unhead/vue
2. 添加配置
src/main.ts
// 给 md 文件创建头部
import { createHead } from '@unhead/vue'
// md 文件中代码高亮的样式
import 'prismjs/themes/prism.css'
// 自定义 md 文件的样式
import '@/assets/css/md.css'
app.use(createHead())
vite.config.ts
import Markdown from 'unplugin-vue-markdown/vite'
import prism from 'markdown-it-prism'
import { unheadVueComposablesImports } from '@unhead/vue'
Components 添加配置,包含 .md 文件和 .vue 文件
Components({directoryAsNamespace: true,collapseSamePrefixes: true,include: [/\.vue$/, /\.vue\?vue/, /\.md$/]}),
VueRouter 添加配置,支持 .md 文件和 .vue 文件
VueRouter({extensions: ['.vue', '.md']}),
AutoImport 添加配置 unheadVueComposablesImports
AutoImport({// 解析的文件类型include: [/\.[tj]sx?$/, // .ts, .tsx, .js, .jsx/\.vue$/,/\.vue\?vue/, // .vue/\.md$/ // .md],// 需自动导入方法的库imports: ['pinia','vue','@vueuse/core',// '@vueuse/components',// 项目中集成了 unplugin-vue-router 时,此处需用 VueRouterAutoImports 替换掉 'vue-router'VueRouterAutoImports,// 新增为 md 文件创建头部unheadVueComposablesImports]}),
vue 添加配置,包含 .md 文件和 .vue 文件
vue({include: [/\.vue$/, /\.md$/]}),
plugins 新增 Markdown 配置
Markdown({ headEnabled: true, markdownItUses: [prism] }),
3. 添加 md 文件
比如 src/pages/notes/vue.md
---
title: 编程笔记- vue 实战笔记
meta:- name: vuecontent: vue实战笔记
test: 测试
---<Page># vue 实战笔记## 图片图片放在 public/imgs/ 中> 注意事项:是与 index.html 同级的 public 文件夹```html
<img src="/imgs/朝阳的微信二维码.jpg" alt="" />
```.</Page>
上文中,html 代码末尾的 . 因编辑需要添加,实际使用时,需去掉!
4. 创建 md 文件容器组件
src/components/Page.vue
<template><div style="padding: 20px"><slot></slot></div>
</template>
5. 自定义 md 文件样式
md 文件渲染后,会按 md 语法,渲染成 h1,p,blockquote 等 html 标签,可根据个人喜欢,自定义样式
新建文件 src/assets/css/md.css
h1 {font-weight: bold;font-size: 24px;
}h2 {font-weight: bold;font-size: 20px;line-height: 2
}blockquote {border-left: 3px red solid;padding-left: 6px;margin: 6px 0;font-size: 12px;
}
6. 预览效果
启动项目,访问 http://localhost:5173/notes/vue,效果如下

可见自动生成了页面路由,修改了网页标题,按自定义样式渲染了 md 文件,vue 组件生效,md 文件中的代码高亮。
相关文章:
vue3【实战】 渲染 md 文件(markdown语法 .md后缀的文件)
1. 安装相关插件 npm i unplugin-vue-markdown markdown-it-prism prism unhead/vue2. 添加配置 src/main.ts // 给 md 文件创建头部 import { createHead } from unhead/vue // md 文件中代码高亮的样式 import prismjs/themes/prism.css // 自定义 md 文件的样式 import /as…...
Sora高端制造业WordPress外贸主题
Sora是一款专为高端制造业设计的WordPress主题,由国内知名wordpress开发团队简站wordpress主题开发,它以红色为主色调,适合外贸企业出海建独立站的模板。这个主题适用于WordPress 6.0及以上版本,并且只服务于真正有需要的用户。主…...
windows安装superset及各种问题解决
1,背景 先说说背景,之前在2月份已经安装过superset3.1.1,当时还没有提示SECRET_KEY异常,能正常运行,且已配置数据库连接. 2,报错信息及解决途径 1,创建admin时,提示Error! User already exists 这个是因为之前已经创建过admin用户,需要删除C:\Users\用户名\.superset下的.…...
JMeter模拟并发请求
PostMan不是严格意义上的并发请求工具,实际是串行的,如果需要测试后台接口并发时程序的准确性,建议采用JMeter工具。 案例:JMeter设置20个并发卖票请求,查看后台是否存在超卖的情况 方式一:一共10张票&…...
【小趴菜前端实习日记5】
实习日记5 一、vue3中如何使用router(获取this)二、ts中用object定义类型太宽泛导致Ts无法推断出正确类型三、动态设置日记封面失败vite动态引入静态资源1.方法一vue3父子组件生命周期执行顺序 2.方法二3.方法三 四、打包问题总结1.The import.meta meta-property i…...
如何通过谷歌外推占据搜索引擎首页?
外贸企业在推广过程中,如何在谷歌搜索引擎中占据有利位置,获取更多曝光,GLB谷歌霸屏服务就可以派上用场。它通过高效的品牌外推策略,可以让你的企业信息在谷歌中实现“霸屏”效果,特别是长尾关键词的全面覆盖 很多企业…...
jmeter学习(6)逻辑控制器
1. 简单控制器 简单控制器用来存放组件的,没有提供什么逻辑功能。 2. 循环控制器 用来循环执行请求,可以配置循环次数。注意它与线程组、测试计划中的循环是相互独立的,比如在线程组中设置循环2次,循环控制器设置循环3次&#…...
Android14 和android12 在锁屏界面Keyguard输错5次密码后倒计时30秒时重启手机不显示倒计时
参考如下修改:Android9.0在锁屏界面Keyguard输错5次密码后倒计时30秒时重启手机不显示倒计时_android 锁屏密码输错5次-CSDN博客 android 14 修改如下: androidap/SYSTEM/frameworks/base$ git status Refresh index: 100% (47218/47218), done. HEAD d…...
智能时代摩托车一键启动无钥匙进入感受科技前线
向智能化与高性能迈进,技术创新与绿色转型引领摩托车行业智能化出行。 摩托车一键启动无钥匙进入功能是一种先进的车辆控制系统,它允许驾驶员在不使用传统机械钥匙的情况下,通过智能感应技术自动解锁和启动摩托车。这种系统通常包括一个智能钥匙&#x…...
需要补充的技能
密码管理 文件管理 人际管理 Microsoft365 teams和onedrive,outlook,sharepoint等 被问到自己不懂的问题的时候怎么迅速反应快速回答? 被帅锅的时候怎么解决? 谈判技巧? 说话的语速? 遇到解决不了的问题如何处理? 考…...
15分钟学 Go 第 15 天:映射(Map)
第15天:映射(Map) 学习目标 在本节中,我们将深入理解Go语言中的字典类型(映射),通过例子与图示来帮助你掌握其使用方法。我们将涵盖以下几个方面: 概念定义创建和使用映射访问和更…...
element-plus 官方表格排序问题
element-plus 官方API 默认表格排序存在问题,一个list 被多组排序 修改后: 注意点: 这里一定要使用 sortable"custom",自定义 sort-change 方法 使用 sortable true 的情况排序会冲突,出现莫名奇妙的问题…...
AI语音模型在家宽业务中的应用
在运营商家宽业务支撑场景中,存在多个APP和系统需要与装维人员交互,传统的功能按钮点击型操作交互界面,越来越难以满足装维人员工作提效的迫切需求。家宽施工调度系统所需的AI语音能力主要包括ASR(音转字)和TTS&#x…...
零七生活API-文字转语音API使用示例
//官网地址:零七生活API - 提供免费接口调用平台function getAud(){axios({method: get,url: https://api.oick.cn/api/txt?text你好&spd5&apikeyyourApikey,responseType: blob, // 确保 axios 处理为二进制数据}).then((response) > {// 将 Blob 转换…...
rpc的客户端为什么称为stub
1.client为什么是stub Stub 在分布式系统中是一种 代理对象(Proxy Object),它本质上是一个在本地系统中扮演远程服务角色的代理。 在早期的 RPC 术语中,客户端端叫做 Stub,而服务器端的处理部分叫做 Skeleton。这种对…...
RHCE--nginx实现多IP访问多网站
方法一:nmtui 1.目录挂载 2.下载nginx 3.关闭防火墙 4.在一个网卡创建多个虚拟地址 1. 2. 3. 方法二:nmcil 1.手动配置 2.如图所示重新连接后创建ip成功 3.创建目录以及写入 结果...
TikTok运营对IP有什么要求?
TikTok在进行直播带货时,网络环境的配置尤为关键,网络质量直接影响到直播效果,因此选择稳定的IP地址很重要。那么,TikTok直播时该选择什么样的IP地址呢?接下来,我们来深入分析一下。 TikTok对IP地址的要求 …...
大白话讲解:多模态大模型综述,通俗易懂!
多模态大型语言模型(Multimodal Large Language Models, MLLM)的出现是建立在大型语言模型(Large Language Models, LLM)和大型视觉模型(Large Vision Models, LVM)领域不…...
大数据-184 Elasticsearch - 原理剖析 - DocValues 机制原理 压缩与禁用
点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…...
Java设计模式:工厂模式详解
引言 1. 工厂模式的定义 2. 工厂模式的类型 2.1 简单工厂模式 2.1.1 结构 2.1.2 示例代码 2.2 工厂方法模式 2.2.1 结构 2.2.2 示例代码 2.3 抽象工厂模式 2.3.1 结构 2.3.2 示例代码 3. 工厂模式的优点 4. 工厂模式的缺点 5. 实际应用场景 6. 总结 引言 工厂模…...
pip cache purge 清理下载缓存文件
如上图所示的这个目录是 Python 的包管理工具 pip 用来存储下载过的安装包(wheel 或源码包)的缓存。它的主要作用是在你下次安装同一个包时,可以直接从本地读取,而无需再次从网络下载,从而加快安装速度。 但是…...
Flutter + 开源鸿蒙跨端实战|基于空间地理信息的**城市全域智慧泊车调度与多维运维管理平台** Day1 项目架构基座与工程化环境搭建
Flutter 开源鸿蒙跨端实战|基于空间地理信息的城市全域智慧泊车调度与多维运维管理平台 Day1 项目架构基座与工程化环境搭建 欢迎入驻开源鸿蒙全栈技术实战社区:https://openharmonycrossplatform.csdn.net <!-- Schema.org 结构化数据 --> <…...
OpenAEON:从AI Agent到自主认知引擎的架构解析与实战
1. 项目概述:从“智能助手”到“自主认知引擎”的跃迁 如果你和我一样,在AI Agent领域摸爬滚打了几年,从早期的简单聊天机器人框架,到后来的工具调用(Function Calling)和RAG(检索增强生成&…...
别再为混合仿真发愁了!手把手教你用Cadence AMS搭建Verilog+模拟电路联合仿真环境
混合仿真实战:从零搭建Verilog与模拟电路的联合仿真环境 第一次接触混合仿真的工程师们,往往会在数字与模拟世界的交界处感到迷茫。Verilog的离散事件与SPICE的连续波形如何共存?信号在不同域之间传递时会出现哪些意想不到的问题?…...
手把手教你:在RT-Thread上用STM32驱动0.96寸OLED显示动态二维码(附完整源码)
基于RT-Thread的STM32动态二维码显示系统开发实战 在智能门锁、工业设备配网等物联网场景中,二维码作为信息载体正发挥着越来越重要的作用。本文将完整呈现如何在RT-Thread操作系统上,通过STM32驱动0.96寸OLED实现动态二维码显示功能。不同于简单的功能演…...
终极指南:Sunshine开源游戏串流服务器完整配置与实战应用
终极指南:Sunshine开源游戏串流服务器完整配置与实战应用 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine Sunshine是一款功能强大的自托管游戏串流服务器,专…...
成都企业AI本地化部署之后:如何让大模型和企业智能体持续产生价值?
一、成都 AI 进入新阶段:从“部署模型”转向“运营能力”过去一年,成都人工智能产业热度持续上升。公开报道显示,成都正在围绕人工智能产业生态、智能体应用、智能制造和数字化转型加快布局,本地企业对大模型、私有化部署和产业场…...
小米Agent岗二面:你们 RAG 知识库上线之后,文档更新了怎么办?
👔面试官:你们 RAG 知识库上线之后,文档更新了怎么办?总不能每次改个文档就把整个知识库重建一遍吧。 🙋♂️我:可以直接找到变了的那个 chunk,更新它的向量就行了。 👔面试官&a…...
微信聊天记录永久备份完整指南:WeChatExporter开源工具终极教程
微信聊天记录永久备份完整指南:WeChatExporter开源工具终极教程 【免费下载链接】WeChatExporter 一个可以快速导出、查看你的微信聊天记录的工具 项目地址: https://gitcode.com/gh_mirrors/wec/WeChatExporter 你是否担心珍贵的微信聊天记录会因为手机丢失…...
绕过Cursor AI消费限额前端Bug:浏览器控制台脚本实现API直接管理
1. 项目概述与背景 最近在深度使用Cursor这款AI代码编辑器时,遇到了一个挺让人头疼的问题。Cursor的付费模式是典型的用量计费,也就是所谓的“按需付费”,这对于我们这些高频使用者来说,确实需要设置一个消费上限,以防…...
