• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Open-Web-Editor: ✍️ An Editor Used on the Browser Side. Web版本的可扩展代码编 ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

Open-Web-Editor

开源软件地址:

https://gitee.com/hai2007/Open-Web-Editor

开源软件介绍:

Open Web Editor - ✍️ Web版本的可扩展代码编辑器

downloads install size CDN Version License GitHub repo stars

温馨提示:使用过程中,你可以查看 版本历史 来了解是否需要升级!

兼容Chrome、Safari、Edge、Firefox、Opera和IE(9+)等常见浏览器!

Issues

使用的时候遇到任何问题或有好的建议,请点击进入issue,欢迎参与维护!

如何引入

我们推荐你使用npm的方式安装和使用:

npm install --save open-web-editor

当然,你也可以通过CDN的方式引入:

<script src="https://cdn.jsdelivr.net/npm/open-web-editor@0"></script>

如何使用

  • 特别注意:当前最后一个可用版本(非beta和alpha版本)请查看master分支的说明!
import OpenWebEditor from 'open-web-editor';var owe = new OpenWebEditor({    // 编辑器挂载点(必选)    el: document.getElementById('owe'),    // 初始化文本(可选)    content: "初始化文本内容",    // 编辑器字体(可选,默认"新宋体")    "font-family": string,    // 编辑器字重(可选,默认600)    "font-weight": number,    // 着色方法(可选,默认不特殊着色)    shader: function(textString){        return [            [{                content:"内容",                color:"文字颜色"            },            ...],            ...        ];    },    // 格式化方法(可选)    format: function(textString, tabNumber){        return "格式化后的文本";    },    // 辅助输入(可选)    input: function(dom, options, contentArray){        /*        1.其中dom和contentArray分别表示辅助的悬浮结点和内容数组;        2.options的一些重要的辅助信息,是一个json,包括以下内容:            {                leftNum:光标前面有多少个字符                lineNum:当前行之前有多少行                x:光标left坐标                y:光标top坐标                lineHeight:一行文本的高            }        */       // 返回的是键盘操作,可以有任意多个(可选)       return {            // keyString可以取:            //    ”up“:按下键盘向上键            //    ”down“:按下键盘向下键            //    等            "keyString":function(){                // 最后返回true或false,默认false表示阻止默认行为(或原有行为)                return boolean;            },            ...       };    },    // 设置颜色(可选)    color: {        background: "#d6d6e4", /*编辑器背景*/        text : "#000000", /*文本颜色*/        number: "#888484", /*行号颜色*/        edit: "#eaeaf1", /*编辑行背景色*/        cursor: "#ff0000", /*光标颜色*/        select: "#6c6cf1", /*选择背景*/    },    // 设置一个tab表示多少个空格(可选,默认4)    tabSpace: number,    // 是否只读(默认false,如果设置true表示当前编辑器可以选择复制等操作,不可以进行内容修改)    readonly:boolean,    // 行号是否隐藏(默认false,如果设置true表示当前编辑器行号隐藏)    noLineNumber:boolean});

返回的owe里面挂载着后续可控方法:

  • 格式化代码
owe.format();
  • 获取当前编辑器代码
// 如果content传递了,会先设置内容owe.valueOf([content]);
  • 复制当前编辑器代码到电脑剪切板
// 成功回调和错误回调都非必输owe.copy(callback,errorback);
  • 编辑器管理的文本发生改变后会主动触发callback方法
owe.updated(callback);
  • 在当前光标位置输入新的内容
// cursor和length默认都是0,前者表示光标偏移量,后者表示替换个数owe.input(content[, cursor, number]);

内置着色器

对于上面的选项shader除了传递一个着色器方法外,还可以传递一个数组,以使用内置的着色器方法进行着色:

new OpenWebEditor({    ...    // lang是一个字符串,表示需要着色的语言    // colors可选,表示使用的色彩    // 此外,colors具体有多项,都可选,配置你希望修改的即可,其余自动使用默认值    shader:[lang,colors]    ...});

下面来列举出所有可选的语言:

html

shader:['html',{    "text": "#000000",/*文本颜色*/    "annotation": "#6a9955",/*注释颜色*/    "insign": "#ffffff",/*符号颜色*/    "node": "#1e50b3",/*结点颜色*/    "attrKey": "#1e83b1",/*属性名称颜色*/    "attrValue": "#ac4c1e",/*属性值颜色*/    "css":{        // 查看后续css语言部分    },    "javascript":{        // 查看后续javascript语言部分    }}]

css

shader:['css',{    "annotation": "#6a9955",/*注释颜色*/    "insign": "#ffffff",/*符号颜色*/    "selector": "#1e50b3",/*选择器*/    "attrKey": "#1e83b1",/*属性名称颜色*/    "attrValue": "#ac4c1e"/*属性值颜色*/}]

javascript

shader:['javascript',{    "text": "#000000",/*文本颜色*/    "annotation": "#6a9955",/*注释颜色*/    "insign": "#ffffff",/*符号颜色*/    "key": "#ff0000",/*关键字颜色*/    "string": "#ac4c1e",/*字符串颜色*/    "funName": "#1e50b3",/*函数名称颜色*/    "execName": "#1e83b1"/*执行方法颜色*/}]

开源协议

MIT

Copyright (c) 2020-2022 hai2007 走一步,再走一步。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Slate-js: Slate 是一个完全可定制的富文本编辑框架发布时间:2022-03-25
下一篇:
Ubuntu Tweak: Ubuntu 桌面设置管理工具发布时间:2022-03-25
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap