# Fiết
An extendable feeds parser in Elixir.
## Installation
```elixir
def deps do
[{:fiet, "~> 0.1.0"}]
end
```
## Overview
Full documentation can be found on [HexDocs](https://hexdocs.pm/fiet).
### RSS 2.0
If the feed you are parsing complies with [RSS 2.0](http://cyber.harvard.edu/rss/rss.html), a standard parser can be implemented with:
```elixir
defmodule StandardParser do
use Fiet.RSS2
end
iex> NormalParser.parse(rss)
{:ok,
%Fiet.RSS2{
channel: %Fiet.RSS2.Channel{
category: nil,
cloud: nil,
copyright: nil,
description: "Liftoff to Space Exploration.",
docs: "http://blogs.law.harvard.edu/tech/rss",
extras: %{},
generator: "Weblog Editor 2.0",
image: nil,
language: "en-us",
last_build_date: "Tue, 10 Jun 2003 09:41:01 GMT",
link: "http://liftoff.msfc.nasa.gov/",
managing_editor: "editor@example.com",
pub_date: "Tue, 10 Jun 2003 04:00:00 GMT",
rating: nil,
skip_days: nil,
skip_hours: nil,
text_input: nil,
title: "Liftoff News",
ttl: nil,
web_master: "webmaster@example.com"
items: [
%Fiet.RSS2.Item{
author: nil,
category: nil,
comments: nil,
description: "How do Americans get ready to work with Russians aboard the International Space Station? They take a crash course in culture, language and protocol at Russia's <a href=\"http://howe.iki.rssi.ru/GCTC/gctc_e.htm\">Star City</a>.",
enclosure: nil,
extras: %{},
guid: "http://liftoff.msfc.nasa.gov/2003/06/03.html#item573",
link: "http://liftoff.msfc.nasa.gov/news/2003/news-starcity.asp",
pub_date: "Tue, 03 Jun 2003 09:39:21 GMT",
source: nil,
title: "Star City"
},
...
]
}
}
```
Fiet also supports parsing non-standard tags in the feed with `:extras` option.
```elixir
defmodule OutstandingFeed do
use Fiet.RSS2, extras: [
channel: [{"atom:link", "atom:link"}],
item: [{"content:encoded", "encoded_content"}]
]
end
```
## Why is it called "Fiết"?
First of all, all the good names are taken.
"Fiết", an hybrid Vietnamese word which is pronounced as "Feed".
## Contributing
1. Fork it.
2. Write code and related tests.
3. Send a pull request.