8fold / html-spec-structured
0.0.5
2021-09-19 18:37 UTC
Requires
- php: ^7|^8.0
- 8fold/php-shoop: ^0.10.19
Requires (Dev)
- phpunit/phpunit: ^9.5.9
README
本项目的目标是以结构化和互连数据的形式展示 活的 HTML 规范。
结构化数据放置在用于该类型结构化数据的文件夹中(例如 json
)。需要注意的是,结构化数据文件夹中的所有内容都是自动生成的;因此,不提供任何有关准确性的保证,纠正问题可能需要在规范本身中纠正问题。
html
目录的信息架构与在 w3c/elements-of-html 提供的文档的 URL 匹配。
安装
composer require 8fold/html-spec-structured
用法
原始数据
从编写脚本编译的数据存储在 /json
目录中,用户可以使用他们认为合适的任何界面直接访问原始数据。
PHP 读取器类
读取器类提供用于检索数据的 API 和轻量级 ORM 解决方案,并且定期进行优化以确保性能。
HtmlIndex::all()->elementNamed("h1");
PHP 写入器类
由于数据是从多个文档、多个存储库和多个组织中收集的,因此编写脚本非常实用,被认为是“一次性”的。它们在查询文档和将随后数据保存到文件方面进行了最小优化。此外,它们从读取器类继承,因此与面向用户的特性完全解耦。
详细信息
项目数据结构
html.json
:HTML 元素索引。html-attributes.json
:定义的属性、事件和 ARIA 属性索引。html-aria-roles.json
:定义的角色属性值索引。待定。
数据收集
- HTML 元素列表从 w3c 的 HTML 元素 存储库中提取。注意:如果元素未在此处列出,则不会在其他任何地方列出,即使在其他资源中引用。
- 非 ARIA HTML 属性和元素详细信息的列表从 WHATWG 的 HTML 活动标准 中提取。
- 注意:
role
被视为属性,因为它未列在属性表中;因此,它在初始集合完成后作为全局属性注入。
- 注意:
- ARIA属性和HTML元素角色的列表是从w3c的HTML ARIA文档中提取的。
- ATRIA属性类别是从本存储库本地文件夹中可用的w3c HTML ARIA 1.1推荐书的本地副本中提取的。
从格式角度来看,ARIA似乎是整合最少且最不稳定的;然而,随着时间的推移,它可能会更容易进行聚合和编译。
其他
版本控制
由于此包依赖于时间敏感的而非功能敏感的细节,因此版本控制基于ISO标准的时间;因此,语义版本控制[major].[minor].[patch]
变为[year].[month].[day]
。
- 年:表示编译脚本运行的四位年份。
- 月:表示编译脚本运行的两位数字月份。
- 日:表示编译脚本运行的两位数字日期。