Commit Graph

27 Commits

Author SHA1 Message Date
Wilson Lin 88d288b0cb Implement parser; remove legacy code 2021-08-06 12:07:27 +10:00
Wilson Lin 85b1c6658c Treat <textarea> as whitespace-sensitive 2021-05-23 11:54:30 +10:00
Wilson Lin 55eab19bbe Do not minify any whitespace in any descendants of <pre> 2021-02-05 23:54:29 +11:00
Wilson Lin ed72690463 Allow omitted tags in source 2020-07-30 14:38:40 +10:00
Wilson Lin e5245acc31 Inline most functions; use aho-corasick for comments and instructions too 2020-07-27 18:08:53 +10:00
Wilson Lin 9f40000527 Omit closing tags for html, head, body 2020-07-24 19:05:29 +10:00
Wilson Lin 26b6c47d06 Use lookup tables for code points 2020-07-09 17:06:08 +10:00
Wilson Lin 3ca6ae3d8e Improve performance of char specs 2020-07-07 21:08:39 +10:00
Wilson Lin 2a010088fa Use lazy_static instead of phf due to phf incompatibility with latest Rust versions 2020-07-03 17:32:09 +10:00
Wilson Lin cefdc8fdd9 Wire up new generated code 2020-06-19 17:58:16 +10:00
Wilson Lin ee2d9e22cf Reformatting 2020-01-26 13:35:57 +13:00
Wilson Lin 24c1639a82 Remove unused errors; order imports 2020-01-25 20:07:52 +13:00
Wilson Lin b88e96e97e Significantly clarify code; handle whitespace minification and tag omission at root 2020-01-18 22:19:06 +11:00
Wilson Lin 27af2368ff Remove attrs with default values; create minified comparison script; remove `=` from boolean attrs; fix closing tag writing before collapsed whitespace; rebuild hyperbuild only in bench build script instead of all dependencies; conservatively collapse whitespace for html-minifier to match hyperbuild behaviour; update bench results 2020-01-18 11:42:01 +11:00
Wilson Lin ba5fbc68f7 Simplify and improve performance of whitespace minification strategy config 2020-01-17 19:27:34 +11:00
Wilson Lin 3c90daa644 Implement closing tag omission 2020-01-06 23:36:05 +11:00
Wilson Lin 6939ec17a2 Improve pattern matching 2020-01-02 14:14:40 +11:00
Wilson Lin 7349b15ab8 Reformatting 2019-12-29 21:53:49 +11:00
Wilson Lin 126c719d23 Merge entity code; simplify build IO 2019-12-29 21:51:25 +11:00
Wilson Lin 2149d20ae5 Generate patterns at compile time; update comment on entities; fix unused code 2019-12-29 21:39:29 +11:00
Wilson Lin 53904f1956 Build entities trie at compile time; support entities without semicolon 2019-12-29 21:00:20 +11:00
Wilson Lin 492eb64e4f Update README to describe whitespace minification; do not destroy whole whitespace in content-first elements 2019-12-28 17:15:23 +11:00
Wilson Lin 5f8da411b3 Clear out archive and unused tag names sets; update README with whitespace minification modes 2019-12-28 11:58:01 +11:00
Wilson Lin e15381c1cb Handle text script content 2019-12-27 21:52:49 +11:00
Wilson Lin a76c1f3cd5 Fix entity decoding in attribute value; enforce valid Unicode Scalar Value numeric entity refs; update named entities; error messages for CLI; support post-minification empty attributes 2019-12-27 00:23:33 +11:00
Wilson Lin 85a388d7c8 Develop basic CLI and get working 2019-12-25 23:29:18 +11:00
Wilson Lin d75d62883b Migrate mostly to Rust with significant optimisations and refactoring 2019-12-23 22:48:41 +11:00