在线编辑器 CodeMirror

news/2024/5/17 18:49:56

如何优雅的在网页显示代码 如果开发在线编辑器

引入资源:

 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.60.0/codemirror.min.css"><script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.60.0/codemirror.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.62.0/mode/javascript/javascript.min.js"></script><textarea id="codeText"></textarea>
    let editor = CodeMirror.fromTextArea(document.getElementById('codeText'), {mode: 'javascript',theme: 'default', // 设置主题,可选lineNumbers: true,lineWrapping: true, //缩进//mode(模式):指定编辑器的语言模式,例如 'javascript'、'htmlmixed' 等。它决定了编辑器的语法高亮和代码提示等功能。//theme(主题):指定编辑器的外观主题,例如 'default'、'monokai' 等。它定义了编辑器的颜色和样式。//lineNumbers(行号):一个布尔值,指示是否显示行号。设置为 true 将在编辑器左侧显示行号。//readOnly(只读):一个布尔值,指示编辑器是否为只读模式。设置为 true 将禁止用户编辑内容。//indentUnit(缩进单位):一个整数,指定每次缩进的空格数。//smartIndent(智能缩进):一个布尔值,指示是否启用智能缩进功能,根据上下文自动确定缩进级别。//tabSize(制表符大小):一个整数,指定制表符的宽度。//extraKeys(额外按键):一个对象,用于定义额外的按键绑定。可以设置自定义的按键快捷键和对应的操作。});

editor.setValue(code) 可以设置显示的代码
editor.getValue() 可以获取代码 当你拿到代码之后就可以通过创建script标签的方式插入到元素里了。

接下来看效果图:
在这里插入图片描述


http://www.mrgr.cn/p/72506844

相关文章

AI极速批量换脸!Roop-unleashed下载介绍,可直播

要说AI换脸领域,最开始火的项目就是Roop了,Roop-unleashed作为Roop的嫡系分支,不仅继承了前者的强大基因,更是在功能上实现了重大突破与升级 核心特性 1、可以进行高精度的图片、视频换脸,还能实时直播换脸,换脸效果真实、自然 2、不仅支持N卡处理程序(cuda),还额外提…

AI大模型日报#0416:李飞飞《2024年人工智能指数报告》、Sora加入Adobe、李彦宏聊百度大模型之路

​导读&#xff1a; 欢迎阅读《AI大模型日报》&#xff0c;内容基于Python爬虫和LLM自动生成。目前采用“文心一言”生成了每条资讯的摘要。标题: 刚刚&#xff0c;李飞飞团队发布《2024年人工智能指数报告》&#xff1a;10大趋势&#xff0c;揭示AI大模型的“喜”与“忧” 摘…

uni-app如何生成骨架屏

为什么需要骨架屏&#xff1a;为了缓解用户打开程序时等待接口的焦虑情绪 1.打开微信开发者工具&#xff0c;找到模拟器中的页面信息&#xff0c;选择生成骨架屏 2.将生成的wxml代码复制到vscode&#xff0c;在index的components中新建一个vue文件&#xff0c;只需保留请求接口…

使用Lagent AgentLego 搭建智能体

对于这个作业,这里只给出截图,不给详细过程,因为确实没有什么好写的。具体的步骤可以查看官方教程。 作业要求 基础作业完成 Lagent Web Demo 使用,并在作业中上传截图。文档可见 Lagent Web Demo 完成 AgentLego 直接使用部分,并在作业中上传截图。文档可见 直接使用 Age…

CentOS7 boa服务器的搭建和配置

环境是CentOS7&#xff0c;但方法不局限于此版系统&#xff0c;应该是通用的。 具体步骤如下&#xff1a; 1. 下载boa源码 下载地址: Boa Webserver 下载后&#xff0c;进入压缩包所在目录&#xff0c;进行解压&#xff1a; tar xzf boa-0.94.13.tar.gz 2. 安装需要的工具b…

RILIR 复现 一些 idea

伪代码:在 if done 的时候,在环境中已经跑了一个 trajectory 了,利用当前的 trajectory 和专家的 demo 求一下 reward(文章中用的是 optimal transport 的几种方法) 否则,就继续在 observation 的基础上利用 actor 学到的策略 sample 出 action,并用 list 记录下当前的 …

PolarDB MySQL 版 Serverless评测|一文带你体验什么是极致弹性|后续

PolarDB MySQL 版 Serverless评测|一文带你体验什么是极致弹性|后续 弹性压测三后续自动缩容全局一致性测试测评体验 在上一篇PolarDB MySQL 版 Serverless测评博文中&#xff1a;https://developer.aliyun.com/article/1385834 关于弹性压测三通过增加只读节点压测来观测到Ser…

【C语言】多字节字符、宽字符(涉及字符集和编码)

字符集、编码&#xff1a; 字符集&#xff1a;一个系统支持的所有抽象字符的集合。字符是各种文字和符号的总称&#xff0c;包括各国家文字、标点符号、图形符号、数字等。例如&#xff1a;ASCII、Unicode、GB2312、GBK、GB18030、BIG5(繁体中文) ... 编码方式&#xff1a;符号…

【React】Ant Design自定义主题风格及主题切换

Ant Design 的自定义主题&#xff0c;对于刚入手的时候感觉真是一脸蒙圈&#xff0c;那今天给它梳理倒腾下&#xff1b; 1、自定义主题要点 整体样式变化&#xff0c;主要两个部分&#xff1a; 1.1、Design Token https://ant.design/docs/react/customize-theme-cn#theme 官…

MySQL基础-----约束详解

目录 一. 概述: 二.约束演示&#xff1a; 三.外键约束&#xff1a; 3.1介绍&#xff1a; 3.2外键约束语法&#xff1a; 3.3删除&#xff0c;更新行为&#xff1a; 一. 概述: &#x1f9d0;&#x1f9d0;概念&#xff1a;约束是作用于表中字段上的规则&#xff0c;用于限制…

LCD显示器 --- 8080接口 和 RGB接口 的区别

主要介绍LCD显示的基本原理,涉及像素、分辨率、颜色模型、RGB888等格式、Framebuffer、8080接口、RGB接口。 1.LCD显示出图片的基本原理 LCD作为显示器,它的显示原理和图片是一样的。 图片可以看作由一个一个点(即像素pixel)组成。每行有xres个像素,有yres行,则这个图片的分…

Vue 3 项目构建与效率提升:vite-plugin-vue-setup-extend 插件应用指南

一、Vue3项目创建 前提是已安装Node.js&#xff08;点击跳转Node官网&#xff09; npm create vuelatest这一指令将会安装并执行 create-vue&#xff0c;它是 Vue 官方的项目脚手架工具。你将会看到一些诸如 TypeScript 和测试支持之类的可选功能提示&#xff1a; ✔ Projec…

Ubuntu 22.04 解决和 Windows 共享蓝牙设备的问题

我有一个 Airpods,连接到 WIndows 可以正常工作,但连接到 ubuntu 后会无法连接,只能删除设备选择重联,但是这又会导致 Windows 不能连接到耳机,只能也删除重新连接,费神费力。 要解决此问题,仍有两办法,让 Windows 将就 Linux,或者 Linux 将就 Windows,由于折腾注册表…

【STM32+HAL库】---- 驱动MAX30102心率血氧传感器

硬件开发板:STM32F407VET6 软件平台:cubemax+keil+VScode1 MAX30102心率血氧传感器工作原理 MAX30102传感器是一种集成了红外光源、光电检测器和信号处理电路的高度集成传感器,主要用于心率和血氧饱和度的测量。以下是MAX30102传感器的主要特点和工作原理:红外光源:MAX301…

OO第一次博客作业

OO第一次博客作业 目录1.前言 2.设计与分析 3.采坑心得 4.改进建议 5.总结 1.前言 正则表达式是java语言中一种非常重要的语言,他的重要性主要体现在以下方面: 1.高效的文本处理:正则表达式提供了一种高效的方式来处理文本数据。它可以快速地进行字符串的搜索、匹配、替换和…

【机器学习】数据变换---小波变换特征提取及应用案列介绍

引言 在机器学习领域&#xff0c;数据变换是一种常见且重要的预处理步骤。通过对原始数据进行变换&#xff0c;我们可以提取出更有意义的特征&#xff0c;提高模型的性能。在众多数据变换方法中&#xff0c;小波变换是一种非常有效的方法&#xff0c;尤其适用于处理非平稳信号和…

JVM——面试

https://juejin.cn/post/6998527815964426271 https://juejin.cn/post/7101120209540349959垃圾回收器 Serial(新生代)+ Serial Old(老年代) 特点:单线程垃圾回收器,垃圾回收过程中需要 STW,适用于运行在 Client 模式下的虚拟机; 新生代标记复制算法,老年代标记整理算法…

内存分配器

内存分配器 文章目录 内存分配器项目介绍内存池介绍池化技术内存池内存池主要解决的问题malloc 实现定长内存分配器怎么控制定长通过系统调用申请空间定长内存分配器中应该包含哪些成员变量内存池如何管理释放的对象内存分配器如何为我们申请对象定长内存池整体代码性能对比 高…

2024.4.19

2024.4.19 【你知道的都是真相。只可惜那些并不是真相的全部。】 Friday 三月十一 谷雨<BGM = "谷雨--音阙诗听"> AC :Answer Coarse,粗劣的答案 ​ CE :Compile Easily,轻松通过 ​ PC :Perfect Compile 完美的编译 ​ WA :Wonderful Answer,好答案 ​ RE :Ru…

Ubuntu 22.04 安装 Nvidia 驱动最方便安全的方式

刚安装好的 Ubuntu 22.04 没有 N 卡驱动,输入 nvidia-smi,提示没有此程序并推荐到 apt 安装。 但是,使用 apt 安装 nvidia 驱动会有极大概率出现启动黑屏和闪屏问题。 不如进入开始菜单,找到“附加驱动”:此处展示了可用的 Nvidia 驱动,选择自己想要的版本安装,"te…