Specific decoration for statuses on index page
This commit is contained in:
22
slices/main/decorators/statuses/decorator.rb
Normal file
22
slices/main/decorators/statuses/decorator.rb
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
# frozen_string_literal: false
|
||||||
|
|
||||||
|
# auto_register: false
|
||||||
|
|
||||||
|
require "rexml/parsers/pullparser"
|
||||||
|
require "sanitize"
|
||||||
|
require "nokogiri"
|
||||||
|
|
||||||
|
module Main
|
||||||
|
module Decorators
|
||||||
|
module Statuses
|
||||||
|
class Decorator < Main::Decorators::Posts::Decorator
|
||||||
|
def raw_content
|
||||||
|
Sanitize.fragment(content,
|
||||||
|
elements: ["img", "p"],
|
||||||
|
attributes: {"img" => ["alt", "src", "title"]}
|
||||||
|
)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
@@ -1,7 +1,7 @@
|
|||||||
div class="mb-8 h-entry border border-gray-200 m-2 p-4 bg-gray-50 hover:bg-gray-100 dark:border-slate-800 dark:bg-slate-900 dark:hover:bg-slate-950 hover:dark:border-slate-900 rounded"
|
div class="mb-8 h-entry border border-gray-200 m-2 p-4 bg-gray-50 hover:bg-gray-100 dark:border-slate-800 dark:bg-slate-900 dark:hover:bg-slate-950 hover:dark:border-slate-900 rounded"
|
||||||
a class="border-b-2 border-transparent hover:border-blue-600 hover:border-b-2" href="/post/#{post.slug}"
|
a class="border-b-2 border-transparent hover:border-blue-600 hover:border-b-2" href="/post/#{post.slug}"
|
||||||
div class="e-content prose-p:mb-0 prose-img:my-2 prose-a:text-blue-600 prose-a:no-underline hover:prose-a:underline p-name text-base prose prose-ul:list-none prose-ul:pl-0 prose-li:pl-0 text-gray-800 dark:text-gray-200 prose-a:dark:text-gray-100 mb-4 prose-img:rounded"
|
div class="e-content prose-p:mb-0 prose-img:my-2 prose-a:text-blue-600 prose-a:no-underline hover:prose-a:underline p-name text-base prose prose-ul:list-none prose-ul:pl-0 prose-li:pl-0 text-gray-800 dark:text-gray-200 prose-a:dark:text-gray-100 mb-4 prose-img:rounded"
|
||||||
== " 💬 #{post.content}"
|
== " 💬 #{post.raw_content}"
|
||||||
div class="grid gap-4 grid-flow-row grid-cols-4 grid-rows-1"
|
div class="grid gap-4 grid-flow-row grid-cols-4 grid-rows-1"
|
||||||
-post.photos.each do |photo|
|
-post.photos.each do |photo|
|
||||||
img class="w-32 h-32 object-cover rounded" src=photo["value"]
|
img class="w-32 h-32 object-cover rounded" src=photo["value"]
|
||||||
|
@@ -6,7 +6,7 @@ module Main
|
|||||||
|
|
||||||
expose :posts do
|
expose :posts do
|
||||||
post_repo.statuses_listing.map do |post|
|
post_repo.statuses_listing.map do |post|
|
||||||
Decorators::Posts::Decorator.new(post)
|
Decorators::Statuses::Decorator.new(post)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
Reference in New Issue
Block a user