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 |