Update URLs in README
This commit is contained in:
parent
881578349b
commit
561dedd724
98
README.md
98
README.md
|
@ -35,13 +35,13 @@ Errors marked with a `⌫` can be suppressed using the [`--errorEx`](#--errorex)
|
||||||
|
|
||||||
It's an error if an invalid HTML entity is detected.
|
It's an error if an invalid HTML entity is detected.
|
||||||
If suppressed, invalid entities are simply interpreted literally.
|
If suppressed, invalid entities are simply interpreted literally.
|
||||||
See [entityrefs.c](src/main/c/rule/entityrefs.c) for the list of entity references considered valid by hyperbuild.
|
See [entityrefs.c](src/main/c/rule/entity/entityrefs.c) for the list of entity references considered valid by hyperbuild.
|
||||||
Valid entities that reference a Unicode code point must be between 0x0 and 0x10FFFF (inclusive).
|
Valid entities that reference a Unicode code point must be between 0x0 and 0x10FFFF (inclusive).
|
||||||
|
|
||||||
#### `EBADTAG` ⌫
|
#### `EBADTAG` ⌫
|
||||||
|
|
||||||
It's an error if an unknown (non-standard) tag is reached.
|
It's an error if an unknown (non-standard) tag is reached.
|
||||||
See [tags.c](src/main/c/rule/tags.c) for the list of tags considered valid by hyperbuild.
|
See [tags.c](src/main/c/rule/tag/tags.c) for the list of tags considered valid by hyperbuild.
|
||||||
|
|
||||||
#### `EUCASETAG` ⌫
|
#### `EUCASETAG` ⌫
|
||||||
|
|
||||||
|
@ -62,22 +62,22 @@ It's an error if a tag is declared where it can't be a child of.
|
||||||
This is a very simple check, and does not cover the comprehensive HTML rules, as they involve backtracking, tree traversal, and lots of conditionals.
|
This is a very simple check, and does not cover the comprehensive HTML rules, as they involve backtracking, tree traversal, and lots of conditionals.
|
||||||
|
|
||||||
This rule is enforced in four parts:
|
This rule is enforced in four parts:
|
||||||
[whitelistparents.c](src/main/c/rule/whitelistparents.c),
|
[whitelistparents.c](src/main/c/rule/relation/whitelistparents.c),
|
||||||
[blacklistparents.c](src/main/c/rule/blacklistparents.c),
|
[blacklistparents.c](src/main/c/rule/relation/blacklistparents.c),
|
||||||
[whitelistchildren.c](src/main/c/rule/whitelistchildren.c), and
|
[whitelistchildren.c](src/main/c/rule/relation/whitelistchildren.c), and
|
||||||
[blacklistchildren.c](src/main/c/rule/blacklistchildren.c).
|
[blacklistchildren.c](src/main/c/rule/relation/blacklistchildren.c).
|
||||||
|
|
||||||
#### `EUNCTAG`
|
#### `EUNCTAG`
|
||||||
|
|
||||||
It's an error if a non-void tag is not closed.
|
It's an error if a non-void tag is not closed.
|
||||||
See [voidtags.c](src/main/c/rule/voidtags.c) for the list of tags considered void by hyperbuild.
|
See [voidtags.c](src/main/c/rule/tag/voidtags.c) for the list of tags considered void by hyperbuild.
|
||||||
|
|
||||||
This includes tags that close automatically because of siblings (e.g. `<li><li>`), as it greatly simplifies the complexity of the minifier due to guarantees about the structure.
|
This includes tags that close automatically because of siblings (e.g. `<li><li>`), as it greatly simplifies the complexity of the minifier due to guarantees about the structure.
|
||||||
|
|
||||||
#### `ECLOSVOID`
|
#### `ECLOSVOID`
|
||||||
|
|
||||||
It's an error if a void tag is closed.
|
It's an error if a void tag is closed.
|
||||||
See [voidtags.c](src/main/c/rule/voidtags.c) for the list of tags considered void by hyperbuild.
|
See [voidtags.c](src/main/c/rule/tag/voidtags.c) for the list of tags considered void by hyperbuild.
|
||||||
|
|
||||||
#### `ESELFCLOS`
|
#### `ESELFCLOS`
|
||||||
|
|
||||||
|
@ -157,6 +157,78 @@ Read, parse, process, and minify another file, and stream the result.
|
||||||
|
|
||||||
## Minification
|
## Minification
|
||||||
|
|
||||||
|
### Theory
|
||||||
|
|
||||||
|
#### Whitespace
|
||||||
|
|
||||||
|
##### Beginning and end
|
||||||
|
|
||||||
|
##### Between text and tags
|
||||||
|
|
||||||
|
##### Contiguous
|
||||||
|
|
||||||
|
##### Whole text
|
||||||
|
|
||||||
|
#### Content
|
||||||
|
|
||||||
|
##### Specific tags
|
||||||
|
|
||||||
|
```html
|
||||||
|
<title></title>
|
||||||
|
<meta>
|
||||||
|
<link>
|
||||||
|
<table></table>
|
||||||
|
<ul></ul>
|
||||||
|
<ol></ol>
|
||||||
|
<dl></dl>
|
||||||
|
<hr>
|
||||||
|
<br>
|
||||||
|
```
|
||||||
|
|
||||||
|
##### Formatting tags
|
||||||
|
|
||||||
|
```html
|
||||||
|
<strong> moat </strong>
|
||||||
|
```
|
||||||
|
|
||||||
|
##### Content tags
|
||||||
|
|
||||||
|
```html
|
||||||
|
<p>Some <strong>content</strong></p>
|
||||||
|
```
|
||||||
|
|
||||||
|
##### Content-first tags
|
||||||
|
|
||||||
|
```html
|
||||||
|
<li>Anthony</li>
|
||||||
|
```
|
||||||
|
|
||||||
|
```html
|
||||||
|
<li>
|
||||||
|
<div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
```
|
||||||
|
|
||||||
|
##### Sectioning tags
|
||||||
|
|
||||||
|
```html
|
||||||
|
<p>Some <strong>content</strong></p>
|
||||||
|
```
|
||||||
|
|
||||||
|
##### Overview
|
||||||
|
|
||||||
|
|Type|Content|
|
||||||
|
|---|---|
|
||||||
|
|Formatting tags|Text nodes|
|
||||||
|
|Content tags|Formatting tags, text nodes|
|
||||||
|
|Sectioning tags|Sectioning tags, formatting tags|
|
||||||
|
|
||||||
|
|Tag|Formatting|Content|Sectioning|
|
||||||
|
|---|---|---|---|
|
||||||
|
|`li`, `dd`|-|1|2|
|
||||||
|
|`p`, `h1-6`|-|Y|-|
|
||||||
|
|
||||||
### Options
|
### Options
|
||||||
|
|
||||||
For options that have a list of tags as their values, the tags should be separated by a comma.
|
For options that have a list of tags as their values, the tags should be separated by a comma.
|
||||||
|
@ -164,9 +236,11 @@ For brevity, hyperbuild has built-in sets of tags that can be used in place of d
|
||||||
|
|
||||||
|Name|Tags|Description|
|
|Name|Tags|Description|
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
|`$inline`|`a`, `abbr`, `b`, `bdi`, `bdo`, `cite`, `code`, `data`, `dfn`, `em`, `i`, `kbd`, `mark`, `q`, `rt`, `rtc`, `ruby`, `s`, `samp`, `small`, `span`, `strong`, `sub`, `sup`, `time`, `u`, `var`, `wbr`|Inline text semantics (see https://developer.mozilla.org/en-US/docs/Web/HTML/Element#Inline_text_semantics).
|
|`$wss`|`pre`, `code`|Whitespace sensitive.|
|
||||||
|
|`$content`|`p`, `h1`, `h2`, `h3`, `h4`, `h5`, `h6`|Content tags.|
|
||||||
|
|`$formatting`|`a`, `abbr`, `b`, `bdi`, `bdo`, `cite`, `code`, `data`, `dfn`, `em`, `i`, `kbd`, `mark`, `q`, `rt`, `rtc`, `ruby`, `s`, `samp`, `small`, `span`, `strong`, `sub`, `sup`, `time`, `u`, `var`, `wbr`|Inline text semantics (see https://developer.mozilla.org/en-US/docs/Web/HTML/Element#Inline_text_semantics).|
|
||||||
|
|
||||||
#### `--collapseWhitespaceEx pre,code`
|
#### `--collapseWhitespaceEx $wss`
|
||||||
|
|
||||||
Reduce a sequence of whitespace characters in text nodes to a single space (U+0020), unless they are a child of the tags specified by this option.
|
Reduce a sequence of whitespace characters in text nodes to a single space (U+0020), unless they are a child of the tags specified by this option.
|
||||||
|
|
||||||
|
@ -188,7 +262,7 @@ Reduce a sequence of whitespace characters in text nodes to a single space (U+00
|
||||||
|
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
#### `--destroyWholeWhitespaceEx pre,code,p,$inline`
|
#### `--destroyWholeWhitespaceEx $wss,$content,$formatting`
|
||||||
|
|
||||||
Remove any text nodes that only consist of whitespace characters, unless they are a child of the tags specified by this option.
|
Remove any text nodes that only consist of whitespace characters, unless they are a child of the tags specified by this option.
|
||||||
|
|
||||||
|
@ -214,7 +288,7 @@ Especially useful when using `display: inline-block` so that whitespace between
|
||||||
|
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
#### `--trimWhitespaceEx pre,code`
|
#### `--trimWhitespaceEx $wss,$formatting`
|
||||||
|
|
||||||
Remove any whitespace from the start and end of a tag, if the first and/or last node is a text node, unless the tag is one of the tags specified by this option.
|
Remove any whitespace from the start and end of a tag, if the first and/or last node is a text node, unless the tag is one of the tags specified by this option.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue