·

How to setup PrismJS and Autoloader plugin with Nuxt 3?

Published at 2024-06-26 10:40:11Viewed 686 times
Professional article
Please reprint with source link

In previous the article Mathjax loads slow. How to load local JS file with Nuxt?, we explain how to render math equations in Nuxt.js using local CDN. With local CDN, we could easily load many Javascript libraries without slowing down our page loading.

PrismJS is a light Javascript library that highlights the code blocks on your pages. In the ordinary way that setup PrismJS (see How to do syntax highlighting for code blocks in Nuxt?), you need to import the file of almost every language that you need to highlight. For example, to highlight Typescript, you need to add import "prismjs/components/prism-typescript".  This is absolutely troublesome.

However, PrismJS has multiple plugins that extends its functionality. The Autoloader plugin can automatically load the language you need, so you don't have to import the files of all your needed languages one by one.

The easiest way to load Autoloader plugin is to use CDN. In this article, we will use the same method, which we used to load Mathjax, to setup PrismJS together with its autoloader plugin in Nuxt 3.

1. First, download the source code of PrismJS from Github:

https://github.com/PrismJS/prism/archive/refs/tags/v1.29.0.zip.

Or you can download it with npm:

npm install prismjs

2. Next, move it into the public directory in your Nuxt project. The directory structure will look like the following:

Nuxt-app/
     node_modules
     pages
     ...
     public/
        prismjs

3. Finally, configure your nuxt.config.ts, which will look like the following:

  css: [
    "prismjs/themes/prism-tomorrow.css"
  ],
  app: {
    head: {
      link: [{ rel: "icon", type: "image/png", href: "/favicon.svg" }],
      script: [
        {
          src: "/prismjs/components/prism-core.min.js",
          tagPosition: "bodyClose",
        },
        {
          src: "/prismjs/plugins/autoloader/prism-autoloader.min.js",
          tagPosition: "bodyClose",
        },
    ]
}

Note that we must add tagPosition: "bodyClose", because the script tag is placed in body not head. Now, PrismJS will automatically load every language you need, and all you need to do is just calling highlightAll().

0 人喜欢

Comments

There is no comment, let's add the first one.

弦圈热门内容

弦圈1月2日更新日志

今天收到用户的反馈 无法从消息中心的回复与评论中进入帖子后,我马上对消息中心回复与评论部分功能,进行了优化升级。目前无论是回复和评论,都会带上原文链接。这里还有一个坑我暂时没想到解决办法,就是打开原文链接,页面会直接滑到相应的回复或者评论,就跟b站一样。然后除了原文链接,我还加上了快捷回复、快捷点赞、快捷踩,方便用户看到回复或评论后马上进行操作。这里我没有采用知乎的那种评论对话框模式。接着我将加载更多信息的方式,从点击按钮“更多信息”,改成了分页模式。因为如此大量的评论以及回复,就是一个信息无底洞,怎么加载都加载不完,而且用户也很难控制自己看哪些评论或回复。因此在这种情况下,我还是觉得分页的体验会更好,b站使用的是无限滚动,这在信息比较少的时候确实不错,但却非常不利于信息的管理,同时也会浪费那些需要经常查看信息并回复的用户的时间(可能是b站想强行增加用户停留时间吧😅)。话说私信功能其实目前仍不支持,主要是我担心socket.io所可能导致的性能问题。或者放弃实时性,改用轮询或者长连接,因为一般而言除了聊天软件,私信功能似乎不需要什么实时性🙃。之后弦圈活跃度高的时候再慢慢考虑吧。

无法从消息中心的回复与评论中进入帖子

比如说有人回复了自己的评论,自己想再进行回复,但是从消息中心中不能回到那个帖子里面

弦圈新年2025年1月1日更新日志,祝大家新年快乐!

今天在收到用户的反馈 动画效果和弹窗不自动关闭 后,我马上停下自己手头上的工作将问题修复好。首先,词条相关内容,以及搜索结果的动画,全部去掉“鼠标移动到上面后向上运动”的动画,因为似乎无论用啥办法也无法避免字体的抖动,不同方法只是抖动程度不同。我也懒得去搜寻了,直接换了个新动画。然后我修复了变更圈子的漏洞,如果目标变更圈子还是原来的圈子,则会弹出提示,不会做多余的变更。弄完这些以后,我顺手增加了“圈内搜索”功能,然后还在几处地方修改了鼠标的样式。最近这两天我一直想给弦圈弄个好的搜索引擎,用于站内搜索。目前可用的技术中人气最高的两个是Solr、Elastic search。这两个我都尝试了,最后都无功而返,太复杂了,不明所以的报错以及网上极少的资料,实在不好弄。接着我又尝试了MySQL自带的full text search,结果是中文搜索结果不好。而购买腾讯云现成的ES集群又很贵(一个月上千块),因此最后我不得不暂时放弃这个计划。最后祝大家新年快乐,新的一年里paper多多!也祝大家在新的一年里好好学习,天天向上!😇

拓扑学入门教材Topology Without Tears😭无泪拓扑学

这是本2019年出版的拓扑学教材,目前已被翻译成全国语言,可见其火爆,名字更是让我哭笑不得😂。可惜当年的我并不知道有这本书的存在,也是今天搜索后才得知原来有这本书,看第一眼就被这本书的内容所吸引了,确实是一本很好的拓扑学入门教材。比起我之前推荐的那些要好多了,Dugundji拓扑学基础教材Topology这本教材虽然也能入门,但内容过于庞杂,其实只适合当词典查,不太适合小白;而代数拓扑那两本教材更不用说,压根重点就不在一般拓扑学。我当初并没有系统性的学习过拓扑学,本身就对一般拓扑学这方面的教材了解不多。而且2019年的时候,我应该在读高二吧,那时候的我都在看Loring W Tu微分几何经典入门教材:An Introduction to Manifolds和Jürgen Jost黎曼几何与几何分析教材:Riemannian Geometry and Geometric Analysis了,因此对于专门找本一般拓扑学教材学习这方面已经没啥需求了,从而完美错过这本书😢。可能是因为拓扑学我并没有感受到多少压力,虽然很喜欢Topology Without Tears这个名字,但并没有多少共鸣。 ...

可以尝试细分弦圈的部分

例如分析学可以再分支成微积分,实分析,复分析等等这样。不然的话例如一些比较基础简单的文章可能会格格不入,并且初学者可能是只学习简单的内容,但是圈子里都是高难度的。或者类似地划分内容和难度??

中国最经典的60首现代诗,一生至少要读一次!

现代诗也叫"白话诗",最早可追源到清末,是诗歌的一种,与古典诗歌相比而言,虽都为感于物而作,但一般不拘格式和韵律。现代诗形式自由,意涵丰富,意象经营重于修辞运用,完全突破了古诗"温柔敦厚,哀而不怨"的特点,更加强调自由开放和直率陈述与进行"可感与不可感之间"的沟通。中国代表人物:徐志摩、北岛、顾城、海子等徐志摩(1897—1931年)徐志摩,现代诗人、散文家。新月派代表诗人,新月诗社成员。在剑桥两年深受西方教育的熏陶及欧美浪漫主义和唯美派诗人的影响,奠定其浪漫主义诗风。代表作品有《再别康桥》《翡冷翠的一夜》。1. 再别康桥轻轻的我走了,正如我轻轻的来;我轻轻的招手,作别西天的云彩。那河畔的金柳,是夕阳中的新娘;波光里的艳影,在我的心头荡漾。软泥上的青荇,油油的在水底招摇;在康桥的柔波里,我甘心做一条水草!那榆荫下的一潭,不是清泉,是天上虹 揉碎在浮藻间,沉淀着彩虹似的梦。寻梦?撑一支长蒿,向青草更青处漫溯,满载一船星辉,在星辉斑斓里放歌。但我不能放歌,悄悄是别离的笙箫;夏虫也为我沉默,沉默是今晚的康桥!悄悄的我走了,正如我悄悄的来;我挥一挥衣袖,不带走一片云彩。2. 我不知道风是在哪一 ...

动画效果

以 https://www.manitori.xyz/circles/9/encyclopedia/27  这个界面为示例,相关内容哪里,鼠标上下移动的时候会出现动画,但是动画效果不太好,字体上下浮动给人视觉压力较大,字体抖动严重

弹窗不自动关闭

提交以后该界面不会自动关闭,应再提交以后自动关闭该弹窗

【荐读】十首最美现代诗,一生至少读一次

如果席慕容 今生今世 永不再将你想起除了除了在有些个因落泪而湿润的夜里 如果如果你愿意   可笑时间哪有什么如果,可是没有如果,只是没有如果。爱情叶挺王 有一天路标迁了希望你能从容有一天桥墩断了希望你能渡越有一天栋梁倒了希望你能坚强有一天期待蔫了希望你能理解   是期待么?可能只是不甘吧,用最深情且最无奈的语气。远和近顾城 你一会看我一会看云我觉得你看我时很远你看云时很近   距离,什么都不用说,什么都不用表达。断章卞之琳 你站在桥上看风景,看风景人在楼上看你。明月装饰了你的窗子,你装饰了别人的梦。   含蓄隽永,优美如画,别有一番滋味在心头。独语覃子豪 我向你倾吐思念你如石像沉默不应如果沉默是你的悲抑你知道这悲抑最伤我心   明快晓畅,冷峻凄怆,思念繁复,用情至深。一代人顾城 黑夜给了我黑色的眼睛我却用它寻找光明 短短两句诗,诠释了一代人的不屈精神。面朝大海,春暖花开海子 陌生人,我也为你祝福愿你有一个灿烂的前程愿你有情人终成眷属愿你在尘世获得幸福我只愿面朝大海,春暖花开   面朝大海,春暖花开。只这一句,就足以让这位流星诗人得以永恒。乡愁余光中 后来,乡愁是一方矮矮的坟墓我在外头 ...

谷歌量子计算突破引发争议,国产科技潜力不可小觑

2024年12月9日,谷歌宣布推出新一代量子计算芯片Willow,引发了网友们的热烈讨论。在很多评论中,有人认为谷歌的技术遥遥领先,激起了外界的关注和质疑。量子计算技术作为未来科技发展的重要前沿,始终是科技界讨论的热点。一般来说,量子计算机的表现取决于其拥有的量子比特(qubits)数量及其稳定性。按照目前的研究,数量越多,出错的几率也越高。然而,谷歌的研究人员在此次发布会上自信地表示,Willow芯片通过创新的设计,成功大幅减少了错误,扭转了这一不利局面。其重要的技术突破包括量子纠错的新方法,和在更大规模的量子比特基础上实现指数级的计算效率提升。根据谷歌的说法,Willow芯片在不足五分钟内就完成了一项“标准基准计算”,而现有最快的超级计算机需要耗费一个近乎无法想象的时间——“10的25次方”年才能完成这一任务,这个数字远超宇宙的年龄。显然,在威力如此巨大的技术背后,量子计算机的实际应用也在不断拓宽,包括药物研发、聚变能研究和电池设计等领域,潜力无限。不过,谷歌的这一宣称也受到了一些业内人士的怀疑,认为其技术创新或许只是个噱头。电动汽车巨头、科技创新推动者马斯克也对此发表了意见,建议 ...

潘禺:谷歌量子计算芯片给了国内产业界紧迫感

【文/观察者网专栏作者 潘禺】12月10日,谷歌重磅推出量子计算芯片“Willow”,在公关宣传攻势下,马斯克送上了“Wow”,奥特曼也发来了贺电。Willow是一款拥有105个物理量子比特的量子芯片,亮点在于其惊人的计算速度和错误校正能力。据报道,Willow能在不到5分钟的时间内完成一个标准计算任务,而这个任务如果交给全球最快的超级计算机,可能需要超过10-25年,这个数字甚至超过了宇宙的年龄。Willow的另一个成就是其指数级减少错误率的能力。随着量子比特数量的增加,错误率通常会指数增长,但Willow通过先进的量子纠错技术,实现了错误率的指数级降低。每当晶格从3x3增加到5x5,再到7x7时,编码错误率就会以2.14的倍率降低。这种对逻辑错误的潜在抑制为运行有纠错的大规模量子算法奠定了基础。Google Quantum AI团队的工作环境权威专家的反应量子计算的教主和旗手,美国计算机科学家Scott Joel Aaronson在他的博客也做了一些点评,尽管整体上比较积极乐观,但话里话外还是有一些玄机。比如,Aaronson要读者明确,进步大体上符合多数人的预期:对于过去五年一直 ...

一文读懂量子计算:现已进入“实用阶段”,“量子时代”即将到来

划重点:量子计算首次出现于20世纪80年代初,主要依靠量子力学来解决复杂的、以前不太可能解决的计算问题。IBM于2019年推出了首个IBM Q System One量子计算系统,谷歌也声称其实现了“量子霸权”。尽管量子计算行业的实际同比增长率仅为1%,但该领域初创企业2022年获得的总投资达到23.5亿美元。多数首席信息官和IT领袖认为量子计算并未被过分炒作,他们希望更多地关注这项技术,以了解即将到来的颠覆。十年内具有主动纠错功能的大型量子计算机有望诞生,21世纪也将因此被视为“量子时代”。腾讯科技讯 量子计算是一个新兴的科学领域,由于它在许多行业拥有着巨大的应用潜力,已经引起了许多国家和公司的兴趣。随着更多资源和资金的投入,量子计算技术正以极快的速度向前飞跃。有科学家预言,量子计算机正进入“实用”阶段,十年内具有主动纠错功能的大型量子计算机有望诞生,“量子时代的黎明”即将到来。01 量子计算将成改变人类历史进程的新里程碑量子计算这种变革性技术虽然仍处于起步阶段,但它将成为改变全球技术进程的科学趋势之一。量子计算首次出现于20世纪80年代初,是一种变革性的技术趋势,旨在通过快速有效地解 ...

理论深度高的数学分支(如代数几何,代数拓扑)的新一代一流数学家(如恽之玮)做研究之前一般学了多久呀?

知乎提问:感觉所需的预备知识太多,代数几何和代数数论目前只学了半年多一点。要不是我不够聪明,要不是从事这些方向的研究的预备学习时间过高。Peter Scholze倒16岁就能搞明白不少费马大定理的证明,估计他当时的学习速度比我现在的高好几倍。因此,我在学习这些过程中稍微产生了点消极感。我的回答(已删):扯淡,又在这里造谣,都说过了不要神化Peter Scholze,这是对人家的羞辱。建议看看我之前的回答,里面已经把具体的情况解释得很清楚了。求证:关于菲尔兹奖得主舒尔茨的这个非常特殊的说法,是否属实?Peter Scholze确实16岁的时候看费马大定理的证明了,但他什么都看不懂。在我看来,文献看不懂没关系,最重要的是你看不懂还能继续看下去,发现motivation,这最考验一个人的数学成熟度。数学家在做一个问题的时候,也不是全部知识都懂的,往往都是一边做问题一边学的,需要什么就学什么,这样才是效率最高的。我其实不是很明白为什么总要比多少岁看什么什么,好像这真的能完全反应一个人数学的科研能力、创造能力一样。不同的数学家风格截然不同,数学发展的路径也完全不同,很多都是非线性的。只能说有的大 ...

🇩🇪12.25 科隆

专门奔着科隆大教堂来的,只为一睹比圣家堂还牛逼,盖了600多年才交楼的烂尾楼。在里面休息的时候发现游客突然都不见了,然后发现刚好被困在了弥撒时间,来都来了于是硬着头皮速成天主教徒()管风琴的悠扬,唱诗班的吟唱,加上科隆大教堂内部本身就高大宽敞,现场气氛顿时圣洁了起来,亲身体验过真的非常震撼人心。下面的信徒们也纷纷起立捧着唱词本跟着吟唱,我只能强行跟着站起来aiueo了几句然后划十字阿门(毕生所学)神父念念有词了十来分钟只听懂了哈利路亚(悲)本来还想跟完事去讨块圣体尝尝,不知道为什么这次没有领用圣体的环节。不过也算是达成成就参加了一场天主教法事,还是在大名鼎鼎的科隆大教堂()

学习成绩差是一种罪吗?

知乎提问:学习成绩差是一种罪吗?我的回答(已删):能问出这种问题,证明如今社会上很多人被这种唯分数论洗脑的太严重了。学习成绩差怎么了,得罪谁了?学习成绩差本身没啥大不了的,但在zg的教育体制下,却有学习成绩差=坏孩子这种荒谬的事情。就好像在如今社会躺平就会被骂懒惰、不进取,被披上各种不友好的标签。这些都只不过是资本主义社会的产物,因为你懒惰不工作,就不能使资本发生增值,然后资本家就会跳出来给人们洗脑说这样做是不对的。况且学习成绩也跟一个人的实力没必然关系。就数学而言,数学成绩多少跟你数学的研究水平没有半毛钱关系。今年的fields奖得主Hub据说连Gre考试都做不完卷子,反应很慢,学习成绩很差,但这不影响他拿fields奖。本来考试这东西就是在有限的时间内考你教材里的内容,跟创新能力啥没有一点关系。原文发布于 2022-10-21 22:152022年当时应该大二吧,当时的菲尔兹奖得主对我还是挺鼓舞的,可以说是进一步鼓舞了我。之前我一直拿Witten、Bott等半路出家人的事例鼓舞自己,因为我就一普通得不能再普通的学生,在社会上毫无任何优势,唯一的优势或许就是早了解了那么点数学吧。