hCalendar微文件格式 有关恶性事件和根据時间或地

日期:2021-03-13 类型:科技新闻 

关键词:微擎小程序开发,微信小程序下载,如何在微信上做小程序,调查问卷微信小程序,微信抽签小程序

大家又来了,激动的冲进微文件格式的全球~~依据我的方案,这篇文章内容应当抵达此系列的半程了。到这里,我早已探讨了3种微文件格式的完成:

在第1一部分中,应用rel来界定根据连接的关联
在第2一部分中,应用XFN微文件格式为连接提升人际关联的叙述
在第3一部分中,应用hCard微文件格式来叙述人、企业和地址
还非常好。可是间距全面详细介绍微文件格式也有1定差别呢。

因此,今日让大家1起来讨论1下hCalendar微文件格式,根据该微文件格式我能够为那些有关恶性事件和根据時间或地址的主题活动出示词义和构造化信息内容。

来源于:iCalendar

iCalendar(或iCal)是共享日历数据信息的规范。一般的,他被普遍用在Email互换中,尽管其实不仅仅局限于此。同hCard相近,网站开发设计人员能够根据hCalendar将iCalendar数据信息嵌入到网页页面数据信息中。hCalendar同iCalendar之间一样是1:11:11:1的对应关联,从而容许分析器从网页页面中提获得信任息出示给日历运用应用。1:11:11:1的对应关联,从而容许分析器从网页页面中提获得信任息出示给日历运用应用。

历史时间回望:iCalendar创建在vCalendar(虚似日历Virtual Calendar)基本之上,vCalendar是1个开源系统的日历运用,用来线上公布和维护保养恶性事件和時刻表。vCalendar同vCard电子器件商务个人名片文件格式1起开发设计的。

根据时间/時间的主题活动

hCalendar微文件格式叙述在日历中应用的恶性事件(或任何根据时间/時间的主题活动)信息内容,包含(但不限于):

  • 简述
  • 时间和時间
  • 地址
  • 详尽叙述
  • 反复产生

基本专业知识

跟hCard1样,hCalendar遵照1些基础标准:

  • 特性和子特性根据class来叙述。
  • 由于跟iCalendar之间1:1的对应关联,特殊的hCalendar特性是创建在iCalendar特性名字基本上的(比如,vevent
  • 特性和子特性姓名尺寸写比较敏感
  • “根”特性不可以同别的特性组成。因而<p class="vevent summary">是失效的。

也有1条尽管并不是标准,可是必须牢记在心:应用甚么样的标识元素其实不关键class的值(特性/子特性)才决策hCalendar微文件格式。但以前也说过,我十分激励应用具备词义特点的标识元素。

Profile

同全部微文件格式1样,十分激励您在网页页面的<head>一部分中包括微文件格式的申明,应用hCalendar的Profile

<head profile=”http://purl.org/uF/hCalendar/1.0/”>

W3C容许界定好几个Profile值,应用空格分隔,因此能够自身挑选应用好几个Profile:

<head profile="http://gmpg.org/xfn/11 http://purl.org/uF/hCard/1.0/ http://purl.org/uF/hCalendar/1.0/“>

此外,假如您引入非提议微文件格式(hCalendar是是非非提议微文件格式),您能够更换应用组成Profile URL,该URL涵盖了全部非提议微文件格式:

<head profile="http://purl.org/uF/2008/03/“>

假如您另外引入非提议和提议微文件格式,您一样可使用上面这条组成Profile申明。

示例

本blog相对性较为新,因而,我都还没更多的机遇例举1些恶性事件信息内容。具体上,我仅有1个线上的事例,谢谢近期1篇BarCamp Albuquerque 3的文章内容,在那里我应用了hCalendar微文件格式:

  1. <div class=”vevent”>
  2. <p>Yes, it's short notice, but mark your calendars: <a href="http://barcamp.org/BarCampAlbuquerque" class=”url summary”><span class=”category”>BarCamp</span> Albuquerque 3</a> is this weekend.</p>
  3. <dl>
  4. <dt>When:</dt>
  5. <dd><abbr class=”dtstart” title=”2008-09⑴3T09:00:00″>September 13</abbr>–<abbr class=”dtend” title=”2008-09⑴4T18:00:00″>14</abbr>, from 9am–6pm both days</dd>
  6. <dt>Where:</dt>
  7. <dd class=”location vcard”><a class=”fn org url” href=”http://www.chefwhite.com/cjw_cafe.php”>CJW Cafe</a> on <a href=”http://maps.google.com/maps” class=”adr”><span class=”street-address”>4801 Alameda <abbr title=”Boulevard”>Blvd</abbr> <abbr title=”Northeast”>NE</abbr></span>, <span class=”locality”>Albuquerque</span>, <abbr class=”region” title=”New Mexico”>NM</abbr> <span class=”postal-code”>87113</span></a></dd>
  8. <dt>What:</dt>
  9. <dd class=”description”>A <abbr class=”duration” title=”P2D”>two-day</abbr> event all about the web — design (visual, experience, information architecture), technology (infrastructure, programming), social and new media, and other stuff that is just plain cool.</dd>
  10. </dl>
  11. </div>

说说各处分

大家将上面的事例分开探讨1下。

“根”:vevent

您将会留意到在我事例中的根特性是vevent,而并不是vcalendar。这是由于hCalendar有1个可选的根元素,仅有在您必须在网页页面中叙述超出1个日历恶性事件时才必须出現。针对尽有1个日历恶性事件的网页页面,vcalendar特性被假定早已出現在网页页面中。既然我的事例只是1个恶性事件,我把全部的恶性事件信息内容都包括在<div class="vevent">中,代表着全部的內容叙述的全是同1个恶性事件。

包括他的元素能够是任何元素(<dl><ul><p><span>这些)。<div>就考虑我事例的规定了。

必要特性:summarydtstart

hCalendar务必的特性为(除根元素veventsummarydtstart.

summary

summary特性叙述了恶性事件的概述信息内容。此特性包括的內容一般是在日历运用中显示信息的基础信息内容,例如恶性事件的名字。因此,在我的事例中,“BarCamp Albuquerque 3”被包括在summary当中,也便是在我本人日历选用来显示信息的名字:

<p>Yes, it's short notice, but mark your calendars: <a href="http://barcamp.org/BarCampAlbuquerque" class="url summary“><span class=”category”>BarCamp</span> Albuquerque 3</a> is this weekend.</p>

dtstart

dtstart特性叙述了恶性事件的刚开始時间/时间。在上面的事例中,“September 13”:

<dd><abbr class=”dtstart” title=”2008-09⑴3T09:00:00″>September 13</abbr>–<abbr class=”dtend” title=”2008-09⑴4T18:00:00″>14</abbr>, from 9am–6pm both days</dd>

时间/時间设计方案方式

留意到包括dtstart的器皿是<abbr>,被包括的信息内容为“September 13”而title的特性值是“2008-09⑴3T09:00:00”:

<dd><abbr class=”dtstart” title=”2008-09⑴3T09:00:00“>September 13</abbr>–<abbr class=”dtend” title=”2008-09⑴4T18:00:00″>14</abbr>, from 9am–6pm both days</dd>

这是现阶段在微文件格式中界定时间/時间文件格式的强烈推荐做法──被称作“时间時间设计方案方式”(是abbr设计方案方式的拓展)。此方式开发设计的目地是以便适用微文件格式的标准之1:先为人类阅读文章设计方案,设备次之,最后是令人类和设备都可以阅读文章鉴别。因而,逻辑性上是,设备──比如这些web运用──会应用title一部分,而访问器会为人类阅读文章只显示信息<abbr>中的內容。

另外,做为应用时间時间方式标准的1一部分,时间/時间信息内容理应被遵照ISO 8601的界定:

  • YYYY-MM-DDThh:mm:ss — “Y”表明年的数据,”M”表明月份,”D”表明天,”h”表明小时,”m”表明分钟,”s”表明秒
  • YYYY-MM-DDThh:mm:ssZ — “Z”用来表明GMT(格林威治)時间
  • YYYY-MM-DDThh:mm:ss+hh (或 -hh) — “+hh” 和 “-hh” 表明参考格林威治時间的偏位量

以便简易表明,举个事例,2008-09⑶0T13:00:00 = 2008年9月30日中午1:00(本地時间)。上面事例中的字母”T”将时间信息内容和時间信息内容分开。假如您仅唯一1个时间,忽视“T”和后边的時间信息内容便可以了。相近的,假如您仅有時间信息内容,忽视掉“T”和前面的时间信息内容便可。这个方式现阶段悲剧的也有1些无阻碍浏览难题,我会在文章内容后边再次探讨。如今,让大家再次上面的事例。

剩余的时间/時间特性

上面事例中也有可选的时间時间特性,包含:dtendduration

dtend

dtend特性叙述了恶性事件完毕的时间/時间。在我的事例中,为“September 14”:

<dd><abbr class="dtstart" title="2008-09⑴3T09:00:00">September 13</abbr>–<abbr class=”dtend” title=”2008-09⑴4T18:00:00″>14</abbr>, from 9am–6pm both days</dd>

duration

duration特性用来叙述恶性事件的不断時间。在上面的事例中,是两天:

<dd class="description">A <abbr class=”duration” title=”P2D”>two-day</abbr> event all about the web — design (visual, experience, information architecture), technology (infrastructure, programming), social and new media, and other stuff that is just plain cool.</dd>

同时间/時间1样,不断時间信息内容也应用时间時间设计方案方式来叙述,设备可读的信息内容包括在title中,而人类可读的信息内容包括在<abbr>。一样,title不断時间的值也要遵照ISO 8601的界定,只是必须在前面加“P”用以叙述不断的环节時间。不断的环节時间可使用下面这些企业叙述:年 (Y), 月 (M), 周 (W), 天 (D), 小时 (H), 分钟 (M) 和秒 (S)。能够参照下面事例:

  • P2Y = 不断2年
  • P10D = 不断10天
  • P3H = 不断3个小时
  • P2W = 不断2周
  • P12DT8H30M = 不断12天8小时30分钟
说说“无阻碍浏览”

在前面第3一部分中以前简易探讨过应用时间時间设计方案方式会有1些无阻碍浏览难题。无阻碍浏览的压根难题在于显示屏发声程序流程怎样对待title值:她们载入这个特性。因此,当应用時间时间方式把设备可读的ISO 8601时间時间信息内容放到title中时,显示屏发声会依照字面来读取这些标值。想像1下您的显示屏发声程序流程载入<abbr title="2008-09⑶0">:“Two thousand eight dash zero nine dash thirty。”假如時间和时间的值更长的话会更不尽人意。这对客户是非常不友善的。

现阶段,这些难题都还没被处理。但是早已有1些递交上来的候选建议,可是微文件格式小区还在再次探讨更好处理这些难题的方式。对于我自身的blog而言,剖析数据信息说明我沒有任何显示屏发声程序流程的浏览者。我很迫不及待想了解怎样处理这些难题,从而完成这些微文件格式,让她们适用无阻碍浏览的客户。

剩余的剩余

我的事例中还包含此外4个可选的特性:url, category, locationdescription

url

url特性叙述恶性事件的连接(<a>

<p>Yes, it's short notice, but mark your calendars: <a href="http://barcamp.org/BarCampAlbuquerqueclass=”url summary”><span class=”category”>BarCamp</span> Albuquerque 3</a> is this weekend.</p>

您将会会留意到我把url特性同summary写在1起。这是由于<a>中包括的內容刚好是我日历信息内容的summary,这只是1种偶合。

category

category特性叙述恶性事件的种类。在上面事例中为“BarCamp”:

<p>Yes, it's short notice, but mark your calendars: <a href="http://barcamp.org/BarCampAlbuquerque" class="url summary"><span class=”category”>BarCamp</span> Albuquerque 3</a> is this weekend.</p>

跟以前提过的特性不一样的是,category能够被应用无尽次。1些常见的category事例包含:

  • Meeting
  • Expo
  • Vacation
  • Anniversary
  • Conference

某种水平上来讲,category非常于恶性事件的“标识”。因此,假如我挑选标识我的事例包括到BarCamp主页的连接的话,我会另外应用rel-tag微文件格式category

<p>You may be wondering what is <a href="http://barcamp.org/" class=”category” rel=”tag”>BarCamp</a> anyway?</p>

记得吗,rel-tag只能在连接中应用(<a>)。

location

location特性叙述恶性事件产生的地址

<dd class=”location vcard”><a class=”fn org url” href=”http://www.chefwhite.com/cjw_cafe.php”>CJW Cafe</a> on <a href=”http://maps.google.com/maps” class=”adr”><span class=”street-address”>4801 Alameda <abbr title=”Boulevard”>Blvd</abbr> <abbr title=”Northeast”>NE</abbr></span>, <span class=”locality”>Albuquerque</span>, <abbr class=”region” title=”New Mexico”>NM</abbr> <span class=”postal-code”>87113</span></a></dd>

description

最终,description特性叙述恶性事件比summary更详尽的叙述

<dd class=”description”>A <abbr class=”duration” title=”P2D”>two-day</abbr> event all about the web — design (visual, experience, information architecture), technology (infrastructure, programming), social and new media, and other stuff that is just plain cool.</dd>

都还没包含哪些

也有1些hCalendar常见的特性我沒有在上面事例中应用的:

  • dtstamp说明hCalendar信息内容转化成的时间和時间
  • last-modified说明hCalendar信息内容近期升级的时间和時间
  • status说明恶性事件确定信息内容。容许的值包含”cancelled,” “confirmed”和”tentative”
  • class说明恶性事件级別。容许的值包含”private,” “public “和”confidential”
  • rrule说明恶性事件一般的反复产生信息内容。假如特性被应用,他必须子特性freq来讲明产生的频率(会在之后探讨的计量标准中探讨,例如countinterval
  • rdate说明恶性事件其实不常再次产生

也有许多别的的特性能够被运用。查询hCalendar事例的wiki网页页面获得更多信息内容。

hCalendar + hCard

或许,如今您早已留意到在我hCalendar标识中包括了hCard特性和子特性:

<dd class="location vcard“><a class=”fn org url” href=”http://www.chefwhite.com/cjw_cafe.php”>CJW Cafe</a> on <a href=”http://maps.google.com/maps” class=”adr”><span class=”street-address”>4801 Alameda <abbr title=”Boulevard”>Blvd</abbr> <abbr title=”Northeast”>NE</abbr></span>, <span class=”locality”>Albuquerque</span>, <abbr class=”region” title=”New Mexico”>NM</abbr> <span class=”postal-code”>87113</span></a></dd>

就像前面文章内容中提过的,组成微文件格式十分的简易,而且在1定的功效范畴内加上更多的词义使用价值。并且,他还为客户出示了更进1步的数据信息能够被拓展和应用,比如能够加上到她们详细地址簿的vCard信息内容。

在这个案例中,location特性中应用vcard十分成心义,就算我只是想加上1些大城市信息内容,我还可以应用hCard的特性。

当然語言

在前面的文章内容中说过在当然語言中应用微文件格式,hCalendar一样可使用。您会留意到在事例中,hCalendar的标明1直是立即嵌入到我的內容中。我能够把全部的hCalendar信息内容放到更为当然的语句中,而并不是把她们放到<dl>元素中:

  1. <div class=”vevent”>
  2. <p>Yes, it's short notice, but mark your calendars: <a href="http://barcamp.org/BarCampAlbuquerque" class=”url summary”><span class=”category”>BarCamp</span> Albuquerque 3</a> is this weekend, <abbr class=”dtstart” title=”2008-09⑴3T09:00:00″>September 13</abbr>–<abbr class=”dtend” title=”2008-09⑴4T18:00:00″>14</abbr>, from 9am–6pm <abbr class=”duration” title=”P2D”>both days</abbr>.</p>
  3. <p class=”description”>This year’s BarCamp is all about the web: design (visual, experience, information architecture), technology (infrastructure, programming), social and new media, and other stuff that is just plain cool.</p>
  4. <p class=”location vcard”><a class=”fn org url” href=”http://www.chefwhite.com/cjw_cafe.php”>CJW Cafe</a> (on <a href=”http://maps.google.com/maps” class=”adr”><span class=”street-address”>4801 Alameda <abbr title=”Boulevard”>Blvd</abbr> <abbr title=”Northeast”>NE</abbr></span>, <span class=”locality”>Albuquerque</span>, <abbr class=”region” title=”New Mexico”>NM</abbr> <span class=”postal-code”>87113</span></a>) is hosting this event.</p>
  5. </div>

加上到你的日历中

BarCamp Albuquerque 3文章内容中,我出示给客户1个连接容许您立即加上到日历运用中:

这个连接能够是立即到任何iCalendar文档的URL(比如,.ics, .ical, .ifb, .icalendar)。对我而言,我应用Technorati的恶性事件服务。应用Technorati的技术性,您能够在您hCalendar微文件格式存在的网页页面连接前再加http://feeds.technorati.com/events/,随后应用拼接好的标识符串做为连接的目地详细地址:

<a href="http://feeds.technorati.com/events/http://www.ablognotlimited.com/articles/barcampalbuquerque-around-the-corner” title=”Download .ics file”>Add to your calendar</a>

当客户点一下上面连接时,.ics文档会全自动转化成出示给客户免费下载:

外型很关键

前面说过许多次:标识元素其实不关键(虽然他应当是合理而且具备词义的)。另外class的值对微文件格式来讲十分的关键,您应用的CSS句子用来为hCalendar加上设计风格就仅仅是以便更好的呈现。我会强烈推荐在CSS中3D渲染这些hCalendar的class值,而并不是以便设计风格加上更多的class值。比如,您能够参照Jeremy Keith十分棒的文章内容用来设计风格化您的日历信息内容。最后,您能够作任何想做的事儿。the presentation of your hCalendar is only limited to your CSS skills

为何这么不便?自然是有益处的

就像以前1遍1遍反复的,但还值得再次反复……关键是由于微文件格式十分简易的另外出示了十分强劲的潜能。我期待更多的人可以掌握并应用她们。这会提升应用微文件格式的专用工具和运用的出現。

再来:词义

Yep,词义。您1定觉得这是我最喜爱的定义。是的。微文件格式应用已有的规范,就像XHTML元素,为她们包括的內容出示更多的词义信息内容。从我的角度看来,这协助了网站作者做出更好的网站,另外合适人类和设备浏览,例如那些检索模块。并且,拥抱词义(就算不应用微文件格式,仅应用标识自身)适用规范;选用规范的方法开发设计网站。这不仅对客户(实际上这些客户中包含设备)有利,另外对设计方案师/开发设计者和精英团队更为有利。他让全部人盈利。这些方式为
词义网构建了基本设备,另外也让大家充足运用今日已有的互联网技术和技术性。

Cool Shit

我了解词义和规范一般对一些人来讲是略微社会学的探讨。但是最后,你要末晓得,要末不懂(?)。假如您在后边的势力中,考虑到1些十分合理并且很COOL的专用工具,现如今能够彻底依靠hCalendar微文件格式搭建。

访问器额外组件

有许多访问器专用工具能够从网页页面中提取hCalendar信息内容,进1步容许导出来给那些适用iCalendar的运用。

  • Firefox的额外组件Operator提取hCalendar信息内容并容许您将信息内容加上到喜爱的日历运用中(就仿佛他应用hCard信息内容1样):
  • 一样根据Firefox,Tails Export检验网页页面中的hCalendar信息内容(同hCard相近)并出示导出来适用:
  • Safari 微文件格式软件同Firefox额外组件相近,提取hCalendar信息内容从而加上到日历运用中
  • 访问器不相干的微文件格式 书签专用工具还可以提取下hCalendar信息内容:
别的服务
  • Brian Suda X2V是1个XSLT stylesheet能够从网页页面中提取hCalendar信息内容
  • Technorati出示的微文件格式检索模块从递交的URL中数据库索引微文件格式信息内容(hCalendar、hCard和hReview)并出示这些信息内容的检索
  • Elias Torres 构建了hCalendar + Google Calendar Reminders的 GreaseMonkey脚本制作能够检验网页页面中的hCalendar信息内容,进1步加上到您的Google Calendar服务中
  • 来自Les Orchard的此外1个GreaseMonkey脚本制作容许您把Firefox表单文字地区更改成hCalendar转化成器:Magic Microformat Forms

也有更多我沒有提到的hCalendar案例和运用

同行业工作压力

假如这些信息内容都还没充足吸引住您的话,那末将会1些来自同行业的工作压力会让你有兴趣爱好。如今许多的领跑服务都刚开始应用hCalendar(和别的微文件格式):

  • Yahoo!的 Upcoming恶性事件服务应用hCalendar,因此当客户访问恶性事件的情况下能够立即导入进日历运用
  • MapQuest Local一样适用hCalendar,还适用hCard和自然地理信息内容微文件格式
  • TripIt应用hCalendar来标明他的游记攻略
  • Last.fm应用hCalender来叙述他的歌曲会通知
  • 社交媒体互联网超大型巨人,Facebook应用hCalendar来叙述恶性事件信息内容

另外也有很多具体应用hCalendar的事例。C’mon,我了解您早已刚开始要想这么做了,试试吧。坚信我,您会喜爱的。

协助简化的专用工具

假如我正巧让您感觉微文件格式很成心思的话,您将会会很开心了解有1些专用工具可以协助您完成微文件格式:

  • hCalendar转化成器,由微文件格式小区打造,出示能够转化成hCalendar标识和特性的表单。复制粘贴。不可以再简易了
  • pnh_mf 软件JMC_Event_Manager容许您简易的加上微文件格式內容,包含hCalendar
  • WordPress也有着许多软件能够协助作者加上微文件格式內容:Structured Blogging(也出示Movable Type软件)和WP-Microformats
  • 由WaSP打造,Dreamweaver微文件格式拓展适用DWDWDW 8 DWDWDW 8
  • Conference Schedule Creator协助您应用hCalendar转化成所有的大会時刻表