README.md
Diane [![Build Status](https://travis-ci.org/ptrckbrwn/diane.svg)](https://travis-ci.org/ptrckbrwn/diane)
=====
RSS/Atom parser for Elixir.
:warning: Atom feed parsing is *not* functional at this time. :warning:
## Installation
Add `{:diane, "~> 0.0.1"}` to your `mix.exs` deps.
## Use
```elixir
raw_xml = "..." # Feed in raw string form.
{:ok, feed} = Diane.parse(raw_xml)
channel = feed.channels |> List.first
channel.title
# xkcd.com
channel.description
# xkcd.com: A webcomic of romance and math humor.
channel.items |> Enum.map(fn(item) -> item.title end)
# ['Keyboard Mash', 'Vodka', ...]
```
## TODO
- [x] RSS 2.0 feed parsing
- [ ] RSS 1.x feed parsing
- [ ] Atom feed parsing
- [x] Logic to determine what kind of feed to parse.
## Goals
1. 100% Elixir RSS/Atom parser.
2. Super fast.
3. Adhere to RSS/Atom specs.
1. [RSS Spec](http://cyber.law.harvard.edu/rss/rss.html)
2. [Atom Spec](https://tools.ietf.org/html/rfc4287)