From 4fa1f4cb9ef804e28f5d55e1684125caa2996f64 Mon Sep 17 00:00:00 2001 From: "tangly1024.com" Date: Wed, 10 Apr 2024 16:48:35 +0800 Subject: [PATCH] hexo index jumpto comment --- themes/hexo/index.js | 454 ++++++++++++++++++++++++------------------- 1 file changed, 255 insertions(+), 199 deletions(-) diff --git a/themes/hexo/index.js b/themes/hexo/index.js index b36ff6e2..664b9698 100644 --- a/themes/hexo/index.js +++ b/themes/hexo/index.js @@ -1,39 +1,42 @@ -import CONFIG from './config' -import { createContext, useContext, useEffect, useRef } from 'react' -import Footer from './components/Footer' -import SideRight from './components/SideRight' -import TopNav from './components/TopNav' +import Comment from '@/components/Comment' +import replaceSearchResult from '@/components/Mark' +import NotionPage from '@/components/NotionPage' +import ShareBar from '@/components/ShareBar' +import { siteConfig } from '@/lib/config' import { useGlobal } from '@/lib/global' import { isBrowser } from '@/lib/utils' -import BlogPostListPage from './components/BlogPostListPage' -import BlogPostListScroll from './components/BlogPostListScroll' -import Hero from './components/Hero' +import { Transition } from '@headlessui/react' +import dynamic from 'next/dynamic' +import Link from 'next/link' import { useRouter } from 'next/router' -import Card from './components/Card' -import RightFloatArea from './components/RightFloatArea' -import SearchNav from './components/SearchNav' -import BlogPostArchive from './components/BlogPostArchive' -import { ArticleLock } from './components/ArticleLock' -import PostHeader from './components/PostHeader' -import JumpToCommentButton from './components/JumpToCommentButton' -import TocDrawer from './components/TocDrawer' -import TocDrawerButton from './components/TocDrawerButton' -import Comment from '@/components/Comment' -import NotionPage from '@/components/NotionPage' +import { createContext, useContext, useEffect, useRef } from 'react' import ArticleAdjacent from './components/ArticleAdjacent' import ArticleCopyright from './components/ArticleCopyright' +import { ArticleLock } from './components/ArticleLock' import ArticleRecommend from './components/ArticleRecommend' -import ShareBar from '@/components/ShareBar' -import TagItemMini from './components/TagItemMini' -import Link from 'next/link' +import BlogPostArchive from './components/BlogPostArchive' +import BlogPostListPage from './components/BlogPostListPage' +import BlogPostListScroll from './components/BlogPostListScroll' +import Card from './components/Card' +import Footer from './components/Footer' +import Hero from './components/Hero' +import JumpToCommentButton from './components/JumpToCommentButton' +import PostHeader from './components/PostHeader' +import RightFloatArea from './components/RightFloatArea' +import SearchNav from './components/SearchNav' +import SideRight from './components/SideRight' import SlotBar from './components/SlotBar' -import { Transition } from '@headlessui/react' +import TagItemMini from './components/TagItemMini' +import TocDrawer from './components/TocDrawer' +import TocDrawerButton from './components/TocDrawerButton' +import TopNav from './components/TopNav' +import CONFIG from './config' import { Style } from './style' -import replaceSearchResult from '@/components/Mark' -import { siteConfig } from '@/lib/config' -import dynamic from 'next/dynamic' -const AlgoliaSearchModal = dynamic(() => import('@/components/AlgoliaSearchModal'), { ssr: false }) +const AlgoliaSearchModal = dynamic( + () => import('@/components/AlgoliaSearchModal'), + { ssr: false } +) // 主题全局状态 const ThemeGlobalHexo = createContext() @@ -50,93 +53,110 @@ const LayoutBase = props => { const { onLoading, fullWidth } = useGlobal() const router = useRouter() - const headerSlot = post - ? - : (router.route === '/' && siteConfig('HEXO_HOME_BANNER_ENABLE', null, CONFIG) - ? - : null) + const headerSlot = post ? ( + + ) : router.route === '/' && + siteConfig('HEXO_HOME_BANNER_ENABLE', null, CONFIG) ? ( + + ) : null const drawerRight = useRef(null) const tocRef = isBrowser ? document.getElementById('article-wrapper') : null - const floatSlot = <> - {post?.toc?.length > 1 &&
- { - drawerRight?.current?.handleSwitchVisible() - }} - /> -
} - + const floatSlot = ( + <> + {post?.toc?.length > 1 && ( +
+ { + drawerRight?.current?.handleSwitchVisible() + }} + /> +
+ )} + {post && } + ) // Algolia搜索框 const searchModal = useRef(null) return ( -
-