From d66c5e712de97bbff4412a70fb26c5ce94d60b70 Mon Sep 17 00:00:00 2001 From: Stephen Zhou Date: Sat, 23 Dec 2023 19:19:21 +0800 Subject: [PATCH] feat: make xlogshorts more general (#1192) --- src/components/ui/{XLogShorts.tsx => XLogPost.tsx} | 14 +++++++------- .../{XLogShorts.ts => XLogPost.ts} | 4 ++-- src/markdown/embed-transformers/index.ts | 4 ++-- src/markdown/index.ts | 4 ++-- 4 files changed, 13 insertions(+), 13 deletions(-) rename src/components/ui/{XLogShorts.tsx => XLogPost.tsx} (93%) rename src/markdown/embed-transformers/{XLogShorts.ts => XLogPost.ts} (86%) diff --git a/src/components/ui/XLogShorts.tsx b/src/components/ui/XLogPost.tsx similarity index 93% rename from src/components/ui/XLogShorts.tsx rename to src/components/ui/XLogPost.tsx index 280e6c6d..c5d8b553 100644 --- a/src/components/ui/XLogShorts.tsx +++ b/src/components/ui/XLogPost.tsx @@ -12,7 +12,6 @@ import { Loading } from "../common/Loading" import { Time } from "../common/Time" import PostCover from "../home/PostCover" import { Avatar } from "./Avatar" -import { UniLink } from "./UniLink" interface Props { slug: string @@ -20,7 +19,7 @@ interface Props { url: string } -const XLogShorts: FC = ({ slug, handle, url }) => { +const XLogPost: FC = ({ slug, handle, url }) => { const [isExpanded, setIsExpanded] = React.useState(false) const locale = useLocale() as Language @@ -37,6 +36,7 @@ const XLogShorts: FC = ({ slug, handle, url }) => { const images = page.data?.metadata?.content?.attachments ?.filter((attachment) => attachment.name === "image") .map((img) => img.address || "") + .concat(page.data.metadata.content.images ?? []) .filter(Boolean) const isMobile = isMobileDevice() @@ -56,13 +56,11 @@ const XLogShorts: FC = ({ slug, handle, url }) => { if (page.isLoading) return - if (!isShort) return {url} - return (
= ({ slug, handle, url }) => { isExpanded || isMobile ? "line-clamp-6" : "line-clamp-1" } > - {page.data?.metadata?.content?.content} + {isShort + ? page.data?.metadata?.content?.content + : page.data?.metadata?.content?.summary}

@@ -149,4 +149,4 @@ const XLogShorts: FC = ({ slug, handle, url }) => { ) } -export default XLogShorts +export default XLogPost diff --git a/src/markdown/embed-transformers/XLogShorts.ts b/src/markdown/embed-transformers/XLogPost.ts similarity index 86% rename from src/markdown/embed-transformers/XLogShorts.ts rename to src/markdown/embed-transformers/XLogPost.ts index 02d9d674..71a00f6a 100644 --- a/src/markdown/embed-transformers/XLogShorts.ts +++ b/src/markdown/embed-transformers/XLogPost.ts @@ -28,7 +28,7 @@ function getParamsFromShortsURL(url: URL) { return { slug, handle } } -export const XLogShortsTransformer: Transformer = { +export const XLogPostTransformer: Transformer = { name: "XLogShorts", shouldTransform(url) { return !!getParamsFromShortsURL(url) @@ -36,6 +36,6 @@ export const XLogShortsTransformer: Transformer = { getHTML(url) { const { slug, handle } = getParamsFromShortsURL(url)! - return `` + return `` }, } diff --git a/src/markdown/embed-transformers/index.ts b/src/markdown/embed-transformers/index.ts index af1ab5ff..f01ed95b 100644 --- a/src/markdown/embed-transformers/index.ts +++ b/src/markdown/embed-transformers/index.ts @@ -4,14 +4,14 @@ import { CodeSandboxTransformer } from "./CodeSandBox" import { GitHubRepoTransformer } from "./GitHub" import { NetEaseMusicTransformer } from "./NetEaseMusic" import { SpotifyTransformer } from "./Spotify" -import { XLogShortsTransformer } from "./XLogShorts" +import { XLogPostTransformer } from "./XLogPost" import { YouTubeTransformer } from "./YouTube" export const transformers: Transformer[] = [ CodeSandboxTransformer, GitHubRepoTransformer, YouTubeTransformer, - XLogShortsTransformer, + XLogPostTransformer, NetEaseMusicTransformer, BilibiliTransformer, SpotifyTransformer, diff --git a/src/markdown/index.ts b/src/markdown/index.ts index 599dfd83..8845764c 100644 --- a/src/markdown/index.ts +++ b/src/markdown/index.ts @@ -57,7 +57,7 @@ const Style = dynamic(() => import("~/components/common/Style")) const Mention = dynamic(() => import("~/components/ui/Mention")) const Mermaid = dynamic(() => import("~/components/ui/Mermaid")) const GithubRepo = dynamic(() => import("~/components/ui/GithubRepo")) -const XLogShorts = dynamic(() => import("~/components/ui/XLogShorts")) +const XLogPost = dynamic(() => import("~/components/ui/XLogPost")) const APlayer = dynamic(() => import("~/components/ui/APlayer")) const DPlayer = dynamic(() => import("~/components/ui/DPlayer")) @@ -234,7 +234,7 @@ export const renderPageContent = ( audio: APlayer, video: DPlayer, "github-repo": GithubRepo, - "xlog-shorts": XLogShorts, + "xlog-post": XLogPost, style: Style, } as any, })