defmodule Mse25Web.FeedView do
use Mse25Web, :html
def rss(items, _host) do
~s"""
madr.se
The online home of Anders Englöf Ytterström, a metalhead and musician living and working in Borlänge, Sweden.
sv
https://madr.se/
yttan@fastmail.se (Anders Englöf Ytterström)
yttan@fastmail.se (Anders Englöf Ytterström)
#{Enum.map(items, &rss_item/1)}
"""
end
def calendar(upcoming) do
~s"""
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//https://madr.se//kommande-evenemang
METHOD:PUBLISH
#{upcoming |> Enum.map(fn %{title: title, starts_at: starts_at, ends_at: ends_at, longitude: longitude, latitude: latitude, lead: lead, venue: venue, region: region} -> ~s"""
BEGIN:VEVENT
UID:#{title}.#{starts_at}@madr.se
DTSTAMP:#{starts_at}T000000
DTSTART;VALUE=DATE:#{starts_at}
DTEND;VALUE=DATE:#{ends_at}
SUMMARY:#{title}
DESCRIPTION:#{lead}
LOCATION:#{venue}\, #{region}
GEO:#{latitude};#{longitude}
END:VEVENT
""" end) |> Enum.join("")}END:VCALENDAR
"""
end
def event_map(markers) do
~s"""
(function(g, document) {
"use strict";
const mapData = [
#{markers |> Enum.map(fn %{date: date, latitude: latitude, longitude: longitude, title: title, region: region, venue: venue} -> ~s"""
{
location: [#{longitude}, #{latitude}],
title: "#{title}",
date: "#{date}",
region: "#{region}",
venue: "#{venue}"
}
""" end) |> Enum.join(",")}
]
// insert Leaflet styles () to
and