summernote富文本框提供了插入图片功能,对插入的图片的编辑,提供了“靠左浮动”,“靠右浮动”,“取消浮动”三个按钮,想要增加“居中对齐”功能。本文记录如何增加“居中对齐”功能。
要增加居中对齐功能,需要修改summernote.js(或者summernote.min.js)及summernote-zh-CN.js文件。
1.修改summernote-zh-CN.js文件,在image结构体中增加 floatCenter: '水平居中' 的定义:
image: { image: '图片', insert: '插入图片', resizeFull: '缩放至 100%', resizeHalf: '缩放至 50%', resizeQuarter: '缩放至 25%', floatLeft: '靠左浮动', floatCenter: '水平居中', floatRight: '靠右浮动', floatNone: '取消浮动', shapeRounded: '形状: 圆角', shapeCircle: '形状: 圆', shapeThumbnail: '形状: 缩略图', shapeNone: '形状: 无', dragImageHere: '将图片拖拽至此处', dropImage: '拖拽图片或文本', selectFromFiles: '从本地上传', maximumFileSize: '文件大小最大值', maximumFileSizeError: '文件大小超出最大值。', url: '图片地址', remove: '移除图片', original: '原始图片', }
2.修改summernote.js(或者summernote.min.js)
(1)在en-US的image的结构体定义中增加floatCenter的定义:
image: { image: 'Picture', insert: 'Insert Image', resizeFull: 'Resize full', resizeHalf: 'Resize half', resizeQuarter: 'Resize quarter', resizeNone: 'Original size', floatLeft: 'Float Left', floatCenter: 'Float Center', floatRight: 'Float Right', floatNone: 'Remove float', shapeRounded: 'Shape: Rounded', shapeCircle: 'Shape: Circle', shapeThumbnail: 'Shape: Thumbnail', shapeNone: 'Shape: None', dragImageHere: 'Drag image or text here', dropImage: 'Drop image or Text', selectFromFiles: 'Select from files', maximumFileSize: 'Maximum file size', maximumFileSizeError: 'Maximum file size exceeded.', url: 'Image URL', remove: 'Remove Image', original: 'Original' }
(2)修改Editor对象的floatMe属性定义:
floatMe原定义:
this.floatMe = this.wrapCommand(function (value) { var $target = $$1(_this.restoreTarget()); $target.toggleClass('note-float-left', value === 'left'); $target.toggleClass('note-float-right', value === 'right'); $target.css('float', (value === 'none' ? '' : value)); });
floatMe修改后的定义:
this.floatMe = this.wrapCommand(function (value) { var $target = $$1(_this.restoreTarget()); $target.toggleClass('note-float-left', value === 'left'); $target.toggleClass('note-float-right', value === 'right'); $target.toggleClass('note-float-center', value === 'center'); //$target.css('float', (value === 'none' ? '' : value)); if(value=='center'){ $target.css('margin', '0 auto').css('float', 'none').css('display', 'block') }else{ $target.css('float', (value === 'none' ? '' : value)).css('margin', ''); } });
(3)修改Buttons.prototype.addImagePopoverButtons函数定义,对Float Buttons增加floatCenter的点击事件,绑定到floatMe:
找到 this.context.memo('button.floatLeft', function () { 的定义和 this.context.memo('button.floatRight', function () { 的定义,在floatLeft定义和floatRight定义之间增加如下代码:
this.context.memo('button.floatCenter', function () { return _this.button({ contents: _this.ui.icon(_this.options.icons.alignCenter), tooltip: _this.lang.image.floatCenter, click: _this.context.createInvokeHandler('editor.floatMe', 'center') }).render(); });
(4)找到image的float按钮组,增加 floatCenter 按钮定义:
在'floatLeft' 与 'floatRight'之间增加'floatCenter'
popover: { image: [ ['resize', ['resizeFull', 'resizeHalf', 'resizeQuarter', 'resizeNone']], ['float', ['floatLeft', 'floatCenter', 'floatRight', 'floatNone']], ['remove', ['removeMedia']], ], link: [ ['link', ['linkDialogShow', 'unlink']], ],
至此修改完毕,可以更新发布查看效果。
相关推荐
标题 "node-v0.8.12-linux-x86.tar.gz" 暗示了这是一个针对Linux x86平台的Node.js版本的压缩文件。Node.js是一个开源、跨平台的JavaScript运行环境,它允许开发者在服务器端运行JavaScript代码,极大地扩展了...
`summernote`是一个流行的开源富文本编辑器,它基于流行的前端框架Bootstrap构建。这款编辑器以其轻量级、强大的功能和易于集成的特点深受开发者喜爱。在网页开发中,用于创建内容丰富的表单、博客文章或者任何需要...
node-v0.8.12-x86
该组件库在v0.8.12版本中包含了丰富的功能和优化,使得开发过程更为便捷。 首先,我们要理解什么是微信小程序。微信小程序是腾讯公司推出的一种轻量级应用形态,它无需下载安装即可使用,极大地方便了用户。开发者...
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 ...
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 ...
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 ...
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 ...
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 ...
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 ...
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 ...
- 扩展功能:0.8.12版可能增加了新的分析模块或改进了原有功能,具体可查看官方文档了解详情。 5. 学习资源与社区支持: - Vaspy的官方文档是学习和使用的重要参考,包含了详细的API说明和示例代码。 - 在线社区...
《PyPI上的Flask_AutoAPI 0.8.12版本详解》 在Python的Web开发领域,Flask框架以其轻量级、灵活的特点深受开发者喜爱。而Flask_AutoAPI则是为Flask应用程序提供自动化API文档生成的扩展,大大简化了API接口的文档...
7. **持续更新**:随着项目的不断发展,开发者会发布新的版本以修复问题、增加新功能,然后重复上述过程,更新PyPI上的版本。 总的来说,ShelfCMS-0.8.12.tar.gz不仅是一个Python库的代码包,更是Python开发者社区...
Python库是一组预编写的功能,可以被其他Python项目引用和使用,以增加代码复用性和简化开发过程。`django_classified`很可能是这样一个库,专为Django框架提供特定的功能,例如分类广告或内容管理系统。 `.whl`是...
《Python库:深入理解metaphor-connectors-0.8.12》 在Python的广阔天地里,库是开发者的重要工具,它们提供了丰富的功能,让编程变得更加高效和便捷。今天我们将聚焦于一个名为"metaphor-connectors"的Python库,...
解压后为mysql-apt-config_0.8.12-1_all.deb文件,ubuntu和debian服务器下安装请参考https://blog.csdn.net/zhangenter/article/details/103475971
2. **新编码器支持**:可能增加了对当时最新的音频或视频编码格式的支持。 3. **稳定性增强**:修复了可能导致程序崩溃或转换失败的已知问题。 4. **用户界面改进**:可能改进了用户界面的易用性,提供了更直观的...
"Python库 | sanpy-0.8.12-py3-none-any.whl" 这个标题揭示了我们要讨论的是一个Python库,名为"sanpy",其版本为0.8.12,且该库是以whl(Wheel)格式提供的。在Python世界里,Wheel是一种预编译的Python包格式,它...
**PyPI 官网下载 | Dtautils-0.8.12-py2.py3-none-any.whl** PyPI(Python Package Index)是Python官方的软件仓库,它提供了大量的Python库供用户下载和使用。在Python开发中,通过PyPI获取和安装库是常见的操作。...