Key emoji for statuses
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
require "rexml/parsers/pullparser"
|
||||
require "sanitize"
|
||||
require "nokogiri"
|
||||
require "unicode/emoji"
|
||||
|
||||
module Main
|
||||
module Decorators
|
||||
@@ -54,11 +55,15 @@ module Main
|
||||
|
||||
def prefix_emoji
|
||||
if name
|
||||
""
|
||||
nil
|
||||
elsif photos? && content == ""
|
||||
"📷"
|
||||
else
|
||||
"💬"
|
||||
@prefix_emoji ||= if (match = content.match(Unicode::Emoji::REGEX))
|
||||
match
|
||||
else
|
||||
"💬"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -80,7 +85,8 @@ module Main
|
||||
end
|
||||
|
||||
def raw_content
|
||||
Sanitize.fragment(content)
|
||||
res = Sanitize.fragment(content)
|
||||
res.gsub(prefix_emoji[0], "") if prefix_emoji
|
||||
end
|
||||
|
||||
def excerpt
|
||||
|
@@ -11,9 +11,11 @@ module Main
|
||||
module Statuses
|
||||
class Decorator < Main::Decorators::Posts::Decorator
|
||||
def raw_content
|
||||
Sanitize.fragment(content,
|
||||
res = Sanitize.fragment(content,
|
||||
elements: ["img", "p"],
|
||||
attributes: {"img" => ["alt", "src", "title"]})
|
||||
|
||||
res.gsub(prefix_emoji[0], "") if prefix_emoji
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@@ -1,10 +1,17 @@
|
||||
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}"
|
||||
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.raw_content}"
|
||||
div class="grid gap-4 grid-flow-row grid-cols-4 grid-rows-1"
|
||||
-post.photos.each do |photo|
|
||||
img loading="lazy" class="w-32 h-32 object-cover rounded" src=photo["value"]
|
||||
- if post.photos.count == 0 && post.key_image.nil?
|
||||
div class="flex"
|
||||
div class="text-8xl px-8"
|
||||
= post.prefix_emoji
|
||||
div class=""
|
||||
== post.raw_content
|
||||
-else
|
||||
== " #{post.prefix_emoji} #{post.raw_content}"
|
||||
div class="grid gap-4 grid-flow-row grid-cols-4 grid-rows-1"
|
||||
- post.photos.each do |photo|
|
||||
img loading="lazy" class="w-32 h-32 object-cover rounded" src=photo["value"]
|
||||
== render "shared/tags", tags: post.tags
|
||||
|
||||
div class="mb-8"
|
||||
|
@@ -1,5 +1,5 @@
|
||||
- if tags.count > 0
|
||||
p class="mb-2"
|
||||
p class="mb-2 dark:text-gray-200"
|
||||
= "Tagged"
|
||||
div class="mb-2 justify-end gap-x-1.5"
|
||||
- tags.each do |post_tag|
|
||||
|
Reference in New Issue
Block a user