fix gitbook build

This commit is contained in:
tangly1024
2023-07-08 13:20:20 +08:00
parent 10199ed983
commit 0cc92c26a4
6 changed files with 23 additions and 18 deletions

View File

@@ -182,7 +182,7 @@ export function getNavPages({ allPages }) {
const allNavPages = allPages.filter(post => {
return post && post?.slug && (!post?.slug?.startsWith('http')) && post?.type === 'Post' && post?.status === 'Published'
})
const result = allNavPages.map(item => ({ id: item.id, title: item.title || null, category: item.category || null, tags: item.tags || null, summary: item.summary || null, slug: item.slug }))
const result = allNavPages.map(item => ({ id: item.id, title: item.title || '', category: item.category || null, tags: item.tags || null, summary: item.summary || null, slug: item.slug }))
const groupedArray = result.reduce((groups, item) => {
const categoryName = item.category ? item.category.join('/') : '' // 将category转换为字符串

View File

@@ -10,7 +10,7 @@ const BlogPostCard = ({ post, className }) => {
<div key={post.id} className={`${className} py-1 cursor-pointer px-2 hover:bg-gray-50 rounded-md dark:hover:bg-gray-600 ${currentSelected ? 'bg-green-50 text-green-500' : ''}`}>
<div className="flex flex-col w-full">
<Link href={`${BLOG.SUB_PATH}/${post.slug}`} passHref>
{post.title}
<a>{post.title}</a>
</Link>
</div>
</div>

View File

@@ -17,22 +17,26 @@ const NavPostItem = (props) => {
changeIsOpen(!isOpen)
}
if (group.category) {
return <>
if (group?.category) {
return <div>
<div
onClick={toggleOpenSubMenu}
className='flex justify-between text-sm font-sans cursor-pointer p-2 hover:bg-gray-50 rounded-md dark:hover:bg-gray-600' key={group.category}>
<span>{group.category}</span>
className='flex justify-between text-sm font-sans cursor-pointer p-2 hover:bg-gray-50 rounded-md dark:hover:bg-gray-600' key={group?.category}>
<span>{group?.category}</span>
<div className='inline-flex items-center select-none pointer-events-none '><i className={`px-2 fas fa-chevron-left transition-all duration-200 ${isOpen ? '-rotate-90' : ''}`}></i></div>
</div>
<Collapse isOpen={isOpen} onHeightChange={props.onHeightChange}>
{group.items?.map(post => (<div key={post.id} className='ml-3 border-l'>
{group?.items?.map(post => (<div key={post.id} className='ml-3 border-l'>
<BlogPostCard className='text-sm ml-3' post={post} /></div>))
}
</Collapse>
</>
</div>
} else {
return <div> {group.items?.map(post => (<BlogPostCard key={post.id} post={post} className='text-sm' />))}</div>
return <div>
{group?.items?.map(post => (<div key={post.id} className='ml-3 border-l'>
<BlogPostCard className='text-sm ml-3' post={post} /></div>))
}
</div>
}
}

View File

@@ -1,7 +1,6 @@
import NavPostListEmpty from './NavPostListEmpty'
import { useRouter } from 'next/router'
import NavPostItem from './NavPostItem'
import { useGitBookGlobal } from '..'
/**
* 博客列表滚动分页
@@ -11,13 +10,13 @@ import { useGitBookGlobal } from '..'
* @constructor
*/
const NavPostList = (props) => {
const { filteredPosts } = useGitBookGlobal()
const { filteredPosts } = props
const router = useRouter()
let selectedSth = false
// 处理是否选中
filteredPosts.map((group) => {
filteredPosts?.map((group) => {
let groupSelected = false
for (const post of group?.items) {
if (router.asPath.split('?')[0] === '/' + post.slug) {

View File

@@ -10,6 +10,7 @@ import NavPostList from './NavPostList'
*/
const PageNavDrawer = (props) => {
const { pageNavVisible, changePageNavVisible } = useGitBookGlobal()
const { filteredPosts } = props
const switchVisible = () => {
changePageNavVisible(!pageNavVisible)
}
@@ -22,7 +23,7 @@ const PageNavDrawer = (props) => {
' overflow-y-hidden shadow-card w-72 duration-200 fixed left-1 top-16 rounded py-2 bg-white dark:bg-gray-600'}>
<div className='dark:text-gray-400 text-gray-600 h-96 overflow-y-scroll p-3'>
{/* 所有文章列表 */}
<NavPostList />
<NavPostList filteredPosts={filteredPosts} />
</div>
</div>
</div>

View File

@@ -71,10 +71,10 @@ const LayoutBase = (props) => {
{slotLeft}
<SearchInput className='my-3 rounded-md' />
{/* 所有文章列表 */}
<NavPostList />
<NavPostList filteredPosts={filteredPosts} />
<div className='mt-2'>
<Footer {...props} />
<Footer {...props}/>
</div>
</div>
</div>
@@ -84,6 +84,7 @@ const LayoutBase = (props) => {
<div id='container-inner' className='w-full px-7 max-w-3xl justify-center mx-auto'>
{slotTop}
<AdSlot type='in-article' />
<Transition
show={!onLoading}
appear={true}
@@ -142,7 +143,7 @@ const LayoutBase = (props) => {
</div>}
{/* 移动端导航抽屉 */}
<PageNavDrawer {...props} />
<PageNavDrawer {...props} filteredPosts={filteredPosts} />
{/* 移动端底部导航栏 */}
{/* <BottomMenuBar {...props} className='block md:hidden' /> */}
@@ -177,7 +178,7 @@ const LayoutIndex = (props) => {
})
}, [])
return <LayoutBase {...props}></LayoutBase>
return <LayoutBase {...props}/>
}
/**
@@ -187,7 +188,7 @@ const LayoutIndex = (props) => {
* @returns
*/
const LayoutPostList = (props) => {
return <LayoutBase {...props}></LayoutBase>
return <LayoutBase {...props}/>
}
/**