Web-Studio-CodeWeb 编辑器

联合创作 · 2023-09-23 05:02

一款基本的Web编辑器,可以基于此二次开发更具有针对性的编辑器或富文本编辑器。

如何引入

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

npm install --save wscode

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

<script src="https://cdn.jsdelivr.net/npm/wscode"></script>

如何使用

  • 特别注意:当前最后一个可用版本(非beta和alpha版本)请查看master分支的说明!
import WSCode from 'wscode';

var wscode = new WSCode({

    // 编辑器挂载点(必选)
    el: document.getElementById('wscode'),

    // 初始化文本(可选)
    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“:按下键盘向下键
            //    等
            // 具体的查看这里: https://yelloxing.github.io/core.js/tools-api/index.html#keyString
            "keyString":function(){

                // 最后返回true或false,默认false表示阻止默认行为(或原有行为)
                return boolean;
            },
            ...
       };
    },

    // 设置颜色(可选)
    color: {
        background: "#d6d6e4", /*编辑器背景*/
        text : "#000000", /*文本颜色*/
        number: "#888484", /*行号颜色*/
        edit: "#eaeaf1", /*编辑行背景色*/
        cursor: "#ff0000", /*光标颜色*/
        select: "#6c6cf1", /*选择背景*/
    },

    // 设置一个tab表示多少个空格(可选,默认4)
    tabSpace: number

});
浏览 6
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报