跳转到主要内容

CKEditor for Plone

项目描述

https://travis-ci.org/collective/collective.ckeditor.svg https://coveralls.io/repos/collective/collective.ckeditor/badge.svg?branch=master&service=github

简介

此插件是Plone的ckeditor集成。此版本包含ckeditor版本4.12.1。

如何安装

您可以将其作为任何Plone插件进行安装。请遵循官方文档

代码源可以在https://github.com/collective/collective.ckeditor找到

请在此处报告问题https://github.com/collective/collective.ckeditor/issues

依赖项

翻译

此产品已被翻译成

  • 西班牙语。

  • 法语。

  • 意大利语。

您可以为我们缺少的消息或其他新语言做出贡献,加入我们,在Transifex.net服务中与全世界的Plone翻译者社区一起加入Plone Collective团队

升级

转到ZMI–>portal_setup–>Upgrades,选择“collective.ckeditor:default”配置文件并执行升级步骤。

4.3.0

版本 4.3.0 带有增强的 图片 插件(image2)。该插件默认未启用,因为它会移除默认图片插件(image)提供的一些高级功能。然而,增强图片 插件提供与图片一起添加标题的能力,并且更加用户友好。

要启用插件,您需要通过通用设置 propertiestool.xml 配置 ckeditor_properties

<?xml version="1.0"?>
<object name="portal_properties" meta_type="Plone Properties Tool">
 <object name="ckeditor_properties" meta_type="Plone Property Sheet">
  <property name="removePlugins" type="lines">
   <element value="image"/>
  </property>
  <property name="plugins" type="lines">
   <element value="ajaxsave;/++resource++cke_ajaxsave/plugin.js"/>
   <element value="image2;/++resource++ckeditor/plugins/image2/plugin.js"/>
  </property>
 </object>
</object>

这将禁用默认的 image 插件并启用 image2 插件。

image2 插件包含两个特定设置(只能通过通用设置进行配置)

<?xml version="1.0"?>
<object name="portal_properties" meta_type="Plone Properties Tool">
 <object name="ckeditor_properties" meta_type="Plone Property Sheet">
  <property name="image2_captionedClass" type="string">image</property>
  <property name="image2_alignClasses" type="lines">
   <element value="image-left"/>
   <element value="image-dummy"/>
   <element value="image-right"/>
  </property>
 </object>
</object>

这些设置是 image2_captionedClassimage2_alignClasses。上面的值是默认值。

如果您启用此插件,您还需要设置 Plone 以接受 figcaption 标签。

这可以通过配置 HTML 过滤器来完成,例如使用设置处理器

def enable_figcaption(p):
    """ Allow figcaption as valid tag in portal_transforms safe_html"""

    from Products.PortalTransforms.Transform import make_config_persistent

    pt = getToolByName(p, 'portal_transforms')
    tid = 'safe_html'
    if not tid in pt.objectIds():
        return
    trans = pt[tid]
    tconfig = trans._config

    validtags = tconfig['valid_tags']
    validtags.update({'figcaption': 1})

    make_config_persistent(tconfig)
    trans._p_changed = True
    trans.reload()
    log.info('added figcaption as valid tag')

CKEditor插件

balloontoolbar插件

自版本 4.8.0 以来提供

默认情况下未启用,此插件提供设置上下文相关工具栏的 API。

要启用插件,请将 balloontoolbar;/++resource++ckeditor/plugins/balloontoolbar/plugin.js 添加到 CKEditor 控制面板(@@ckeditor-controlpanel)中的 插件 字段。

uploadimage插件

自版本 4.7.0 以来提供

默认启用,此插件管理对拖放到编辑器中的图片的上传支持。

nonbreaking插件

自版本 4.4.5 以来提供。

启用时,此插件提供用于插入非断行字符的键盘快捷键

  • Ctrl-Alt-Space 用于非断行空格,

  • Ctrl-Alt-Hyphen 用于非断行连字符。

相应按钮也可以在工具栏中进行配置

  • NbSpace

  • NbHyphen

要启用插件,请将 nonbreaking;/++resource++cke_nonbreaking/plugin.js 添加到 CKEditor 控制面板(@@ckeditor-controlpanel)中的 插件 字段。

或通过通用设置 propertiestool.xml 配置 ckeditor_properties

<?xml version="1.0"?>
<object name="portal_properties" meta_type="Plone Properties Tool">
 <object name="ckeditor_properties" meta_type="Plone Property Sheet">
  <property name="plugins" type="lines">
   <element value="ajaxsave;/++resource++cke_ajaxsave/plugin.js"/>
   <element value="nonbreaking;/++resource++cke_nonbreaking/plugin.js"/>
  </property>
 </object>
</object>

tableresize插件

启用时,此插件可以轻松通过拖放从左到右和从右到左来更改表格列的宽度。

要启用插件,请将 tableresize;/++resource++ckeditor/plugins/tableresize/plugin.js 添加到 CKEditor 控制面板(@@ckeditor-controlpanel)中的 插件 字段。

或通过通用设置 propertiestool.xml 配置 ckeditor_properties

<?xml version="1.0"?>
<object name="portal_properties" meta_type="Plone Properties Tool">
 <object name="ckeditor_properties" meta_type="Plone Property Sheet">
  <property name="plugins" type="lines" purge="False">
   <element value="tableresize;/++resource++ckeditor/plugins/tableresize/plugin.js"/>
  </property>
 </object>
</object>

开发

在检出 collective.ckeditor 源代码后,运行包含的 buildout。

这将安装并运行 copy_ckeditor_code 脚本。它负责将 ckeditor 代码复制到适当的 browser/ckeditor 目录。

browser/ckeditor 目录使 ckeditorjavascript 代码在浏览器中可通过以下路径访问

http://yourplonesite/++resource++ckeditor/

如何发布

显然,ckeditor 代码也需要包含在发布的 eggs 中。

collective.ckeditorzest.releaser 注册了一个入口点,如果调用正确,将在准备发布时处理代码的复制。

但是,为了利用入口点,您必须使用开发 buildout 本地安装的 bin/fullrelease,而不是全局安装的 fullrelease

只有本地的 bin/fullrelease 脚本可以看到 collective.ckeditor 注册的入口点。

如何更新到CKEditor的新版本

适用于 CKEditor 4

  1. 转到 dev/build-ckeditor

  2. image2.shmoono.shscaytwsc 中更新插件版本的计算,这些文件位于 scayt.sh

  3. 运行以下命令 CKEDITOR_VERSION=4.x.x make

  4. 运行 bin/copy_ckeditor_code

  5. 进行测试

  6. 添加未跟踪的文件 git add ../../src/collective/ckeditor/_src/ckeditor/

  7. 提交更改

如果您需要未压缩的 JS 代码进行调试,可以将步骤 3 替换为

MINIFIED_JS=--leave-js-unminified CKEDITOR_VERSION=4.x.x make

测试状态

此插件使用 Travis CI 进行测试。当前插件的状态是

https://img.shields.io/travis/collective/collective.ckeditor/master.svg https://img.shields.io/coveralls/collective/collective.ckeditor/master.svg http://img.shields.io/pypi/v/collective.ckeditor.svg

致谢

公司

贡献者

变更日志

4.10.1 (2021-10-01)

  • 修复 4.10.0 版本中 CKEditor 未正确打包的问题。[aduchene]

  • 使用 zest.releaser = 6.22.1。[aduchene]

4.10.0 (2021-06-11)

  • 将不允许的内容选项添加到黑名单内容。[naro, gotcha]

4.9.1 (2021-02-12)

  • 添加 Transifex.net 服务集成以管理翻译过程。[macagua]

  • 添加西班牙语翻译。[macagua]

  • AjaxSave 插件,当没有任何更改时显示消息(内容已保存(没有更改)。)[gbastien]

  • AjaxSave 插件,添加 async:true 属性,因此可以将其设置为 async:false 并确保在继续之前保存内容。[gotcha, gbastien]

4.9.0 (2019-09-12)

  • 更新到 CKEditor 4.12.1 [gotcha]

4.8.3 (2018-11-13)

  • AjaxSave 插件,防御无法遍历的对象,如 plone.registry 记录 [gotcha]

4.8.2 (2018-10-12)

  • 重构 AjaxSave 插件

    • 修复 Archetypes 的 bug

    • 支持 plone.app.contenttypes

    • 支持 formlib portlets

    [gotcha]

4.8.1 (2018-07-10)

  • CKEditor 语言与编辑视图语言一致 [gotcha]

4.8.0 (2018-06-22)

  • 更新到 CKEditor 4.9.2 包括未启用的 balloons toolbar 插件 [gotcha]

4.7.2 (2017-12-15)

  • 使 uploadimageresolveuid 链接成为相对链接。 [gotcha]

4.7.1 (2017-12-08)

  • uploadimage 支持使用 resolveuid。[gotcha]

4.7.0 (2017-12-01)

  • 启用 uploadwidgetuploadimage 插件。相应的升级步骤(现在依赖于 plone.api) [gotcha]

4.6.0 (2017-08-18)

  • 更新到 CKEditor 4.7.2 [gotcha]

4.5.0 (2017-02-24)

  • 为 CKEditor 皮肤添加设置:彩色或平面按钮

    默认皮肤仍然是 Moonocolor,彩色按钮。平面按钮来自新的 Moono-lisa 皮肤(见 https://ckeditor.npmjs.net.cn/addon/moono-lisa) [gotcha]

    为了避免在默认 Plone 4 皮肤中的按钮出现难看的底部边框:将以下样式添加到您的 CSS 中

    #content a.cke_button {
        border-bottom: 0;
    }
    
    #content a.cke_button:hover {
        border-bottom: #ccc 0.1em solid;
    }
  • 更新到 CKEditor 4.6.2 [gotcha]

4.4.5 (2016-11-23)

  • nonbreaking 插件:用于插入非断行空格和连字符。[gotcha]

4.4.4 (2016-05-02)

  • 修复过载设置:它应该是一个空字典而不是 None [gotcha]

4.4.3 (2016-05-02)

  • 为 formlib wysiwyg 小部件启用设置过载。[gotcha]

4.4.2 (2016-04-13)

  • 修复 filexxxBrowserUrl 小部件的定制,根据语言设置 [gotcha]

4.4.1 (2016-04-13)

  • 为 plone.app.z3cform wysiwyg 小部件启用设置过载。[gotcha]

  • 根据语言,启用文件xxxBrowserUrl的每个小部件的定制功能。[注意事项]

4.4.0 (2016-03-11)

  • 在注册表中存储自定义工具栏。(通过之前的更改,启用每个小部件不同的工具栏)[注意事项]

  • 改进每个小部件的设置覆盖功能。[注意事项]

  • 只有当您是经过身份验证的用户时才加载js。[bsuttor]

4.3.5 (2016-02-16)

  • 修复在弹窗窗口中点击主图片时ckeditor中的图片预览问题。[boulch]

4.3.4 (2016-01-21)

  • 修复在添加小部件时由plone.app.form.widgets.wysiwygwidget调用时的ckeditor_plone_config.js的上下文。[注意事项]

4.3.3 (2016-01-20)

  • 修复在编辑小部件时由plone.app.form.widgets.wysiwygwidget调用时的ckeditor_plone_config.js的上下文。[注意事项]

4.3.2 (2016-01-08)

  • 修复image2_alignClasses的默认值(以及升级步骤)[注意事项]

  • 向build-ckeditor脚本添加不压缩JS的选项。[注意事项]

  • 修复build-ckeditor脚本以保留不使用image2插件的选择。[注意事项]

  • 相应地更新ckeditor。[注意事项]

  • 检查image2_alignClasses的有效性。[注意事项]

4.3.1.1 (2015-01-05)

  • 重新发布包含生成静态资源的egg。[ebrehault]

4.3.1 (2015-12-14)

  • 更新到CKeditor 4.5.6。[注意事项]

  • 添加一些机器人测试。[spreverde, 注意事项]

  • 将默认TableWidth选项添加到控制面板以设置表格对话框窗口中的默认表格宽度。

4.3.0b2 (2014-06-19)

  • 通过GS修复javascript顺序。[montypie]

4.3.0b1 (2014-06-19)

  • 添加image2插件及其依赖项。[注意事项]

  • 将image2_alignClasses和image2_captionedClass设置添加到setup image2插件。[注意事项]

  • 更新到CKeditor 4.4.1。[注意事项]

  • 将removePlugins选项添加到控制面板以允许停用插件。[注意事项]

4.2.0 (2014-06-05)

  • 在resolveuid旁边显示实际url链接对话框。[注意事项]

4.1.1 (2014-03-27)

  • 修复升级步骤以避免覆盖自定义配置。[注意事项]

  • 更新到CKeditor 4.3.4 [注意事项]

4.1 (2014-03-27)

  • 扩展高级内容过滤器(ACF)的设置。[spereverde, 注意事项]

4.0.0 (2014-02-05)

  • 更新到CKeditor 4.3.2 [注意事项]

  • 将extraAllowedContent选项添加到设置过滤器规则。[注意事项]

  • 向后兼容工具栏设置 [注意事项]

  • 迁移到CKeditor 4.2.3 [gbastien]

3.6.12 (2013-09-05)

  • 使SCAYT默认启用/禁用成为可能 [gbastien]

3.6.11 (2013-05-30)

  • 保持与IE<9的兼容性,不要在JS中使用indexOf [gbastien]

3.6.10 (2013-05-30)

  • 更新ckeditor到3.6.6.1 [vincentfretin]

  • travis设置/构建out基础设施 [kiorky]

3.6.9 (2013-05-29)

  • 在Plone 4.3下工作 [thomasdesvenain]

3.6.8 (2012-12-13)

  • 更新安装和卸载以更改default_editor站点属性而不是wysiwyg_editor成员数据属性。 [maurits]

  • 在确定成员是否想使用CKeditor时,也检查default_editor站点属性。[maurits]

  • 更改外部插件注册的方式。最好使用CKEDITOR.plugins.addExternal的三参数变体,因为这将在插件代码中将插件资源的基本URL作为this.path正确提供。否则this.path将包含插件脚本的完整URL,这会相应地破坏相关资源的加载(图像、翻译等)。 [dokai]

  • 重构ck_ruid_to_url转换以使用plone.app.uuid将UID转换为URL。这避免了使用reference_catalog而是使用portal_catalog,并似乎解决了Dexterity类型通过reference_catalog不可用的问题。 [dokai]

  • 通过re.search方法限制要搜索的字符串长度不超过3000个字符。 [taito]

3.6.7 (2012-08-20)

  • 注意使用绝对URL注册的外部样式表。[注意事项]

  • 修复插件(添加迁移)[kiorky]

  • 刷新翻译 [kiorky]

  • 翻译样式菜单 [kiorky]

3.6.6 (2012-07-05)

  • 修复图像的默认值 [kai.hoppert@tomcom.de]

  • 为ckeditor源添加一个重复的目录:它需要一个更雄心勃勃的补丁,但可以修复开发安装 [kiorky]

3.6.5 (2012-07-04)

  • 修复3.6.4版本中缺失的目录 [encolpe]

3.6.4 (2012-07-03)

  • 修复清单中缺失的rst文件包含 [encolpe]

  • 对browser/ckeditor中提交的最新已知工作的ckeditor进行版本控制 [kiorky]

3.6.3 (2012-07-03)

  • 当字段中的HTML不是允许的内容类型时,不要显示ckeditor。这解决了与Products.Poi的集成问题,其中PoiIssue的详情字段默认只允许text/x-web-intelligent。 [vincentfretin]

  • 修复了查找器以尊重“允许创建文件夹”选项。[dokai]

  • 添加了国际化支持 [giacomos]

  • 添加了意大利语翻译 [giacomos]

  • 根据plone_portal_state.language()修复语言配置 [toutpt]

  • 添加法语翻译 [toutpt]

  • 添加针对Plone的z3c.autoinclude [toutpt]

3.6.2 (2011-12-12)

  • 在README中描述如何发布以确保ckeditor代码包含在egg中。[gotcha]

3.6.2b2 (2011-12-12)

  • 尚未有任何更改。

3.6.2b1 (2011-12-12)

  • 使用ckeditor 3.6.2 [spereverde]

  • 添加ajaxsave插件以允许异步保存。[gotcha]

  • 使用zest.releaser入口点来捆绑ckeditor代码。[gotcha]

3.6.1 (2011-07-14)

  • 尚未有任何更改。

3.6.1rc (2011-07-14)

  • 使用ckeditor 3.6.1 [spereverde]

  • 一些pep8和pyflakes [spereverde]

  • 为templates_replaceContent添加了控制面板设置 [spereverde]

  • 添加自定义模板注册的控制面板设置 [gotcha]

  • Plone4.1支持 - 修复IVocabularyFactory导入 [msmith64]

3.4.1

  • 使用ckeditor 3.4.1 [macadames]

  • 修复了set_media_type中的错误 [macadames]

  • 修复了mediaupload会话中的错误 [macadames]

3.4

  • 使用ckeditor 3.4

3.3.1b

  • 使用ckeditor 3.3.1 [macadames]

  • 控制面板图标现在位于controlpanel.xml中 [macadames]

  • 使用最后一个Plone4版本使控制面板(和测试)在没有错误的情况下运行……The listTypesForInterface方法已损坏。[macadames]

  • 在collective.plonefinder中使用新媒体上传属性(强制在jquery.uploadify中选中内容类型)[macadames]

  • 添加了对z3c.autoinclude的支持,因此不需要为该包使用zcml slugs。[sneridagh]

3.2.1b

  • 添加了图像大小选择(使用collective.plonefinder提供的新选项)

  • 对collective.plonefinder的最后一次使用进行了一些修复。

3.2.1a

  • 使用ckeditor 3.2.1

  • plone 4兼容性

    • 删除iw.resourcetraverser依赖关系

    • 从皮肤中删除wysiwyg_support(不再有用)

  • 控制面板改进

  • 添加或改进了功能doctests

  • 添加了FAQ

  • 添加了buildout示例,以帮助使用svn产品的开发者

  • javascript上下文配置现在已打包

  • 添加了本地字段小部件设置覆盖

  • 更改了portal_transforms resolveuid

  • 修复了所有basehref问题

  • 通过控制面板完成菜单样式

  • 通过控制面板完成工具栏

3.0.2

  • 使用ckeditor 3.0.2

3.0

  • 初始发布

CKEditor for Plone : FAQ

如何完全删除Plone中任何ckeditor的痕迹?

使用Plone控制面板 > 插件 > 在ZMI中移除产品 > portal_properties移除‘ckeditor_properties’,您将销毁所有注册的ckeditor参数。

如何为Plone安装新的CKeditor版本?

始终阅读此FAQ从一种版本到另一种版本,可能需要运行通用设置升级步骤以迁移ckeditor_properties表单。

如何使用collective.ckeditor的svn版本?

只需查看此包中的buildout/buildout.cfg和buildout/sources.cfg。检出标准plone4 buildout。将标准plone4 buidout进行diff以查看您需要更改的部分。您需要在sources.cfg中添加svn地址,在egg和zcml部分中添加‘ckeditor’,以及在‘ckeditor’部分……

如何完全覆盖ckeditor配置以使用您自己的javascript配置?

只需在您的ZMI > portal_skins > Custom或皮肤产品中创建一个名为‘ckeditor_plone_config.js’的javascript文件。

项目详情


发布历史 发布通知 | RSS源

下载文件

下载适用于您平台的文件。如果您不确定该选择哪一个,请了解更多关于安装包的信息。

源代码分发

collective.ckeditor-4.10.1.tar.gz (3.7 MB 查看哈希值)

上传时间 源代码

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面