@@ -19,8 +19,16 @@ class PostsController < ApplicationController | |||||
posts = posts.first(limit) | posts = posts.first(limit) | ||||
end | end | ||||
render json: { posts: posts.as_json(include: { tags: { only: [:id, :name, :category, :post_count] } }), | |||||
next_cursor: } | |||||
render json: { posts: posts.map { |post| | |||||
post.as_json(include: { tags: { only: [:id, :name, :category, :post_count] } }).tap { |json| | |||||
json['thumbnail'] = | |||||
if post.thumbnail.attached? | |||||
rails_storage_proxy_url(post.thumbnail, only_path: false) | |||||
else | |||||
nil | |||||
end | |||||
} | |||||
}, next_cursor: } | |||||
end | end | ||||
def random | def random | ||||
@@ -1,3 +1,9 @@ | |||||
<IfModule mod_headers.c> | |||||
<FilesMatch "\.(css|js|jpg|png|webp|woff2?)$"> | |||||
Header set Cache-Control "max-age=31536000, public" | |||||
</FilesMatch> | |||||
</IfModule> | |||||
<IfModule mod_rewrite.c> | <IfModule mod_rewrite.c> | ||||
RewriteEngine On | RewriteEngine On | ||||
RewriteBase / | RewriteBase / | ||||
@@ -101,6 +101,9 @@ export default () => { | |||||
<img src={post.thumbnail || post.thumbnailBase || undefined} | <img src={post.thumbnail || post.thumbnailBase || undefined} | ||||
alt={post.title || post.url} | alt={post.title || post.url} | ||||
title={post.title || post.url || undefined} | title={post.title || post.url || undefined} | ||||
loading="eager" | |||||
fetchPriority="high" | |||||
decoding="async" | |||||
className="object-none w-full h-full" /> | className="object-none w-full h-full" /> | ||||
</Link>))} | </Link>))} | ||||
</div>) | </div>) | ||||