How to Render RSS Feeds in Elixir Phoenix

From ElixirBlocks
Jump to: navigation, search

This is an example of how to capture and display an RSS feed in Phoenix.


This document assumes that you understand the basics of Liveview. This includes:


To use this example you must first install the Feedex RSS package.

Below is a LiveView example that uses the above package to render contents of an RSS feed to the browser.

The raw() method comes bundled with Elixir Phoenix and is used to sanitize HTML.

Example


defmodule AppWeb.PageLive do
  use AppWeb, :live_view

  def mount(_params, _sesion, socket) do
    {:ok, socket}
  end

  def render(assigns) do
    {:ok, feed} = Feedex.fetch_and_parse("https://podcastfeeds.nbcnews.com/RPWEjhKq")

    [head | tail] = feed.entries
    IO.inspect(head.content)

    ~H"""
    <%= raw(head.content) %>
    """
  end
end