diff --git a/components/PaginationNumber.js b/components/PaginationNumber.js index a42c5a06..958fa06c 100644 --- a/components/PaginationNumber.js +++ b/components/PaginationNumber.js @@ -57,33 +57,32 @@ function getPageElement (page, currentPage) { } function generatePages (page, currentPage, totalPage) { const pages = [] - const startPage = 1 // 分组开始页码 - const groupCount = 5 // 页码分组 - if (totalPage <= 10) { + const groupCount = 7 // 最多显示页签数 + if (totalPage <= groupCount) { for (let i = 1; i <= totalPage; i++) { pages.push(getPageElement(i, page)) } } else { pages.push(getPageElement(1, page)) - - let pageLength = 0 - if (groupCount + startPage > totalPage) { - pageLength = totalPage - } else { - pageLength = groupCount + startPage + const dynamicGroupCount = groupCount - 2 + let startPage = currentPage - 2 + if (startPage < 0) { + startPage = 2 } - - if (currentPage >= groupCount) { + if (startPage + dynamicGroupCount > totalPage) { + startPage = totalPage - dynamicGroupCount + } + if (startPage > 2) { pages.push(
...
) } - for (let i = startPage; i < pageLength; i++) { - if (i <= totalPage - 1 && i > 1) { - pages.push(getPageElement(i, page)) + for (let i = 0; i < dynamicGroupCount; i++) { + if (startPage + i < totalPage) { + pages.push(getPageElement(startPage + i, page)) } } - if (totalPage - startPage >= groupCount + 1) { + if (startPage + dynamicGroupCount < totalPage) { pages.push(
...
) } diff --git a/pages/page/[page].js b/pages/page/[page].js index e810ff5d..4021598d 100644 --- a/pages/page/[page].js +++ b/pages/page/[page].js @@ -44,7 +44,7 @@ export async function getStaticProps ({ params: { page } }) { const tagOptions = notionPageData.tagOptions const tags = await getAllTags({ allPosts, tagOptions }) const meta = { - title: `Page ${page} |${BLOG.title}`, + title: `${page} | Page |${BLOG.title}`, description: BLOG.description, type: 'website' }