Einführung in Pure Highlightjs

Im WordPress-Ökosystem war Code-Highlighting schon immer eine wichtige Funktion für Tech-Blogs und Entwickler-Sites. Kürzlich erhielt das Pure Highlightjs-Plugin, das seit Jahren inaktiv ist, endlich ein größeres Update, das die Highlight.js-Kernbibliothek von einer veralteten Version auf die neueste Version 11.11.1 aktualisiert.

Plug-in Download

Pure Highlightjs Code-Hervorhebung

Pure Highlightjs Code-Hervorhebung

Website-Upgrade v2.1.3
308 Subdownload
2025-08-22 Aktualisierung
Kennwort:cloud Das Passwort des Netbooks wurde kopiert!
Native Code-Highlighting-Unterstützung für WordPress Classic Editor und Block Editor in Hunderten von Sprachen

Laden Sie den Pure-Highlightjs-Ordner herunter, entpacken Sie ihn und laden Sie ihn in das Plugin-Verzeichnis hoch, um ihn im Backend zu aktivieren!

Vergessen, Aktualisiert

Pure Highlightjs ist ein leichtgewichtiges Code-Highlighting-Plugin für die WordPress-Plattform, das vom Entwickler icodechef im Jahr 2016 veröffentlicht wurde und dann nicht mehr aktualisiert wurde. Das Plugin wurde von vielen WordPress-Benutzern für seine Einfachheit und Effizienz begünstigt, aber im Laufe der Zeit, seine integrierte Version von Highlight.js hat ernsthaft hinter dem Mainstream gefallen, wie ich nicht wie die anderen Plugin-Shortcodes und bevorzugen die integrierte pre, so... Ich habe es aktualisiert, um mich auf den nativen WordPress-Pre-Code zu konzentrieren.

Dieses Plugin ist klein, aber genau richtig für meine Bedürfnisse. "Da es seit Jahren nicht mehr aktualisiert wurde, ist dasWebsite-EditorIch beschloss, ein Upgrade auf die neueste Version von Highlight.js vorzunehmen.

Verbesserungen durch das Upgrade

Dieses Upgrade auf Highlight.js Version 11.11.1 bringt mehrere wichtige Verbesserungen:

  1. Code-Symbolleiste:Neue Symbolleiste: Erweitern, Kopieren und Auswählen aller Schaltflächen mit schwebender Anzeige im Ansichtsfenster, sehr flüssig!
  2. Doppelklicken Sie, um alle auszuwählen:Neuer Doppelklick auf Alles auswählen, Doppelklick in den Codebereich des Computers kann den gesamten Code auswählen
  3. Höhe des Codeblocks:Neue Code-Block maximale Höhe, eine große Anzahl von langen Code kann eine maximale Höhe eingestellt werden, horizontal und vertikal wird eine Bildlaufleiste haben
  4. Falten zum Entfalten:Neue Schaltfläche zum Ein- und Ausklappen des Codeblocks, wenn er an Höhe gewinnt
  5. Dunkler Modus: neue dunkle Modus, Plug-Ins können den Tag und die Nacht-Code-Theme-Stil zu wählen, WordPress Themen haben dunklen Modus geschaltet werden kann, können Sie die Wirkung dieser Website zu erleben!
  6. Optimieren Sie die Bildlaufleisten:Das Plugin fügt eine Simplebar-Scrollbar hinzu, um den Stil der Code-Scrollbar zu optimieren, die mit den gängigsten Browsern kompatibel ist und auch für die gesamte Website verwendet werden kann
  7. Unterstützung für modernere ProgrammiersprachenZusätzliche Unterstützung für moderne Sprachen wie TypeScript, Kotlin, Dart usw. mit insgesamt 192 Sprachen und 80 Themenstilen.
  8. Eingeborenes offizielles JS:Kein Streamlining, keine Änderungen an JS, optimierter klassischer Editor und Blockeditor
  9. Bessere GrammatikanalyseVerbesserte Erkennung von Syntaxen wie JSX, Vue-Templates, etc.
  10. Korrekturen der Kompatibilität: Behebung möglicher Kompatibilitätsprobleme in älteren Versionen

Warum Highlightjs?

Unter den vielen WordPress-Plugins zur Codehervorhebung hat Pure Highlightjs aufgrund seiner einzigartigen Vorteile immer noch einen Platz:

  • Leichte KonstruktionKeine Abhängigkeit von jQuery, minimale Auswirkungen auf die Leistung der Website
  • native Unterstützung: verwendet WordPress Pre-Tags direkt, ohne komplexe Konfiguration und benötigt keinen Plugin-Shortcode wie andere Plugins
  • einfach und schönDer Standardstil ist sauber und scharf, geeignet für technische Dokumentation

Code-Demo

Code Bildlaufleiste Demo

Bildlaufleiste mit simplebar Bildlaufleiste Stil, kompatibel mit einer Vielzahl von Mainstream-Browsern, können Sie mit einer Reihe von verschiedenen Browsern testen, um die Wirkung zu sehen!

<?php
/**
 * PHP长行代码演示示例
 * 用于测试滚动条效果
 */

// 基本变量定义
$testString = "这是一个普通的字符串变量,用于演示PHP的基本语法特性";
$numberValue = 123456;
$arrayData = [
    'name' => '测试数据',
    'type' => '演示',
    'values' => [10, 20, 30, 40, 50]
];

// 这是一行很长的代码,包含了多个函数调用和字符串拼接,目的是测试滚动条效果。这里我们模拟一个复杂的数据处理过程,包含字符串操作、数组处理和数学计算等多种操作的组合。这段代码会将多个不同类型的数据进行转换和组合,生成一个复杂的结果字符串。
$longLine1 = "处理结果: " . strtoupper(trim(json_encode(array_merge($arrayData, ['timestamp' => time(), 'random' => rand(1000, 9999), 'status' => 'completed', 'message' => '这是一条很长的消息,用于增加字符串长度,测试滚动效果。这里继续添加一些内容,让这行代码变得足够长,以便在显示时需要滚动条才能完全查看。']), " \t\n\r\0\x0B"))) . " | 计算结果: " . (sqrt(pow($numberValue, 2) + pow($numberValue / 2, 2)) * 1.5) . " | 状态信息: 操作已完成,耗时 " . microtime(true) . " 毫秒,内存使用: " . memory_get_usage() . " 字节";

// 另一个长行代码,演示条件判断和函数嵌套的复杂情况
if (strlen($testString) > 10 && is_array($arrayData) && count($arrayData['values']) > 3 && $numberValue > 100000 && strpos($testString, 'PHP') !== false && (time() % 2 == 0)) {
    $longLine2 = "满足所有条件 | 数组信息: " . print_r($arrayData, true) . " | 字符串长度: " . strlen($testString) . " | 随机数: " . rand(1, 1000) . " | 当前时间: " . date('Y-m-d H:i:s') . " | 这是为了测试滚动条而添加的额外内容,继续增加长度直到足够长,确保在大多数编辑器或显示窗口中都需要滚动才能看到完整内容。这里再添加一些文字,让这行代码变得更长一些,以达到测试目的。";
} else {
    $longLine2 = "不满足所有条件的默认值";
}

// 函数定义
function processData($input) {
    if (!is_array($input)) {
        return "无效输入: 必须提供数组类型";
    }
    
    // 处理数据的逻辑
    $result = [];
    foreach ($input as $key => $value) {
        $result[strtoupper($key)] = is_string($value) ? strrev($value) : $value;
    }
    
    return $result;
}

// 类定义
class DemoClass {
    private $property1;
    protected $property2;
    public $property3;
    
    public function __construct($param1, $param2) {
        $this->property1 = $param1;
        $this->property2 = $param2;
        $this->property3 = "默认值: " . $param1 . " - " . $param2;
    }
    
    public function getCombined() {
        return $this->property1 . "|" . $this->property2 . "|" . $this->property3;
    }
}

// 执行演示
echo "PHP长行代码测试演示\n";
echo "=====================\n";
echo "1. 长行字符串1: " . $longLine1 . "\n\n";
echo "2. 长行字符串2: " . $longLine2 . "\n\n";
echo "3. 处理后的数据: " . print_r(processData($arrayData), true) . "\n\n";

$demoObj = new DemoClass("参数1", "参数2");
echo "4. 对象信息: " . $demoObj->getCombined() . "\n";
?>

Classic Editor Code-Demo

Klassischer Editor fügt Code hinzu, um die maximale Höhe einzustellen, entsprechend der Höhe der Schaltfläche zum Ausklappen der Anzeige

<?php
/**
 * PHP长行代码演示示例
 * 用于测试滚动条效果
 */

// 基本变量定义
$testString = "这是一个普通的字符串变量,用于演示PHP的基本语法特性";
$numberValue = 123456;
$arrayData = [
    'name' => '测试数据',
    'type' => '演示',
    'values' => [10, 20, 30, 40, 50]
];

// 这是一行很长的代码,包含了多个函数调用和字符串拼接,目的是测试滚动条效果。这里我们模拟一个复杂的数据处理过程,包含字符串操作、数组处理和数学计算等多种操作的组合。这段代码会将多个不同类型的数据进行转换和组合,生成一个复杂的结果字符串。
$longLine1 = "处理结果: " . strtoupper(trim(json_encode(array_merge($arrayData, ['timestamp' => time(), 'random' => rand(1000, 9999), 'status' => 'completed', 'message' => '这是一条很长的消息,用于增加字符串长度,测试滚动效果。这里继续添加一些内容,让这行代码变得足够长,以便在显示时需要滚动条才能完全查看。']), " \t\n\r\0\x0B"))) . " | 计算结果: " . (sqrt(pow($numberValue, 2) + pow($numberValue / 2, 2)) * 1.5) . " | 状态信息: 操作已完成,耗时 " . microtime(true) . " 毫秒,内存使用: " . memory_get_usage() . " 字节";

// 另一个长行代码,演示条件判断和函数嵌套的复杂情况
if (strlen($testString) > 10 && is_array($arrayData) && count($arrayData['values']) > 3 && $numberValue > 100000 && strpos($testString, 'PHP') !== false && (time() % 2 == 0)) {
    $longLine2 = "满足所有条件 | 数组信息: " . print_r($arrayData, true) . " | 字符串长度: " . strlen($testString) . " | 随机数: " . rand(1, 1000) . " | 当前时间: " . date('Y-m-d H:i:s') . " | 这是为了测试滚动条而添加的额外内容,继续增加长度直到足够长,确保在大多数编辑器或显示窗口中都需要滚动才能看到完整内容。这里再添加一些文字,让这行代码变得更长一些,以达到测试目的。";
} else {
    $longLine2 = "不满足所有条件的默认值";
}

// 函数定义
function processData($input) {
    if (!is_array($input)) {
        return "无效输入: 必须提供数组类型";
    }
    
    // 处理数据的逻辑
    $result = [];
    foreach ($input as $key => $value) {
        $result[strtoupper($key)] = is_string($value) ? strrev($value) : $value;
    }
    
    return $result;
}

// 类定义
class DemoClass {
    private $property1;
    protected $property2;
    public $property3;
    
    public function __construct($param1, $param2) {
        $this->property1 = $param1;
        $this->property2 = $param2;
        $this->property3 = "默认值: " . $param1 . " - " . $param2;
    }
    
    public function getCombined() {
        return $this->property1 . "|" . $this->property2 . "|" . $this->property3;
    }
}

// 执行演示
echo "PHP长行代码测试演示\n";
echo "=====================\n";
echo "1. 长行字符串1: " . $longLine1 . "\n\n";
echo "2. 长行字符串2: " . $longLine2 . "\n\n";
echo "3. 处理后的数据: " . print_r(processData($arrayData), true) . "\n\n";

$demoObj = new DemoClass("参数1", "参数2");
echo "4. 对象信息: " . $demoObj->getCombined() . "\n";
?>

PHP-Code-Demo

<?php
// 简单的PHP类示例
class Greeting {
    private $name;
    
    public function __construct($name) {
        $this->name = $name;
    }
    
    public function sayHello() {
        return "Hello, " . $this->name . "!";
    }
}

$greeter = new Greeting("World");
echo $greeter->sayHello();
?>

CSS-Code-Demo

/* 响应式卡片样式 */
.card {
    width: 300px;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    transition: transform 0.3s ease;
    background: #fff;
}

.card:hover {
    transform: translateY(-5px);
}

@media (max-width: 768px) {
    .card {
        width: 100%;
    }
}

JavaScript-Code-Demo

// 异步获取数据示例
async function fetchUserData(userId) {
    try {
        const response = await fetch(`https://api.example.com/users/${userId}`);
        if (!response.ok) {
            throw new Error('Network response was not ok');
        }
        const data = await response.json();
        console.log('User data:', data);
        return data;
    } catch (error) {
        console.error('Error fetching user data:', error);
    }
}

// 使用示例
fetchUserData(123);

GO-Sprachcode-Demo

package main

import (
	"fmt"
	"net/http"
)

// 简单的HTTP服务器
func handler(w http.ResponseWriter, r *http.Request) {
	fmt.Fprintf(w, "Hello, %s!", r.URL.Path[1:])
}

func main() {
	http.HandleFunc("/", handler)
	fmt.Println("Server starting on port 8080...")
	http.ListenAndServe(":8080", nil)
}

MySQL-Code-Demo

-- 创建用户表并查询示例
CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL,
    email VARCHAR(100) NOT NULL UNIQUE,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- 插入数据
INSERT INTO users (username, email) 
VALUES ('john_doe', '[email protected]');

-- 查询数据
SELECT * FROM users WHERE email LIKE '%@example.com';

Node.js Code-Demo

// Express.js 简单API示例
const express = require('express');
const app = express();
const port = 3000;

app.use(express.json());

app.get('/api/greet', (req, res) => {
    const name = req.query.name || 'World';
    res.json({ message: `Hello, ${name}!` });
});

app.listen(port, () => {
    console.log(`Server running at http://localhost:${port}`);
});

Python-Code-Demo

# 使用Flask创建Web服务
from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/api/square/<int:num>')
def square(num):
    return jsonify({"result": num ** 2})

if __name__ == '__main__':
    app.run(debug=True)

# 列表推导式示例
squares = [x**2 for x in range(10) if x % 2 == 0]
print(squares)

C++-Code-Demo

#include <iostream>
#include <vector>
#include <algorithm>

// 简单的C++程序示例
int main() {
    std::vector<int> numbers = {5, 2, 8, 1, 9};
    
    // 排序并输出
    std::sort(numbers.begin(), numbers.end());
    
    std::cout << "Sorted numbers: ";
    for (int num : numbers) {
        std::cout << num << " ";
    }
    std::cout << std::endl;
    
    return 0;
}

Java-Code-Demo

// 简单的Java类和接口示例
public class Main {
    public static void main(String[] args) {
        Calculator calc = new BasicCalculator();
        System.out.println("5 + 3 = " + calc.add(5, 3));
    }
}

interface Calculator {
    int add(int a, int b);
}

class BasicCalculator implements Calculator {
    @Override
    public int add(int a, int b) {
        return a + b;
    }
}

Demo-Screenshots

Backstage-Demo

Großes Update für Pure Highlightjs, das WordPress-Plugin für die Code-Hervorhebung: Upgrade auf Highlight.js v11.11.1 - LikaCloud
Tag- und Nachtschaltung hinzufügen, auch das auf dieser Website verwendete Thema

Classic Editor Demo

Großes Update für Pure Highlightjs, das WordPress-Plugin für die Code-Hervorhebung: Upgrade auf Highlight.js v11.11.1 - LikaCloud
Classic Editor Code einfügen Codeblock Maximale Höhe
Großes Update für Pure Highlightjs, das WordPress-Plugin für die Code-Hervorhebung: Upgrade auf Highlight.js v11.11.1 - LikaCloud
Die WordPress-eigene Pre-Methode verwendet!

Block Editor Demo

Großes Update für Pure Highlightjs, das WordPress-Plugin für die Code-Hervorhebung: Upgrade auf Highlight.js v11.11.1 - LikaCloud
Block-Editor mit eingebauten Code-Blöcken

Unterstützung für 192 Sprachen

Großes Update für Pure Highlightjs, das WordPress-Plugin für die Code-Hervorhebung: Upgrade auf Highlight.js v11.11.1 - LikaCloud
Plugin unterstützt 192 Sprachen

80 Themen im Stil

Großes Update für Pure Highlightjs, das WordPress-Plugin für die Code-Hervorhebung: Upgrade auf Highlight.js v11.11.1 - LikaCloud
Das Thema enthält 80 verschiedene Themen, darunter Tag- und Nachtmodi.

Für technische Blogger und Autoren von Dokumenten ist ein aktuelles und effizientes Code-Highlighting-Tool nach wie vor gefragt, und diese Wiedergeburt von Pure Highlightjs könnte den Code-Präsentationsmöglichkeiten von WordPress neues Leben einhauchen.

Hilfe zu den Plugin-Einstellungen