Plone微数据支持的核包
项目描述
简介
本产品旨在为您的Plone内容添加微数据支持。
如何使用
本包仅提供原始支持,本身并不十分有用。它旨在由希望为Plone提供微数据支持的第三方项目扩展。
以下所有指令的一个完整实现是collective.microdata.event。
微数据词汇表
任何想要提供微数据信息的内类型都需要为IMicrodataVocabulary接口提供一个适配器。此接口仅限于一个信息:一个指向微数据词汇的URI。
微数据词汇在HTML 5规范之外标准化,因此可能存在不同的词汇家族。您也可以创建自己的。
schema.org实现
如今,最有前途的微数据实现是在schema.org中定义的,因此本包支持它。这是通过提供最通用的类型定义来完成的:Thing类型。
这会自动应用于所有Plone内容类型和目录对象(对于目录:将在您的目录中添加一个新的目录元数据microdata_itemtype,其中保存找到的最具体的微数据词汇URL)。
这是通过为ISchemaOrgThing接口(它扩展IMicrodataVocabulary)提供适配器来完成的。
再次强调:知道所有你的Plone内容类型都是“事物”并不很有趣,也不是真正的进步。
如何扩展
从内容
要从内容类型中获取微数据信息,你的产品必须为其自己的实现提供 IMicrodataVocabulary
<adapter for="your.products.content.IType" provides="collective.microdata.core.interfaces.IMicrodataVocabulary" factory=".adapter.YourTypeMicrodataProvider" />
然后你需要提供适配器
class YourTypeMicrodataProvider(object): implements(IYourMicrodataVocabulary) def __init__(self, content): self.microdata_vocabulary = 'http://your.microdata.uri' # now get data from the content self.microdata_data1 = ...
然后你的内容视图必须获取你定义的微数据适配器
class YourTypeView(BrowserView): ... def microdata(self): return IMicrodataVocabulary(self.context)
最后,你的视图模板必须使用微数据信息
... <article metal:fill-slot="main" tal:define="microdata view/microdata" itemscope="itemscope" tal:attributes="itemtype microdata/microdata_vocabulary"> ...
从目录
门户目录的 microdata_itemtype 列表将自动存储内容微数据词汇表URL。默认值是“事物”URL(http://schema.org/Thing),但一旦你提供了更具体的适配器,这个URL将被新的URL所取代。
有一个适配器可以从所有Plone内容类型的目录大脑中获取原始的 Thing 微数据,但你的第三方内容类型也必须提供更具体的适配器
<adapter for="Products.ZCatalog.interfaces.ICatalogBrain" provides="collective.microdata.core.interfaces.IMicrodataVocabulary" factory=".adapter.YourTypeMicrodataBrainProvider" name="http://your.microdata.uri" />
然后你需要提供适配器
class YourTypeMicrodataBrainProvider(object): implements(IYourMicrodataVocabulary) def __init__(self, brain): self.microdata_vocabulary = 'http://your.microdata.uri' # now get data from the cataloged content self.microdata_data1 = ...
支持文件夹内容列表视图
如果你想也在文件夹内容视图中提供微数据信息(在单个页面上显示多个微数据对象),你可能想安装 collective.microdata.contentlisting。
查看其文档以获取有关如何在你的产品中使用此信息的更多信息。
测试您的微数据
此产品还包括一个名为 Microdata Tool 的JavaScript测试微数据工具(经过修改,仅用于修复一些糟糕的Sunburst CSS规则)。
在测试你的网站时启用它,只需从你的 site_setup 工具运行 testing 通用设置配置文件。
这将使JavaScript测试器在每一页上都可用。
提示:持续时间检查器似乎工作不正常。
结束语
提供微数据并不能保证搜索引擎会使用它。
变更日志
0.1 (2012-09-08)
初始发布
项目详情
集体微数据核心-0.1.zip 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 31cfaa27130e8045e6ae4561518523eaf611344d49014bb2543b8998e51bb846 |
|
MD5 | 080050fdf53fcb5a001317d9e48fed8c |
|
BLAKE2b-256 | 1d15913c6bab3b46209dd8cd103f0e8e0010e20f960fec73ae6c394bb2a45fb0 |