add make test and Remove vue-cli serve
This commit is contained in:
@@ -1,17 +1,8 @@
|
||||
defimpl Mobilizon.Service.Metadata, for: Mobilizon.Actors.Actor do
|
||||
alias Phoenix.HTML
|
||||
alias Phoenix.HTML.Tag
|
||||
alias Mobilizon.Actors.Actor
|
||||
require Logger
|
||||
|
||||
def build_tags(%Actor{} = actor) do
|
||||
actor
|
||||
|> do_build_tags()
|
||||
|> Enum.map(&HTML.safe_to_string/1)
|
||||
|> Enum.reduce("", fn tag, acc -> acc <> tag end)
|
||||
end
|
||||
|
||||
defp do_build_tags(%Actor{} = actor) do
|
||||
[
|
||||
Tag.tag(:meta, property: "og:title", content: Actor.display_name_and_username(actor)),
|
||||
Tag.tag(:meta, property: "og:url", content: actor.url),
|
||||
|
||||
@@ -4,13 +4,6 @@ defimpl Mobilizon.Service.Metadata, for: Mobilizon.Events.Comment do
|
||||
alias Mobilizon.Events.Comment
|
||||
|
||||
def build_tags(%Comment{} = comment) do
|
||||
comment
|
||||
|> do_build_tags()
|
||||
|> Enum.map(&HTML.safe_to_string/1)
|
||||
|> Enum.reduce("", fn tag, acc -> acc <> tag end)
|
||||
end
|
||||
|
||||
defp do_build_tags(%Comment{} = comment) do
|
||||
[
|
||||
Tag.tag(:meta, property: "og:title", content: comment.actor.preferred_username),
|
||||
Tag.tag(:meta, property: "og:url", content: comment.url),
|
||||
|
||||
@@ -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