npm.io
5.3.0 • Published yesterday

@markuplint/html-spec

Licence
MIT
Version
5.3.0
Deps
1
Size
1.9 MB
Vulns
0
Weekly
0
Stars
624

@markuplint/html-spec

npm version

Canonical HTML Living Standard dataset provider with automated external data enrichment.

This package provides the consolidated HTML element specification data for markuplint, including:

  • HTML Living Standard elements with complete attribute definitions
  • WAI-ARIA mappings (implicit roles, permitted roles, ARIA properties)
  • Content model definitions for each element
  • MDN-enriched metadata (descriptions, compatibility, experimental status)
  • Automated external data integration from authoritative sources

This package serves as the data layer in markuplint's specification system, depending on @markuplint/ml-spec for type definitions and structural schemas.

Package Architecture

@markuplint/ml-spec (Foundation Layer)
  ↓ provides types, algorithms, schemas
@markuplint/html-spec (Data Layer) ← YOU ARE HERE
  ↓ provides HTML specification data
Framework-specific specs (Extension Layer)
  ↓ provide framework extensions
Core packages (Application Layer)
  ↓ consume specifications for validation

Package Contents

Generated Output (DO NOT EDIT)
  • index.json - Consolidated specification data (48K+ lines)
Source Files (EDIT THESE)
  • src/spec.*.jsonc - Individual element specifications (208 files)
  • src/spec-common.attributes.jsonc - Global attribute category definitions (20 categories)
  • src/spec-common.contents.jsonc - Content model category macros (HTML 10 + SVG 19 + MathML 3 categories)
Build System
  • build.ts - Generation script that invokes generator/ modules
  • Fetches live data from MDN, W3C ARIA specs, Graphics ARIA, DPub ARIA, HTML-ARIA mappings, HTML Living Standard, SVG specs, and MathML specs

Relationship to @markuplint/ml-spec

@markuplint/ml-spec provides the foundation:

  • Type definitions (ElementSpec, ExtendedSpec, MLMLSpec) that structure this data
  • JSON schemas that validate the specification format
  • Algorithms that process and compute values from this specification data

@markuplint/html-spec (this package) provides:

  • Canonical HTML data following the type definitions from @markuplint/ml-spec
  • External data enrichment from MDN and W3C specifications
  • Build automation that keeps data synchronized with external sources

Install

markuplint package includes this package.

If you are installing purposely, how below:
$ npm install @markuplint/html-spec

$ yarn add @markuplint/html-spec

Contributing

License

MIT