/** * HEO 主题说明 * > 主题设计者 [张洪](https://zhheo.com/) * > 主题开发者 [tangly1024](https://github.com/tangly1024) * 1. 开启方式 在blog.config.js 将主题配置为 `HEO` * 2. 更多说明参考此[文档](https://docs.tangly1024.com/article/notionnext-heo) */ import CONFIG from './config' import { useEffect, useState } from 'react' import Footer from './components/Footer' import SideRight from './components/SideRight' import NavBar from './components/NavBar' import { useGlobal } from '@/lib/global' import BlogPostListPage from './components/BlogPostListPage' import BlogPostListScroll from './components/BlogPostListScroll' import Hero from './components/Hero' import { useRouter } from 'next/router' import SearchNav from './components/SearchNav' import BlogPostArchive from './components/BlogPostArchive' import { ArticleLock } from './components/ArticleLock' import PostHeader from './components/PostHeader' import Comment from '@/components/Comment' import NotionPage from '@/components/NotionPage' import ArticleAdjacent from './components/ArticleAdjacent' import ArticleCopyright from './components/ArticleCopyright' import ArticleRecommend from './components/ArticleRecommend' import ShareBar from '@/components/ShareBar' import Link from 'next/link' import CategoryBar from './components/CategoryBar' import { Transition } from '@headlessui/react' import { Style } from './style' import { NoticeBar } from './components/NoticeBar' import { HashTag } from '@/components/HeroIcons' import LatestPostsGroup from './components/LatestPostsGroup' import FloatTocButton from './components/FloatTocButton' import replaceSearchResult from '@/components/Mark' import LazyImage from '@/components/LazyImage' import WWAds from '@/components/WWAds' import { AdSlot } from '@/components/GoogleAdsense' import { siteConfig } from '@/lib/config' /** * 基础布局 采用上中下布局,移动端使用顶部侧边导航栏 * @param props * @returns {JSX.Element} * @constructor */ const LayoutBase = props => { const { children, slotTop, className } = props // 全屏模式下的最大宽度 const { fullWidth } = useGlobal() const router = useRouter() const headerSlot = (
{/* 顶部导航 */} {/* 通知横幅 */} {router.route === '/' ? <> : null} {fullWidth ? null : }
) // 右侧栏 用户信息+标签列表 const slotRight = (router.route === '/404' || fullWidth) ? null : const maxWidth = fullWidth ? 'max-w-[96rem] mx-auto' : 'max-w-[86rem]' // 普通最大宽度是86rem和顶部菜单栏对齐,留空则与窗口对齐 const HEO_HERO_BODY_REVERSE = siteConfig('HEO_HERO_BODY_REVERSE', false, CONFIG) return (