Commit Graph

56 Commits

Author SHA1 Message Date
Wilson Lin 1d9a930fb6 Do not consider empty `href` attributes as redundant 2023-01-31 15:12:57 +11:00
Wilson Lin 5989c06e58 Use FxHasher for internal hash-based data structures 2023-01-05 11:48:03 +11:00
Wilson Lin a38b0ac078 Bump html-data 2022-03-28 09:50:57 +11:00
Wilson Lin e93188f9b7 Do not remove empty alt tag 2021-12-14 12:49:29 +11:00
Wilson Lin c8973d4eac Intrepret `type=module` on <script> as a JS type 2021-10-23 13:27:48 +11:00
Wilson Lin b0bba546ce Formatting 2021-08-10 16:33:20 +10:00
Wilson Lin f304baed0f Improve attr min 2021-08-10 16:07:38 +10:00
Wilson Lin 19abe390d4 Formatting 2021-08-09 19:56:37 +10:00
Wilson Lin 91bdcc3e44 Use symlink to common submodule as using a filesystem dep prevents publishing 2021-08-09 17:46:01 +10:00
Wilson Lin 4fc9496829 Fix references in onepass 2021-08-08 19:00:51 +10:00
Wilson Lin 82d287d9c4 Restructure Rust project 2021-08-08 17:40:42 +10:00
Wilson Lin 315ed269a7 Fix style attr minification 2021-08-08 00:56:24 +10:00
Wilson Lin db7ae23404 More clippy suggestions 2021-08-06 23:23:05 +10:00
Wilson Lin b0c574dbd7 Fix tag omission minification; implement entity reencoding minification 2021-08-06 22:53:33 +10:00
Wilson Lin 5433c3041a Implement attr minification; various parser and minifier fixes 2021-08-06 21:56:54 +10:00
Wilson Lin c1c0b61317 Delete legacy DFA code 2021-08-06 21:08:33 +10:00
Wilson Lin e52d85bc28 Reformatting 2021-08-06 21:07:58 +10:00
Wilson Lin 74b4ab689e Various parsing fixes 2021-08-06 20:16:30 +10:00
Wilson Lin 383b2b3423 Implement whitespace minification 2021-08-06 17:33:56 +10:00
Wilson Lin 0a85ebe34b Decode entities 2021-08-06 13:36:07 +10:00
Wilson Lin 88d288b0cb Implement parser; remove legacy code 2021-08-06 12:07:27 +10:00
Wilson Lin 080d4e0c96 Relax parsing of unquoted attr values to accept own minified output 2021-04-21 00:55:39 +10:00
Wilson Lin 034932988e Follow spec on decoding entities in attr values 2021-04-16 12:19:47 +10:00
Wilson Lin c0f8fa65a4 Build on latest macOS 2021-01-06 15:59:40 +11:00
Wilson Lin 2954f8f7b0 Extract html-data; consider x86_64 when loading Java lib; use B2 action 2020-11-13 22:15:51 +11:00
Wilson Lin a415045ae6 Fix hex numeric entity parsing 2020-08-24 21:48:58 +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 9ffb7b1d98 Add unit tests and fix various bugs 2020-07-10 20:40:33 +10:00
Wilson Lin 26b6c47d06 Use lookup tables for code points 2020-07-09 17:06:08 +10:00
Wilson Lin a35641445d Use much simpler read-time entity decoding; fix longest prefix matching; fix transparent nodes not being interpreted as such 2020-07-04 20:33:02 +10:00
Wilson Lin a519394c3a Use regex crate for substring searches 2020-07-03 20:37:52 +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 204dcb49f2 Remove DFA for now as it is currently unused 2020-06-19 18:43:45 +10:00
Wilson Lin 9605c34e66 Compact tries even more 2020-06-19 18:12:55 +10:00
Wilson Lin cefdc8fdd9 Wire up new generated code 2020-06-19 17:58:16 +10:00
Wilson Lin 99a13e3243 Precompute generated files instead of building them every compile 2020-06-19 17:16:23 +10:00
Wilson Lin aaf57a9c22 Improve performance through inlining and direct arrays 2020-01-31 23:15:35 +11:00
Wilson 6ec509945a Minify area[shape] attr; simplify NS code 2020-01-24 15:17:46 +13:00
Wilson 54b65bbd0c Minify SVG attributes; minor QoL improvements 2020-01-24 03:53:09 +13:00
Wilson Lin b4f8a041b2 Mention attr with default value removal in README; add <style> default attr values 2020-01-18 11:47:38 +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 4eeb70639a Rename classname attr; update bench results; mention decoding to U+FFFD 2020-01-15 22:57:47 +11:00
Wilson Lin 7dcd7442e8 Remove redundant attributes with empty values 2020-01-15 00:58:33 +11:00
Wilson Lin 20c59769fe Do not handle extremely rare escaped states in <script>; simplify graph to show single average 2020-01-12 17:39:23 +11:00
Wilson Lin e966f9a23b Remove unused code; handle escaped and double-escaped script data; allow using buffer instead of string source for bench; enforce matching tags 2020-01-10 18:30:49 +11:00
Wilson Lin 8553b09eb3 Fix handling of <script> and <style>; do not minify JS and CSS code 2020-01-10 00:12:21 +11:00
Wilson Lin 204bd950a4 Improve handling of JS 2020-01-09 00:42:03 +11:00
Wilson Lin da830939d7 Handle processing instructions 2020-01-08 23:00:23 +11:00
Wilson Lin 3744e13a4d Attempt to handle RegExp literals in JS 2020-01-08 22:19:16 +11:00
Wilson Lin bb42be10c8 Update bench tests 2020-01-08 12:35:39 +11:00
Wilson Lin a9bb4c924f Minify JS/CSS comments; faster removal of boolean attr values; sorted generated JSON objects 2020-01-08 11:40:06 +11:00
Wilson Lin 9a9b543b26 Remove boolean attribute values 2020-01-08 00:38:42 +11:00
Wilson Lin 74e6352900 Use faster manual matching for content 2020-01-05 13:28:34 +11:00
Wilson Lin 6939ec17a2 Improve pattern matching 2020-01-02 14:14:40 +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