{post.title}
{post.excerpt && (post.excerpt.length > 120 ? post.excerpt.slice(0, 120) + "…" : post.excerpt)}
{post.tags && ( )}/**
* Copyright (c) 2025 miwa
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import { PageProps } from "fresh";
import { getCachedReports } from "@/utils/atproto.ts";
import Empty from "@/components/Empty.tsx";
import "@/assets/report.css";
import { formatReadingTime } from "../../utils/blog.ts";
import { Head } from "fresh/runtime";
export default function PostPage(props: PageProps) {
const { rkey } = props.params;
const post = getCachedReports().find(
(rep) => rep.rkey === rkey.toLowerCase(),
);
if (!post) {
return
{post.excerpt && (post.excerpt.length > 120 ? post.excerpt.slice(0, 120) + "…" : post.excerpt)}
{post.tags && ( )}