·

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

发布时间:2024-06-26 18:15:09阅读量:738
专业文章
转载请注明来源

你也想像其他网站那样,可以高亮用户写的代码块吗?有两个Javascript库可以帮助你实现这一点,他们分别是Prism.jshighlight.js。在本教程中,我们将使用PrismJS来讲解如何实现代码块高亮。

首先,使用npm安装PrismJS:

npm install prismjs

然后前往composables文件夹,并在里面新建文件prism.js,其内容如下:

import Prism from 'prismjs'
import 'prismjs/themes/prism-tomorrow.css' // You can choose other themes

export default Prism

就这样,PrismJS就安装并配置好了,你只需要每次需要高亮代码的时候调用highlightAll()函数就可以了。具体例子如下:

<script lang="ts" setup>
onMounted(()=>{
    Prism.highlightAll()
})

$fetch('https://www.example.com')
.then((res)=>{
    nextTick(()=>{
        Prism.highlightAll()
    })
})
</script>

此外,还需要注意的是,根据上面的配置,PrismJS只会高亮Javascript和其他少数几种语言。因此,如果你想要高亮更多的语言,就需要一个个地将他们的component引入到prism.js中。例如,如果你想要高亮typescript:

import Prism from 'prismjs'
import 'prismjs/themes/prism-tomorrow.css' // You can choose other themes
import "prismjs/components/prism-typescript"

export default Prism

如果你需要高亮的语言很多,那么一个个地引入他们的component会是一件非常麻烦的事情。为了避免这个问题,你可以使用PrismJS自带的Autoloader插件。然而在Nuxt中使用PrismJS的插件有点难,最简单的方法莫过于直接使用CDN来加载插件,这将在我们的下一篇文章中详细介绍。

0 人喜欢

评论区

暂无评论,来发布第一条评论吧!

弦圈热门内容

大白狼人杀非正规入门/提升手册

丘比特讲解篇之前有好一段时间没有及时更新文章,实感抱歉,今天为大家正式介绍一下比较有趣的角色--丘比特(如果之后有时间的话,可能会继续介绍如盗贼,混血儿和野孩子等角色),首先,我们来了解一下丘比特的功能是什么。丘比特:在游戏开始天黑的时候,法官会最先叫醒丘比特,并示意丘比特可以将两位玩家连成情侣(可以将自己也连进链子里),在丘比特闭眼之后法官会让被连在一起的情侣睁眼互相确认恋人号码(但是不同互通身份,即不能告知对方自己是否是狼人或是神民),之后的夜晚丘比特和情侣不会再再夜里睁眼(如果情侣非普通村民的话,在自己角色的环节依然睁眼正常听法官指挥行动)。1. 如果被丘比特连在一起的两个人都是好人的话,则情侣属于好人阵营,丘比特也属于好人阵营,丘比特和链子的胜利条件和好人阵营胜利条件一致。2. 如果被丘比特连在一起的两个人都是狼人的话,则情侣依旧属于狼人阵营,求比特也属于狼人阵营,丘比特和情侣胜利条件和狼人阵营一致。3. 如果被丘比特连在一起的两个人一个是好人,一个是狼人,则丘比特和链子属于第三方阵营,其胜利条件为杀光场上其他所有玩家(即屠城胜利),但要保证所有普通村民和所有神民两者在第三方阵 ...

狼人杀节目的发展史、现有动荡以及未来的路

一眨眼狼人杀的风潮快热了两年了,从第一个节目Lyingman第一季开始——那个时候的绝大部分主播都也还是懵懂状态,对狼人杀这个游戏都还是一知半解。在那时候还是DC大魔王在场上呼风唤雨,以及跟董大师的恩怨情仇;那时候的JY、PDD、09也都还相当稚嫩。遥记得第一季第四期09预言家那局黑死病,09到结束的时候仍一脸茫然——为啥我验谁挂谁,为啥一直验不到狼。Lm第一季虽然狼人杀板块十分短暂,但也是我开始了解狼人杀的第一步,从这以后慢慢开始懂得、明白这个游戏的乐趣和玩法。很快,躺男第二季与大家见面了,虽然第二季采用了11人的板子:3神(预女猎)3狼5民或者丘比特的板子,但是11人的板子还是一样富有乐趣。第二季里少帮主的指点江山以及他的爽朗笑声;嫖弟弟的满口骚话,加上不符合他脸大小的阿飞面具,根本掩盖不住他“强烈”的味道;kk小神每次拿狼时候那掩饰不住的慌张,还有他那不怕被喷的勇猛直爽的性格,虽然有些些倔强和偏激,但是也是在属于那一季的新人里最能给别人留下印象的玩家(当然为啥会清楚记得kk小神还是有第三季的加成);另外还有半路杀出的新世界卡密——半个橙子。在第六集和第七集里面半个橙子逆天的发言强 ...

狼人杀超详入门攻略

文章内容比较长~ 分角色介绍(游戏规则)、狼人战术以及其他各角色玩法三个方面~应该看完之后狼人杀入门是没什么问题了 &gt; &lt;1. 角色介绍(游戏规则)先介绍12人的标准局板子:四神(预言家,女巫,猎人,白痴),四狼,四民一般游戏流程为:1. 天黑,全体玩家闭眼。2. 狼人请睁眼,狼队请商量战术(一般最长给45s时间),狼人请杀人,狼人请闭眼。3. 预言家请睁眼,预言家请验人,预言家请闭眼。4. 女巫请睁眼,女巫昨天晚上死亡的是xx号玩家 ,是否要用药(女巫一天晚上只能使用一瓶药,且女巫使用解药以后就不能获知狼人杀人信息,如果使用了解药之后狼人晚上刀中女巫法官也不会给女巫提示是否是女巫中刀;女巫始终不能自救,即第一天晚上狼人刀中女巫后女巫只能选择使用毒药或者选择不使用药),女巫请闭眼5. 猎人请睁眼,你今天晚上的状态为 (法官每天晚上会叫醒猎人,如果猎人不幸被女巫甩中毒药,法官会给猎人一个手势表示第二天宣布死亡讯息的时候猎人不能发动技能,也不能询问法官是否能发动技能;若晚上法官没有给猎人手势则表示当晚猎人没有死亡或者被狼人杀害,第二天你可以自己选择是否发动技能,若翻牌则一定要发 ...

Grothendieck著名求职信:一个纲领的提纲(Esquisse d'un Programme)

在之前分享EGA的帖子代数几何教皇Grothendieck经典著作:代数几何原理EGA法语原版全系列中,我说过会把Grothendieck的其他著作都分享出来,包括《一个纲领的提纲》。一个纲领的提纲,法语原标题为Esquisse d'un Programme,翻译成英文即Sketch of a Programme。这是Grothendieck于1984年提交给CNRS的求职信。 关于该信更详细的背景可见遥远的声音。在这封信中,Grothendieck提出了一个宏伟的理论——远阿贝尔几何(anabelian geometry),即考虑任意代数簇的平展基本群“远离阿贝尔”的部分。可惜Grothendieck直到最后也没能将自己的构想实现,他在该领域留下了冗长且晦涩的《伽罗华长征》(之后我会分享自己收藏的长征节选)。但是远阿贝尔几何的思想却延续了下去,其与Langlands program并列为后Grothendieck时代代数几何的几大方向之一。正是基于Grothendieck的这些思想,才有了之后望月新一在远阿贝尔几何方面的研究成果把加法与乘法结构拆掉再复原?望月新一如何引发代数几何变革 ...

Loring W Tu微分几何经典入门教材:An Introduction to Manifolds

Loring W Tu的微分几何入门教材An Introduction to Manifolds,中译名为《流形导论》。这本教材十分适合对微分几何感兴趣的萌新小白作为入门教材,想当年高二的时候,我就是因为看Jürgen Jost的Riemannian Geometry and Analysis看不懂,转而看Loring W Tu的An Introduction to Manifolds补充基础。Loring W Tu的书可以说非常对我胃口,这本书首先内容完备,把微分几何所有重要的基础概念给你讲一遍,而且语言简洁明了、思路清晰、通俗易懂。初三到高中时期,我看过不少微分几何的教材,包括陈省身的《微分几何讲义》,最后还是Loring W Tu的An Introduction to Manifolds让我真正学懂了微分几何😄。本教材从最基础的欧几里得空间光滑函数开始讲起,并不需要太多的前置知识即可开啃😁,只需要有大学本科数分高代的一些基础即可。而且其中的数学英文也并不需要太高的水平,因此也适合初步开始读英文文献的小白用于锻炼自己的英文数学阅读能力。Loring W Tu除了这本流形导论,还有一 ...

Atiyah交换代数经典入门教材:Introduction to Commutative Algebra

在上帖中,我分享了Zariski的交换代数教材:Zariski交换代数经典教材Commutative Algebra系列(pdf可复制版)。其实交换代数方面,除了Zariski的教材,还有Atiyah的Introduction to Commutative Algebra,以及Matsumura的Commutative Ring Theory可以作为交换代数的入门教材。Atiyah的教材是这三本教材中最简单的,Zariski的教材虽然很完备,但是篇幅过长,而且内容太过经典了,没有Atiyah的教材那样更加贴近新时代。而Matsumura的教材篇幅要比Atiyah的长一些,而且似乎感觉Atiyah的表达更加通俗易懂一些,毕竟Atiyah是众所周知的大师级人物。下面我们来回忆一下Atiyah的一些人物轶事。Atiyah作为与Serre齐名的伟大数学家,他最著名的工作即是与辛格一起证明了指标定理(Atiyah-Singer Index Theorem)。而Atiyah也与Grothendieck关系匪浅,见下图😁而Atiyah对物理也同样非常感兴趣,他与很多物理学家合作研究过,包括知名的唯一 ...

Matsumura交换代数入门教材:Commutative Ring Theory

在前面两帖Zariski交换代数经典教材Commutative Algebra系列(pdf可复制版)和 Atiyah交换代数经典入门教材:Introduction to Commutative Algebra 中,我分享了Zariski和Atiyah的交换代数教材。在本帖中,我把Matsumura的教材也分享出来。在这里我重新回顾一下这三本教材的区别。首先,Zariski的教材很完备,但是篇幅过长,而且内容太过经典了,没有另外两本那么与时俱进。因此Zariski的教材更加适合作为交换代数的词典用于查阅。当然如果你不需要按部就班从头到尾的看完一本书,Zariski的教材选择性的跳着看,完全可以作为入门教材。我高中的时候就是看Zariski的教材的。Atiyah的教材是这三本教材中最简单的,也是篇幅最短的。而Matsumura的教材篇幅要比Atiyah的长一些,并且Matsumura的教材有一些Atiyah中没有的概念,因此也值得一读,不过Atiyah教材的表达要更加通俗易懂一些。因此,我的建议是三本教材都读一读,但没必要全部看完,把需要掌握的基础概念都掌握了就行。读文献时有些术语找不到, ...

记录一下知乎问题《你的编程能力从什么时候开始突飞猛进?》

自从我为了完成毕设而开始全栈写网站,我的编程能力就跟打了鸡血一样,我做梦都没想到自己居然能写出一个像样的网站 弦圈 - 找到属于你的圈子 (manitori.xyz)(不喜勿喷)。原本我是个对编程一窍不通的人,我只对数学感兴趣,对编程可谓是不屑一顾,每次上编程课,我都在下面摸鱼看数学的内容。课后作业以及大作业,要么是CV缝合弄好的,要么就是等别的同学写完直接拿一份抄来应付的。直到后来,我得知毕业的时候只能写毕业设计,不能写纯数学方面的毕业论文,我感觉天都塌了。在距离答辩还有一年的时间里,我某天突然突发奇想的想找些项目来写写玩玩,于是就是梦开始的地方。我第一次接触到了开发网站这个东西(虽然这玩意已经存在很多年了),知道了Vue.js,接着知道了用Python可以做后端,然后就开始上手写个前后端分离的网站。刚开始我也只是随便写写,能应付得了毕设就得了。可是写着写着,我发现自己对编程越来越感兴趣,同时也越写越顺手、越熟练。然后我就开始没日没夜的写,最后经过六个月的开发,第一个网站 弦圈 - 找到属于你的圈子 (manitori.xyz) 于今年4月4日终于上线了。关于编程,我感觉是只有你真正 ...

我们的宇宙并不是由纯数学构成的

在理论物理学的前沿,许多最流行的想法都有一个共同点:它们都从一个数学框架开始,这个框架试图解释比我们目前流行的理论更多的东西。我们目前的广义相对论和量子场论框架在它们所做的事情上很出色,但它们并不是万能的。它们从根本上是不相容的,不能充分解释暗物质、暗能量,也不能充分解释为什么我们的宇宙充满了物质而不是反物质,以及其他谜题。数学确实使我们能够定量地描述宇宙,如果应用得当,它是一种非常有用的工具。但宇宙是一个物理实体,而不是数学实体,两者之间有很大区别。这就是为什么单靠数学,我们永远不足以得出万物的基本理论的原因。16 世纪最大的谜团之一是行星如何以逆行的方式运动。这可以通过托勒密的地心模型(左)或哥白尼的日心模型(右)来解释。然而,要获得任意精度的细节需要我们在理解观察到的现象背后的规则方面取得理论进展,这导致了开普勒定律和牛顿的万有引力理论。大约 400 年前,一场关于宇宙本质的争论正在展开。几千年来,天文学家一直使用地心模型准确描述行星的轨道,在这个模型中,地球是静止的,其他所有物体都围绕着它旋转。借助几何数学和精确的天文观测——包括圆、等距圆、均轮和本轮等工具,天体轨道的精确数学 ...

为什么可能没有体积的量子所组成的物质却有体积?

当你测量和观察周围的宇宙时,有一件事是可以肯定的:你看到、触摸到并以其他方式与之互动的物理对象都占据了一定的空间体积。无论是固体、液体、气体还是物质的任何其他形态,它都需要消耗能量来减少任何有形物质所占的体积。然而,看似矛盾的是,作为物质的基本成分,标准模型的粒子却根本没有可测量的体积;它们只是点粒子。那么,由无体积实体组成的物质如何占据空间,创造出我们所观察到的世界和宇宙呢?让我们从我们熟悉的事物开始,一步步分解,直到我们深入到支撑我们存在的量子规则。最后,我们可以从那里开始逐步向上。上图显示了对应于电磁波谱各个部分的尺寸、波长和温度/能量尺度。你必须使用更高的能量和更短的波长来探测最小的尺度。紫外线足以使原子电离,但随着宇宙的膨胀,光会系统地转移到更低的温度和更长的波长。如果你想了解体积,那么你必须了解我们测量物体大小的方式。确定宏观实体大小的方式通常是将其与已知大小的参考标准进行比较,例如尺子或其他测量棒。或者测量弹簧(或类似弹簧的物体)因该物体而位移的力、测量光穿过物体跨度所需的传播时间,甚至通过用特定波长的粒子或光子撞击物体的实验反馈来进行确定。正如光具有由其能量定义的量子力 ...

波尔兹曼大脑:宇宙中漂浮着至少7万5千亿亿亿个意识体

在这个广袤无垠的宇宙中,我们总爱幻想自己独一无二,是万物之灵。但你知道吗?根据某个奇妙的科学理论,你、我,甚至整个地球,可能都只是宇宙中随机“涨落”出来的一个意识体——没错,这就是让人脑洞大开的“玻尔兹曼大脑”假说!熵增定律:宇宙为何越来越“乱”?你的房间如果不打扫,是不是会越来越乱?这就是“熵增定律”在生活中的体现。简单来说,熵就是系统混乱程度的量度,而熵增定律则告诉我们,一个孤立系统的熵总是趋向于增加,直到达到最大化,也就是系统变得最混乱。宇宙,作为一个巨大的孤立系统,按理说也应该遵循这一法则。但奇怪的是,我们观测到的宇宙,似乎是从一个极其有序、熵极低的状态开始的。这,是为什么呢?玻尔兹曼的“脑洞”:宇宙其实是个“随机播放器”?这时,奥地利物理学家路德维希·玻尔兹曼登场了。他提出,熵增定律其实是统计性的,就像抛硬币,虽然正面朝上的概率是50%,但在无限次抛掷中,正面和反面出现的次数会趋于相等。同样,宇宙在大部分时间处于高熵态,但无限的时间尺度上,偶尔也会有“小概率事件”发生,即熵的随机涨落导致低熵态的出现。换句话说,我们现在所看到的这个有序、低熵的宇宙,可能只是一次“宇宙级”的随机 ...

Jürgen Jost黎曼几何与几何分析教材:Riemannian Geometry and Geometric Analysis

这本书是几何分析方面的入门教材,该教材先从最基本的黎曼流形讲起,然后逐步深入到李群和向量丛,接着到联络与曲率,基本上覆盖了几何分析很多重要的基础概念。这本书需要有一定的微分几何基础以及分析、李群等相关领域的基础,初学者谨慎使用。我高中的时候,就是对这本书的内容感兴趣,想要尝试理解,结果看到测地线就不懂了,接着后面看了点李群和向量丛就没再看了。建议先读Loring W Tu的两本微分几何教材Loring W Tu微分几何经典入门教材:An Introduction to Manifolds和Loring W Tu微分几何教材:Differential Geometry Connections, Curvature, and Characteristic Classes,有了一定的基础再专研Jürgen&nbsp;Jost的这本教材。我毕竟不是做微分几何的,所以关于这方面的就不说太多了。

Loring W Tu微分几何教材:Differential Geometry Connections, Curvature, and Characteristic Classes

在上帖Loring W Tu微分几何经典入门教材:An Introduction to Manifolds中,我提到高中时期,我为了看懂Jürgen Jost的几何分析教材Riemannian Geometry and Analysis,转而看Loring W Tu的An Introduction to Manifolds以及Differential Geometry Connections, Curvature, and Characteristic Classes。这本教材可以说是An Introduction to Manifolds的后续,建议先看一下An Introduction to Manifolds有了流形的基础,再看这本Connections, Curvature, and Characteristic Classes。本书开始就直接先从黎曼流形开始讲起,接着就讲曲率、联络这些微分几何进阶的重要基本概念。这也是为什么当初我会选择看这本书,因为这些内容刚好有助于我理解Riemannian Geometry and Analysis这本教材的内容(记得当时看到测地线就看不 ...

素数在整数整环中还是素的吗?

我的提问:一个整环$R$中的元素$p$是素的,如果$p$不是零或者一个单元,并且$p|ab$意味着$p|a$或者$p|b$(等价的$ab\in Rp$意味着$a \in Rp$或者$b\in Rp$)。一个整环$R$的元素$q$是不可约的,当$q$不是零或者一个单元,并且$q = ab$意味着$a$或$b$是一个单元。那么素数在整数整环中是素的吗?然后素数都是不可约的吗?回答1:这两个问题的都是对的。根据基础数论的事实,$\pm 1$是唯一可逆的整数,除$\pm 1$以外的整数可以唯一地表示为不同素数的乘积加上$\pm$,每个素数的幂都是正整数,这两个结果都很容易得到。回答2:素数在整数整环中既是素的,也是不可约的。根据定义,它们就是不可约的。为了证明它们是素的,请回顾一下欧几里得算法,该算法用于找到两个整数的GCD(并同时证明任意两个整数都有一个在等价意义下唯一的GCD,其中并不涉及素数的分解)。根据欧几里德算法可以得出,如果$d=\gcd(a,b)$对两个整数$a,b\in\mathbb Z$,则存在整数$u,v\in\mathbb Z$使得$d=ua+vb$。(贝祖特性。)现在, ...