From 8b407f0ec42282d24ea5ae8903a0c76276cdafb9 Mon Sep 17 00:00:00 2001 From: "tangly1024.com" Date: Fri, 22 Mar 2024 17:08:26 +0800 Subject: [PATCH] =?UTF-8?q?simple=20medium=E4=B8=BB=E9=A2=98=E5=BE=AE?= =?UTF-8?q?=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- themes/medium/components/BlogPostBar.js | 14 +- themes/simple/components/BlogPostBar.js | 29 ++ themes/simple/index.js | 366 ++++++++++++++---------- 3 files changed, 248 insertions(+), 161 deletions(-) create mode 100644 themes/simple/components/BlogPostBar.js diff --git a/themes/medium/components/BlogPostBar.js b/themes/medium/components/BlogPostBar.js index 7cada8fa..9f34aca5 100644 --- a/themes/medium/components/BlogPostBar.js +++ b/themes/medium/components/BlogPostBar.js @@ -10,9 +10,19 @@ export default function BlogPostBar(props) { const { locale } = useGlobal() if (tag) { - return
{locale.COMMON.TAGS}:
{tag}
+ return ( +
+ + {locale.COMMON.TAGS}:{tag} +
+ ) } else if (category) { -
{locale.COMMON.CATEGORY}:
{category}
+ return ( +
+ + {locale.COMMON.CATEGORY}:{category} +
+ ) } else { return <> } diff --git a/themes/simple/components/BlogPostBar.js b/themes/simple/components/BlogPostBar.js new file mode 100644 index 00000000..9efac113 --- /dev/null +++ b/themes/simple/components/BlogPostBar.js @@ -0,0 +1,29 @@ +import { useGlobal } from '@/lib/global' + +/** + * 文章列表上方嵌入 + * @param {*} props + * @returns + */ +export default function BlogPostBar(props) { + const { tag, category } = props + const { locale } = useGlobal() + + if (tag) { + return ( +
+ + {locale.COMMON.TAGS}: {tag} +
+ ) + } else if (category) { + return ( +
+ + {locale.COMMON.CATEGORY}: {category} +
+ ) + } else { + return <> + } +} diff --git a/themes/simple/index.js b/themes/simple/index.js index 60867451..9bef23f0 100644 --- a/themes/simple/index.js +++ b/themes/simple/index.js @@ -1,37 +1,59 @@ -import CONFIG from './config' -import { createContext, useContext, useEffect, useRef } from 'react' -import { isBrowser } from '@/lib/utils' -import { useGlobal } from '@/lib/global' import { AdSlot } from '@/components/GoogleAdsense' -import { siteConfig } from '@/lib/config' -import { Transition } from '@headlessui/react' -import Link from 'next/link' -import { Style } from './style' import replaceSearchResult from '@/components/Mark' -import dynamic from 'next/dynamic' import NotionPage from '@/components/NotionPage' +import { siteConfig } from '@/lib/config' +import { useGlobal } from '@/lib/global' +import { isBrowser } from '@/lib/utils' +import { Transition } from '@headlessui/react' +import dynamic from 'next/dynamic' +import Link from 'next/link' import { useRouter } from 'next/router' +import { createContext, useContext, useEffect, useRef } from 'react' +import BlogPostBar from './components/BlogPostBar' +import CONFIG from './config' +import { Style } from './style' -const AlgoliaSearchModal = dynamic(() => import('@/components/AlgoliaSearchModal'), { ssr: false }) +const AlgoliaSearchModal = dynamic( + () => import('@/components/AlgoliaSearchModal'), + { ssr: false } +) // 主题组件 -const BlogListScroll = dynamic(() => import('./components/BlogListScroll'), { ssr: false }); -const BlogArchiveItem = dynamic(() => import('./components/BlogArchiveItem'), { ssr: false }); -const ArticleLock = dynamic(() => import('./components/ArticleLock'), { ssr: false }); -const ArticleInfo = dynamic(() => import('./components/ArticleInfo'), { ssr: false }); -const Comment = dynamic(() => import('@/components/Comment'), { ssr: false }); -const ArticleAround = dynamic(() => import('./components/ArticleAround'), { ssr: false }); -const ShareBar = dynamic(() => import('@/components/ShareBar'), { ssr: false }); -const TopBar = dynamic(() => import('./components/TopBar'), { ssr: false }); -const Header = dynamic(() => import('./components/Header'), { ssr: false }); -const NavBar = dynamic(() => import('./components/NavBar'), { ssr: false }); -const SideBar = dynamic(() => import('./components/SideBar'), { ssr: false }); -const JumpToTopButton = dynamic(() => import('./components/JumpToTopButton'), { ssr: false }); -const Footer = dynamic(() => import('./components/Footer'), { ssr: false }); -const SearchInput = dynamic(() => import('./components/SearchInput'), { ssr: false }); -const WWAds = dynamic(() => import('@/components/WWAds'), { ssr: false }); -const BlogListPage = dynamic(() => import('./components/BlogListPage'), { ssr: false }) -const RecommendPosts = dynamic(() => import('./components/RecommendPosts'), { ssr: false }) +const BlogListScroll = dynamic(() => import('./components/BlogListScroll'), { + ssr: false +}) +const BlogArchiveItem = dynamic(() => import('./components/BlogArchiveItem'), { + ssr: false +}) +const ArticleLock = dynamic(() => import('./components/ArticleLock'), { + ssr: false +}) +const ArticleInfo = dynamic(() => import('./components/ArticleInfo'), { + ssr: false +}) +const Comment = dynamic(() => import('@/components/Comment'), { ssr: false }) +const ArticleAround = dynamic(() => import('./components/ArticleAround'), { + ssr: false +}) +const ShareBar = dynamic(() => import('@/components/ShareBar'), { ssr: false }) +const TopBar = dynamic(() => import('./components/TopBar'), { ssr: false }) +const Header = dynamic(() => import('./components/Header'), { ssr: false }) +const NavBar = dynamic(() => import('./components/NavBar'), { ssr: false }) +const SideBar = dynamic(() => import('./components/SideBar'), { ssr: false }) +const JumpToTopButton = dynamic(() => import('./components/JumpToTopButton'), { + ssr: false +}) +const Footer = dynamic(() => import('./components/Footer'), { ssr: false }) +const SearchInput = dynamic(() => import('./components/SearchInput'), { + ssr: false +}) +const WWAds = dynamic(() => import('@/components/WWAds'), { ssr: false }) +const BlogListPage = dynamic(() => import('./components/BlogListPage'), { + ssr: false +}) +const RecommendPosts = dynamic(() => import('./components/RecommendPosts'), { + ssr: false +}) // 主题全局状态 const ThemeGlobalSimple = createContext() @@ -50,57 +72,63 @@ const LayoutBase = props => { return ( -
+
+