add make test and Remove vue-cli serve
This commit is contained in:
@@ -5,15 +5,6 @@ defimpl Mobilizon.Service.Metadata, for: Mobilizon.Events.Event do
|
||||
alias MobilizonWeb.JsonLD.ObjectView
|
||||
|
||||
def build_tags(%Event{} = event) do
|
||||
event
|
||||
|> do_build_tags()
|
||||
|> Enum.map(&HTML.safe_to_string/1)
|
||||
|> Enum.reduce("", fn tag, acc -> acc <> tag end)
|
||||
|> Kernel.<>(build_json_ld_schema(event))
|
||||
end
|
||||
|
||||
# Build OpenGraph & Twitter Tags
|
||||
defp do_build_tags(%Event{} = event) do
|
||||
[
|
||||
Tag.tag(:meta, property: "og:title", content: event.title),
|
||||
Tag.tag(:meta, property: "og:url", content: event.url),
|
||||
@@ -21,14 +12,15 @@ defimpl Mobilizon.Service.Metadata, for: Mobilizon.Events.Event do
|
||||
Tag.tag(:meta, property: "og:type", content: "website"),
|
||||
Tag.tag(:meta, property: "og:image", content: event.thumbnail),
|
||||
Tag.tag(:meta, property: "og:image", content: event.large_image),
|
||||
Tag.tag(:meta, property: "twitter:card", content: "summary_large_image")
|
||||
Tag.tag(:meta, property: "twitter:card", content: "summary_large_image"),
|
||||
~s{<script type="application/ld+json">#{json(event)}</script>} |> HTML.raw()
|
||||
]
|
||||
end
|
||||
|
||||
# Insert JSON-LD schema by hand because Tag.content_tag wants to escape it
|
||||
defp build_json_ld_schema(%Event{} = event) do
|
||||
"<script type=\"application\/ld+json\">" <>
|
||||
(ObjectView.render("event.json", %{event: event})
|
||||
|> Jason.encode!()) <> "</script>"
|
||||
defp json(%Event{} = event) do
|
||||
"event.json"
|
||||
|> ObjectView.render(%{event: event})
|
||||
|> Jason.encode!()
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user