网站内容添加(基于链接关系的微格式:使用rel属性为网页添加hCard)
优采云 发布时间: 2021-09-28 00:03网站内容添加(基于链接关系的微格式:使用rel属性为网页添加hCard)
让我们回顾一下我们之前讨论过的微格式:rel-series、XFN、hCard 和 hCalendar。
基于链接关系的微格式:使用 rel 属性
将 hCard 微格式添加到网页
非常酷的微格式:XFN 规范
这次我们将讨论 hAtom 微格式。这种微格式用于为网页内容添加结构和语义,以便可以广播(聚合)网页内容或部分内容,例如博客日志或新闻文章等。
历史:原子
hAtom 微格式基于 Atom XML 同步格式。与之前的 hCard 和 hCalendar 不同,hCard 和 hCalendar 都与传统数据格式有 1:1 的对应关系,但 hAtom 和 Atom 之间没有这种直接对应关系。Atom 是一个非常稳定的模型,可以为内容广播提供很*敏*感*词*。而hAtom只提供了必要的元素,所以更像是Atom的一个子集。这样一来,hAtom 的属性和子属性也是基于 Atom 的原创术语。
微内容(非必需)广播
虽然 hAtom 是基于 Atom 的,但 hAtom 本身并不是一种广播格式。hAtom 的作者和编辑 David Janes 解释说:
“…… hAtom 从来没有打算成为一种“联合格式”,也不打算与 Atom 或 RSS 竞争。它只是用来描述网页上的微内容,例如博客文章。我们使用 Atom 是因为它提供了一个定义明确的命名法来描述这些元素。”(翻译:hAtom 从来没有打算作为“广播格式”存在,更不用说与 Atom 或 RSS 竞争了。它被用来描述网页,例如博客日志。我们使用 Atom 是因为它。提供了很好的术语来描述这些元素。)
因此,hAtom 并不是专门针对需要广播的网页内容。不过,为了这个文章的目的,我会在博客日志的基础上讨论,博客日志通常是需要支持广播的网页内容。
基础知识
在讨论hAtom的细节之前,我们先来看看基本规则(类似于hCard和hCalendar):
同样,它适用于所有微格式:收录它们的标记元素是什么并不重要(尽管它应该是有效的和语义的)。Class(属性或子属性)的值决定了 hAtom 微格式。
轮廓
如果你选择使用hAtom,你还应该在网页的代码中添加他的Profile描述:
*敏*感*词*=””>
对于hCard和hCalendar,我提到了组合Profile的使用,可以覆盖所有非提案微格式:
">
但是hAtom是一个proposal规范,他的Profile没有收录在合并的Profile中,所以还是要明确说明他的。如果您还引用了组合配置文件,则可以简单地添加 hAtom 配置文件(W3C 允许多个配置文件值,以空格分隔):
">
示例:单个日志
背景资料基本齐全。现在让我们看看实际的 hAtom。以下hAtom信息描述了我的博文全文:
class=”hentry”> class=”entry-title”>Web 可访问性很重要 class=”published” title=”2008-08-28T13:14:37-07:00″>2008 年 8 月 28 日
rel=”标签”>评论
类=“条目内容”>
全国盲人联合会诉目标诉讼于上周三根据以下关键条款达成和解:
…
标签:
rel=”标签”>可访问性
rel=”标签”>标准
rel=”标签”>网页设计
根属性:hfeed
hAtom 的根属性是 hfeed,它可以收录一个或多个条目(在上面的例子中,条目是博客日志)。此根属性是可选的。如果没有显式收录 root 属性,则默认情况下假定它已经存在于页面上,并且在上面的示例中没有收录 root 属性。如有必要,页面中可以收录多个 hfeed。
必需属性:hentry
每个条目都必须收录在 hentry 属性中。如前所述,可以应用一个或多个 hentry 属性。在上面的示例中,只有一个 hentry,因为此实现应用于显示博客文章全文的页面。稍后我将在 文章 中讨论如何使用多个条目。
hentry 属性包括条目的所有信息。
必需的子属性: entry-title
entry-title 是必需的子属性之一,用于描述条目的标题。在上面的例子中,我应用了 entry-title 属性,因为作为标题,把它放在“标题”结构中具有一定的语义信息。
必需的子属性:作者
author 是另一个必需的子属性,用于指示条目的作者。根据规范,author子属性中收录的内容必须使用hCard标记的元素。
注意:不要显示作者姓名
但是,也有很多实际例子,出版商并不在意列出作者的名字,包括我的博客。hAtom 规范默认为这种情况,允许作者信息不收录在 hentry 属性中,但当页面本身已经收录 hCard 信息,并且收录指定 class="author" 子属性的元素时。该解决方案也在 hAtom 的常见问题解答中进行了解释。
因为我所有页面的footer都收录了hCard的实现,所以我没有在hAtom消息中收录author子属性,是有效的。对于多作者协作的博客,如果不想显示作者姓名,目前没有有效的解决方案。作者必须出现在 hentry 属性中。我可以想象,使用CSS方案取消显示(display:none)也可能是可以接受的。
注:地址和hCard
上面的讨论涉及到另一个问题:在实现hCard时使用。
正如在讨论的第三部分中提到的,只有当 hCard 是文档的所有者时,才对 hCard 使用元素。hCard FAQ 还强烈建议不要在不是文档所有者的情况下使用 hCard。因此,如果 hAtom 条目是由文档所有者以外的其他人创建的,则它不是一个合适的语义元素。
这个问题还在讨论中。目前的建议是取消限制。
必需的子属性:已更新
还需要更新的子属性,它指示条目上次修改和更新的日期/时间。这里还有一点需要注意:如果未定义更新的子属性,则发布的子属性将用于指示日志更新的日期/时间。在上面的示例中,您会注意到我没有收录更新的子属性,而是使用了已发布。
可选的子属性:已发布
Published是一个可选的子属性,和updated的语义基本一样,都表示item的更新时间。不同的是,published 倾向于描述条目首次发布的时间,而updated 可以是条目发布的时间,也可以是条目更新的时间。如果同时收录已发布和更新以描述条目的日期和时间信息,则同样有效:
Published 符合我的目的,所以我选择只使用它。
日期和时间设计模式
对于更新和发布,hAtom 推荐的时间和日期格式与我们之前讨论的日期和时间设计模式相同:
2008 年 8 月 28 日
该模式定义了容器元素以在 title 属性中指定机器可读的日期/时间信息,并在内容中指定人类可读的日期/时间信息。此外,标题中收录的时间和日期信息应遵循 ISO 8601 格式要求。
可选的子属性:entry-summary
entry-summary 是一个可选的子属性。他描述了条目的摘要信息。这个子属性可以在hentry中多次使用。在我的博客中,我没有为文章生成这样的摘要,所以没有提供这个子属性的实现。
可选的子属性: entry-content
entry-content 是另一个可选的子属性,用于描述条目的全文内容。在上面的例子中,文章的所有内容都收录在
元素。同样,entry-content 属性可以在 hentry 中多次使用。
可选:rel-书签
hAtom 还定义了一个 rel 属性值来指示项目的永久链接:书签。在第一部分,我们讨论了很多基于 rel 的微格式来展示链接 () 和文档之间的关系。rel-bookmark 也用于描述链接关系,但不能单独用作微格式。必须作为 hAtom 的一个属性存在,一个描述文档内容的永久链接。
使用 hAtom,您可以简单地将 rel="bookmark" 添加到条目的永久链接:
rel="bookmark">Web 可访问性很重要
您可能会注意到我的示例中没有提供永久链接。这是因为我通常遵循一个规则:不要在页面上提供指向这篇文章的链接(尼尔森的十大最违反主页设计指南中的第 10 条)。并且因为 rel-bookmark 是可选的,所以我的实现是有效的。如果 hentry 未指定永久链接,则默认情况下假定此页面上的链接是指向条目的永久链接。如果在hentry中定义了id属性,则会在URL后面拼接该值,为条目定义唯一值。
结合微格式来定义类别
早些时候我们在第一部分讨论了 rel-tag 微格式。它用于添加到链接 ()) 以说明网页──或页面的部分内容──是关于什么的。基本上,按标签组织/分类已在博客中广泛使用。hAtom可以充分发挥rel-tag的作用,只需要在hfeed和hentry中实现即可:
在前面的例子中,我在 hentry 中使用了 rel-tag 链接:
评论/” rel =”标签”>评论
网页+设计/”rel=”标签”>网页设计
注意rel-tag规范要求链接目的地址(href)必须收录“tag”的值作为URL的最后一段,设计为“标签空间”。
示例:多个日志
上面已经讨论了hAtom的大部分细节,应该举一个例子来说明它如何应用于多日志页面。在我的博客上,我在主页上添加了 hAtom 信息来描述我最近的三篇文章:
class=”hentry”> class=”entry-title”>rel=”bookmark”>Web Accessibility Is important class=”published” title=”2008-08-28T13:14:37-07:00″>8月28日, 2008年
rel=”标签”>评论
类=“条目内容”>
全国盲人联合会诉目标诉讼于上周三根据以下关键条款达成和解:
…
rel=”书签”>继续阅读
标签:
rel=”标签”>可访问性
rel=”标签”>标准
rel=”标签”>网页设计
class="hentry"> class="entry-title">rel="bookmark">Plateau class="published" title="2008-08-27T13:59:51-07:00">2008 年 8 月 27 日
rel=”标签”>评论
类=“条目内容”>
正如我之前发布的,我正在做一百个俯卧撑挑战:一个为期六周的计划,旨在让我能够连续做 100 个俯卧撑。我现在是我的第七周。
rel=”书签”>继续阅读
标签:
rel=”标签”>运动
rel=”标签”>健身
rel=”标签”>俯卧撑
class=”hentry”> class=”entry-title”>rel=”bookmark”>使用微格式获取语义,介绍 class=”published” title=”2008-09-05T07:05:34-07:00″>Sep 2008 年 5 月
rel=”标签”>评论
类=“条目内容”>
我是一名组织者,有时需要关注最小的细节。
…
rel=”书签”>继续阅读
标签:
rel="tag">法语翻译
rel=”标签”>hAtom
rel="tag">hCalendar
…
在这个例子中,我使用了多个 hentry 实例,每个实例都用来描述一个日志。另外,我为每个帖子分配了一个永久链接,因为它们不指向当前页面。除了上面两个不同,hAtom 和我之前的例子基本一样。
可能的实现
除了我上面的两个例子,还有很多页面可以实现hAtom:
我正在考虑在存档和搜索结果页面(以及评论页面,因为那里需要 hCard 实现)中实现 hAtom。
提案状态
在本系列提到的微格式中,hAtom 是最难的。我个人认为这是因为这种微格式仍然是提案状态的规范。不过我遇到的实现难度还是很小的,也有点郁闷:
所以,从个人的角度来说,我觉得他毕竟还处于提案状态,需要修改和讨论。但是我认为我们不应该实现hAtom,至少我们可以先熟悉它。请注意,他仍处于求婚状态。
工具和资源
虽然我提到支持hAtom的工具和资源仍然很少,但我们仍然可以列出一些:
更多实践
虽然 hAtom 是一个提案规范,但仍然有很多服务可以提供支持:
有更多实际的 hAtom 支持。
好处(X)HTML广播
我认为 hAtom 最酷的好处之一是它为 XHTML 广播带来的潜力。在工具和资源列表中,我提到了几个转换器。他们使用 XSLT 将带有 hAtom 的 XHTML 转换为 XML 以提供 Atom 或 RSS 源。这意味着不需要为广播生成或维护单独的 Atom 或 RSS XML 文件。只需使用 hAtom 和这些转换器即可完成广播 XML 的自动生成。
自己试试吧。需要做的就是在收录hAtom信息的URL前面拼接这些converters():
:///">Atom 供 A 博客的提要不受限制
生成的链接会自动生成 Atom 格式的 XML:
我没有为我的网站实现这种转换,因为我使用了自定义 RSS 提要。但是这些转换器绝对在我的实验列表中。
语义
你不会以为我忘了这个吧?
在现有标准(XHTML 元素和属性)的帮助下,微格式为 Web 内容添加了结构和语义。语义可以帮助人类和机器同时处理、搜索和理解互联网。微格式鼓励您使用 Internet 标准...用于标记内容、应用类信息和包括正确开发过程的标准化方法。
语义很棒。标准很棒。微格式很棒。
注释:Syndication翻译为“广播”,不知道合适不合适。我之前一直提到RSS,但我从来没有想过或检查过如何正确翻译它。
凌众科技专业提供服务器租赁、服务器托管、企业邮局、虚拟主机等服务。本公司网站:为了给广大客户提供更多的技术信息,本技术文章采集于互联网。中泰科技尊重文章作者的版权。如果涉及您的版权,需要删除您的文章,请联系我们。以上信息是文章正文不可分割的一部分。如需转载本文章,请保留以上信息,谢谢!