网站内容添加(基于链接关系的微格式:使用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,但我从来没有想过或检查过如何正确翻译它。

  凌众科技专业提供服务器租赁、服务器托管、企业邮局、虚拟主机等服务。本公司网站:为了给广大客户提供更多的技术信息,本技术文章采集于互联网。中泰科技尊重文章作者的版权。如果涉及您的版权,需要删除您的文章,请联系我们。以上信息是文章正文不可分割的一部分。如需转载本文章,请保留以上信息,谢谢!

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线