侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

css 微格式 XFN规范

前端  /  管理员 发布于 7年前   221

现在,我们花费一点时间来好好看看这个非常酷的微格式。

在链接中放入个人信息

由GMPG──全球媒体协议组──拟定的XHTML好友网络是一个非常简单却强大的去中心化描述方式,通过使用链接(<a>)的rel属性来展现人际关系。

这个概念同我在第一部分中描述的基于链接的关系是一致的:

<a href="http://twitter.com/emilylewis" rel=”me”>Twitter</a>

在这个例子中,rel="me"代码说明这个链接的目的地址(href)指向关于我的一个页面 (或者是我负责的页面)。

XFN微格式所描述的基于链接的人际关系完全超越我们之前描述的概念。

我们都是连接在一起的

XFN扩展了rel-me的概念,不仅仅包含个人身份同社交网络之间的关系。您可以为链接中的rel属性简单的添加多个属性值用以描述关系信息。

例如,我经常在博客中引用我的老板兼好友,IanIanIanIanIanIanIanIan:

<a href="http://www.iso-100.com/" rel=”met colleague co-worker friend”>Ian Pitts</a>

在上面的例子中,我为指向他博客的链接添加了rel="met colleague co-worker friend“这些属性。这些rel属性值说明:

  • met:我见到过Ian本人。
  • colleague:Ian是我的同事,也就是说我认为他跟我是具有相似兴趣和技术的人。
  • co-worker:Ian是我的老板,因为他也是我的同事。
  • friend:我把Ian当作的我朋友(他很幸运吧)。
我们是如何连接在一起的

XFN规范提供了各种关系属性值,这些属性值都是非常简单并直观的。

友谊/熟悉度

仅能使用这个列表中的一个值:

  • friend:根据个人定义变化。但根本来说,这是在熟悉度类别中最“亲密”的值。
  • acquaintance:表明一个中等的熟悉程度。
  • contact:表明仅仅是我拥有联系信息的个人。
物理特性

met──相遇──表明曾经见过本人的关系。可以同其他所有属性值共存。

职业

可以使用其中一个或者两个属性值:

  • colleague:具有相似兴趣或者技术的人,同僚。
  • co-worker:同事。
地理信息

仅可使用其中一个属性值:

  • co-resident:跟您住在同一条街道上的人。
  • neighbor:一个更广义的地理引用,通常是住的非常近(靠您自己定义),但是不在同一个街道上的。
家族

仅可以使用其中一个属性值:

  • child:孩子
  • parent:父母
  • sibling:兄弟姐妹,也包括您结婚之后对方那边的兄弟姐妹
  • spouse:配偶(不论合法与否)
  • kin:任何亲戚,不管是直系,还是通过婚姻或者领养。
浪漫关系

可以使用一个或者多个属性值:

  • muse:获取灵感的人
  • crush:您单相思的人
  • date:您目前相对固定的约会对象
  • sweetheart:您目前非常心理或者物理投入的人

由于我尝试微格式开始时候的疑惑,有必要解释一下muse(获取灵感的人)。虽然他存在于“浪漫关系”这个分类,但他衡量于同“理性”对比的角度。灵感不属于理性,因为属于浪漫关系。(译注:没懂)

我经常引用一些业内英雄的链接(例如,Jeffrey Zeldman, Eric Meyer 和 Jason Santa Maria)。对于这些人的链接,我都使用了属性rel="muse"。

而这些绝对不是“浪漫关系”。我仅仅是(深刻的)崇拜他们的工作,并经常从他们那里获取灵感。

另外,我发现这里对这些“浪漫关系”的描述异常的有趣。

个人身份

me指向在另外一个不同地方(href)的自己。

我希望有一点非常明显的是,为您自己赋值friend是多余的,虽然您会认为您是自己的朋友。同样还包括met和其他一些属性值。但仅仅是因为不需要这样做,而不是因为这样做无效。

特意的简单 = 效率

包括我在内,作为非常关注细节的人,会非常感激使用这些简单而搞笑的词语。我们就简单的接受co-worker(同事关系),而不要去争吵究竟是不是需要添加领导还是下属的属性。

值得提的一点是,在使用这些属性值的时候没有特定的顺序要求。

此外,这些值是不具有对称性的。因此,如果您引用一个人为friend而他们引用您为acquaintance,这并没有任何逻辑上的错误(除非您感到异常的失落)。

指定Profile

除了在您认识的这些人的链接上加上rel声明,GMPG建议您最好也让浏览器和搜索引擎知道您的网页支持XFN,这个工作可以通过在<head>代码中指定XFN的资料链接。

对于我而言,我选择在所有页面中都声明XFN的资料链接,因为我的<head>代码通过一个全局文件来维护。这会让工作容易很多,同时,可以让rel="me"出现在我所有的页面中(同样,可以在页脚链接到我的Flickr、, Delicious、iLike 和 Twitter的个人资料页面):

<head profile=”http://gmpg.org/xfn/11″>

告诉全世界

GMPG也建议让人们知道您的网站是支持XFN的。他们提供了一个徽章,您可以加到自己的网站上:

从个人角度来说,我并不是这些按钮或者徽章的粉丝。但是我支持这个提议,所以在我的页脚中加上了XFN的链接:

<a href="http://gmpg.org/xfn" title="支持XHTML好友网络">XFN</a>

让他变得更简单

虽然简单的为超链接添加这些属性和属性值不是一项特别浩大的工程,但是也有一些工具能够帮助您更容易实现XFN:

  • XFN 1.1 生成器是一个基于网页的向导,用来给链接指定合适的XFN值,并提供多种语言支持。
  • MTMTMTMT Blogroll 2.12 Manual是一个Movable Type的插件用来为引用链接定义XNF关系。 MTMTMTMT Blogroll 2.12 Manual是一个Movable Type的插件用来为引用链接定义XNF关系。
  • XFN Link Creator也是一个为链接加上XFN属性值的向导。
  • WordPress Links Manager可以配置允许您为blogroll链接添加XFN关系值。
  • WPWPWPWP Microformatted Blogroll 0.2是添加XFN链接的Word Press插件。 WPWPWPWP Microformatted Blogroll 0.2是添加XFN链接的Word Press插件。
  • rel-lint是一个JavaScript书签,用来检查那些XFN属性值,并标注出哪些他无法识别。

语义网

我知道我已经反反复复的重复好多遍(这也肯定不是我最后一次说):语义是微格式首要的好处之一。XFN也包含在内。

使用微格式来为网页内容添加结构和语义,使网页变得对人类对机器同样可读。关键是,他们只使用了目前已经存在的标准中的标记语言和数据。这点很棒!

微格式让我们距离Tim Berners-Lee提出的语义网越来越近。

社交网络

“语义”促使我在这个博客中大量使用微格式,这只是一方面,因为我意识到这点诱惑对于某些人来说并不那么吸引人。针对于这些人,我怀疑XFN的“社交”特性可能更重要一些。

社会搜索

Rubhub是一个社会搜索引擎,您可以在那里提交网站,他会被索引,并同其他网站进行比较,从而建立社会关系的索引。

一旦索引,您可以看到您网站的社交结果,包括其他网站如何引用(通过rel="me")您,还有其他个人是如何引用您的关系。

可视化

XFN Graph 会生成一个蛛网图来展示这些站点如何互相链接,提供社交关系的可视化展现。从这里,您可以知道人们是怎么连接起来,并可以通过这个展示找到那些跟您具有相似兴趣的人。

连通性

Google的Social Graph API使用XFN来使得用户在新网站中交朋友更加容易。

例如,在Google提供的“My Connections”的演示程序中,显示您如何跟其他人连接起来。这里有一个截图:

朋友列表

有大量的站点,尤其是那些社交网络站点,都使用XFN标记来建立好友/联系人列表。比如,Twitter和LinkedIn都在他们的follower和联系人链接上添加了rel="contact"。

在看得更远一点,一些站点发布hCard+XFN组成的好友列表,这个数据可以用来被导入/订阅。(我会在第三部分中说明hCard微格式)

这为将来允许用户在不同网站之间交换社交网络信息打下了基础。

身份统一

在第一部分中提到过,XFN对于身份统一很重要。

社交网络站点

例如,很多社交网络站点在他们的个人资料页中都实现rel="me"属性,包括Flickr、Twitter、LinkedIn等。所以,在任何使用其他身份的网页中,分散的个人身份被重新集合在一起。(译注:好晦涩,不会翻)

ClaimID

同样,也有一些在线身份统一的服务支持XFN。例如,claimID可以让您手动设置个人资料,集成您所有的在线身份,每一个都可以被标注为rel="me"。这里有一个我 ClaimID个人信息的截图,包括了这些链接:

设立ClaimID上的个人资料有一个好处就是他会给你一个OpenID。

OpenID是为用户数字身份提供的开放的去中心化的自由框架。他使用已有的互联网技术来改变存在的数字身份(例如博客、照片等),您可以使用这个身份在支持OpenID的站点上登录。这个跟XFN并没有直接关系,不过他很酷。

Plaxo

还有一个Plaxo’s Open Social Graph值得一提,他会根据您提供的站点URL来搜索rel="me"链接。然后去抓取这些链接。他还会搜索双向的链接来确定这两个地方(href)确实是同一个人。下面是一个抓取的截图:

Plaxo的在线地址簿和社交网络服务都支持XFN,会自动的添加rel="me"属性到您个人资料中。我在Plaxo的个人资料页上每一条链接都实现了rel-me的属性标注:

还有Google的Social Graph API中的演示应用,“Site Connectivity”,也通过列出他之道是你的站点集合,还包括那些他认为是你的站点。下面同样是一个截图:

来点个性

同样在第一部分提到过,您可以使用CSS属性选择器来为特定的rel定义一些风格。例如,您希望利用XFN微格式图标,您可以使用下面的属性选择器:

a[rel~="friend"]:before {content: url(xfn-friend.png);}

在支持CSS 2.1 规范的浏览器 (IE 6不支持)


  • 上一条:
    CSS下!important属性
    下一条:
    Mozilla建议的css书写顺序
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 使用 Alpine.js 排序插件对元素进行排序(0个评论)
    • 在js中使用jszip + file-saver实现批量下载OSS文件功能示例(0个评论)
    • 在vue中实现父页面按钮显示子组件中的el-dialog效果(0个评论)
    • 使用mock-server实现模拟接口对接流程步骤(0个评论)
    • vue项目打包程序实现把项目打包成一个exe可执行程序(0个评论)
    • 近期文章
    • 智能合约Solidity学习CryptoZombie第三课:组建僵尸军队(高级Solidity理论)(0个评论)
    • 智能合约Solidity学习CryptoZombie第二课:让你的僵尸猎食(0个评论)
    • 智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸(0个评论)
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2017-06
    • 2017-07
    • 2017-08
    • 2017-09
    • 2017-10
    • 2017-11
    • 2018-03
    • 2018-04
    • 2018-05
    • 2018-06
    • 2018-09
    • 2018-11
    • 2018-12
    • 2019-02
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2021-04
    • 2021-05
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-11
    • 2022-08
    • 2022-09
    • 2022-10
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-04
    • 2023-05
    • 2023-06
    • 2023-07
    • 2023-09
    • 2023-10
    • 2023-11
    • 2023-12
    • 2024-01
    • 2024-02
    • 2024-03
    • 2024-04
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客