突出显示Plone内容术语,鼠标悬停时显示术语定义作为工具提示。
项目描述
PloneGlossary
由 Ingeniweb 提供。
概述
PloneGlossary 是一种 Plone 内容类型,允许您管理自己的术语表,提出定义并在一个或多个术语表中搜索。任何定义的单词都会立即在您站点的正文中高亮显示。
添加术语表后,您可以将定义添加到其中。定义是一种简单的内容类型。将您想要定义的单词作为标题输入,并在文本正文中输入单词的定义。您还可以指定单词的变体。例如,如果您定义了单词酸奶,您可能还希望允许酸奶或酸奶作为有效变体。当定义在其他地方出现时,它们将被高亮显示(就像首字母缩略词一样)。(也请参阅 ploneglossary 配置文件。)
一旦您的术语表中有大量定义,您可以通过字母索引浏览术语表,或在该术语表中执行搜索。每个术语表都集成了搜索引擎,它只是一个 ZCatalog。
需求
Plone 3.x 或 4.x
安装
安装最新版本
当然使用 zc.buildout。只需将此行添加到您的 buildout.cfg 文件中。
[instance] recipe = plone.recipe.zope2instance ... eggs = ... Products.PloneGlossary
从 github 安装克隆版本
我们假设您的实例已使用 paste 脚本的 plone3_buildout 模板构建(否则您应根据说明进行更改)
$ cd $BUILDOUT_HOME/src $ git clone git@github.com:collective/Products.PloneGlossary.git $ cd Products.PloneGlossary $ python setup.py develop
然后编辑您的 buildout.cfg
[buildout] ... develop = ... src/Products.PloneGlossary
并按照安装最新版本部分所述更改 [instance] 部分。
Plone Unicode 问题
如果您使用的是旧版本的 Plone(< 3.2),您将遇到此问题:在术语表中使用非 ASCII 字符需要更改 Zope 的默认编码。
为此,在您的 $SOFTWARE_HOME 中添加一个 sitecustomize.py 文件,包含以下两行
import sys sys.setdefaultencoding('utf-8')
然后将上面的“utf-8”替换为“portal_properties/site_properties”中的“default_charset”属性的值。
升级
在 ZMI 中访问您的站点的 portal_setup 对象,单击 升级 并选择 Products.PloneGlossary:default。
如果您是从 PloneGlossary 1.2 或更旧版本升级,您可以使用“显示旧升级”强制升级。
配置
添加术语表小部件
使用小部件管理器显示显示内容中找到的所有定义的小部件。
zope.conf 调整(可选)
PloneGlossary 假设您的站点的字符集为 UTF-8。
PloneGlossary 视图具有 30 个术语的批次大小。您可能更喜欢另一个大小。
如果您需要其他批次大小,您可以将此附加到您的 zope.conf
<product-config ploneglossary> batch-size 40 # Or any positive integer you might prefer. </product-config>
术语表配置
高亮内容:如果选择此选项,则所有定义的词汇将在所选的内容类型中高亮显示(见下文)。
描述长度:选择高亮中给定定义的最大长度。
描述省略号:选择省略号。当定义的术语超过描述长度时,在高亮中使用。
未高亮标签:定义不应高亮的HTML标签。默认:h1、a、input、textarea
允许的门户类型:选择定义的词汇需要高亮显示的门户类型。
全局使用术语表的所有内容?:当勾选时,所有术语表将用于在网站的所有内容中全局高亮显示术语。取消勾选此选项时,仅使用从内容向上遍历时找到的第一个术语表。
通用术语表:选择用于检查内容相关术语的术语表。
其他工具
安装程序安装了一个工具。它提供了一些配置选项(在configlet中管理),以便您可以自定义和管理您的术语表。
按对象开关高亮显示
从版本1.5.0开始,支持按对象切换高亮显示的开启或关闭。默认行为仍然是工具简单地检查当前对象是否在配置中设置的允许的门户类型中。版本1.5.0引入了一个接口IOptionalHighLight。工具试图将当前对象适配到该接口。如果成功,将高亮显示术语的决定交给找到的适配器的do_highlight方法。规范实现位于可选包zest.ploneglossaryhighlight中;当安装时,在内容项的设置选项卡中提供额外的字段,您可以在其中切换高亮显示的开启或关闭。有关更多信息,请参阅该包。
测试
请阅读./tests/README.txt。
其他文档
见./doc。
代码仓库
保持最新(可能是不稳定的)版本同步。
支持和反馈
在请求支持之前,请阅读此产品的所有文档,除非您可能会收到RTFM回复;)
除法语以外的本地化问题应报告给相关翻译者(见下文致谢)。
使用跟踪器(来自http://plone.org/products/ploneglossary的Tracker链接)报告错误。请在您的错误报告中提供以下信息
您的配置(操作系统+Zope+Plone+Products/版本)。
如果可用,完整的跟踪信息。
触发错误的场景之一或多个。
请注意,我们不支持git master或分支签出的错误报告。
发送邮件至Ingeniweb支持以英语或法语请求具体支持。
致谢
开发者
翻译
法语(fr):Ingeniweb
捷克语(cs):Lukas Zdych
丹麦语(da):Anton Stonor
德语(de):
波兰语(pl):Piotr Furman
西班牙语(es):Hector Velarde
荷兰语(nl):Ralph Jacobs,Maurits van Rees
意大利语(it):Giacomo Spettoli
版权和许可
版权(c)2005 - 2007 Ingeniweb SAS
本软件受GNU通用公共许可证第2.0版(GPL)的约束。此分发的随附文件应包含GPL副本。本软件按“原样”提供,任何明示或暗示的保证(包括但不限于对标题、适销性、不侵犯和特定用途适用性的保证)均予以否认。
请参阅此产品附带的可疑文件。
变更日志
1.7.3 (2017-04-11)
从定义中删除危险的转义字符。已经过滤掉了如<script>和其他标签。现在我们还过滤掉了如<script>的代码。文本如1 < 2仍然可以。我没有看到出错的例子,但看起来修复它是更好的。如果需要,已添加升级步骤以更新已编目描述。[maurits]
修复了非ASCII字符的定义显示问题。修复了https://github.com/collective/Products.PloneGlossary/issues/7问题。[maurits]
在文档文本中对单词进行更好的拆分。像T<sub>one</sub>这样的内容被错误地视为一个单词。其他HTML标签也可能成为单词的一部分,这使得匹配的可能性更小。[maurits]
当单独加载时,将ploneglossary_definitions.js的Content-Type头设置为JavaScript,而不是内联。这简化了调试:使用标准HTML头,Diazo会不必要地尝试解析它并失败。这也使您的浏览器看起来很丑。[maurits]
1.7.2 (2015-10-05)
在比较之前从术语中删除空格。否则,当您有一个空格和一个制表符时,我们会寻找标题 \t,因此我们可能什么也找不到。[maurits]
1.7.1 (2014-11-07)
将Products.PloneTestCase添加到test附加要求中。[maurits]
在术语控制面板中添加一个选项,仅突出显示页面上的第一个单词。这在科学文档中很有用,其中相同的术语使用频率很高,这可能导致过度突出显示。默认禁用以保持默认行为(突出显示所有找到的术语)。[fredvd]
1.7 (2014-01-10)
如果内容区域中的术语未突出显示,则在窗格中也不显示定义。[maurits]
使用可搜索文本索引器来确定要突出显示的文本。回退到可搜索文本。这支持dexterity,如果为内容类型(如plone.app.contenttypes)显式定义索引器或使用行为(如collective.dexteritytextindexer)动态定义,则它支持。请注意,最好不激活文件的术语突出显示,因为每次查看文件时,索引器都可能调用外部程序将文件转换为纯文本。[maurits]
在导入设置时,无需在ploneglossarytool导入步骤中包含ploneglossary.txt。glossary.xml文件已作为标志文件使用。文本文件仅作为我们的ploneglossary-reg导入步骤的标志文件。修复了http://plone.org/products/ploneglossary/issues/8问题。[maurits]
1.6 (2013-08-26)
更改ploneglossary.css的条件,使其在访问不允许访问meta_type的Dexterity控制面板时不会出错。请注意,如果您已自定义PloneGlossary并保留了相同的meta_type但赋予它不同的portal_type,则需要相应地更改条件。包括升级步骤。修复了https://github.com/collective/Products.PloneGlossary/issues/3问题。[maurits]
删除了对linkOpaque.gif的使用。它在Plone 4.3中失败,并且实际上并不需要。修复了https://github.com/collective/Products.PloneGlossary/issues/1问题。[maurits]
为了与Plone 4.3兼容性,已移除relatedItems槽[tom_gross]
1.5.3-FHNW1 (2012-11-22)
移除了对UTF-8和简化代码以外的其他编码的支持。Plone目前不支持UTF-8以外的编码[tom_gross]
1.5.3 (2012-10-14)
通过避免对zope.app包的硬依赖,增加了Plone 4.3的兼容性。[maurits]
已迁移到https://github.com/collective/Products.PloneGlossary [maurits]
正确执行目录分发[tom_gross]
添加了卸载配置文件[micecchi]
1.5.2.3 (2012-04-03)
移除了无意义的日志消息[ajung]
1.5.2.1 (2012-03-13)
更新了德语翻译[ajung]
1.5.2 (2012-01-22)
确保术语按术语长度降序排序,以便正确匹配具有相同前缀的术语(先匹配较长的术语)[ajung]
1.5.1 (2011-12-08)
添加了意大利语翻译[giacomos]
1.5.0 (2011-11-24)
增加了按对象开关高亮显示的功能。如果您想使用此功能,需要编写适配器。例如,请参阅https://github.com/zestsoftware/zest.ploneglossaryhighlight [maurits]
PeP8、Pyflakes和i18n清理。[maurits]
修复:从描述中删除特殊字符[ristow]
1.5.0-b3 (2011-07-15)
修复了针对Plone 4.1的导入问题[zworkb]
修复了PloneGlossaryTool中的uid_catalog和简化代码问题[jensens]
考虑贡献者角色[jensens]
1.5.0-b2 (2011-04-19)
Plone 4 CSS修复
1.5.0-b1 (2011-04-13)
Plone 4兼容性
1.4.2 - 2010-08-16
修复了ZMI工具的访问问题(属性选项卡)[glenfant]
修复了与Kupu内容的冲突http://plone.org/products/ploneglossary/issues/5 [glenfant]
GS模式版本2和升级步骤[glenfant]
1.4.1 - 2010-06-14
当从请求中读取search_letter时返回空字符串,默认避免GlossaryMainPage.__init__中的.lower()崩溃[rnix]
IE8兼容性修复 - 感谢Francesco Manna[glenfant]
向Abcedaire添加CSS类“selected”的条件不匹配。http://plone.org/products/ploneglossary/issues/2 感谢Martin Stadler[glenfant]
调用portal_catalog.n_indexObject而不是BaseObject.n_indexObject。后者由于递归错误导致collective.indexing崩溃[rnix]
1.4.0 - 2009-12-04
修复升级步骤版本。[kdeldycke] 2009-04-29
重构以避免在测试tearDown中出错[tdesvenain]
修复了请IE6满意的portlet的<span> HTML标签(有关详细信息,请参阅http://dev.plone.org/plone/ticket/9027)。[kdeldycke] 2009-05-06
1.4.0 RC2 - 2008-09-22
升级已移至GenericSetup方式,并移除了(无用的)“迁移”选项卡[glenfant]
使用消息工厂对模式进行i18n[glenfant]
修复了测试固定和关联的GS配置文件[glenfant]
向配置文件添加metadata.xml,为未来的升级提供空间[glenfant]
使用Unicode规范化修复了glosary视图中术语的排序[glenfant]
Eggification. [glenfant]
为内容类型添加了“添加权限”,而不是通用的“添加门户内容”[bmathieu]
使用Unicode规范化获取术语的第一个字母。这允许查找以非ASCII字符开头的术语[naro]
使用标准的PropertyManager API来处理工具上的属性[wichert]
清理导入并删除一些不需要的bbb代码以使pyflakes满意[wichert]
改进了几个地方的英文措辞[wichert]
1.4.0 RC1
使用Zope 3“页面”技术来加速复杂模板[glenfant]
使用KSS样式视图进行快速编辑[glenfant]
完整GenericSetup安装[glenfant]
将portlet改为Plone 3样式[glenfant]
修复了单元测试(新的工作流程不允许匿名用户访问glossary)[glenfant]
为新的风格视图添加了/browser [glenfant]
修复了导致定义标题/描述中的HTML实体出现在实体代码而不是字符(即:&而不是&)的bug
安装:在注册之前检查脚本/ CSS
为主工具添加了支持Generic setup [glenfant]
重构为可重载
管理许多类型的术语表
添加了接口
添加了测试环境
默认不在config.py中设置为调试。[roeder] 否则,将有一个虚假的内容类型混乱 portal_types。
在glossary视图中添加了批量导航[roeder]
默认高亮:如果没有明确选择任何术语表,则使用所有术语表
添加了捷克语翻译(Lukas Zdych)
添加了ZCTextIndex的_apply_index方法的补丁:将全局术语表中的同义词替换为等效的“OR”。默认情况下,这仅对‘SearchableText’执行。此补丁默认禁用(请参阅config.py)。[bmathieu]
通过模板构造而不是JavaScript填充端口
放弃了对Plone 2.0的兼容性:使用CSS和JavaScript注册表。端口组件结构符合Plone 2.1/2.5标准结构。改进:无论端口是否显示,都突出显示定义。[bmathieu]
通过portal_factory管理术语表和定义的配置[bmathieu]
添加了对术语表和定义内容创建后重命名的支持[bmathieu]
感谢Richard M. Kues添加了德语翻译
感谢Hector Velarde添加了西班牙语翻译
添加了共享标签[zegor]
1.3.3 - 2006-03-01
在文档文件夹中添加了截图
感谢Piotr Furman添加了波兰语翻译
修复了htm2text中的问题。换行符未被解释为空白。这导致合并了单词。例如:“<div>plonernglossary</div>” -> “ploneglossary”而不是“plone glossary”。
1.3.2 - 2006-01-06
在工具.getObjectRelated*上添加了‘alpha_sort’参数,以便按标题排序术语[b_mathieu] 2006-02-06
在encode ascii函数中,逐字符归一化字符,以确保Unicode字符串的长度与ASCII字符串相同
添加了允许真正的本地术语表的功能。它包括configlet中的配置设置。[ender] 2006-01-30
更改了定义视图,使其也显示变体。[ender] 2006-01-30
1.3.1 2006-01-30
修复了encode ascii方法中的错误
对于AT内容,仅分析字符串和文本字段
1.3 2006-01-24
现在可以定义单词的变体。
1.3 RC2 - 2006-01-06
修复了高亮脚本。要高亮的单词的位置是错误的。
1.3 RC1 - 2006-01-05
即使术语表术语略有不同,带有重音符号的对象单词也会被高亮显示
改进find_word函数
将标题和描述索引更改为基于ZCTextIndex。
添加了特殊的拉丁语词典类。词典在添加GlossaryCatalog时初始化,并由ZCTextIndex索引使用。
使用与词典相同的归一化器来解析SearchableText
在PloneGlossary上添加方法rebuildCatalog以重建所有术语表目录
更新javascript高亮显示单词以在Firefox和IE上工作
修复了匿名用户对术语表目录的访问问题 - [zegor]
使用AddPortalContent权限添加术语表和定义
1.1 - 2005-09-05
删除对input或textarea标签的高亮显示
在plone术语表端口中检查权限
项目详情
下载文件
下载适合您平台的应用程序。如果您不确定要选择哪一个,请了解更多关于安装包的信息。
源分布
Products.PloneGlossary-1.7.3.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b536153071aff706b0137adc3f8e28b60ffbbc8f2060598dc0a9e0e8140a5ba2 |
|
MD5 | 2f3563be0edf7789bb243170781fe5a0 |
|
BLAKE2b-256 | 0ef8c884cff5c77154b02bf8c364cfe490d6d029705055091d736111144b13b7 |