ckeditor syntaxhighlighter代码高亮插件配置分享

下面是详细的“ckeditor syntaxhighlighter代码高亮插件配置分享”的攻略:

1. 安装 SyntaxHighlighter 插件

首先,我们需要在我们的网站上安装 SyntaxHighlighter 插件。我们可以从其官方网站(http://alexgorbatchev.com),或者从 Github 上(https://github.com/syntaxhighlighter),下载最新版本的插件。

将文件解压后,将 SyntaxHighlighter 文件夹复制到我们网站的 plugins/ 目录下。

2. 引入插件文件

接着,我们需要在网站的 head 标签内引入 SyntaxHighlighter 插件文件。可以使用以下 CDN:

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

或者使用我们网站上的本地文件:

<link rel="stylesheet" type="text/css" href="/plugins/SyntaxHighlighter/styles/shCore.css">
<link rel="stylesheet" type="text/css" href="/plugins/SyntaxHighlighter/styles/shThemeDefault.css">
<script src="/plugins/SyntaxHighlighter/scripts/shCore.js"></script>
<script src="/plugins/SyntaxHighlighter/scripts/shBrushCpp.js"></script>
<script src="/plugins/SyntaxHighlighter/scripts/shBrushJava.js"></script>
<script src="/plugins/SyntaxHighlighter/scripts/shBrushPython.js"></script>

其中 shBrushCpp.jsshBrushJava.jsshBrushPython.js 是各种编程语言的高亮主题,可以根据自己需要调整。

3. 配置 CKEditor

接着,我们需要使用 CKEditor 的 config.js 文件来引入 SyntaxHighlighter 插件,并对其进行配置。

config.js 文件中添加以下内容:

CKEDITOR.editorConfig = function( config ) {
    // 将 SyntaxHighlighter 插件添加到 CKEditor 中
    config.extraPlugins = 'syntaxhighlighter';
    // 配置 SyntaxHighlighter 插件的选项
    config.syntaxhighlighter =
    {
      'code-class':'hljs',
      'toolbar':'true',
      'brushes': 'cpp;java;python'
    };
    // 其他的 CKEditor 配置选项
    config.toolbar = 'Full';
    config.height = 200;
    config.width = '100%';
};

其中 code-class 指定了用于高亮代码的 CSS 类名,默认为 brushtoolbar 指定了是否启用 CKEditor 的工具条;brushes 指定了支持的编程语言。

4. 在 CKEditor 中使用 SyntaxHighlighter

最后,在我们的 CKEditor 编辑器中,我们可以使用 <pre><code> 标签来包含我们的代码。并添加一个“Brush”类来指定语言。

下面是一个 C++ 代码示例:

<pre class="brush: cpp">
#include <iostream>

int main()
{
    std::cout << "Hello, world!" << std::endl;
    return 0;
}
</pre>

这个示例将会在页面中展示已经高亮的 C++ 代码。

另外,我们还可以使用 CKEditor 提供的 SyntaxHighlight 按钮来快速生成代码高亮的 <pre><code> 标签。

示例代码如下:

<p>
  Please check out the following code:<br>
  <textarea id="code" rows="10" cols="80">
    #include <iostream>

    int main()
    {
        std::cout << "Hello, world!" << std::endl;
        return 0;
    }
  </textarea>
</p>

<script>
    CKEDITOR.replace( 'code', {
      extraPlugins: 'syntaxhighlighter',
      height: 200,
      syntaxHighlighter_autoLoadSyntax: false, // Disable automatic language detection
      syntaxHighlighter_selectionWidget: true, // Enable widget that allow to change language
      syntaxhighlighter:
      {
        'code-class':'hljs',
        'toolbar':'true',
        'brushes': 'cpp;java;python'
      }
    });
</script>

以上就是完整的“ckeditor syntaxhighlighter代码高亮插件配置分享”的攻略,希望对您有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:ckeditor syntaxhighlighter代码高亮插件配置分享 - Python技术站

(0)
上一篇 2023年6月6日
下一篇 2023年6月6日

相关文章

  • c# 可变数目参数params实例

    c# 可变数目参数params实例 c# 可变数目参数(params)是一种允许函数接受不定数量参数的语言特性,可以在函数声明中指定参数列表中的值使用可变数目参数。这样的函数可以使用一个参数数组来接受多个参数,使代码更加简洁和灵活。 声明函数参数 在函数声明中使用 params 关键字,可以允许函数接受多个参数。params 关键字后必须跟着一个数组类型: …

    C# 2023年5月31日
    00
  • C#在运行时动态创建类型的实现方法

    C# 在运行时动态创建类型的实现方法可以使用反射和 Emit 两种方式。以下是每种方式的详细说明: 反射方式 在 C# 中,可以使用 AssemblyBuilder、ModuleBuilder、TypeBuilder 等类来动态创建类型。具体步骤如下: 创建一个 AssemblyBuilder 对象,用于表示将要动态创建的程序集。可以使用 AppDomain…

    C# 2023年5月31日
    00
  • C#利用GDI+画图的基础实例教程

    让我来详细讲解一下 “C#利用GDI+画图的基础实例教程”的完整攻略。 什么是GDI+? GDI+是指图形设备界面,是 Windows 操作系统中的图像绘制 API。通过 GDI+ 可以在 Windows 应用程序中创建图形对象来绘制图形、文字、图像等。GDI+ 的接口与 .NET Framework 配合得很好,可以用于 C#、VB.NET 和其他语言中。…

    C# 2023年5月15日
    00
  • Winform学生信息管理系统主页面设计(2)

    Winform学生信息管理系统主页面设计(2) 在Winform学生信息管理系统的主页面设计部分,我们将主要关注以下几个方面:主页面布局设计、主页面控件设计及其事件处理等内容。 主页面布局设计 主页面布局设计是整个Winform学生信息管理系统的基础,当我们确定好主页面的结构及各个控件的位置后,系统的后续开发工作才能有序展开。 主页面布局设计示例1 以下是一…

    C# 2023年6月3日
    00
  • c# 获取照片的经纬度和时间的示例代码

    要获取照片的经纬度和时间,我们可以使用C#语言中的ExifLib库来实现。下面我将为大家详细讲解如何使用ExifLib库来获取照片的经纬度和时间。 准备工作 在使用ExifLib库之前,需要先添加对该库的引用。可以通过NuGet包管理器来添加引用。具体步骤如下: 在Visual Studio中打开你的项目。 在“解决方案资源管理器”窗口中右击项目名称,选择“…

    C# 2023年6月1日
    00
  • C#线程间通信的异步机制

    C#线程间通信是一个常见的问题,当我们需要在多个线程间共享数据或者进行协作时,就需要使用线程间通信机制。异步机制是其中一种常用的通信方式,其可以有效避免线程阻塞的问题,并且能够方便地实现所需的功能。 本文将为大家详细讲解C#线程间通信的异步机制,包括异步编程模型(APM)、基于事件的异步编程模型(EAP)和基于任务的异步编程模型(TAP)。并且通过两个示例来…

    C# 2023年6月3日
    00
  • 解决Netcore磊科无线路由器192.168.1.1打不开的方法

    如果您无法通过浏览器访问Netcore磊科无线路由器的管理页面(通常是192.168.1.1),则可能会遇到以下问题: IP地址冲突 网络设置错误 路由器故障 下面是一些可能有助于解决这些问题的方法: 方法一:检查IP地址冲突 如果您的计算机或其他设备使用与路由器相同的IP地址,则可能会导致无法访问路由器的管理页面。为了解决这个问题,您可以尝试更改计算机或其…

    C# 2023年5月17日
    00
  • Solaris 10 OS 快速安裝配置 Apache + Mysql + php

    Solaris 10 OS 快速安装配置 Apache + Mysql + PHP攻略 简介 本文介绍如何在 Solaris 10 操作系统上快速地安装配置 Apache、MySQL 和 PHP 环境。 步骤 1. 安装软件包管理器 # pkgadd -d http://get.opencsw.org/now 2. 安装 Apache # pkgutil -…

    C# 2023年5月31日
    00
合作推广
合作推广
分享本页
返回顶部