Map of info on enumerated attributes in HTML
npm install html-enumerated-attributes[![Build][build-badge]][build]
[![Coverage][coverage-badge]][coverage]
[![Downloads][downloads-badge]][downloads]
[![Size][size-badge]][size]
[![Sponsors][funding-sponsors-badge]][funding]
[![Backers][funding-backers-badge]][funding]
[![Chat][chat-badge]][chat]
Utility with info on enumerated attributes.
* What is this?
* When should I use this?
* Install
* Use
* API
* enumeratedAttributes
* Definition
* Syntax
* Syntax tree
* Types
* Compatibility
* Security
* Contribute
* License
This package contains info on enumerated attributes (attributes that have
a limited list of acceptable values).
You can use this package for linting and minification purposes.
This package is [ESM only][esm].
In Node.js (version 16+), install with [npm][]:
``sh`
npm install html-enumerated-attributes
In Deno with [esm.sh][esm-sh]:
`js`
import {enumeratedAttributes} from 'https://esm.sh/html-enumerated-attributes@1'
In browsers with [esm.sh][esm-sh]:
`html`
`js
import {enumeratedAttributes} from 'html-enumerated-attributes'
console.log(enumeratedAttributes.loading)
//=> {selector: 'iframe, img', invalid: 'eager', missing: 'eager', states: ['eager', 'lazy']}
`
This package exports the identifier
enumeratedAttributes.
There is no default export.
Enumerated HTML attributes (Record).
Info (TypeScript type).
###### Fields
* allowUnknown (boolean, default: false)caseSensitive
— whether arbitrary values are allowed
* (boolean, default: false)invalid
— enumerated values are often treated case-insensitive, except when
this field is on
* (string, null, optional)null
— invalid value default; means a particular unnamed statemissing
* (string, null, optional)null
— missing value default; means a particular unnamed stateselector
* (string, optional, example: 'meta, script')states
— simple CSS selector; can contain commas; missing means it applies to
all elements
* (Array)
— possible states
HTML is parsed according to WHATWG HTML (the living standard), which is also
followed by all browsers.
The syntax tree used is [hast][].
This package is fully typed with [TypeScript][].
Projects maintained by the unified collective are compatible with maintained
versions of Node.js.
When we cut a new major release, we drop support for unmaintained versions of
Node.
This means we try to keep the current release line,
html-enumerated-attributes@^1,
compatible with Node.js 16.
As rehype works on HTML and improper use of HTML can open you up to a
[cross-site scripting (XSS)][xss] attack, use of rehype can also be unsafe.
Use [rehype-sanitize][rehype-sanitize] to make the tree safe.
See [contributing.md][contributing] in [rehypejs/.github][health] for wayssupport.md`][support] for ways to get help.
to get started.
See [
This project has a [code of conduct][coc].
By interacting with this repository, organization, or community you agree to
abide by its terms.
[MIT][license] © [Titus Wormer][author]
[author]: https://wooorm.com
[build]: https://github.com/rehypejs/rehype-minify/actions
[build-badge]: https://github.com/rehypejs/rehype-minify/workflows/main/badge.svg
[chat]: https://github.com/rehypejs/rehype/discussions
[chat-badge]: https://img.shields.io/badge/chat-discussions-success.svg
[coc]: https://github.com/rehypejs/.github/blob/main/code-of-conduct.md
[contributing]: https://github.com/rehypejs/.github/blob/main/contributing.md
[coverage]: https://codecov.io/github/rehypejs/rehype-minify
[coverage-badge]: https://img.shields.io/codecov/c/github/rehypejs/rehype-minify.svg
[downloads]: https://www.npmjs.com/package/html-enumerated-attributes
[downloads-badge]: https://img.shields.io/npm/dm/html-enumerated-attributes.svg
[esm]: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c
[esm-sh]: https://esm.sh
[funding]: https://opencollective.com/unified
[funding-backers-badge]: https://opencollective.com/unified/backers/badge.svg
[funding-sponsors-badge]: https://opencollective.com/unified/sponsors/badge.svg
[hast]: https://github.com/syntax-tree/hast
[health]: https://github.com/rehypejs/.github
[license]: https://github.com/rehypejs/rehype-minify/blob/main/license
[npm]: https://docs.npmjs.com/cli/install
[rehype-sanitize]: https://github.com/rehypejs/rehype-sanitize
[size]: https://bundlejs.com/?q=html-enumerated-attributes
[size-badge]: https://img.shields.io/bundlejs/size/html-enumerated-attributes
[support]: https://github.com/rehypejs/.github/blob/main/support.md
[typescript]: https://www.typescriptlang.org
[xss]: https://en.wikipedia.org/wiki/Cross-site_scripting