Add tidy_raw() helper

This commit is contained in:
Thelonius Kort
2023-02-14 20:52:10 +01:00
parent b0267ef752
commit 66a61c8380
6 changed files with 21 additions and 5 deletions

View File

@ -86,11 +86,15 @@ defmodule OutlookWeb do
import Phoenix.HTML
# Core UI components and translation
import OutlookWeb.CoreComponents
# custom components and module
import OutlookWeb.HtmlTreeComponent
import OutlookWeb.HtmlDocComponent
import OutlookWeb.TunitEditorComponent
import OutlookWeb.PublicComponents
import OutlookWeb.DarkModeComponent
import OutlookWeb.ViewHelpers
import OutlookWeb.Gettext
# Shortcut for generating JS commands

View File

@ -20,7 +20,7 @@ defmodule OutlookWeb.PublicComponents do
<a href={"/autoren/#{@autor.id}"}>
<div class="p-4 my-2 border rounded-lg border-stone-400 text-stone-800 dark:text-stone-300 ">
<div class="font-bold"><%= @autor.name %></div>
<div class=""><%= @autor.description %></div>
<div class=""><%= @autor.description |> tidy_raw %></div>
</div>
</a>
"""
@ -36,7 +36,7 @@ defmodule OutlookWeb.PublicComponents do
<h4 class="font-bold text-stone-800 dark:text-stone-300 py-2"><%= @artikel.title %></h4>
<div :if={@show_author}><small><%= @artikel.article.author.name %></small></div>
<div><small><%= @artikel.date |> Calendar.strftime("%d.%m.%Y") %></small></div>
<div><%= @artikel.teaser |> raw %></div>
<div><%= @artikel.teaser |> tidy_raw %></div>
</div>
</.link>
"""

View File

@ -19,7 +19,7 @@
<.table id="translations" rows={@article.translations} row_click={&JS.navigate(~p"/translations/#{(&1).id}")}>
<:col :let={translation} label="Language"><%= translation.language %></:col>
<:col :let={translation} label="Title"><%= translation.title %></:col>
<:col :let={translation} label="Teaser"><%= translation.teaser %></:col>
<:col :let={translation} label="Teaser"><%= translation.teaser |> tidy_raw %></:col>
<:col :let={translation} label="Date"><%= translation.date %></:col>
<:col :let={translation} label="Public"><%= translation.public %></:col>
<:action :let={translation}>

View File

@ -9,7 +9,7 @@
<.table id="authors" rows={@authors} row_click={&JS.navigate(~p"/authors/#{&1}")}>
<:col :let={author} label="Name"><%= author.name %></:col>
<:col :let={author} label="Description"><%= author.description %></:col>
<:col :let={author} label="Description"><%= author.description |> tidy_raw %></:col>
<:col :let={author} label="Homepage name"><%= author.homepage_name %></:col>
<:col :let={author} label="Homepage url"><%= author.homepage_url %></:col>
<:action :let={author}>

View File

@ -5,7 +5,7 @@
<.table id="translations" rows={@translations} row_click={&JS.navigate(~p(/translations/#{(&1).id}))}>
<:col :let={translation} label="Language"><%= translation.language %></:col>
<:col :let={translation} label="Title"><%= translation.title %></:col>
<:col :let={translation} label="Teaser"><%= translation.teaser %></:col>
<:col :let={translation} label="Teaser"><%= translation.teaser |> tidy_raw %></:col>
<%!-- <:col :let={translation} label="Content"><%= translation.content %></:col> --%>
<:col :let={translation} label="Date"><%= translation.date %></:col>
<:col :let={translation} label="Public"><%= translation.public %></:col>

View File

@ -0,0 +1,12 @@
defmodule OutlookWeb.ViewHelpers do
import Phoenix.HTML, only: [raw: 1]
@doc "Just sanitize tags"
def tidy_raw(html) do
html
|> Floki.parse_fragment!()
|> Floki.raw_html()
|> raw
end
end