Preserve remote sources

pull/307/head
Stephen Temple 2 years ago
parent ef16355f9f
commit f6f065f299

@ -123,6 +123,7 @@ cat index.html | monolith -aIiFfcMv -b https://original.site/ - > result.html
- `-M`: Don't add timestamp and URL information
- `-n`: Extract contents of NOSCRIPT elements
- `-o`: Write output to `file` (use “-” for STDOUT)
- `-p`: Preserve remote sources
- `-s`: Be quiet
- `-t`: Adjust `network request timeout`
- `-u`: Provide custom `User-Agent`

@ -603,6 +603,12 @@ pub fn retrieve_and_embed_asset(
) {
let resolved_url: Url = resolve_url(document_url, attr_value.clone());
// Keep remote source references intact if requested
if options.preserve_remote && (resolved_url.host_str() != document_url.host_str()) {
set_node_attr(node, attr_name, Some(resolved_url.to_string()));
return;
}
match retrieve_asset(
cache,
client,

@ -16,6 +16,7 @@ pub struct Options {
pub insecure: bool,
pub no_metadata: bool,
pub output: String,
pub preserve_remote: bool,
pub silent: bool,
pub timeout: u64,
pub user_agent: Option<String>,
@ -64,6 +65,7 @@ impl Options {
.args_from_usage(
"-o, --output=[document.html] 'Writes output to <file>, use - for STDOUT'",
)
.args_from_usage("-p, --preserve-remote 'Preserve remote sources'")
.args_from_usage("-s, --silent 'Suppresses verbosity'")
.args_from_usage("-t, --timeout=[60] 'Adjusts network request timeout'")
.args_from_usage("-u, --user-agent=[Firefox] 'Sets custom User-Agent string'")
@ -100,6 +102,7 @@ impl Options {
options.insecure = app.is_present("insecure");
options.no_metadata = app.is_present("no-metadata");
options.output = app.value_of("output").unwrap_or("").to_string();
options.preserve_remote = app.is_present("preserve-remote");
options.silent = app.is_present("silent");
options.timeout = app
.value_of("timeout")

Loading…
Cancel
Save