defmodule Frenzy.OPML.Exporter do import XmlBuilder @spec export([Frenzy.Group.t()]) :: String.t() def export(groups) do element(:opml, %{version: "1.0"}, [ element(:head, %{}, [ element(:title, "Frenzy export") ]), element( :body, %{}, Enum.map(groups, fn group -> element( :outline, %{text: group.title, title: group.title}, Enum.map(group.feeds, fn feed -> element(:outline, %{ type: "rss", text: feed.title, title: feed.title, xmlUrl: feed.feed_url, htmlUrl: feed.site_url }) end) ) end) ) ]) |> generate() end end