这次出一个题外的(满足后台私信我的)

昨天有位粉丝后台私信我,说要出一个前端的高亮代码输出,安排一下!

前端代码高亮详解:从基础到放弃

选择合适的工具

目前,常用的代码高亮库有 Prism.jsHighlight.js。我们将分别介绍这两个库,帮助你选择最适合的工具。

Prism.js

优点:

  • 轻量级,性能优越。
  • 支持丰富的编程语言。
  • 容易定制和扩展。

缺点:

  • 需要手动引入不同语言的支持文件。
Highlight.js

优点:

  • 自动检测编程语言。
  • 支持广泛的编程语言和主题。
  • 社区活跃,更新频繁。

缺点:

  • 相对于 Prism.js,体积较大。

安装和引入库

Prism.js
  1. 引入 CSS 和 JavaScript 文件

    <link href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.23.0/themes/prism.min.css" rel="stylesheet" />
    <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.23.0/prism.min.js"></script>
    

    2.引入特定语言支持

    <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.23.0/components/prism-javascript.min.js"></script>
    

    Highlight.js 

引入 CSS 和 JavaScript 文件

<link href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.7.2/styles/default.min.css" rel="stylesheet">
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.7.2/highlight.min.js"></script>

自动检测和高亮代码

<script>hljs.highlightAll();</script>

基本使用方法

Prism.js
  1. HTML 示例

<pre><code class="language-javascript">
// JavaScript 代码示例
function sayHello() {
    console.log("Hello, World!");
}
</code></pre>

JavaScript 无需额外 JavaScript 代码,Prism.js 会自动处理。

Highlight.js
  1. HTML 示例

<pre><code class="javascript">
// JavaScript 代码示例
function sayHello() {
    console.log("Hello, World!");
}
</code></pre>

2.JavaScript

<script>hljs.highlightAll();</script>

高级配置

自定义主题和样式

Prism.js
  1. 选择主题 你可以从 Prism.js 主题库 中选择适合的主题,引入相应的 CSS 文件。

  2. 自定义样式

pre[class*="language-"] {
    background: #f5f5f5;
    border-radius: 5px;
    padding: 10px;
}

code[class*="language-"] {
    color: #d6336c;
}
Highlight.js
  1. 选择主题 访问 Highlight.js 主题库 选择适合的主题,引入相应的 CSS 文件。

  2. 自定义样式

pre {
    background: #282c34;
    border-radius: 5px;
    padding: 10px;
    overflow: auto;
}

code {
    color: #61dafb;
}

动态加载代码

Prism.js
  1. HTML

<pre><code id="dynamic-code" class="language-javascript"></code></pre>

2.JavaScript

<script>
document.getElementById('dynamic-code').textContent = `
// 动态加载的 JavaScript 代码
function greet(name) {
    return \`Hello, \${name}!\`;
}
`;
Prism.highlightElement(document.getElementById('dynamic-code'));
</script>
Highlight.js
  1. HTML

<pre><code id="dynamic-code" class="javascript"></code></pre>

2.JavaScript

<script>
document.getElementById('dynamic-code').textContent = `
// 动态加载的 JavaScript 代码
function greet(name) {
    return \`Hello, \${name}!\`;
}
`;
hljs.highlightElement(document.getElementById('dynamic-code'));
</script>

 完整示例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>代码高亮示例</title>
    <!-- 引入 CSS 和 JavaScript 文件 -->
    <link href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.23.0/themes/prism.min.css" rel="stylesheet" />
    <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.23.0/prism.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.23.0/components/prism-javascript.min.js"></script>
</head>
<body>
    <h1>代码高亮示例</h1>
    <pre><code class="language-javascript">
    // JavaScript 代码示例
    function sayHello() {
        console.log("Hello, World!");
    }
    </code></pre>
    <pre><code id="dynamic-code" class="language-javascript"></code></pre>
    <script>
    document.getElementById('dynamic-code').textContent = `
    // 动态加载的 JavaScript 代码
    function greet(name) {
        return \`Hello, \${name}!\`;
    }
    `;
    Prism.highlightElement(document.getElementById('dynamic-code'));
    </script>
</body>
</html>

结论

通过本篇文章,我们详细介绍了如何在前端实现代码高亮。无论是选择工具、安装引入、基本使用,还是高级配置和实际案例,希望你能在项目中实践并提升代码的展示效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值