web-archive

Crates.ioweb-archive
lib.rsweb-archive
version0.2.0
sourcesrc
created_at2021-01-31 12:10:55.094302
updated_at2021-02-02 14:53:45.702482
descriptionDownload image, script, and CSS resources and embed them into a webpage
homepage
repositoryhttps://github.com/sciguy16/web-archive
max_upload_size
id348845
size50,824
David Young (sciguy16)

documentation

README

web-archive

Build crates.io Docs

Library for archiving a web page along with its linked resources (images, css, js) for local use.

Example

web-archive = "0.2.0"
use web_archive::{archive, blocking};

// Build a collection of linked resources attached to the page

// async API
let archive = archive("http://example.com", Default::default()).await.unwrap();

// blocking API
let archive = blocking::archive("http://example.com", Default::default()).unwrap();


// Embed the resources into the HTML
let page = archive.embed_resources();

println!("{}", page);

Testing

The main library contains unit tests for the parsing functionality, and dynamic tests against a local webserver are in the dynamic_tests directory. The dynamic tests are built with Rocket which requires Nightly Rust, however the main library builds on Stable.

cargo test
cd dynamic_tests && cargo run

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Commit count: 31

cargo fmt