'use client' import BLOG from '@/blog.config' import CONFIG_EXAMPLE from './config_example' import CommonHead from '@/components/CommonHead' import { useEffect } from 'react' import { Header } from './components/Header' import { Nav } from './components/Nav' import { Footer } from './components/Footer' import { Title } from './components/Title' import { SideBar } from './components/SideBar' import { BlogListPage } from './components/BlogListPage' import { BlogListScroll } from './components/BlogListScroll' import { useGlobal } from '@/lib/global' import { ArticleLock } from './components/ArticleLock' import { ArticleInfo } from './components/ArticleInfo' import JumpToTopButton from './components/JumpToTopButton' import NotionPage from '@/components/NotionPage' import Comment from '@/components/Comment' import ShareBar from '@/components/ShareBar' import SearchInput from './components/SearchInput' import Mark from 'mark.js' import { isBrowser } from '@/lib/utils' import LoadingCover from './components/LoadingCover' import BlogListGroupByDate from './components/BlogListGroupByDate' import CategoryItem from './components/CategoryItem' import TagItem from './components/TagItem' import { useRouter } from 'next/router' /** * 基础布局框架 * 1.其它页面都嵌入在LayoutBase中 * 2.采用左右两侧布局,移动端使用顶部导航栏 * @returns {JSX.Element} * @constructor */ const LayoutBase = props => { const { children, meta, slotTop } = props const { onLoading } = useGlobal() return (
{/* 网页SEO信息 */} {/* 页头 */}
{/* 菜单 */}