了解 - 微格式

微格式

微格式(microformat)是一种用于在 HTML 中嵌入语义和结构化数据的标准,它为社交网络应用程序、搜索引擎、聚合器和其他工具提供了一个 API。这些最小的 HTML 模式用于标记从基本到特定领域的信息实体,例如人物、组织、事件和地点。


介绍

  • 要创建一个微格式对象,需要在 class 属性中使用 h-* 类名。
  • 要给对象添加属性,需要在对象的后代元素上使用 p-*、u-*、dt-*、e-* 类名。

微格式使用支持词汇表来描述对象,并使用名称——值对为它们的属性赋值。属性被包含在可以添加到任何 HTML 元素的 class 属性中,而数据值则复用了 HTML 元素内容和语义属性。

微格式 2(有时被称为 mf2)是对微格式的更新,它提供了一种比以往使用 RDFa 和 microdata 的方法更简单的 HTML 结构化语法和词汇表注释方式。这些以前的方法需要获得新的属性。


工作原理

HTML示例

<a class="h-card" href="https://zs.example.com">张三</a>

当解析器遇到这些数据时,它将知道这个页面包含了一个“卡片”,其描述了一个叫 张三的人或组织,其 URL 为 https://zs.example.com。解析器通过 API 使这些数据可用,这些 API 可以用于不同的应用程序。例如,应用程序可以扫描页面上的 h-card,用作注册服务的某个人的个人资料信息。

正如在这个案例中,某些标记模式只需要一个单一的微格式根类名,解析器使用它来查找一些通用属性,例如 nameurlphoto


使用案例

微格式有许多使用案例。首先,Webmention 标准使用微格式提供了一种可以将消息和评论从一个网站发送到另一个网站的方式。Webmention 规范定义了特定属性,以便于站点发布和消费,以创建丰富、可互操作的消息和评论发布方式。微格式也可以与 Webmentions 一起使用,便于从一个网站向另一个网站发送社交反应,如喜欢、转帖和书签。

微格式还支持跨站点的轻松聚合。聚合器可以解析发布微格式的页面,寻找诸如帖子标题、帖子正文和帖子作者等信息。然后,这个聚合器可以使用收集到的语义信息在其站点上呈现结果。例如,新闻聚合器和社区发帖板可以促进提交,并使用微格式从页面中提取相关内容。此外,网站可以使用微格式来向第三方(例如社交网络)发送构建好的请求以发布内容。

所有主流搜索引擎都支持读取和解析微格式。搜索引擎从直接访问结构化数据中获益匪浅,因为它们允许搜索引擎去理解网页上的信息。有了这些信息,搜索引擎可以为用户提供更具有相关性的结果。一些搜索引擎可能会根据微格式中提供的数据,在搜索结果页面上呈现特殊的片段,例如星级评分。

除了可以被机器读取外,微格式还便于人类阅读。这种方法使人们容易理解和维护微格式数据。


微格式前缀

所有微格式由根和属性集合组成。属性全部是可选的,可能是多值的——需要单一值的应用程序可以使用属性的第一个实例。层次数据通过嵌套微格式表示,通常作为属性值本身。

所有微格式类名使用前缀。前缀是与词汇表无关的语法,它们是被独立开发出来的。

“h-*”用于根类名,例如“h-card”、“h-entry”、“h-feed”等。这些顶级根类通常指示一个类型和相应的预期属性词汇表。例如:

  • h-card 描述一个人或组织
  • h-entry 描述具有时间戳的在线内容,如博客帖子
  • h-feed 描述帖子的流或源

“p-*”用于纯(文本)属性,例如:“p-name”、“p-summary”

  • 通用纯文本解析,一般元素文本。在某些 HTML 元素上,首先使用特殊属性,例如:img/alt、abbr/title。

“u-*”用于 URL 属性,例如:“u-url”、“u-photo”、“u-logo”

  • 特殊解析:元素属性 a/href、img/src、object/data 等优先于元素内容。

“dt-*”用于 datetime 属性,例如:“dt-start”、“dt-end”、“dt-bday”

  • 特殊解析:time 元素 datetime 属性、value-class-pattern 和单独的日期时间值解析,以提高可读性。

“e-*”用于元素树属性,其中整个包含的元素层次结构是值,例如“e-content”。“e-”前缀也可以通过“元素树(element tree)”、“嵌入式标记(embedded markup)”或“封装标记(encapsulated markup)”来记忆。

微格式示例

h-card 

h-card 微格式表示一个人或组织。
每个属性的值都是使用 HTML 中的类属性定义的,任何元素都可以携带。

<p class="h-card"><img class="u-photo" src="https://example.org/photo.png" alt="" /><a class="p-name u-url" href="https://example.org">张三</a><a class="u-email" href="mailto:jbloggs@example.com">zhangsan@example.com</a>,<span class="p-locality">河北省</span><span class="p-country-name">中国</span>
</p>
属性描述
p-name个人或组织的全名/格式化名称
u-email电子邮件地址
u-photo个人或组织的照片
u-url代表个人或组织的主页或其他 URL
u-uid通用唯一标识符,最好是规范 URL
p-street-address街道号码 + 名称
p-locality城市/城镇/村庄
p-country-name国家名称

h-entry

h-entry 微格式表示 web 上的分集或有时间戳的内容。h-entry 通常与打算进行聚合的内容一起使用,例如博客帖子和简短笔记。

<article class="h-entry"><h1 class="p-name">文章标题</h1><p><a class="p-author h-card" href="https://example.com">张三</a> <time class="dt-published" datetime="2013-06-13 12:00:00">13<sup>号</sup></time></p><p class="p-summary">这是这篇文章的摘要</p><div class="e-content"><p等等等等</p></div>
</article>
属性描述
p-name条目的名称/标题
p-author编写条目的人,可嵌入 h-card
dt-published条目发布的时间
p-summary条目的简短摘要
e-content条目的完整内容

 h-feed

h-feed 是 h-entry 帖子的流或消息来源,如主页或存档页面上的所有帖子,或摘要或其他简短帖子列表。

<div class="h-feed"><h1 class="p-name">文章标题</h1><article class="h-entry"><h2 class="p-name">二级标题</h2><p><a class="p-author h-card" href="https://example.com">张三r</a> on<time class="dt-published" datetime="2013-06-13 12:00:00">10<sup>号</sup></time></p><p class="p-summary">这篇文章内容</p><div class="e-content"><p>等等等等</p></div></article>
</div>
属性描述
p-name源的名称
p-author源的作者,可嵌入 h-card

 h-event

h-event 用于 web 上的事件。h-event 通常用于活动列表和单个活动页面。

<div class="h-event"><h1 class="p-name">标题</h1><p>From<time class="dt-start" datetime="2013-06-30 12:00">30<sup>号</sup></time>to <time class="dt-end" datetime="2013-06-30 18:00">18:00</time> at<span class="p-location">某个地点</span></p><p class="p-summary">内容。。。</p>
</div>
属性描述
p-name事件名称(或标题)
p-summary事件的简短摘要
dt-start事件开始的时间
dt-end事件结束的时间
p-location事件发生地点,可嵌入 h-card

微格式rel属性

有一些微格式是通过使用特殊的 rel 属性应用于页面的

rel=author
此属性声明链接的文档代表当前页面的作者。
 

<a rel="author" href="https://ccc.blog">ccc</a>

rel=license
此属性声明链接的文档包含发布当前页面所依据的许可证。

<a rel="license" href="https://mit.org/">MIT License</a>

rel=nofollow
该属性声明链接的文档不应该被搜索引擎排名算法赋予任何权重,这些算法可能来自当前页面。这有助于防止链接图算法在看到指向文档的链接后对页面的权重高于其他情况。

<a rel="nofollow" href="https://ccc.blog">ccc</a>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/57848.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java-图书管理系统

我的个人主页 欢迎来到我的Java图书管理系统&#xff0c;接下来让我们一同探索如何书写图书管理系统吧&#xff01; 1管理端和用户端 2建立相关的三个包&#xff08;book、operation、user&#xff09; 3建立程序入口Main类 4程序运行 1.首先图书馆管理系统分为管理员端和…

Redis 集群 问题

前言 相关系列 《Redis & 目录》&#xff08;持续更新&#xff09;《Redis & 集群 & 源码》&#xff08;学习过程/多有漏误/仅作参考/不再更新&#xff09;《Redis & 集群 & 总结》&#xff08;学习总结/最新最准/持续更新&#xff09;《Redis & 集群…

MySQL 安装及用户管理

MySQL 安装及用户管理 MySQL 是一款广泛使用的开源关系数据库管理系统&#xff0c;适用于各种应用程序和平台。本文将提供在不同操作系统&#xff08;Windows、macOS 和 Linux&#xff09;上安装 MySQL 的详细步骤&#xff0c;并介绍如何创建 MySQL 用户及设置密码。 1. Wind…

通过Docker Compose构建自己的Java项目

通过Docker Compose构建自己的Java项目 前置条件 安装了Docker,未安装的请移步:CentOS7 / CentOS8 安装 Docker-ce安装了Docker-Compose,未安装的请移步:在CentOS7、CentOS8系统下安装Docker Compose1. 配置阿里云镜像仓库 为了提高Docker镜像的下载速度,我们可以配置阿…

【Git 】Windows 系统下 Git 文件名大小写不敏感

背景 在 Windows 系统上&#xff0c;Git 对文件名大小写的不敏感性问题确实存在。由于 Windows 文件系统&#xff08;如 NTFS &#xff09;在默认情况下不区分文件名大小写所导致的。 原因分析 文件系统差异 Windows文件系统&#xff08;如 NTFS&#xff09;默认不区分文件名…

代码随想录算法训练营第46期Day42

leetcode.518.零钱兑换 class Solution { public: //求装满背包有几种方法&#xff0c;公式都是&#xff1a;dp[j] dp[j - nums[i]]; // 如果求组合数就是外层for循环遍历物品&#xff0c;内层for遍历背包。 // 如果求排列数就是外层for遍历背包&#xff0c;内层for循环遍历物…

Detecting Holes in Point Set Surfaces 论文阅读

下载链接 Detecting Holes in Point Set Surfaces 摘要 3D 数据采集过程&#xff08;例如激光范围扫描&#xff09;产生的重要物体模型通常包含由于遮挡、反射或透明度而产生的孔洞。本文的目标就是在点集表面上检测存在的孔洞。对于每个点&#xff0c;将多个标准组合成一个综…

【机器学习】股票数据爬取与展示分析

数据爬取 一、爬取原理二、代码实践2.1 股票列表获取2.1.1 确定待爬取网页2.1.2 向网页发送请求获取页面响应2.1.3 文本转换成JSON2.1.4 将数据保存到csv文件中2.2 股票数据获取 三、结果分析 一、爬取原理 本文中主要使用的就是Python的request库&#xff0c;这个库基于HTTP请…

GPT打数模——电商品类货量预测及品类分仓规划

背景 电商企业在各区域的商品存储主要由多个仓库组成的仓群承担。其中存储的商品主要按照属性&#xff08;品类、件型等&#xff09;进行划分和打标&#xff0c;便于进行库存管理。图 1 是一个简化的示意图&#xff0c;商品品类各异&#xff0c;件数众多&#xff0c;必须将这些…

Task :prepareKotlinBuildScriptModel UP-TO-DATE,编译卡在这里不动或报错

这里写自定义目录标题 原因方案其他思路 原因 一般来说&#xff0c;当编译到这个task之后&#xff0c;后续是要进行一些资源的下载的&#xff0c;如果你卡在这边不动的话&#xff0c;很有可能就是你的IDE目前没有办法进行下载。 方案 开关一下IDE内部的代理&#xff0c;或者…

Jetpack架构组件_LiveData组件

1.LiveData初识 LiveData:ViewModel管理要展示的数据&#xff08;VM层类似于原MVP中的P层&#xff09;&#xff0c;处理业务逻辑&#xff0c;比如调用服务器的登陆接口业务。通过LiveData观察者模式&#xff0c;只要数据的值发生了改变&#xff0c;就会自动通知VIEW层&#xf…

C#里使用最高性的网络通讯例子

由于接收网络数据会不完整的包, 并且产生各种问题,导致大家都是使用最低效的内存保存数据,比如List<byte>这样的结构。 具体内容可以参考下面的大牛的文章: System.IO.Pipelines: High performance IO in .NET - .NET Blog (https://devblogs.microsoft.com/dot…

【Spring】详解SpringMVC,一篇文章带你快速入门

目录 一、初始MVC 二、SpringMVC 三、Spring MVC的运用 ⭕RequestMapping ⭕传递参数 1、传递单个参数 2、传递多个参数 3、参数重命名 4、传递数组与集合 5、获取路径参数 6、传递JSON数据 7、上传文件 一、初始MVC MVC&#xff08;Model-View-Controller&#…

在不能联网的电脑上安装库(PyEMD为例)

1、查看PyEMD需要什么依赖 需要numpy、pathos、scipy、tqdm依赖&#xff0c;我电脑上有了numpy, scipy&#xff0c;以另外两个为例 2、查看依赖的依赖 查看依赖是否还要依赖 可以看到pathos还要这四个依赖&#xff0c;以此类推&#xff0c;看还要哪些依赖&#xff0c;直至req…

2024.9.27华为笔试题解

第一题绩效互评人员分配 二分图判断模板,可以去看其他博客学习一下 #include <bits/stdc++.h> using namespace std;vector<int> GoodRelationships[105]; int color[105]; // 记录每个节点的颜色,0表示未染色,1和2表示不同的组 bool is_bipartite = true; …

【C】用c写贪吃蛇

1.输入正确的账号密码及其用户名&#xff0c;登录成功进入贪吃蛇游戏界面&#xff0c; 2.随机生成蛇头★、食物▲的位置(x,y)&#xff0c;并使用□打印地图 3.使用w s a d按键&#xff0c;完成蛇头的上下左右移动 4.蛇头碰撞到食物后&#xff0c;吃下食物变成蛇身的一部分●…

Mac 使用脚本批量导入 Apple 歌曲

最近呢&#xff0c;买了一个 iPad&#xff0c;虽然家里笔记本台式都有&#xff0c;显示器都是 2个&#xff0c;比较方便看代码&#xff08;边打游戏边追剧&#xff09;。 但是在床上拿笔记本始终还是不方便&#xff0c;手机在家看还是小了点&#xff0c;自从有 iPad 之后&…

【Java】java 集合框架(详解)

&#x1f4c3;个人主页&#xff1a;island1314 ⛺️ 欢迎关注&#xff1a;&#x1f44d;点赞 &#x1f442;&#x1f3fd;留言 &#x1f60d;收藏 &#x1f49e; &#x1f49e; &#x1f49e; 1. 概述 &#x1f680; &#x1f525; Java集合框架 提供了一系列用于存储和操作…

实现uniapp天地图边界范围覆盖

在uniapp中&#xff0c;难免会遇到使用地图展示的功能&#xff0c;但是百度谷歌这些收费的显然对于大部分开源节流的开发者是不愿意接受的&#xff0c;所以天地图则是最佳选择。 此篇文章&#xff0c;详细的实现地图展示功能&#xff0c;并且可以自定义容器宽高&#xff0c;还可…

java项目之电影评论网站(springboot)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的电影评论网站。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 项目简介&#xff1a; 电影评论网站的主要使用者管…