# mercury-rs
[![CircleCI branch](https://img.shields.io/circleci/token/2a269417e742b12343eab366752dbb8d837cb1e8/project/github/postlight/mercury-rs/master.svg?style=flat-square)](https://circleci.com/gh/postlight/mercury-rs/tree/master)
The official Rust client for the [Mercury Parser](https://mercury.postlight.com/web-parser).
With just one API request, Mercury takes any web article and returns only the relevant content — headline, author, body text, relevant images and more — free from any clutter. It’s reliable, easy-to-use and free.
* [Documentation](https://docs.rs/mercury)
* [Homepage](https://mercury.postlight.com)
* [Examples](./examples)
## Installation
The examples in this document assume you already have a Mercury Parser API key. If you do not already have one, you can [sign up here](https://mercury.postlight.com/web-parser).
Add this to your `Cargo.toml`:
```toml
[dependencies]
futures = "0.1"
mercury = "0.1"
tokio-core = "0.1"
```
Add this to your `main.rs`:
```rust
extern crate futures;
extern crate mercury;
extern crate tokio_core;
```
## Usage
```rust
// Create a new event loop with tokio.
let mut core = Core::new()?;
// Load your API key from the environment.
let key = env::var("MERCURY_API_KEY")?;
// Pass a handle to the event loop and the API key to the Mercury constructor.
let client = Mercury::new(&core.handle(), key)?;
// The parse method returns a Future that will resolve to a parsed Article.
});
// Block the current thread until the future completes.
core.run(resp)?;
```
*Additional examples can be found [here](./examples).*
## License
Licensed under either of
* Apache License, Version 2.0
([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
* MIT license
([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)
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.