|
|
|
@ -1055,45 +1055,19 @@ pub fn walk_and_embed_assets(
|
|
|
|
|
|
|
|
|
|
if let Some(source_attr_srcset_value) = get_node_attr(node, "srcset") {
|
|
|
|
|
if parent_node_name == "picture" {
|
|
|
|
|
if options.no_images {
|
|
|
|
|
set_node_attr(node, "srcset", Some(str!(empty_image!())));
|
|
|
|
|
} else {
|
|
|
|
|
let srcset_full_url =
|
|
|
|
|
resolve_url(&url, source_attr_srcset_value).unwrap_or_default();
|
|
|
|
|
let srcset_url_fragment = get_url_fragment(srcset_full_url.clone());
|
|
|
|
|
match retrieve_asset(
|
|
|
|
|
cache,
|
|
|
|
|
client,
|
|
|
|
|
&url,
|
|
|
|
|
&srcset_full_url,
|
|
|
|
|
options,
|
|
|
|
|
depth + 1,
|
|
|
|
|
) {
|
|
|
|
|
Ok((srcset_data, srcset_final_url, srcset_media_type)) => {
|
|
|
|
|
let srcset_data_url = data_to_data_url(
|
|
|
|
|
&srcset_media_type,
|
|
|
|
|
&srcset_data,
|
|
|
|
|
&srcset_final_url,
|
|
|
|
|
);
|
|
|
|
|
let assembled_url: String = url_with_fragment(
|
|
|
|
|
srcset_data_url.as_str(),
|
|
|
|
|
srcset_url_fragment.as_str(),
|
|
|
|
|
);
|
|
|
|
|
set_node_attr(node, "srcset", Some(assembled_url));
|
|
|
|
|
}
|
|
|
|
|
Err(_) => {
|
|
|
|
|
if is_http_url(srcset_full_url.clone()) {
|
|
|
|
|
// Keep remote reference if unable to retrieve the asset
|
|
|
|
|
let assembled_url: String = url_with_fragment(
|
|
|
|
|
srcset_full_url.as_str(),
|
|
|
|
|
srcset_url_fragment.as_str(),
|
|
|
|
|
);
|
|
|
|
|
set_node_attr(node, "srcset", Some(assembled_url));
|
|
|
|
|
} else {
|
|
|
|
|
// Exclude non-remote URLs
|
|
|
|
|
set_node_attr(node, "srcset", None);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if !source_attr_srcset_value.is_empty() {
|
|
|
|
|
if options.no_images {
|
|
|
|
|
set_node_attr(node, "srcset", Some(str!(empty_image!())));
|
|
|
|
|
} else {
|
|
|
|
|
let resolved_srcset: String = embed_srcset(
|
|
|
|
|
cache,
|
|
|
|
|
client,
|
|
|
|
|
&url,
|
|
|
|
|
&source_attr_srcset_value,
|
|
|
|
|
options,
|
|
|
|
|
depth,
|
|
|
|
|
);
|
|
|
|
|
set_node_attr(node, "srcset", Some(resolved_srcset));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|