tinymce系列(二) tinymce 插件开发

本文档详细介绍了TinyMCE插件的开发规范,包括代码编写风格、文件组织结构以及命名规则。插件代码通常包含Plugin函数,按钮和命令的注册,并遵循特定的目录结构。在开发过程中,插件文件夹命名应与包名一致,tinymce仅加载plugin.js和plugin.min.js。了解这些规范是进行TinyMCE插件开发的基础。
摘要由CSDN通过智能技术生成

tinymce 插件开发

前面一篇文章已经介绍了 tinymce 的环境搭建,其实就是为了 tinymce 插件开发做的铺垫
仓库代码:https://gitee.com/Jioho/tinymce-plugins
后面开发的 API 都以 5.x 版本为主(现在出到 6.x 了)主要是公司用的也是 5.x~

tinymce 插件代码编写风格

hr 插件为示例

代码风格总结如下,供参考(非标准,文档也并没有说明代码风格问题):

  1. 只有一个 function 函数 即为 Plugin
  2. 入口方法也是 Plugin
  3. 通常都会有 ButtonsCommands 等作为模块划分,归纳相关的方法
  4. 按钮名通常与插件同名
  • 精简代码如下:
;(function() {
  'use strict'

  // 通过 tinymce.util.Tools.resolve 加载 tinymce 的模块
  var global = tinymce.util.Tools.resolve('tinymce.PluginManager')

  var register = function(editor) {
    // 相关的业务逻辑
    editor.addCommand('InsertHorizontalRule', function() {})
  }
  var Commands = { register: register }

  var register$1 = function(editor) {
    // 按钮相关的业务逻辑
    editor.ui.registry.addButton('hr', {...})
    editor.ui.registry.addMenuItem('hr', {...})
  }
  var Buttons = { register: register$1 }

  function Plugin() {
    // global 其实是 PluginManager
    // 通过 add 把当前 hr 插件注册到 tinymce 插件中
    global.add('hr', function(editor) {
      // 注册公共方法
      Commands.register(editor)
      // 注册 toolbar 的按钮
      Buttons.register(editor)
    })
  }

  // 插件加载后唯一执行的方法
  Plugin()
})

插件开发文件规范

存放目录问题

存放插件目录都在 src/js/tinymce/plugins 下。其中 src/js/tinymce 为下载回来后的 tinymce 的源码包

以我的参考为例
tinymce 开发插件目录


插件文件夹命名规范

在 plugins 目录下,新建一个 my_plugin 文件夹,那么 my_plugin 就是这个插件包的包名
在 tinymce 初始化配置中 plugins 配置项填写的就是需要引入的包名

tinymce.init({
  selector: 'textarea.tinymce',
  plugins: 'my_plugin'
})

插件命名规范

在对应的包名下,tinymce 只加载 plugin.jsplugin.min.js
加载规则如下:在业务逻辑页面 如果引入的是 tinymce.js 则加载对应插件的 plugin.js 文件
如果引入的为 tinymce.min.js 则加载对应插件的 plugin.min.js 文件

最后

这部分简单介绍了一下 tinymce 插件开发的文件规范和代码风格一致规范,下一章就是 tinymce 常用 API 介绍,正式上手 tinymce 插件开发!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值