defmodule JOLWeb.Feeds do use Phoenix.VerifiedRoutes, endpoint: JOLWeb.Endpoint, router: JOLWeb.Router alias Atomex.{Feed, Entry} def build_feed(posts) do Feed.new(url(~p"/"), DateTime.utc_now, "Jessica Online") |> Feed.author("Jessica Phoenix Canady", email: "jess@canady.tech") |> Feed.link(url(~p"/feed.xml"), rel: "self") |> Feed.entries(Enum.map(posts, &build_entry/1)) |> Feed.build() |> Atomex.generate_document() end defp build_entry(post) do Entry.new(url(~p"/blog/#{post.slug}"), post.date, post.title) |> Entry.author(post.author, uri: url(~p"/")) |> Entry.content(post.body, type: "html") |> Entry.build() end end