Eureka Wiki (易易维基)

您的足迹:

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
上一修订版 两侧同时换到之后的修订记录
h-entry [2018/05/22 08:47]
eureka
h-entry [2018/05/22 16:02]
eureka
行 5: 行 5:
  
 ====状态==== ====状态====
-这是一个 **活规范**,但已经足够成熟,鼓励更多的实现和 [[mf>​h-entry-issues|反馈]]。 ​This specification has portions that are stable, draft, and proposed. Features are stable unless explicitly labeled draft or proposed, or in draft or proposed sections. Draft and proposed features are likely to change substantively. While substantive changes to stable features are unexpected, it is a living specification subject to substantive change by issues and errata filed in response to implementation experience, requiring consensus among participating implementers as part of an explicit ​[[#​change_control|change control]] process. ​+这是一个 **活规范**,但已经足够成熟,鼓励更多的实现和 [[mf>​h-entry-issues|反馈]]。 ​该规范有部分是稳定的、草案和建议。 除非有明确的标为草案或提议,其它功能是稳定的。草案和提议的功能可能发生实质性的改变。不期望对稳定的功能特征进行改变,但作为一个活规范,可以根据实施经验 
 +对问题和勘误进行实质性更改,这需要参与实施人员达到共识,作为明确的[[#​change_control|更改控制]] 过程的一部分。 ​
  
-===Participate ​===+===参与===
 [[https://​github.com/​microformats/​h-entry/​issues|Open Issues]] [[https://​github.com/​microformats/​h-entry/​issues|Open Issues]]
 [[h-entry-issues|Resolved issues before 2012-246]] [[h-entry-issues|Resolved issues before 2012-246]]
 [[IRC]]: [[irc://​irc.freenode.net/​microformats|#​microformats on Freenode]] [[IRC]]: [[irc://​irc.freenode.net/​microformats|#​microformats on Freenode]]
  
-=== Editor ​=== +=== 编辑 ​=== 
-**Tantek Çelik**+[[mf>​User:​Tantek|Tantek Çelik]] 
 +中文翻译 
 +[[User:​eureka|Eureka Chen]]
  
-=== License === 
-todo 
  
-=====  Example == +=== 许可证 === 
-Here is a simple ​blog post example:+cc0  owfat 
 + 
 +=====  ​例子Example == 
 +这里是简单的blog贴子例子:
  
 <code html4strict>​ <code html4strict>​
行 35: 行 39:
 </​code>​ </​code>​
  
-Parsed ​JSON: +解析为 ​JSON: 
-<source lang=javascript>​+<code javascript>​
 { {
   "​items":​ [[   "​items":​ [[
行 79: 行 83:
   ]]   ]]
 } }
-</source>+</code>
  
-=====  ​Get started ​== +=====  ​开始 ==== 
-The class **<​code>​h-entry</​code>​** is a //root class name// that indicates the presence of an h-entry.+类 **''​h-entry''​** 是 //根类名 ​// 表示存在一个 ​h-entry.
  
-**p-name**, **p-author**,​ **dt-published** ​and the other h-entry ​property classnames listed below define properties of the h-entry.+**p-name**, **p-author**,​ **dt-published** ​和其它的列在 ​h-entry ​下面的 ​h-entry ​属性类名在下面进行定义。
  
-Note: The purpose of an entry is to place it around both the explicitly written content (in the content property or in other specific properties for non-textual content or responses) and whatever else is the context for that content, including properties for when it was published and/or updated, who created it, tags or categorization,​ and links to what the content is a response to (perhaps with a quoted excerpt) and/or links to syndicated copies.+注:一个entry的目的在里面写一些明确的内容(在内容属性或非文本内容或响应的其他特定属性)以及任何其它该内容上下文,包括该内容什么时候发布和/或更新,创建它的人,标签或分类,以及链接到该内容的(可能带有引用摘录的)响应和/或链接到联合副本。
  
-=====  ​Properties ​== +=====  ​属性 ==== 
-h-entry ​properties, inside an element with class **h-entry**. All properties are optional. +h-entry ​属性,在带有类 ​**h-entry** ​的元素。所有属性是可选的。 
-  *  ​See [[microformats2-parsing]] ​to learn more about property classnames.+  *  ​参见 ​[[mf>microformats2-parsing]] ​了解更多类名属性。
  
-====  ​Core Properties ​=== +====  ​核心属性 ​=== 
-The following ​//core// h-entry ​properties have broad consensus and are broadly interoperably published and consumed: +以下//核心//h-entry属性具有广泛的共识,并且广泛地可互操作地发布和使用: 
-  *  **<​code>​p-name</​code>​** - entry name/title +  *  **''​p-name''​** - 条目名称/标题 
-  *  **<​code>​p-summary</​code>​** - short entry summary +  *  **''​p-summary''​** - 短的条目摘要 
-  *  **<​code>​e-content</​code>​** - full content of the entry +  *  **''​e-content''​** - 条目的完整内容 
-  *  **<​code>​dt-published</​code>​** - when the entry was published +  *  **''​dt-published''​** - 条目的发布时间 
-  *  **<​code>​dt-updated</​code>​** - when the entry was updated +  *  **''​dt-updated''​** -条目更新时间 
-  *  **<​code>​p-author</​code>​** - who wrote the entry, optionally embedded ​[[h-card]](s+  *  **''​p-author''​** - 谁写的条目,可选嵌入 ​[[h-card]](多个
-  *  **<​code>​p-category</​code>​** - entry categories/tags +  *  **''​p-category''​** - 条目分类/标签 
-  *  **<​code>​u-url</​code>​** - entry permalink URL +  *  **''​u-url''​** - 条目永久链接 
-  *  **<​code>​u-uid</​code>​** - universally unique identifier, typically canonical entry URL +  *  **''​u-uid''​** - 通用唯一标识符,通常是规范的条目URL 
-  *  **<​code>​p-location</​code>​** - location the entry was posted from, optionally embed [[h-card]], [[h-adr]], ​or [[h-geo]] +  *  **''​p-location''​** - 条目发贴地址,可选嵌入 ​[[h-card]], [[h-adr]], ​或者 ​[[h-geo]] 
-  *  **<​code>​u-syndication</​code>​** - URL(s) ​of syndicated copies of this post. The property equivalent of [[rel-syndication]] ([[http://​erinjo.is/​2014/​checked-into-rockit-colabs-23|example]]) +  *  **''​u-syndication''​** - 该贴子的联合副本URL(s) ​,该属性等价于[[rel-syndication]] ([[http://​erinjo.is/​2014/​checked-into-rockit-colabs-23|example]]) 
-  *  **<​code>​u-in-reply-to</​code>​** - the URL which the h-entry ​is considered reply to (i.e. doesn’t make sense without context, could show up in comment thread), optionally an embedded ​[[h-cite]] ([[http://​indiewebcamp.com/​reply-context|reply-context]]) ([[http://​waterpigs.co.uk/​notes/​4V2DjG/​|example]]) +  *  **''​u-in-reply-to''​** - URLh-entry被认为是回复 ​(例如,没有下文则没有意义,可以在显示在评论中),可选嵌入 ​[[h-cite]] ([[http://​indiewebcamp.com/​reply-context|reply-context]]) ([[http://​waterpigs.co.uk/​notes/​4V2DjG/​|example]]) 
-  *  **<code id="p-rsvp">​p-rsvp</​code>​** (enumuse &lt;data> ​element or [[value-class-pattern]]) +  *  **''​p-rsvp''​** (枚举使用<data> ​元素或者 ​[[mf>value-class-pattern]]) 
-    *  "​yes",​ "​no",​ "​maybe",​ "​interested"​. ​Case-insensitive valuesnormalized to lowercase. Examples+    *  "​yes",​ "​no",​ "​maybe",​ "​interested"​. ​不区分大小写的值规范到小写。例如
-    *  ​<​code>​<​nowiki>​... <data class="​p-rsvp"​ value="​yes">​is going</​data>​ to ...</​nowiki>​</​code>​or +    *  ​''​<​nowiki>​... <data class="​p-rsvp"​ value="​yes">​is going</​data>​ to ...</​nowiki>​''​或者 
-    *  ​<​code>​<​nowiki>​... <data class="​p-rsvp"​ value="​maybe">​might go</​data>​ to ...</​nowiki>​</​code>​ +    *  ​''​<​nowiki>​... <data class="​p-rsvp"​ value="​maybe">​might go</​data>​ to ...</​nowiki>​''​ 
-    *  ​<​code>​<​nowiki>​... <data class="​p-rsvp"​ value="​no">​unable to go</​data>​ to ...</​nowiki>​</​code>​ +    *  ​''​<​nowiki>​... <data class="​p-rsvp"​ value="​no">​unable to go</​data>​ to ...</​nowiki>​''​ 
-    *  ​<​code>​<​nowiki>​... <data class="​p-rsvp"​ value="​interested">​am interested/​tracking/​watching</​data> ​ ...</​nowiki>​</​code>​ +    *  ​''​<​nowiki>​... <data class="​p-rsvp"​ value="​interested">​am interested/​tracking/​watching</​data> ​ ...</​nowiki>​''​ 
-  *  **<code id="u-like-of">​u-like-of</​code>​** - the URL which the h-entry ​is considered a like” (favorite, starof. Optionally an embedded ​[[h-cite]] +  *  **''​u-like-of''​** - h-entry被认为是 ​喜欢” (喜爱,追星的URL。可选嵌入 ​[[h-cite]] 
-  *  **<code id="u-repost-of">​u-repost-of</​code>​** - the URL which the h-entry ​is considered a repost” of. Optionally an embedded ​[[h-cite]].+  *  **''​u-repost-of''​** - h-entry被认为是 ​转发的条目。可选嵌入 ​[[h-cite]].
  
-====  ​Draft Properties ​=== +====  ​草案属性 ==== 
-The following draft properties are in use in the wild (published and consumed), and are under strong consideration,​ but are not yet part of the core:+以下草案属性正在自然(已发布和正在使用)中使用,并在重点考虑中,但尚未成为核心的一部分:
  
-  *  **<code id="​p-comment">​p-comment</​code>​** - optionally embedded (or nested?) [[h-cite]](s),​ each of which is a comment on/reply to the parent h-entry. See [[comment-brainstorming]] ([[http://​waterpigs.co.uk/​notes/​4V2DjG/​|example]]) 
-  *  **<code id="​u-photo">​u-photo</​code>​** - one or more photos that is/are considered the primary content of the entry, unless there is a <​code>​p-location h-card</​code>,​ which is still considered a "​checkin"​ (i.e. with a photo). Otherwise the presence of a u-photo means the name of the entry should be interpreted as a caption on the photo, and the summary/​content should be interpreted as a description of the photo. 
-  *  **<code id="​u-video">​u-video</​code>​** - special u- parsing rules for <​code>&​lt;​video src> & &​lt;​source src></​code>​ 
  
 +  *  **''​p-comment''​** - 可选嵌入(或嵌套?​) [[h-cite]](s),​ 它们中的每个都是评论/​回复父 h-entry. 参见 [[mf>​comment-brainstorming]] ([[http://​waterpigs.co.uk/​notes/​4V2DjG/​|example]])
 +  *  **''​u-photo''​** - 一个或多个被认为是该条目的主要内容的照片,除非存在''​p-location p-card'',​ 仍然被认为是“签入”(有一张照片)。 否则,u-photo的出现意味着该条目的名称应该被解释为照片上的标题,并且摘要/​内容应该被解释为照片的描述。
 +  *  **''​u-video''​** - 专门 u- 解析规则用于''<​video src> & <source src>''​
  
-====  Proposed Additions === 
-The following properties are proposed additions based on various use-cases, such as existing [[link-preview-brainstorming|link preview]] markup conventions,​ but are awaiting citations of use across multiple sites in the wild, and at least one reader / real world consuming code example: 
-  *  **<​code>​u-audio</​code>​** - special u- parsing rules for <​code>&​lt;​audio src> & &​lt;​source src></​code>​. Examples: [[http://​transportini.com/​|Transportini]],​[[https://​indieweb.org/​podcast#​How_to_podcast_with_h-feed|possibly more]] 
-  *  **<​code>​u-like</​code>​** - similar to p-comment, URL to a like post of the current post, e.g. in a responses list or facepile. 
-  *  **<​code>​u-repost</​code>​** - similar to u-like, URL to a repost of the current post, e.g. in a responses list or facepile. 
-  *  **<​code>​u-bookmark-of</​code>​** - indicates this h-entry is a bookmark of another URL. the value can be a URL or an [[h-cite]]. See [[https://​indieweb.org/​bookmark|indieweb.org/​bookmark]] for examples in the wild. 
-  *  **<​code>​u-featured</​code>​** - a representative photo or image for the entry, e.g. primary photo for an article or subject-cropped photo, suitable for use in a [[link-preview]]. 
-  *  **<​code>​p-latitude</​code>​** - latitude of the location of the entry 
-  *  **<​code>​p-longitude</​code>​** - longitude of the location of the entry 
  
-The following interpretation is also proposed addition: +====  拟议增加 ==== 
-  *  if the <​code>​p-location</​code>​ is also an embedded [[h-card]], the entry is treated as a "​checkin"​. +以下属性是基于各种使用情况(如现有链接预览标记约定)而建议添加的,但正在等待自然中跨多个站点的引用,并至少在一个阅读器/现实世界中有使用代码示例:
-    ​* ​ -1 [[User:​Aaronpk|Aaronpk]] 14:22, 19 January 2017 (UTC) [[https://​aaronparecki.com/​2017/​01/​13/​21/|this post]] is not a checkin, but has an h-card as the p-location property. ​+
  
-NoteAs [[h-entry]] usage grows to express and consume different kinds of content, we expect additional properties may be proposed and iterated as demonstrated by real-world needs, usage, and interoperability.+  *  **''​u-audio''​** - 专用于 u- 解析规则应用于''<​audio src> & <source src>''​。示例: [[http://​transportini.com/​|Transportini]],​[[https://​indieweb.org/​podcast#​How_to_podcast_with_h-feed|possibly more]] 
 +  *  **''​u-like''​** - 跟p-comment类似,对当前贴子喜欢的贴子的 URL ,例如在答复列表或回复墙上。 
 +  *  **''​u-repost''​** - 跟 u-like 类似,对当前贴子进行转发的贴子,例如在答复列表或回复墙中。 
 +  *  **''​u-bookmark-of''​** ​揸示这个h-entry是另一个URL的书签。值可以是URL或者一个 [[h-cite]]。参见 [[https://​indieweb.org/​bookmark|indieweb.org/​bookmark]] 活的例子。 
 +  *  **''​u-featured''​** - 该条目的代表性照片或图像,例如 适用于文章或根据主题裁剪的主要照片,适合用于 [[link-preview]]。 
 +  *  **''​p-latitude''​** - 条目的经度 
 +  *  **''​p-longitude''​** - 条目地址的纬度
  
-=====  ​Property Details ​== +以下的解释也在拟议增加:​ 
-This section is a stub.+  *  如果''​p-location''​也嵌入 [[h-card]], 该条目作为 "​签入"​对待。 
 +    *  -1 [[mf>​User:​Aaronpk|Aaronpk]] 14:22, 19 January 2017 (UTC) [[https://​aaronparecki.com/​2017/​01/​13/​21/​|this post]] 不是checkin,​ 但有一个 h-card 作为 p-location 属性。  
 +注意:随着h-entry使用的增多,表达和使用不同种类的内容,我们预计在现实世界使用和交互时,可能会提出附加或迭代的其他属性。 
 + 
 +=====  ​属性细节 ===== 
 + 
 +该部分留空
 ====  p-location === ====  p-location ===
-**<​code>​p-location</​code>​** has been re-used from [[h-event]].+**''​p-location''​** 在 [[h-event]] ​中被重用。
  
-=====  ​FAQ == +=====  ​问答 ​== 
-====  p-name ​of a note === +==== note 的 p-name ​ ===
-<div class="​discussion">​ +
-  *  **What is the <​code>​p-name</​code>​ of a [[http://​indiewebcamp.com/​note|note]]?​** +
-    *  A few options, from simplest to most detailed. +
-      *  **same as the p-content/​e-content** property. +
-      *  **same as the <​code>​title</​code>​ element** on the note permalink post page. When publishing a note on its own permalink post page, the contents of the note are likely abbreviated for the title of the page. The same abbreviation can be used for the p-name. +
-      *  **first sentence of the p-content/​e-content** property. It may be better for [[http://​indiewebcamp.com/​syndication|syndication]] and [[link-preview]] purposes to provide just the first sentence of the note as the <​code>​p-name</​code>​. Similarly if only a portion of the content is syndicated to other sites, that portion can be marked up as the <​code>​p-summary</​code>​. +
-</​div>​+
  
-====  venue an entry was posted from === +  *  **什么时一个 [[http://​indiewebcamp.com/​note|note]] 的''​p-name''?​** 
-<div class="​discussion">​ +    ​* ​ 几个选项,从最简单到最复杂。 
-  *  **How do you indicate a named venue where an entry was posted from? Like a restaurant or park.** +      ​* ​ **跟 p-content/​e-content** 属性一样。 
-    *  ​Use an embedded ​[[h-card]] microformat on a <​code>​p-location</​code>​ property value. +      ​*  **跟''​title''​属性一样** ,在note永久链接贴子页。当在自己的永久链接页发布一个note时,note的contents可能会简写为页面的标题。相同的简写可用于 p-name。 
-</​div>​+      *  ​**p-content/​e-content属性的第一句** ​ 作为[[http://​indiewebcamp.com/​syndication|syndication]] 和 [[link-preview]]的目的,最好提供第一句作为note的 ''​p-name''​。类似地,如果只有一部分内容被联合到其他网站,那么该部分可以标记为''​p-summary''​。
  
-====  ​address an entry was posted from === +====  ​条目发贴的入口 ​====
-<div class="​discussion">​ +
-  *  **How do you indicate the address where an entry was posted from? Like a restaurant or park.** +
-    *  If the address is just part of a named venue, see above, use an [[h-card]] +
-    *  Otherwise use an embedded [[h-adr]] microformat on a <​code>​p-location</​code>​ property value. +
-</​div>​+
  
-====  lat long an entry was posted from === +  ​*  **你如何指定一个从哪里发贴的命名入口?象餐馆和公园。** 
-<div class="​discussion">​ +    *  ​在''​p-location''​属性值上使用嵌入 ​[[h-card]] ​微格式。
-  ​*  **How do you indicate the latitude and longitude of where an entry was posted from?** +
-    *  ​If the location ​has a name in addition to latitude and longitude, see above, use an [[h-card]] +
-    *  Otherwise if there is an address in addition to latitude and longitude, see above, use an [[h-adr]] +
-    *  Otherwise use an embedded [[h-geo]] microformat on a <​code>​p-location</​code>​ property value. +
-</​div>​+
  
-====  ​dt-published property and HTML5 time element ​=== +====  ​条目发贴的地址 ​====
-<div class="​discussion">​ +
-  *  **Does the dt-published property need to be a time element?​** +
-    *  The <​code>​dt-published</​code>​ property should be a <​code>&​lt;​time&​gt;</​code>​ element so that you can take advantage of HTML5'​s "​datetime"​ property. +
-    *  This lets you specify a human-readable date in the value of the attribute, and the ISO8601 machine-readable date in the "​datetime"​ property. +
-</​div>​+
  
-====  ​what is the bare minimum list of required properties on an h-entry === +  *  **你如何指定一个条目从哪里发布?就餐馆和公园。** 
-<div class="discussion"> +    *  如果地址是命名入口的一部分,请参阅上文,使用 [[h-card]] 
-  *  ​What is the bare minimum list of required properties on an h-entry? +    *  否则,在''​p-location''​属性值上使用嵌入 [[h-adr]] 微格式。 
-    *  ​No properties are explicitly required, but in practice a h-entry ​should have the following properties at a minimum for consumers+ 
-</​div>​ +====  ​条目发贴的经纬度 ==== 
-  *  ​<​code>​name</​code> ​(can be implied+ 
-  *  ​<​code>​url</​code> ​(can be implied+  *  **你如何指定条目发布的经纬度?** 
-  *  ​<​code>​published</​code> ​— if there is no "published" date for the "​entry",​ then reconsider whether it is correct (or worth) marking it up as an entry. +    *  如果位置有一个附加经纬度的数据,参见上面,使用[[h-card]] 
-<div class="​discussion">​ +    *  否则,如果有一个地址附加到经纬度,参见上面,使用 [[h-adr]] 
-  *  ​What properties should an h-entry ​have in addition to the bare minimum? +    *  否则在''​p-location''​属性值上嵌入 [[h-geo]] 微格式。 
-    *  ​Beyond the bare minimum, a typical ​h-entry ​should have the following as well+ 
-</​div>​ +====  dt-published 属性和 HTML5 time 元素 ​=== 
-  *  ​<​code>​content</​code> ​(or <​code>​summary</​code>​ at least) - especially for structured content. For a plain text note, the content/​summary (whichever is usedshould be the same as the <​code>​name</​code>​otherwise it will be implied from the text content of the root element. + 
-  *  ​<​code>​name</​code> ​for explicitly named/titled entries. Otherwise the entry is assumed to be a "​title-less"​ note (like a tweet). +  *  **dt-published 属性需要在time元素里吗?​** 
-  *  ​<​code>​author</​code> ​including a nested <​code>​[[h-card]]</​code>​ with author details like name, photo, url.+    *  ''​dt-published''​ 属性应该在一个 ''​<time>''​元素里,这样可以利用 HTML5的 ​"datetime" ​属性。 
 +    *  这使您可以在属性的值中指定一个人类可读日期,并在 "​datetime"​ 属性中指定ISO8601sm器可读的日期。 
 + 
 +====  什么是h-entry上所需属性的最低限度清单 === 
 + 
 +  *  ​什么是h-entry上所需属性的最低限度清单
 +    *  ​显式没有属性的必须的,但是在实践上,h-entry ​应该具有至少以下的一些属性
 + 
 +  *  ​''​name'' ​(可以被隐含
 +  *  ​''​url'' ​(可以被隐含
 +  *  ​''​published'' ​— 如果“entry”没有“published”日期,则重新考虑是否正确(或值得)将其标记为条目。 
 + 
 +  *  h-entry除了最低限度外还有什么属性可以附加? 
 +    *  ​除最低限度外,典型的 ​h-entry ​还应具有以下内容
 + 
 +  *  ​''​content'' ​(或至少 ''​summary''​) - 特别是对结构化内容。对于纯文本笔记,content/​summary (随便用哪一个应该同 ''​name''​相同否则它将隐含在根元素的文本内容中。 
 +  *  ​''​name'' ​用于显式命名/标题条目。 否则,该条目被假定为“无标题”注释(如推文)。 
 +  *  ​''​author'' ​包括嵌套的''​[[h-card]]''​,其中包含作者详细信息,如姓名,照片,网址。
  
-=====  ​Examples in the wild == +=====  ​外面在用的例子 ===== 
-Real world in the wild examples of sites and services that publish or consume ​h-entry:+真实世界中发布或使用h-entry的网站和服务的范例:
  
-  *  ... add uses of h-entry ​you see in the wild here.+  *  ... 在这里添加你在外面看到的h-entry使用。
   *  ind.ie mark up their [[https://​ind.ie/​blog|blog]] listing and [[https://​ind.ie/​blog/​autumn-events-2014/​|permalink]] pages with h-entry   *  ind.ie mark up their [[https://​ind.ie/​blog|blog]] listing and [[https://​ind.ie/​blog/​autumn-events-2014/​|permalink]] pages with h-entry
   *  David John Mead marks up his profile, blog posts and comments with h-card, h-entry and h-cite on [[http://​davidjohnmead.com|davidjohnmead.com]]   *  David John Mead marks up his profile, blog posts and comments with h-card, h-entry and h-cite on [[http://​davidjohnmead.com|davidjohnmead.com]]
行 243: 行 244:
   *  [[http://​waterpigs.co.uk/​|Barnaby Walters]] uses h-entry on all notes and articles, as well as nested within notes as reply contexts [[http://​waterpigs.co.uk/​notes/​1468/​|example]] and comments [[http://​waterpigs.co.uk/​notes/​1482/​|example]].   *  [[http://​waterpigs.co.uk/​|Barnaby Walters]] uses h-entry on all notes and articles, as well as nested within notes as reply contexts [[http://​waterpigs.co.uk/​notes/​1468/​|example]] and comments [[http://​waterpigs.co.uk/​notes/​1482/​|example]].
  
-====  ​offline ​=== +====  ​离线 ==== 
-  *  ​spreadly marks up share permalink pages with h-entry, as well as minimal ​h-cards ​and experimental ​p-like ​properties+  *  ​通过h-entry扩展地标记永久链接页面,以及最小的h-cards和实验性p-like属性
  
-=====  ​Validating ​==+=====  ​验证 =====
   *  **[[http://​indiewebify.me/​validate-h-entry/​|indiewebify.me h-entry validator]]** parses [[h-entry]] markup, finds common errors and makes suggestions for things to add, with code samples   *  **[[http://​indiewebify.me/​validate-h-entry/​|indiewebify.me h-entry validator]]** parses [[h-entry]] markup, finds common errors and makes suggestions for things to add, with code samples
   *  **[[http://​shrewdness.waterpigs.co.uk/​test/​|Shrewdness h-entry/​h-feed validator]]** shows how shrewdness interprets+displays h-entries, with original source and interim formats, works for single h-entries and feed pages   *  **[[http://​shrewdness.waterpigs.co.uk/​test/​|Shrewdness h-entry/​h-feed validator]]** shows how shrewdness interprets+displays h-entries, with original source and interim formats, works for single h-entries and feed pages
行 252: 行 253:
 {{h-spec-section-validating}} {{h-spec-section-validating}}
  
-=====  ​Implementations ​==+=====  ​实现 =====
 Software implementations that publish or consume h-entry, including themes, plugins, or extensions: Software implementations that publish or consume h-entry, including themes, plugins, or extensions:
  
行 284: 行 285:
 Properties: (parsed as **p-** plain text unless otherwise specified): Properties: (parsed as **p-** plain text unless otherwise specified):
  
-  *  <​code>​entry-title</​code>​ - parse as **<​code>​p-name</​code>​** +  *  <​code>​entry-title</​code>​ - parse as **''​p-name''​** 
-  *  <​code>​entry-summary</​code>​ - parse as **<​code>​p-summary</​code>​** +  *  <​code>​entry-summary</​code>​ - parse as **''​p-summary''​** 
-  *  <​code>​entry-content</​code>​ - parse as **<​code>​e-content</​code>​**+  *  <​code>​entry-content</​code>​ - parse as **''​e-content''​**
   *  <​code>​published</​code>​ - parse as **dt-**   *  <​code>​published</​code>​ - parse as **dt-**
   *  <​code>​updated</​code>​ - parse as **dt-**   *  <​code>​updated</​code>​ - parse as **dt-**
   *  <​code>​author</​code>​ - including compat root <​code>​vcard</​code>​ in the absence of <​code>​h-card</​code>​   *  <​code>​author</​code>​ - including compat root <​code>​vcard</​code>​ in the absence of <​code>​h-card</​code>​
   *  <​code>​category</​code>​   *  <​code>​category</​code>​
-  *  <​code>​rel=bookmark</​code>​ - parse as **<​code>​u-url</​code>​**. While not a class name nor typical microformats property, rel=bookmark was the only way to indicate an hentry permalink. Thus parsers should look for rel=bookmark hyperlinks inside an hentry, and take their "​href"​ value as a value for a **<​code>​u-url</​code>​** property, including handling any relative URL resolution. +  *  <​code>​rel=bookmark</​code>​ - parse as **''​u-url''​**. While not a class name nor typical microformats property, rel=bookmark was the only way to indicate an hentry permalink. Thus parsers should look for rel=bookmark hyperlinks inside an hentry, and take their "​href"​ value as a value for a **''​u-url''​** property, including handling any relative URL resolution. 
-  *  <​code>​rel=tag</​code>​ - parse as **<​code>​p-category</​code>​**. While not a class name nor typical microformats property, rel=tag was the typical way to tag an hentry. Thus parsers should look for rel=tag hyperlinks inside an hentry, and take the last path segment of their "​href"​ value as a value for a **<​code>​p-category</​code>​** property.+  *  <​code>​rel=tag</​code>​ - parse as **''​p-category''​**. While not a class name nor typical microformats property, rel=tag was the typical way to tag an hentry. Thus parsers should look for rel=tag hyperlinks inside an hentry, and take the last path segment of their "​href"​ value as a value for a **''​p-category''​** property.
  
 Proposed: ([[https://​github.com/​microformats/​h-entry/​issues/​7|follow-up in issue #7]]) Proposed: ([[https://​github.com/​microformats/​h-entry/​issues/​7|follow-up in issue #7]])
-  *  <​code>​time.entry-date[[datetime]]</​code>​ - in the absence of <​code>​published</​code>,​ parse as **<​code>​dt-published</​code>​**. parse for the first <​code>&​lt;​time&​gt;</​code>​ element with class name of <​code>​entry-date</​code>​ and non-empty <​code>​datetime</​code>​ attribute inside an hentry, if there is no <​code>​published</​code>​ property, use that time element'​s <​code>​datetime</​code>​ attribute value for the <​code>​dt-published</​code>​ property. Evidence: default WordPress themes 2011-2014([[https://​wp-themes.com/​twentyeleven/​]][[https://​wp-themes.com/​twentytwelve/​]][[https://​wp-themes.com/​twentythirteen/​]][[https://​wp-themes.com/​twentyfourteen/​]]). +  *  <​code>​time.entry-date[[datetime]]</​code>​ - in the absence of <​code>​published</​code>,​ parse as **''​dt-published''​**. parse for the first <​code>&​lt;​time&​gt;</​code>​ element with class name of <​code>​entry-date</​code>​ and non-empty <​code>​datetime</​code>​ attribute inside an hentry, if there is no <​code>​published</​code>​ property, use that time element'​s <​code>​datetime</​code>​ attribute value for the <​code>​dt-published</​code>​ property. Evidence: default WordPress themes 2011-2014([[https://​wp-themes.com/​twentyeleven/​]][[https://​wp-themes.com/​twentytwelve/​]][[https://​wp-themes.com/​twentythirteen/​]][[https://​wp-themes.com/​twentyfourteen/​]]). 
-  *  <​code>​rel=author</​code>​ - in the absence of <​code>​author</​code>,​ parse as **<​code>​u-author</​code>​**. While not a class name nor typical microformats property, rel=author was commonly used to link to an author'​s URL. Thus parsers should look for rel=author hyperlinks inside an hentry (or even on the same page, preceding the hentry), use the absolute version of it as a value for the **<​code>​u-author</​code>​** property if there is no "​author"​ property. (citations to "​hentry"​ examples in the wild that <​em>​depend</​em>​ on rel=author needed to accepted this proposal. Note: default WordPress themes twentyeleven,​ twentytwelve,​ twentythirteen,​ twentyfourteen all use rel=author but only inside class="​author vcard",​ and thus rel=author can be ignored since authorship is already picked up by existing <​code>​author</​code>​ backcompat parsing.)+  *  <​code>​rel=author</​code>​ - in the absence of <​code>​author</​code>,​ parse as **''​u-author''​**. While not a class name nor typical microformats property, rel=author was commonly used to link to an author'​s URL. Thus parsers should look for rel=author hyperlinks inside an hentry (or even on the same page, preceding the hentry), use the absolute version of it as a value for the **''​u-author''​** property if there is no "​author"​ property. (citations to "​hentry"​ examples in the wild that <​em>​depend</​em>​ on rel=author needed to accepted this proposal. Note: default WordPress themes twentyeleven,​ twentytwelve,​ twentythirteen,​ twentyfourteen all use rel=author but only inside class="​author vcard",​ and thus rel=author can be ignored since authorship is already picked up by existing <​code>​author</​code>​ backcompat parsing.)
  
 ====  Compat FAQ === ====  Compat FAQ ===