使用 Prism.js 使用复制代码按钮创建代码块

2023-11-02

在本教程中,我们将学习如何使用 Prism.js 通过复制代码按钮创建代码块。 Prism.js 是一个轻量级且可扩展的语法荧光笔,它使我们能够在网页上精美地格式化代码片段。添加复制代码按钮将增强用户体验,用户只需单击一下即可轻松将代码复制到剪贴板。

第 1 步:设置 HTML 结构

首先创建一个新的 HTML 文件并设置基本结构。我们将包含必要的样式表和脚本,以利用 Prism.js 和复制代码按钮功能。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
lang="en">
  charset="UTF-8">
  name=“视口” content=“宽度=设备宽度,初始比例=1.0”>
  href=“https://cdn.jsdelivr.net/npm/prismjs@1.27.0/themes/prism.css” rel=“样式表”>
  
    /* 代码块样式 */
    pre {
      position: relative;
      padding: 1em;
      背景颜色: #f0f0f0;
      border: 1px solid #ddd;
      边界半径: 4px;
    }
 
    code {
      display: block;
      字体系列: 《快递新》, 等宽字体;
    }
 
    /* 复制代码按钮样式 */
    .复制代码按钮{
      position: absolute;
      top: 0.5em;
      right: 0.5em;
      padding: 0.5em 1em;
      字体大小: 14px;
      背景颜色: #333;
      color: #fff;
      border: none;
      边界半径: 4px;
      cursor: pointer;
    }
  风格>
头>

第 2 步:创建代码块和复制代码按钮

在 标签内,我们创建一个

 元素来表示我们的代码块,并创建一个 
1
2
3
4
5
6
7
8
 
函数问候(){
console.log("你好,世界!");
    }
  
  class=“复制代码按钮”>Copy按钮>
前>

第 3 步:添加 Prism.js 库和复制代码按钮功能

要使代码块语法突出显示,请在 HTML 文件中包含 Prism.js 库。此外,添加一个脚本来处理复制代码按钮功能。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
src=“https://cdn.jsdelivr.net/npm/prismjs@1.27.0/prism.js”>脚本>
  // 为每个复制代码按钮添加点击事件监听
  document.查询选择器全部(“.复制代码按钮”).forEach(function(button) {
    button.添加事件监听器("click", function() {
      // 获取代码元素
      var 代码元素 = this.父元素.查询选择器("code");
 
      // 创建一个临时文本区域来复制代码
      var textarea = document.创建元素(“文本区域”);
      textarea.value = 代码元素.内部文本;
      document.body.附加子项(textarea);
 
      // 选择并复制代码
      textarea.select();
      document.执行命令("copy");
 
      // 删除临时文本区域
      document.body.删除子项(textarea);
 
      // 将按钮文本更改为“已复制!”短期内
      var 原文 = this.内部文本;
      this.内部文本 = “复制了!”;
      设置超时时间(function() {
        button.内部文本 = 原文;
      }, 1500);
    });
  });
脚本>
正文>

第 4 步:测试和定制

保存 HTML 文件并在 Web 浏览器中打开它。您应该看到带有复制代码按钮的代码块。当您单击“复制”按钮时,代码块内的代码将被复制到剪贴板,并且按钮文本将短暂更改为“已复制!”以供用户反馈。

您还可以看到现场演示在这里.

定制:

请随意修改代码块样式和按钮样式以匹配您网站的设计。您还可以使用不同的 Prism.js 主题来更改代码块的外观。

结论:

在本教程中,我们学习了如何使用 Prism.js 通过复制代码按钮创建代码块。这增强了网站上代码片段的可读性,并为用户复制代码示例提供了便捷的方式。尝试不同的样式和主题,使其完美适合您的网络项目。快乐编码!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Prism.js 使用复制代码按钮创建代码块 的相关文章

  • linux虚拟机开放端口号,虚拟机centos7开放端口

    1 先查看防火墙是否开启的状态 以及开放端口的情况 systemctl status firewalld service 查看防火墙开启还是关闭 sudo firewall cmd list all 可以查看端口开放情况 firewall
  • 超简单制作多系统启动U盘教程

    超简单制作多系统启动U盘教程 文章目录 超简单制作多系统启动U盘教程 前言 基本配置 配置PE系统 配置其他操作系统 前言 这两天心血来潮 本来想用Win to go做一个windows便携系统 B站教程无意间发现Ventoy软件 可谓功能
  • 套接字多种可选项

    Windows平台 WSADATA wsaData int iResult WSAStartup MAKEWORD 2 2 wsaData if iResult NO ERROR printf Error at WSAStartup n C
  • 虚拟机centos6.4网络连接设置--桥接设置

    Windows 本机虚拟网卡设置 虚拟机安装完成之后 在 本机网络设置里面出现 两个网卡VMware Network Adapter VMnet1和VMware Network Adapter Vmnet8 联网用Vmnet8 设置连接网络
  • PHP Smarty如何进行调试和错误处理?

    欢迎来到PHP Smarty的世界 如果你在这里寻求如何调试和错误处理的方法 那么我可以向你保证 我们会让这个过程尽可能的有趣和轻松 首先 让我们先来谈谈调试 在Smarty中 你可以使用以下几种方法来进行调试 使用Smarty的debug
  • Centos7 安装MongoDB5

    1 mongodb安装 MongoDB的下载网址 Download MongoDB Community Server MongoDB 下载完安装包之后上传到系统 然后解压 tar xf mongodb linux x86 64 rhel80
  • 灰色预测GM(1,1)代码

    目录 1 一项初始序列X0 2 累加序列 生成新序列 3 紧邻均值生成序列 4 求相关参数 5 由第四步求出参数 6 生成预测模型 7 累减还原 得原始数列的灰色预测值 8 模型检验 9 可视化 结果分析 1 一项初始序列X0 import
  • 数据库事务

    事务 TRANSACTION 是作为单个逻辑工作单元执行的一系列操作 这些操作作为一个整体一起向 系统提交 要么都执行 要么都不执行 事务是一个不可分割的工作逻辑单元 事务必须具备以下四个属性 简称 ACID 属性 原子性 Atomicit
  • 解决Could not connect to Redis at 39.101.74.81:6379: ConnectinectionException: Failed to create socket

    1 修改redis conf文件 1 注释掉原先的 bind 127 0 0 1 2 将protected mode yes 修改为no 2 查看是否开启6379端口号 firewall cmd list ports 没开启的话开启 fir
  • 从DB Browser for SQLite导出.csv文件

    如何从 db数据库文件中导出某个表的 csv文件 一般的 后台收集的日志保存在数据库中 查找日志时候需要打开 db文件的数据库 使用DB Browser for SQLite这个软件可以打开和查看数据库表以及数据 使用DB Browser
  • Golang笔记:使用ssh包作为客户端与SSH服务器交互

    文章目录 目的 基础说明 使用演示 单次通讯 连续通讯 远程终端 总结 目的 Golang中可以使用 golang org x crypto ssh 包作为SSH客户端或者SSH服务使用 这篇文章将简单记录下作为客户端使用的一些内容 Pac
  • form表单的提交

    基于html 语言的form表单的提交 1 表单属性设置 标签 表示表单标签 定义整体的表单区域 action属性 设置表单数据提交地址 method属性 设置表单提交的方式 一般有 GET 方式和 POST 方式 不区分大小写 2 表单元
  • Ubuntu中Tango Control的Pogo无法加载的解决办法

    文章目录 环境 步骤 卸载java ubuntu 安装指定版本jdk 重新编译测试 参考 在 自定义Tango Control设备服务在Ubuntu中的测试 中发现 pogo经常出现加载不出来的情况 但是偶尔会有一次可以打开 https b
  • Python:回文日期问题

    每日一题 目录 每日一题 文章目录 前言 一 题目描述 二 输入描述 三 输出描述 1 引入库 2 执行结果 datetime模块的用法 flag的用法 replace 方法 参数 总结 前言 本文章重点讲述回文日期问题 在其中介绍用到的函
  • C语言钟表【改进版】

    改进版源代码 include
  • 边缘计算物联网网关在机械加工行业中的效用分享

    随着工业4 0的推进 物联网技术正在逐渐渗透到各个行业领域 机械加工行业作为制造业的基础领域之一 其生产过程的自动化 智能化水平直接影响到产品质量和生产效率 边缘计算物联网网关作为物联网技术的重要组成部分 在机械加工行业中发挥着越来越重要的
  • Webpack4.0 的相关优化配置

    所谓的优化 也就是引入一些插件 使得代码的体积变小 1 删除没有意义的样式 在css文件中有一些没有用到的样式 希望在打包的过程中 删除掉它们 安装两个插件 cnpm install purgecss webpack plugin glob
  • 深度理解取整&取余&取模运算

    在编程的学习当中 我们会经常行的使用这些操作在表达式计算 但是你在使用当中 你真的理解了吗 或者说是你完全学会使用了 在这篇博客当中 或许会出现错误 希望大家理解 目前还在学习当中 发现错误或不足之处请大家斧正 目录 一 取整 二 取余与取
  • 64位win7下安装MongoDB以zip包的形式 图文(超详细)

    首先从mongodb的官网上下载对应版本的zip包 如果你使用Windows 64 bit 2008 R2 或win7需要安装Hotfix补丁 读者可以去网上下载相应的版本 解压后会得到如下的一个目录 然后自己在某个录下下建好一个目录 我这
  • window.open (‘page.html‘)

    window open page html 用于控制弹出新的窗口

随机推荐

  • 2024王道408数据结构 P143 T8

    2024王道408数据结构 P143 T8 思考过程 首先题目的意思非常简单明了 就是让我们找二叉树中度为2的结点 也就是既有左子树又有右子树的结点 那我们只需要在代码里判断如果该结点有左子树就入队 同时如果该结点有右子树就计数器 1 并且
  • vi/vim基本使用命令

    转自 http www lupaworld com uid 296380 action viewspace itemid 118973 vi vim 基本使用方法 本文介绍了vi vim 的基本使用方法 但对于普通用户来说基本上够了 i v
  • QT+VS配置及调试

    QT下载 https download qt io archive qt QT Creator设置 打开 Qt Creator 进入编译器部分 工具 gt 选项 gt 构建和运行 gt 编译器 可以看到vs的内容 之后 进入 工具 gt 选
  • Android平台GB28181接入端如何对接UVC摄像头?

    我们在对接Android平台GB28181接入的时候 有公司提出这样的需求 除了采集执法记录仪摄像头自带的数据外 还想通过执法记录仪采集外接UVC摄像头 实际上 这块对我们来说有点炒冷饭了 不算新的诉求 大牛直播SDK 在2016年对接RT
  • 2023国庆节放假通知

    喜迎国庆 放假通知 公司相关各部门 国庆来临之际 根据国家有关规定 现将2023年国庆放假事项通知如下 1 9月29至10月6日放假调休 共8天 10月7日上班 10月8日上班 2 各部门接通知后 妥善安排好值班工作 并将各部门值班表于20
  • 500套优秀简历模板,送给您!

    点击上方 成猿之路 选择 置顶公众号 第一时间送达实用技术干货 最近收藏保存了一些简历模板 觉得不错 送给即将步入社会或需要简历模板的你 01单面简历 150款 02多页简历 95款 03表格简历 18款 04英文简历 27款 05艺术气质
  • pytorch: 数据增广(Data Augmentation)

    常用的数据增广方法 比例缩放 位置截取 翻转 旋转 亮度 对比度和色调的变化 读取原图 import torchvision transforms as transforms from PIL import Image img Image
  • Vue.js如何实现倒计时?颜小白实测可用!

    Vue JS如何实现倒计时功能 1 首先一般来说前端小伙伴们会收到后端同学传过来的一个结束时间 大部分需要倒计时得情况都是在详情页 比如商品 活动等一些场景 2 如果需要实现倒计时功能 首先我们需要知道如何计算剩余时间 首先我们会拿到后端传
  • jdbctemplate 执行多条sql_SpringBoot使用JdbcTemplate连接Mysql实现增删改查

    摘要 本文是springboot工程使用JdbcTemplate连接Mysql数据库 实现增删改查的实例 及在搭建过程中碰到的几个问题 前几篇介绍怎么搭建SpringBoot工程 接下来直接入正题 什么是JDBC JDBC Java Dat
  • HDFS RPC限流方案实践探索

    文章目录 前言 HDFS RPC限流方案 分级RPC queue的调参 分级RPC queue的insight 前言 在前面的一篇关于分布式集群下的限流方案文章里 笔者阐述了一种在HDFS集群里的RPC限流架构 其间也提到了很多关于分布式限
  • Ubuntu连接不上网络问题的解决方法

    这学期经常要用虚拟机做实验 但经常在某一次开机后网络连接不上 查过很多解决方法 每次奏效的方法又都不一样 这里记录一下 省的下次一个一个找了 第一次写博客 有点点小激动嘿嘿 以下方法都是在NAT模式下的连接 方法一 还原默认设置 将虚拟机关
  • 20个基本电路图讲解_记住这些规则,再看电路图就不会乱了!

    在我们进行电子DIY制作时 看图是难免的 但对于很多新手来说 刚开始似乎总有种很乱的感觉 走过来后我们才知道 当时只是没有了解这些规则 今天小编以电子电路图为主要示例进行总结一下 电路图走向 是指电路图中各部分电路 从最初的输入端到最终的输
  • 【数据结构】 二叉树面试题讲解->叁

    文章目录 引言 根据二叉树创建字符串 https leetcode cn problems construct string from binary tree submissions 题目描述 示例 示例一 示例二 思路解析 代码完整实现
  • Spring MVC的表单标签库详解

    表单标签库中包含了可以用在 JSP 页面中渲染 HTML 元素的标签 在 JSP 页面使用 Spring 表单标签库时 必须在 JSP 页面开头处声明 taglib 指令 指令代码如下 在表单标签库中有 form input passwor
  • Ueditor去掉图片之间的间隙

    问题 运营在后台配置商品信息的时候 复制京东上面的图片到ueditor富文本编辑器里面 两张图片中总是存在空白间隙 但查看html源码又很简单没有发现什么问题p标签之类的 而且硬着配置上去后 在uniapp打包的微信小程序里面查看商品详情一
  • cartographer 前端PoseExtrapolator及IMU预积分

    卡尔曼滤波器应用 用于单目标追踪的IMM模型 知乎 Cartographer前端的优化 基于IMU预积分的LIO实现 知乎 Cartographer PoseExtrapolator 位姿外推器 分析总结与优化思路 知乎 MCGA Make
  • 设计模式(五)适配器模式Adapter(结构型)

    设计模式 五 适配器模式Adapter 结构型 1 概述 接口的改变 是一个需要程序员们必须 虽然很不情愿 接受和处理的普遍问题 程序提供者们修改他们的代码 系统库被修正 各种程序语言以及相关库的发展和进化 例子1 iphone4 你即可以
  • 经典CNN模型介绍及Pytorch实现

    文章目录 前言 一 LeNet 1 LeNet介绍 2 LeNet核心代码 3 LeNet在MNIST上测试 二 AlexNet 1 AlexNet介绍 2 AlexNet核心代码 3 AlexNet在MNIST上测试 三 VGGNet 1
  • 如何在 Amazon Linux 上安装 NVM

    NVMNode Version Manager 是一个命令行实用程序 用于在基于 Linux 的系统上安装和管理多个 Node js 版本 借助 NVM 您可以在系统上安装任何特定的 Nodejs 版本并用于运行您的应用程序 本教程将帮助您
  • 使用 Prism.js 使用复制代码按钮创建代码块

    在本教程中 我们将学习如何使用 Prism js 通过复制代码按钮创建代码块 Prism js 是一个轻量级且可扩展的语法荧光笔 它使我们能够在网页上精美地格式化代码片段 添加复制代码按钮将增强用户体验 用户只需单击一下即可轻松将代码复制到