nuxt中将markdown文件转换html并带有高亮提示

nuxt-content-highlight:@nuxtcontent的文本突出显示包装器 nuxt-content-highlight @nuxt/content文本高亮包装器。 安装 $ yarn add -D nuxt-content-highlight 或者 $ npm install -D nuxt-content-highlight 演示版 克隆此存储库,然后: $ yarn dev 或者 $ npm run dev 并导航到http://localhost:3000 。 用法示例 nuxt.config.js添加到nuxt.config.js (如果尚不存在): modules : [ '@nuxt/content' , 'nuxt-content-highlight' , ] , build : { transpile : [ 'nuxt-content-hi 立即下载

在http://fileup.marsdl.com/menu的网站中,每一篇的博客文章是通过markdown编辑后直接保存markdown内容在数据库中。博客内容显示时获取md内容将其转换成带有高亮的html内容。
主要思路就是markdown-it将md内容转换成html内容,比如##标题 变成 <h2>标题</h2>,然后highlight.js文件专门对html内容中生成的html标签进行 css 样式渲染使其更加美观。
比如<precode> 标签就添加一系列的样式,如下图中的xml代码就有特别的样式了。无需我们自己手动针对性的编写css样式。
在这里插入图片描述
在nuxt的plugins文件夹内添加一个highlight.js文件,文件内容如下。
首先需要执行安装highlight.js,执行命令npm install highlight --save

// highlight.js  代码高亮指令
import Hljs from 'highlight.js';
// 代码高亮风格,选择更多风格需导入 node_modules/hightlight.js/styles/ 目录下其它css文件
import 'highlight.js/styles/tomorrow-night.css'; 

let Highlight = {};
// 自定义插件
Highlight.install = function (Vue) {
    // 自定义指令 v-highlight
 Vue.directive('highlight', {
  // 被绑定元素插入父节点时调用
   inserted: function (el) {
     let blocks = el.querySelectorAll('pre code');
     for (let i = 0; i < blocks.length; i++) {
         Hljs.highlightBlock(blocks[i]);
     }
   },
   // 指令所在组件的 VNode 及其子 VNode 全部更新后调用
   componentUpdated: function (el) {
    let blocks = el.querySelectorAll('pre code');
    for (let i = 0; i < blocks.length; i++) {
        Hljs.highlightBlock(blocks[i]);
    }
   }
 })
};
export default Highlight;

在nuxt.config.js文件中引入该文件,引入方式如图中,highlight.js文件引入后只需要highlight就可以,不用带有后缀。
在这里插入图片描述
安装完成好highlight.js后需要结合markdown-it对md内容进行渲染成高亮的html内容,在相应的vue文件中添加如下js内容。

import "github-markdown-css/github-markdown.css";
var hljs = require("highlight.js");
import axios from "axios";

var md = require("markdown-it")({
  highlight: function (str, lang) {
    if (lang && hljs.getLanguage(lang)) {
      try {
        return hljs.highlight(lang, str).value;
      } catch (__) {}
    }
    return ""; // 使用额外的默认转义
  },
});

然后export default {}中调用即可,这里的md就是上面var md = require(“markdown-it”)生成的md全局变量。我在某个方法内使用的方式如下:

let blogData = md.render(htmlData.blogData);
深入CARLA地图底层:OpenDRIVE文件如何影响你的仿真效果与避坑指南 本文深入解析CARLA仿真中OpenDRIVE地图文件的核心作用,揭示其如何影响车道连接、交通规则和导航逻辑。通过实战案例和代码示例,提供五大典型地图问题的诊断与修复方案,帮助开发者优化仿真效果并规避常见陷阱。 阅读详情

相关推荐

LCL滤波器参数设计实战:从理论约束到工程选型指南

本文提供了LCL滤波器参数设计的实战指南,从理论约束到工程选型逐步拆解。核心在于平衡总电感量、电感比与电容值,确保谐振频率落在安全区间,以满足并网电流谐波标准并维持系统稳定。文章以10kW并网逆变器为例,给出了具体的参数计算流程与选型步骤,并强调了寄生参数、阻尼设计等工程实现细节。

c6d7e8f9g的博客 921

在Next.js中让md文档转html后高亮代码块

最近是在使用Next.js搭建个人blog,遇到了这个问题。原本以为使用remark插件就能轻松的把md格式转换为html格式,并且代码块自动高亮显示呢。 然并没有。简单记录下最后的解决方式。 md转html 在lib的工具函数中,我引入了remark和html import { remark } from "remark"; import html from "remark-html"; ... // Use remark to convert markdown into HTML string con

CRMEB小程序商城的博客 2380

别只聊天了!手把手教你为Ollama+Open WebUI搭建本地知识库(基于BGE-M3和Qwen)

本文详细介绍了如何利用Ollama、Open WebUI和BGE-M3构建本地知识库,实现智能问答和文档检索。通过环境准备、文档处理、向量化实战和应用案例,帮助用户突破基础聊天场景,打造高效的个人知识管理体系。特别适合技术文档管理和学术研究场景。

weixin_42523720的博客 478

nuxt解析markdown代码块高亮、复制,显示行号

文章目录一、解析markdown二、代码块高亮三、代码块复制四、添加行号 一、解析markdown 使用markdownit npm i @nuxtjs/markdownit 在nuxt.config.js中modules添加@nuxtjs/markdownit,并添加markdownit modules: [ '@nuxtjs/markdownit' ], // 根据自己配置 markdownit: { preset: 'default', linkify: true,

m0_56823974的博客 6380

导出库的版本_Windows下PaddleOCR在C++中的推理部署(CPU版本)CMake + VS2017

PaddleOCR是一个与OCR相关的开源项目,不仅支持超轻量级中文OCR预测模型,总模型仅8.6M(单模型支持中英文数字组合识别、竖排文本识别、长文本识别,其中检测模型DB(4.1M)+识别模型CRNN(4.5M)),而且提供多种文本检测训练算法(EAST、DB)和多种文本识别训练算法(Rosetta、CRNN、STAR-Net、RARE)。本文将教大家通过PaddleOCR(CPU版...

weixin_31304817的博客 1913

保研考研机试攻略:python笔记(4)

保研考研机试攻略:python笔记(4)二分法+最大公约数+最小公倍数+素数判断+幂次方mod方法+匹配问题+哈希算法+哈夫曼编码+二叉树

qq_63349644的博客 1096

vue nuxt.js 代码高亮 highlight.js或 prismjs 插件的用法

vue nuxt.js 代码高亮 highlight.js或 prismjs 插件的用法。把第二步替换成 在main.js中引入highlight.js 步骤同上。还有另一个 prismjs 来实现 代码高亮。想要进一步详细的配置 高亮内容 请穿越。如果是 vue 的 main.js。在highlight.js中引入。......

共同进步 1783

C#调用opencv的dll

opencv算法和界面配合,刚入职的时候尝试过,利用的MFC,调试起来很痛苦。 后来基本都没怎么用界面,DOS的黑窗口,opencv自带的显示界面及滑动条凑合着调试用。 最近有点时间,刚好双十一在一个视觉群里看到了一个讲C#调用opencv的dll的课程,鉴于群主也是那门课的讲师,在平时解答群员的问题的时候很细心,能力也很强,因此有了这篇文章。 根据相机不同动态调用相机默认的属性...

Learning by doing 2974

Nuxt解析markdown字符串生成HTML

nuxt解析markdown文档

一个前端小菜菜的博客,四五年的经验,熟悉vue,react,nuxt,微信小程序,Uniapp。 726

ASProxy64.dll导致jetbrains家的IDE都无法打开。

摘要:在Windows11系统中,JetBrains IDE无法启动,报错指向ASProxy64.dll文件。该第三方DLL被注入到JVM原生层,导致内存访问冲突(错误代码0xc0000005)。经排查发现此文件来自Astrill软件。解决方案为卸载Astrill后重启电脑,问题得以解决。该案例表明第三方DLL注入可能影响IDE正常运行,卸载相关软件是最直接的解决方法。(149字)

猿小白的博客 936

YOLOv12涨点改进 | 全网独家首发Conv改进篇 | Arxiv 2025 | 引入一种新的WConv加权卷积改进YOLOv12,显著提升其特征提取能力和目标检测精度

本文提出了一种新型加权卷积(WConv)模块,通过引入最优密度函数动态调整邻域像素权重,显著提升了YOLOv12目标检测性能。WConv在保持参数数量不变的情况下,提高了模型精度(VGG准确率提升10%)、增强了小目标检测能力,并改善了多尺度特征提取。文中详细介绍了模块原理、网络结构改进方法,并提供了核心代码实现和yaml配置文件。实验表明,该方法在图像任务中最高可降低53%的损失,虽然会带来11%的时间开销,但具有优异的鲁棒性。该技术可广泛应用于2D/3D图像处理领域。

Ai缝合怪、助力小伙伴高效发论文 215

如何使用Nuxt实现高亮代码块?

你也想像其他网站那样,可以高亮用户写的代码块吗?有两个Javascript库可以帮助你实现这一点,他们分别是`Prism.js`和`highlight.js`。在本教程中,我们将使用PrismJS来讲解如何实现代码块高亮。在本教程中,我们将使用PrismJS来讲解如何实现代码块高亮。如果你需要高亮的语言很多,那么一个个地引入他们的。

weixin_42940307的博客 689

【ComfyUI专栏】ComfyUI 数字人方案-ComfyUI-EchoMimic

EchoMimic是一个基于图片和语音的数字人生成方案,通过ComfyUI节点实现。该方案安装简单,需下载特定模型文件(Unet、AudioProcessor和VAE)并保存本地。相比其他数字人生成方案,其节点操作更简便,支持多种Pose姿态选择,并能结合视频内容进行姿态同步,通过音频同步口型实现动态内容创建。生成的数字人效果直观,适用于快速创建个性化数字形象。

技术与管理的平衡木- 464

Nuxt3中使用prismjs高亮代码

项目需要高亮显示markdown文档中的代码。刚开始使用的是highlight库,但使用中发现这个库对一些语言的支持不太好,然后换成prism库,发现这个库语言支持能力和样式都不错,所以就选择这个库。prism 库在浏览器加载后,会自动调用highlightAll, 来高度HTML中的代码块,并根据在配置文件中配置的插件,自动执行插件模块的代码。// nextTick保证你的获取到的已转成html的markdown内容已经更新到HTML的DOM结构中了。// 然后执行高亮即可。

CXW1014的专栏 853

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

nuxt自定义指令以及渲染markdown格式和代码块高亮

一般在网上搜索nuxt渲染markdown都是用v-html 但是现在在使用v-html会出现报错 所以这种方式不在可行 这个时候可以引入vue-dompurify-html 在nuxt中引入时可以在plugins中创建vueInject.js 在nuxt.config.js中修改配置 使用时就不需要v-html,而是使用v-dompurify-html 如果后台存入的文章格式是markdown格式,这时候需要用markdown-it对markdown格式进行转义 并且在nuxt.config.js中修改配

weixin_43160498的博客 1724

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

nuxt generate如何自动扫描contents目录:nuxt-markdown-blog-starter静态路由生成原理深度解析

在 nuxt-markdown-blog-starter 中,你只需要往 `contents` 目录丢一篇 Markdown 文章,运行 `nuxt generate` 就会自动扫描目录、为每篇文章生成对应的静态路由,最终产出一整套可部署的静态页面。这篇文章带你拆解这套"自动扫描 + 静态路由生成"机制的完整原理,帮新手快速理解 Nuxt 静态站点生成(SSG)的核心思路。 ## 先搞懂:nux

gitblog_00098的博客 382

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Vue、Nuxt页面展示MarkDown

文章优先发表在个人博客,后期更新可能忘记同步到优快云上面,给你带来不便抱歉 个人博客本篇文章地址: https://www.xdx97.com/article?bamId=672192777479520256 今天在做留言功能的时候,需要在页面展示markdown语法 这里给大家推荐: showdown ,感觉它还不是特别好用,但着实简单。 1、安装引入 1、可以使用 npm 安装,但是...

小道仙的后宫 1663

nuxt-markdown-blog-starter如何把Markdown变成Vue渲染函数:frontmatter-markdown-loader双模式与eval原理深度剖析

nuxt-markdown-blog-starter 是一个用 Nuxt + Vue 构建的 Markdown 博客模板,核心能力是把 `contents/` 目录下的 `.md` 文件编译成 Vue 渲染函数。本文带你弄清 frontmatter-markdown-loader 的两种工作模式,以及页面为什么用 `eval` 在运行时"复活"渲染函数——不需要背代码,读懂原理即可。 ## 一张

gitblog_00335的博客 391

Markdown插件 mavon-editor的使用以及在nuxt上的安装部署

mavon-editor是基于Vue的markdown编辑器。 最近打算搭建一个自己的个人博客,需要将md文件转换成html并渲染进页面,面向百度找了一个晚上,因为暂时只需要展示博客不需要编辑博客的功能,所以一开始是打算用marked加highlight.js完成的,但是在使用的过程中出现了样式很丑啊以及解析以后的html结构也不太符合当初的构思的问题,所以最后还是改用mavon-editor解决了。 安装及配置 Install mavon-editor (安装) $ npm install ma.

wyqvong的博客 1035

markdown html vue,nuxt+vue项目中要实现展示markdown文件

1、安装依赖npm i markdown-loader html-loader --savenpm i showdown --save2、配置nuxt.config.js文件build: {transpile: [/^element-ui/],/*** You can extend webpack config here*/extend (config, { isDev, isClient }) ...

weixin_33571513的博客 438

nuxt.js显示markdown文档

环境: Nuxt.js, markdown 背景: 编辑器中写的markdown 存到数据库, 现在要通过接口获取这些数据,并在页面上显示。 1、安装 ‘@nuxtjs/markdownit’ npm i @nuxtjs/markdownit 2、配置 nuxt.config.js export default { modules: [ '@nuxtjs/markdownit' ], markdownit: { runtime: true, pres

面向未来的历史 1773

nuxt1迁移奥nuxt2_使用新的Nuxt为Jamstack供电

nuxt1迁移奥nuxt2Been waiting for Nuxt 3.0 to build Jamstack (static) apps? No need for that. The latest Nuxt version, v2.14, may be just what you are looking for. 是否一直在等待Nuxt 3.0生成Jamstack(静态)应用程序? 没必要。 ...

weixin_26750481的博客 1116

nuxt如何通过 content目录新增md文件来新增html

这将列出所有 Markdown 文章,并生成链接到对应的页面。Nuxt 会自动解析 Markdown,并生成 HTML。,Nuxt 自动转换 Markdown 并渲染 HTML。解析 Markdown 文件并显示 HTML。在 pages/blog/[slug].vue。模块中,你可以通过 content/文件,并生成对应的 HTML 页面。文件,Nuxt 会自动生成对应的。,列出所有 Markdown 文章。,实现类似博客、文档站点等功能!,它也会自动生成静态 HTML。,无需手动创建 HTML 文件。

rock---you的博客 954

Nuxt MDC:为你的Markdown注入Vue组件的强大力量

Nuxt MDC:为你的Markdown注入Vue组件的强大力量 项目介绍 Nuxt MDC(MarkDown Components)是一个革命性的开源项目,它将普通的Markdown语法与Vue组件深度结合,使得开发者能够在Markdown文档中直接使用Vue组件,从而极大地增强了文档的交互性和动态性。无论你是开发文档、博客还是复杂的Web应用,Nuxt MDC都能为你提供前所未有的灵活性和强大...

gitblog_00942的博客 684

一个免费的开源的html转markdown语法的工具

一个免费的开源的html转markdown语法的工具 大家好,我是待兔,今天为大家分享一个由 www.helloworld.net 网站开发并开源的一个非常好用的工具 html2md 现在好的技术文章确实多,每天各种技术群里,各种技术社区,有很多质量非常好的技术文章,于是我们就收藏了,可是问题来了,我们收藏到哪呢? 怎么收藏呢? 微信群里发的文章,我们可以收藏 csdn中的技术文章我们也可以注册一个账号收藏 helloworld.net技术社区里面的文章再注册一个账号收藏 可是技术社区好多呢,每个社区都

九路 935

NUXT框架

一. 什么是服务器端渲染 1.服务端渲染 服务器端渲染:后端先调用数据库,获得数据之后,将数据和页面元素进行拼装,组合成完整的HTML页面,再直接返回给浏览器,以便用户浏览 例如:http://www.cnblogs.com/cate/design/ 2. 什么是客户端渲染 客户端渲染:数据由浏览器通过ajax动态取得,在通过js将数据填充到dom元素上最终展示到网页中,这样的过程叫做客户端渲染。 例如:https://h5.ele.me/misite/ 二. 服务器端渲染 vs客户端渲染 1.服务器端渲染

weixin_44415368的博客 1759
上一篇: 按行读取json文件转成insert的SQL语句
下一篇: Java反射理解
Hello_Ray
博客等级 码龄12年 147粉丝 128原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值