Summernote token \ template插入和hilighting?

Summernote token \ template插入和hilighting?

问题描述:

我正在尝试使用summernote来允许用户编辑电子邮件模板。我想让他们能够插入模板/标记项目,例如{{name}}。理想情况下,我希望它能够在编辑所述模板时点亮这些内容以向他们展示他们的模板。Summernote token template插入和hilighting?

代码示例:

$('summernote').summernote({ 
        height: 225, 
        callbacks: { 
         onBlur: function(contents, $editable) { 
          var rx = /{([^}]+)}/; 
          var instance = new Mark("div.panel-body"); 
          var regex = new RegExp(rx, 'g'); 
          instance.markRegExp(regex); 
         }, 
        }, 
        hint: { 
         mentions: ['name', 'test'], 
         match: /\B{{(\w*)$/, 
         search: function (keyword, callback) { 
          callback($.grep(this.mentions, function (item) { 
           return item.indexOf(keyword) == 0; 
          })); 
         }, 
         content: function (item) { 
          return '{{' + item + '}}'; 
         } 
        } 
       }); 
  • 我使用mark.js标记与模板匹配的正则表达式是在模糊的项目
  • Mark.js添加自己的标记,然后被拉进保存的数据summernote('code')
  • 必须有一个更简单的方法/更好的解决方案,唯一的方法就是在保存之前去掉所有mark.js标记在数据库中,我宁愿不必做(想保持UI的东西隔离)

在思考这个实施写summernote一个基于插件的关闭的是这样的:https://github.com/Nanakii/summernote-plugins/blob/master/plugin/template/summernote-ext-template.js,然后剥离出特殊标签时节省好像我最好的选择功能,但是,如果有人这样做,或这已经存在,我宁愿不重新发明轮子。

tldr

  • 是否有插件summernote允许模板\令牌插入和高亮显示了?
  • 有没有一种方法来标记内容,而不添加标签,当我呼叫summernote.code时得到保存?

如果您在表单中使用textarea初始化summernote,您可能会中断表单提交。通过JavaScript进行必要的更改,然后以编程方式提交表单。

我用我的summernote-save-button插件(https://github.com/DiemenDesign/summernote-save-button)做类似的过程。

当前检查内容是否已经保存,如果用户尝试导航离开当前页面提醒他们保存。在我的CMS中有另一个版本,它在提交表单之前对textarea数据进行编码,以避开一些服务器管理员对iframes之类的内容进行严格的数据过滤,以便使用iframe嵌入youtube视频。

顺便说一句,我也是该项目的新开发人员之一,我很乐意帮助解决您的问题。