使用Prism高亮显示代码

简介: 使用CDN链接引入必备的文件,一个css,一个js文件。如下: (注意个别站点的cdn链接国内有时候无法访问,用之前可以先在浏览器测试一下)

image.png


在 HTML 文件中使用


引入cdn文件


使用CDN链接引入必备的文件,一个css,一个js文件。如下: (注意个别站点的cdn链接国内有时候无法访问,用之前可以先在浏览器测试一下)


<!DOCTYPE html>
<html>
<head>
  <title>Prism</title>
  <link href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.22.0/themes/prism.min.css" rel="stylesheet" />
</head>
<body>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.22.0/prism.min.js"></script>
</body>
</html>


高亮显示代码

CSS, JS如果是直接高亮显示


代码,写在 <pre><code> ... </code></pre> 中,设置对应的 language-xxx 属性,如直接显示css,js代码,高亮显示效果

image.png


...
<body>
  CSS
  <pre><code class="language-css">p { color: red; }</code></pre>
  JavaScript
  <pre><code class="language-js">function getName() { return 'Mike'; }</code></pre>
  <pre><code class="language-js">function getName() { 
  return 'Mike'; 
}</code></pre>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.22.0/prism.min.js"></script>
</body>
...


代码格式化显示需要单独处理, 如js代码格式化高亮显示


<pre><code class="language-js">function getName() { 
  return 'Mike'; 
}</code></pre>
复制代码

HTML

直接在 <pre><code> 标签中显示 HTML 内容是不能直接高亮显示原代码的,浏览器会直接解析标签,如 <h1>Title</h1>

image.png


HTML
<pre><code class="language-markup"><h1>Title</h1></code></pre>
<pre><code class="language-html"><h1>Title</h1></code></pre>
复制代码


正确高亮显示 HTML 需要引入 plugin 解决, 一个 css prism-unescaped-markup.min.css, 一个 js prism-unescaped-markup.min.js, 使用 script type="text/plain" 包一下

image.png


<link href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.22.0/plugins/unescaped-markup/prism-unescaped-markup.min.css" rel="stylesheet" />
...
HTML code
<pre><code><script type="text/plain" class="language-markup"><h1>Title</h1></script></code></pre>
...
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.22.0/plugins/unescaped-markup/prism-unescaped-markup.min.js"></script>
复制代码


高亮显示外部文件


如果代码太多,又需要格式化显示,可以使用外部文件的方式, 使用 <pre> 标签的 data-src 属性引入文件. 默认支持 html,css,js,svg

image.png


HTML file
<pre data-src="./assets/index.html"></pre>
CSS File
<pre data-src="./assets/main.css"></pre>
JS File
<pre data-src="./assets/code.js"></pre>
SVG File
<pre data-src="./assets/logo.svg"></pre>
复制代码


如果高亮显示 python 外部文件代码,需要引入一个 plugin prism-autoloader.min.js 文件. 其他类型同样思路 (注意文件引入顺序)

image.png


...
<body>
  ...
  HTML file
  <pre data-src="./assets/index.html"></pre>
  CSS File
  <pre data-src="./assets/main.css"></pre>
  JS File
  <pre data-src="./assets/code.js"></pre>
  Python File
  <pre data-src="./assets/code.py"></pre>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.22.0/prism.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.22.0/plugins/autoloader/prism-autoloader.min.js"></script>
</body>
...


总结


目前体验的功能就那么多,还有一些其他特性没用到,主要用于基本了解和练习,实际使用的时候有问题再进行记录,下一步在 vue 项目里使用 Prism。


Github 项目源码


github.com/gywgithub/e…


参考链接


prismjs.com

cdnjs.com/libraries/p…

prismjs.com/plugins/une…


目录
相关文章
|
存储 机器学习/深度学习 人工智能
知识图谱入门一:知识图谱介绍,Neo4j下载、安装基本使用
知识图谱入门一:知识图谱介绍,Neo4j下载、安装基本使用
1324 1
知识图谱入门一:知识图谱介绍,Neo4j下载、安装基本使用
|
1月前
|
机器学习/深度学习 传感器 人工智能
实力强劲的机器视觉公司有哪些:2025年TOP5精选榜单
科技迭代驱动工业升级,机器视觉成自动化核心。本文基于资质、技术与口碑,精选TOP5机器视觉公司:德创测控、海康威视、康耐视、基恩士、大华华睿,覆盖全链条方案,助力企业降本增效、智能转型。
|
5月前
|
机器学习/深度学习 人工智能 API
AI 发展 && MCP
AI发展——计算机视觉、ChatGPT、Sora、DeepSeek、生成式AI。什么是MCP,Prompt、LLM、Function Call、Agent、MCP是什么,各自区别;MCP如何工作,MCP架构、MCP Server工作原理,Cursor如何使用MCP,自定义MCP Server
965 46
|
3月前
|
前端开发 NoSQL Java
jeecg-boot
JeecgBoot 是一个基于 Spring Boot 和 Vue3 的低代码开发平台,支持快速构建企业级应用。平台提供源码下载、技术架构清晰,涵盖前后端详细配置及代码生成指南。用户可通过 GitHub 获取源码,使用 IDEA 和 WebStorm 开发,结合 MySQL、Redis 等组件实现系统搭建。平台内置代码生成功能,支持表单开发、菜单配置与权限管理,便于快速实现增删改查等业务需求。
 jeecg-boot
|
5月前
|
BI 区块链 数据安全/隐私保护
保险理赔不用“死磕”电话客服了?聊聊区块链优化保险行业的那些事
保险理赔不用“死磕”电话客服了?聊聊区块链优化保险行业的那些事
183 1
|
10月前
|
机器学习/深度学习 边缘计算 人工智能
《深度剖析:边缘计算与AI融合下,生成对抗网络部署的变革与展望》
在数字化时代,数据量激增对实时性和隐私保护提出更高要求。边缘计算与AI的融合成为关键路径,尤其生成对抗网络(GAN)的部署方式正经历变革。传统GAN依赖云端资源,存在延迟、带宽和隐私风险。边缘计算使GAN可在本地或与云端协同部署,提升实时性与安全性。新部署方式包括边缘设备本地部署、边缘-云协同及分布式边缘部署,但面临资源限制、网络不稳定和数据安全等挑战。通过模型压缩、自适应通信及加密技术,GAN可更好地满足各行业需求,推动其广泛应用。
293 3
|
存储 NoSQL API
使用Py2neo进行Neo4j图数据库的增删改查操作
使用Py2neo进行Neo4j图数据库的增删改查操作
521 5
|
存储 边缘计算 安全
5G 边缘计算的安全保障:构建可信的边缘智能
5G 边缘计算的安全保障:构建可信的边缘智能
502 0
|
iOS开发 数据格式
iOS - Quartz 2D 第三方框架 Charts 绘制图表
1、Charts 简介 使用第三方框架 Charts 绘制 iOS 图表。GitHub 源码 Charts Charts 是一款用于绘制图表的框架,可以绘制柱状图、折线图、K线图、饼状图等。Charts 只有 Swift 版本。
2914 1
|
人工智能 文字识别 安全
温习数据算法—js滑块验证码
温习数据算法—js滑块验证码

热门文章

最新文章