feed-rs 2.4.0

A feed parser that handles Atom, RSS 2.0, RSS 1.0, RSS 0.x and JSON Feed
Documentation
# feed-rs

[![Build Status](https://travis-ci.org/feed-rs/feed-rs.svg?branch=master)](https://travis-ci.org/feed-rs/feed-rs.svg?branch=master)
[![Crates.io Status](https://img.shields.io/crates/v/feed-rs.svg)](https://crates.io/crates/feed-rs)

Library for parsing various forms of feeds such as Atom, RSS and JSON Feed.
It also supports extensions such as iTunes, Dublin Core and Media RSS and serialisation/deserialisation via serde.

[Documentation](https://docs.rs/feed-rs/)

## Usage

Add the dependency to your `Cargo.toml`.

```toml
[dependencies]
feed-rs = "2.4.0"
```

To automatically sanitize parsed HTML content, use the `sanitize` feature. Note
that fields with a media type of `text/plain` will not be sanitized, to avoid
potential data loss and should be sanitized by the consumer of the feed if
rendered as HTML.

```toml
[dependencies]
feed-rs = { version = "2.2.1", features = ["sanitize"] }
```

## Reading

A feed can be parsed from any object that implements the `Read` trait.

```rust
use feed_rs::parser;
let xml = r#"
<feed>
   <title type="text">sample feed</title>
   <updated>2005-07-31T12:29:29Z</updated>
   <id>feed1</id>
   <entry>
       <title>sample entry</title>
       <id>entry1</id>
   </entry>
</feed>
"#;
let feed = parser::parse(xml.as_bytes()).unwrap();
```

The parser will automatically detect XML vs. JSON so parsing JSON Feed content works the same way.

```rust
use feed_rs::parser;
let json = r#"
{
  "version": "https://jsonfeed.org/version/1",
  "title": "JSON Feed",
  "description": "JSON Feed is a pragmatic syndication format for blogs, microblog  s, and other time-based content.",
  "home_page_url": "https://jsonfeed.org/",
  "feed_url": "https://jsonfeed.org/feed.json",
  "author": {
    "name": "Brent Simmons and Manton Reece",
    "url": "https://jsonfeed.org/"
  },
  "items": [
    {
      "title": "Announcing JSON Feed",
      "date_published": "2017-05-17T08:02:12-07:00",
      "id": "https://jsonfeed.org/2017/05/17/announcing_json_feed",
      "url": "https://jsonfeed.org/2017/05/17/announcing_json_feed",
      "content_html": "<p>We — Manton Reece and Brent Simmons — have noticed that JSON...</p>"
    }
  ]
}"#;
let feed = parser::parse(json.as_bytes()).unwrap();
```

## License

MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)

## Contribution

Any contribution intentionally submitted for inclusion in the work by you, 
shall be licensed as above, without any additional terms or conditions.

## Original author

This crate was originally created by Hiroki Kumamoto. I would like to pay my respects to Kumamoto-san, and say thank you for allowing me to take over the crate and its ongoing maintenance.
ありがとう ございます!