Commit Graph

122 Commits

Author SHA1 Message Date
Sunshine a19aa37ea8
Merge pull request #145 from snshn/no-images-svg
Empty SVG nodes when excluding images
2020-04-04 15:55:26 -04:00
Sunshine 791e44796e
resolve hrefs of <area> image-map tags 2020-04-04 14:55:45 -04:00
Sunshine b88479446c
implement unit tests for macros 2020-04-04 08:21:41 -04:00
Sunshine 1d6217ef5a
empty SVG nodes if --no-images 2020-04-03 21:56:46 -04:00
Sunshine 29836d979a
add support for image inputs 2020-04-03 03:30:52 -04:00
Sunshine 643c4ce7ef
implement improvements suggested by @robatipoor 2020-04-03 00:00:08 -04:00
Sunshine 875481b9a2
update help dialog 2020-04-02 03:04:21 -04:00
Sunshine 4951fea730
implement full CSS parsing 2020-04-02 01:09:32 -04:00
Sunshine be25784297
improve SVG media type detection 2020-03-24 08:50:39 -04:00
Sunshine 479c42e1ce
improve test code structure 2020-03-22 22:08:41 -04:00
Sunshine 933379c798
ensure consistent naming across all tests 2020-03-22 19:03:33 -04:00
Sunshine 59a8be493d
add support for working with local assets 2020-03-22 15:48:23 -04:00
Sunshine d5ee8ae6ab
account for legacy BODY background="" attribute 2020-03-05 04:56:09 -05:00
Sunshine 7654eec7e2
treat frames the same way as iframes 2020-02-24 20:18:13 -05:00
Sunshine 0d1e21e9ad
add black box tests 2020-02-23 22:48:14 -05:00
Sunshine 3d2d40e7cd
add support for data URL targets 2020-02-23 22:25:37 -05:00
Sunshine b8b6d8cff6
fix "succeeding" to "passing" in tests 2020-02-23 22:24:33 -05:00
Sunshine 928664dc88
correct is_valid_url to is_http_url 2020-02-23 22:24:33 -05:00
Sunshine 5c8d75539b
rename dataurl to data_url 2020-02-23 22:24:32 -05:00
Sunshine d9602e25eb
update help dialog and README.md 2020-02-15 01:33:20 -05:00
Sunshine f720fe0176
Merge pull request #114 from snshn/custom-network-timeout-option
Add option for custom network request timeout
2020-02-10 21:13:17 -05:00
Sunshine 727a5a410c
add option for custom network request timeout 2020-02-10 20:08:06 -05:00
Sunshine 5ef2b7c9dc
nullify JS within As' href attributes when needed 2020-02-03 01:47:35 -05:00
rhysd 0e12cecd85 Revert "Merge pull request #106 from rhysd/proxy-support"
This reverts commit d8def879b2, reversing
changes made to a9d114d04d.
2020-01-21 13:01:22 +09:00
rhysd d47482fcd9 fix crash at setting empty values to HTTP proxies
with this patch `https_proxy=` and `http_proxy=` will work well.
2020-01-20 17:17:24 +09:00
rhysd b68624f2f3 support HTTP and HTTPS proxies (fix #103) 2020-01-20 17:02:43 +09:00
Sunshine a9d114d04d
Merge pull request #105 from rhysd/refactor-main
Refactoring for main.rs to address several issues
2020-01-20 01:10:29 -05:00
rhysd 4e4ebe9c98 refactor main to address several issues
Addressed issues:

- when specified URL is invalid, it exited successfully with doing
  nothing. There was no way why it does not work for users
- it exited successfully even if invalid User-Agent value is specified
- it created file twice on `--output` option specified. It may cause an
  issue when some file watcher (e.g. FsEvents on macOS) is watching

Improvements:
- handle errors with `Result::expect` consistently it correctly exits
  with non-zero status on error
- define `Output` enum for handling both stdout and file outputs
2020-01-15 16:52:20 +09:00
rhysd 1779f4a374 better comments for JS_DOM_EVENT_ATTRS constant 2020-01-15 14:33:27 +09:00
rhysd 26e89ae6d3 use complete list of DOM event handlers 2020-01-15 13:58:09 +09:00
rhysd 69d99b69e8 remove . in line comment 2020-01-13 23:47:07 +09:00
rhysd 67b79e92f9 simplify &x.into_iter() to x.iter() 2020-01-10 14:45:02 +09:00
rhysd b51f41fe34 trim attribute values 2020-01-10 14:41:05 +09:00
rhysd 6f158dc6db compare value of 'rel' properties in case-insensitive 2020-01-10 13:52:31 +09:00
rhysd 8d7052b39c ignore preload and prefetch sources
since all resources are embedded as data URL.
2020-01-09 18:18:21 +09:00
rhysd 660511b8a0 define link type of <link> element as enum and prefer match statement
since match statement checks exhaustiveness
2020-01-09 16:55:42 +09:00
rhysd 6e99ad13e7 upgrade reqwest to v0.10.0
This will improve build time and binary size as follows:

* Before

- **Compile targets**: 220
- **Build time**: `cargo build --release  1264.95s user 39.72s system 335% cpu 6:29.14 total`
- **Binary size**: 6578568 bytes

* After

- **Compile targets**: 170
- **Build time**: `cargo build --release  1130.64s user 32.15s system 359% cpu 5:23.69 total`
- **Binary size**: 6107088 bytes

* Differences

- **Compile targets**: 1.29x smaller
- **Build time**: 1.23x faster
- **Binary size**: 1.07x smaller
2020-01-07 14:22:32 +09:00
Sunshine 413dd66886
Merge pull request #96 from rhysd/refactorings
Refactorings
2020-01-05 18:46:31 -05:00
rhysd dc7ec6e7a8 remove more redundant type annotations 2020-01-04 16:33:11 +09:00
rhysd ed879231af fix test code was broken by refactoring 2020-01-04 08:07:19 +09:00
rhysd ddf4b8ac13 prefer &str to String for reducing allocations 2020-01-04 08:05:02 +09:00
rhysd 84c13f0605 prefer unwrap_or_default to unwrap_or 2020-01-04 07:58:29 +09:00
rhysd ce03e0e487 reduce allocation on checking DOM attributes and do not hard-code number of elements of array constant
`to_lower` allocates new string but the allocation is not necessary
here.
2020-01-04 07:52:47 +09:00
rhysd 63e19998d0 reduce clones and fix some code styles and redundant code 2020-01-04 07:49:26 +09:00
rhysd 75fb6961ed migrate to Rust 2018 2020-01-03 00:33:49 +09:00
Sunshine 5ba8931502
Merge pull request #92 from snshn/output-file-option
Add option for saving output to file
2019-12-26 18:13:15 -05:00
Sunshine 88ffde0c3b wipe integrity attributes 2019-12-26 09:44:01 -05:00
Sunshine bfb97bd062 add option for saving output to file 2019-12-26 00:45:20 -05:00
Sunshine 295931041c
Merge pull request #80 from Alch-Emi/lazyload
Add support for lazy loaded images
2019-12-24 17:11:21 -05:00
Emi Simpson dab4ae6965
Merged Y2Z/master with Alch-Emi/lazyload 2019-12-24 10:07:56 -05:00