hyperbuild 0.0.36 → 0.0.41

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2655af7a79f7c375572ecf5cf90d4283a5196c1fa211a01e58c7ca81c3f147f8
4
- data.tar.gz: 2ecf6b76878a858a306adee6ba5ae7e77b84d2a69a31a692ce58e8810b862709
3
+ metadata.gz: 9141e093255957cfcf9860b3ae0d00117da370b124d35ed941dbd8c045edcab5
4
+ data.tar.gz: 0b43e3419d2ccd163f6dadf931427e67ea9489303df4534faff910faa297b10c
5
5
  SHA512:
6
- metadata.gz: 86ab0c1d7769d252a2cf58841f19540194253e9bac550bbe36f1909e3197b70e8856d4e082ddb01cdaab44ec57f5754051bae1b04a853b8e0426ce5df5b57f7f
7
- data.tar.gz: 6327cabea235f6091d199cd75ce874026e3e78b15d7ee128051dc0af1ed8685cb3b9e9dfdb5d669c7d9b37b3142a2e1e48e7033c897c4035d38cb5ef25599f48
6
+ metadata.gz: e4ba28a7036211abc22a7a00c8b9f786335dc495e9dbf818065fc6dff958a472a3cb040f2250e138407fbb6441462ec3abddd94b0c530cf3988dd443aabdb37e
7
+ data.tar.gz: bb44f45b2b1ae48a482ede0962f2b11605f41e35c5446f2fc6fa499dd7f1118c547e13e2388fd928e257844a5b29a853af3493d5e102784915c777e86bc02b54
data/README.md CHANGED
@@ -17,17 +17,19 @@ Available as:
17
17
 
18
18
  Speed and effectiveness of Node.js version compared to [html-minfier](https://github.com/kangax/html-minifier) and [minimize](https://github.com/Swaagie/minimize). See [bench](./bench) folder for more details.
19
19
 
20
- <img width="435" alt="Chart showing speed of HTML minifiers" src="./bench/results/average-speeds.png"> <img width="435" alt="Chart showing effectiveness of HTML minifiers" src="./bench/results/average-sizes.png">
20
+ <img width="435" alt="Chart showing speed of HTML minifiers" src="https://wilsonl.in/hyperbuild/bench/0.0.41/average-speeds.png"> <img width="435" alt="Chart showing effectiveness of HTML minifiers" src="https://wilsonl.in/hyperbuild/bench/0.0.41/average-sizes.png">
21
21
 
22
22
  ## Usage
23
23
 
24
24
  ### CLI
25
25
 
26
+ Precompiled binaries are available for x86-64 Windows, macOS, and Linux. To compile and install from source, run `cargo install hyperbuild`, which requires [Rust](https://www.rust-lang.org/tools/install).
27
+
26
28
  ##### Get
27
29
 
28
- [Windows](https://wilsonl.in/hyperbuild/bin/0.0.36-windows-x86_64.exe) |
29
- [macOS](https://wilsonl.in/hyperbuild/bin/0.0.36-macos-x86_64) |
30
- [Linux](https://wilsonl.in/hyperbuild/bin/0.0.36-linux-x86_64)
30
+ [Windows](https://wilsonl.in/hyperbuild/bin/0.0.41-windows-x86_64.exe) |
31
+ [macOS](https://wilsonl.in/hyperbuild/bin/0.0.41-macos-x86_64) |
32
+ [Linux](https://wilsonl.in/hyperbuild/bin/0.0.41-linux-x86_64)
31
33
 
32
34
  ##### Use
33
35
 
@@ -44,7 +46,7 @@ hyperbuild --src /path/to/src.html --out /path/to/output.min.html
44
46
 
45
47
  ```toml
46
48
  [dependencies]
47
- hyperbuild = "0.0.36"
49
+ hyperbuild = "0.0.41"
48
50
  ```
49
51
 
50
52
  ##### Use
@@ -105,7 +107,7 @@ Add as a Maven dependency:
105
107
  <dependency>
106
108
  <groupId>in.wilsonl.hyperbuild</groupId>
107
109
  <artifactId>hyperbuild</artifactId>
108
- <version>0.0.36</version>
110
+ <version>0.0.41</version>
109
111
  </dependency>
110
112
  ```
111
113
 
@@ -365,10 +367,10 @@ Any entities in attribute values are decoded, and then the shortest representati
365
367
  - Single quoted, with any `'` encoded.
366
368
  - Unquoted, with `"`/`'` first character (if applicable), `>` last character (if applicable), and any whitespace encoded.
367
369
 
368
- `class` attributes have their whitespace (after any decoding) trimmed and collapsed.
370
+ `class` and `d` attributes have their whitespace (after any decoding) trimmed and collapsed.
369
371
 
370
372
  [Boolean attribute](./gen/attrs.json) values are removed.
371
- [Some attributes](./gen/attrs.json) are completely removed if their value is empty or the default value after any processing.
373
+ [Some other attributes](./gen/attrs.json) are completely removed if their value is empty or the default value after any processing.
372
374
 
373
375
  `type` attributes on `script` tags with a value equaling a [JavaScript MIME type](https://mimesniff.spec.whatwg.org/#javascript-mime-type) are removed.
374
376
 
@@ -380,10 +382,12 @@ Spaces are removed between attributes if possible.
380
382
 
381
383
  Entities are decoded if valid (see relevant parsing section) and their decoded characters as UTF-8 is shorter or equal in length.
382
384
 
383
- Numeric entities that do not refer to a valid Unicode Scalar Value are decoded to U+FFFD REPLACEMENT CHARACTER.
385
+ Numeric entities that do not refer to a valid [Unicode Scalar Value](https://www.unicode.org/glossary/#unicode_scalar_value) are replaced with the [replacement character](https://en.wikipedia.org/wiki/Specials_(Unicode_block)#Replacement_character).
384
386
 
385
387
  If an entity is unintentionally formed after decoding, the leading ampersand is encoded, e.g. `&&#97;&#109;&#112;;` becomes `&ampamp;`. This is done as `&amp` is equal to or shorter than all other entity representations of characters part of an entity (`[&#a-zA-Z0-9;]`), and there is no other conflicting entity name that starts with `amp`.
386
388
 
389
+ Right chevrons after any decoding in text are encoded to `&GT` if possible or `&GT;` otherwise.
390
+
387
391
  ### Comments
388
392
 
389
393
  Comments are removed.
@@ -400,7 +404,7 @@ hyperbuild simply does HTML minification, and almost does no syntax checking or
400
404
 
401
405
  For example, this means that it's not an error to have self-closing tags, declare multiple `<body>` elements, use incorrect attribute names and values, or write something like `<br>alert('');</br>`
402
406
 
403
- However, there are some syntax requirements for speed and sanity reasons.
407
+ However, there are some syntax requirements for speed and sanity.
404
408
 
405
409
  ### Tags
406
410
 
@@ -425,7 +429,7 @@ Numeric character references that do not reference a valid [Unicode Scalar Value
425
429
  Backticks (`` ` ``) are not valid quote marks and not interpreted as such.
426
430
  However, backticks are valid attribute value quotes in Internet Explorer.
427
431
 
428
- Special handling of some attributes require case sensitive names and values. For example, `CLASS` won't be recognised as an attribute to minify, and `type="Text/JavaScript"` on a `<script>` will cause the element to be parsed as a [data block](https://html.spec.whatwg.org/dev/scripting.html#data-block) instead of JavaScript code.
432
+ Special handling of some attributes require case sensitive names and values. For example, `CLASS` won't be recognised as an attribute to minify, and `type="Text/JavaScript"` on a `<script>` will not be removed.
429
433
 
430
434
  ### Script and style
431
435
 
@@ -435,6 +439,6 @@ hyperbuild does **not** handle [escaped and double-escaped](./notes/Script%20dat
435
439
 
436
440
  ## Issues and contributions
437
441
 
438
- Contributions welcome!
442
+ Pull requests and any contributions welcome!
439
443
 
440
- If hyperbuild did something unexpected, such as misunderstood some syntax, or incorrectly did/didn't do some minification, [raise an issue](https://github.com/wilsonzlin/hyperbuild/issues) with some relevant code that causes the issue.
444
+ If hyperbuild did something unexpected, misunderstood some syntax, or incorrectly kept/removed some code, [raise an issue](https://github.com/wilsonzlin/hyperbuild/issues) with some relevant code that can be used to reproduce and investigate the issue.
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hyperbuild
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.36
4
+ version: 0.0.41
5
5
  platform: ruby
6
6
  authors:
7
7
  - Wilson Lin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-01-20 00:00:00.000000000 Z
11
+ date: 2020-01-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fiddle