问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Code Highlighting

创作时间:
作者:
@小白创作中心

Code Highlighting

引用
1
来源
1.
https://docs.pingcode.com/baike/2255844

在前端开发中,代码高亮是一种常见的需求,可以提升代码的可读性和美观度。本文将详细介绍三种通过JavaScript实现代码高亮的方法:使用Highlight.js、Prism.js和自定义JavaScript代码。

一、使用Highlight.js

Highlight.js是一个非常流行的代码高亮库,支持多种编程语言,并且易于使用。

1、引入Highlight.js

首先,你需要在你的HTML文件中引入Highlight.js的CSS和JavaScript文件。你可以通过CDN来实现:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.2.0/styles/default.min.css">
    <title>Code Highlighting</title>
</head>
<body>
    <pre><code class="language-javascript">
// Your JavaScript code here
    </code></pre>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.2.0/highlight.min.js"></script>
    <script>hljs.highlightAll();</script>
</body>
</html>

2、使用Highlight.js高亮代码

在HTML中,你可以使用<pre><code>标签来包裹你的代码,并通过class属性指定代码的语言。例如,要高亮JavaScript代码,你可以使用class="language-javascript"

<pre><code class="language-javascript">
function helloWorld() {
    console.log('Hello, world!');
}
</code></pre>

通过上述步骤,你的JavaScript代码将会被自动高亮。

二、使用Prism.js

Prism.js是另一个流行的代码高亮库,具有高度的可扩展性和定制性。

1、引入Prism.js

同样,你需要在你的HTML文件中引入Prism.js的CSS和JavaScript文件。你可以通过CDN来实现:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.25.0/themes/prism.min.css">
    <title>Code Highlighting</title>
</head>
<body>
    <pre><code class="language-javascript">
// Your JavaScript code here
    </code></pre>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.25.0/prism.min.js"></script>
</body>
</html>

2、使用Prism.js高亮代码

与Highlight.js类似,你可以使用<pre><code>标签来包裹你的代码,并通过class属性指定代码的语言。

<pre><code class="language-javascript">
function helloWorld() {
    console.log('Hello, world!');
}
</code></pre>

通过上述步骤,你的JavaScript代码将会被自动高亮。

三、自定义JavaScript代码高亮

如果你希望自己编写代码来实现高亮,这也是完全可以的。下面是一个简单的示例,展示了如何使用JavaScript和CSS来实现基本的代码高亮。

1、HTML结构

首先,创建一个基本的HTML结构:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="styles.css">
    <title>Custom Code Highlighting</title>
</head>
<body>
    <pre><code id="codeBlock">
// Your JavaScript code here
    </code></pre>
    <script src="script.js"></script>
</body>
</html>

2、CSS样式

styles.css文件中定义你的高亮样式:

/* Basic styles for code block */
pre {
    background-color: #f5f5f5;
    padding: 10px;
    border-radius: 5px;
    overflow: auto;
}
/* Highlight styles */
.keyword {
    color: #d73a49;
    font-weight: bold;
}
.string {
    color: #032f62;
}

3、JavaScript高亮逻辑

script.js文件中编写你的高亮逻辑:

document.addEventListener('DOMContentLoaded', function() {
    const codeBlock = document.getElementById('codeBlock');
    const code = codeBlock.textContent;
    // Define regex patterns for keywords and strings
    const keywordPattern = /\b(function|return|var|let|const)\b/g;
    const stringPattern = /('.*?'|".*?"|`.*?`)/g;
    // Replace keywords and strings with styled spans
    let highlightedCode = code
        .replace(keywordPattern, '<span class="keyword">$&</span>')
        .replace(stringPattern, '<span class="string">$&</span>');
    // Update the code block with highlighted code
    codeBlock.innerHTML = highlightedCode;
});

通过上述步骤,你可以实现一个基本的代码高亮功能。

四、总结

在这篇文章中,我们探讨了通过JavaScript实现代码高亮的三种主要方法:使用Highlight.js、Prism.js和自定义JavaScript代码。每种方法都有其优点和应用场景。Highlight.js和Prism.js都是功能强大且易于使用的库,适合大多数项目。而自定义JavaScript代码高亮则提供了更高的灵活性和定制性,适合需要特殊样式或功能的项目。

无论你选择哪种方法,都可以通过简单的步骤实现代码高亮,从而提升代码的可读性和美观度。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号