重构优化主题异步加载

This commit is contained in:
tangly1024.com
2023-06-07 15:39:41 +08:00
parent 9247c4d308
commit 00d32c81e0
107 changed files with 467 additions and 338 deletions

View File

@@ -5,3 +5,5 @@ export const Layout404 = (props) => {
404 Not found.
</LayoutBase>
}
export default Layout404

View File

@@ -43,3 +43,5 @@ export const LayoutArchive = props => {
</LayoutBase>
)
}
export default LayoutArchive

View File

@@ -8,3 +8,5 @@ export const LayoutCategory = props => {
{BLOG.POST_LIST_STYLE === 'page' ? <BlogListPage {...props} /> : <BlogListScroll {...props} />}
</LayoutBase >
}
export default LayoutCategory

View File

@@ -24,3 +24,5 @@ export const LayoutCategoryIndex = props => {
</LayoutBase>
)
}
export default LayoutCategoryIndex

View File

@@ -11,3 +11,5 @@ export const LayoutIndex = props => {
</LayoutBase>
)
}
export default LayoutIndex

View File

@@ -8,3 +8,5 @@ export const LayoutPage = props => {
</LayoutBase>
)
}
export default LayoutPage

View File

@@ -29,3 +29,5 @@ export const LayoutSlug = props => {
</LayoutBase>
)
}
export default LayoutSlug

View File

@@ -8,3 +8,5 @@ export const LayoutTag = props => {
{BLOG.POST_LIST_STYLE === 'page' ? <BlogListPage {...props} /> : <BlogListScroll {...props} />}
</LayoutBase >
}
export default LayoutTag

View File

@@ -27,3 +27,5 @@ export const LayoutTagIndex = (props) => {
</div> </LayoutBase>
)
}
export default LayoutTagIndex

View File

@@ -1,25 +0,0 @@
import CONFIG_EXAMPLE from './config_example'
import { LayoutIndex } from './LayoutIndex'
import { LayoutSearch } from './LayoutSearch'
import { LayoutArchive } from './LayoutArchive'
import { LayoutSlug } from './LayoutSlug'
import { Layout404 } from './Layout404'
import { LayoutCategory } from './LayoutCategory'
import { LayoutCategoryIndex } from './LayoutCategoryIndex'
import { LayoutPage } from './LayoutPage'
import { LayoutTag } from './LayoutTag'
import { LayoutTagIndex } from './LayoutTagIndex'
export {
CONFIG_EXAMPLE as THEME_CONFIG,
LayoutIndex,
LayoutSearch,
LayoutArchive,
LayoutSlug,
Layout404,
LayoutCategory,
LayoutCategoryIndex,
LayoutPage,
LayoutTag,
LayoutTagIndex
}

View File

@@ -3,3 +3,5 @@ import LayoutBase from './LayoutBase'
export const Layout404 = props => {
return <LayoutBase {...props}>404</LayoutBase>
}
export default Layout404

View File

@@ -28,3 +28,5 @@ export const LayoutArchive = (props) => {
</div>
</LayoutBase>
}
export default LayoutArchive

View File

@@ -8,3 +8,5 @@ export const LayoutCategory = props => {
{BLOG.POST_LIST_STYLE === 'page' ? <BlogListPage {...props} /> : <BlogListScroll {...props}/>}
</LayoutBase>
}
export default LayoutCategory

View File

@@ -31,3 +31,5 @@ export const LayoutCategoryIndex = (props) => {
</LayoutBase>
)
}
export default LayoutCategoryIndex

View File

@@ -8,3 +8,5 @@ export const LayoutIndex = (props) => {
{BLOG.POST_LIST_STYLE === 'page' ? <BlogListPage {...props} /> : <BlogListScroll {...props}/>}
</LayoutBase>
}
export default LayoutIndex

View File

@@ -8,3 +8,5 @@ export const LayoutPage = (props) => {
</LayoutBase>
}
export default LayoutPage

View File

@@ -28,3 +28,5 @@ export const LayoutSearch = (props) => {
{BLOG.POST_LIST_STYLE === 'page' ? <BlogListPage {...props} /> : <BlogListScroll {...props}/>}
</LayoutBase>
}
export default LayoutSearch

View File

@@ -11,3 +11,5 @@ export const LayoutSlug = (props) => {
</LayoutBase>
)
}
export default LayoutSlug

View File

@@ -1,7 +1,6 @@
import BLOG from '@/blog.config'
import BlogListPage from './components/BlogListPage'
import BlogListScroll from './components/BlogListScroll'
import TagItemMini from './components/TagItemMini'
import LayoutBase from './LayoutBase'
export const LayoutTag = (props) => {
@@ -9,3 +8,5 @@ export const LayoutTag = (props) => {
{BLOG.POST_LIST_STYLE === 'page' ? <BlogListPage {...props} /> : <BlogListScroll {...props}/>}
</LayoutBase>
}
export default LayoutTag

View File

@@ -1,5 +1,4 @@
import { useGlobal } from '@/lib/global'
import TagItem from './components/TagItem'
import TagItemMini from './components/TagItemMini'
import LayoutBase from './LayoutBase'
@@ -21,3 +20,5 @@ export const LayoutTagIndex = (props) => {
</div>
</LayoutBase>
}
export default LayoutTagIndex

View File

@@ -1,25 +0,0 @@
import CONFIG_FUKA from './config_fuka'
import { LayoutIndex } from './LayoutIndex'
import { LayoutSearch } from './LayoutSearch'
import { LayoutArchive } from './LayoutArchive'
import { LayoutSlug } from './LayoutSlug'
import { Layout404 } from './Layout404'
import { LayoutCategory } from './LayoutCategory'
import { LayoutCategoryIndex } from './LayoutCategoryIndex'
import { LayoutPage } from './LayoutPage'
import { LayoutTag } from './LayoutTag'
import { LayoutTagIndex } from './LayoutTagIndex'
export {
CONFIG_FUKA as THEME_CONFIG,
LayoutIndex,
LayoutSearch,
LayoutArchive,
LayoutSlug,
Layout404,
LayoutCategory,
LayoutCategoryIndex,
LayoutPage,
LayoutTag,
LayoutTagIndex
}

View File

@@ -30,3 +30,4 @@ export const Layout404 = props => {
</LayoutBase>
)
}
export default Layout404

View File

@@ -32,3 +32,5 @@ export const LayoutArchive = (props) => {
</Card>
</LayoutBase>
}
export default LayoutArchive

View File

@@ -13,3 +13,5 @@ export const LayoutCategory = props => {
{BLOG.POST_LIST_STYLE === 'page' ? <BlogPostListPage {...props} /> : <BlogPostListScroll {...props} />}
</LayoutBase>
}
export default LayoutCategory

View File

@@ -37,3 +37,5 @@ export const LayoutCategoryIndex = props => {
</LayoutBase>
)
}
export default LayoutCategoryIndex

View File

@@ -12,3 +12,5 @@ export const LayoutIndex = (props) => {
{BLOG.POST_LIST_STYLE === 'page' ? <BlogPostListPage {...props} /> : <BlogPostListScroll {...props} />}
</LayoutBase>
}
export default LayoutIndex

View File

@@ -6,3 +6,5 @@ export const LayoutPage = (props) => {
<BlogPostListPage {...props}/>
</LayoutBase>
}
export default LayoutPage

View File

@@ -97,3 +97,5 @@ export const LayoutSearch = props => {
</LayoutBase>
)
}
export default LayoutSearch

View File

@@ -93,3 +93,5 @@ export const LayoutSlug = props => {
</LayoutBase>
)
}
export default LayoutSlug

View File

@@ -30,3 +30,5 @@ export const LayoutTag = (props) => {
</LayoutBase>
)
}
export default LayoutTag

View File

@@ -26,3 +26,5 @@ export const LayoutTagIndex = props => {
</LayoutBase>
)
}
export default LayoutTagIndex

View File

@@ -1,25 +0,0 @@
import CONFIG_HEXO from './config_hexo'
import { LayoutIndex } from './LayoutIndex'
import { LayoutSearch } from './LayoutSearch'
import { LayoutArchive } from './LayoutArchive'
import { LayoutSlug } from './LayoutSlug'
import { Layout404 } from './Layout404'
import { LayoutCategory } from './LayoutCategory'
import { LayoutCategoryIndex } from './LayoutCategoryIndex'
import { LayoutPage } from './LayoutPage'
import { LayoutTag } from './LayoutTag'
import { LayoutTagIndex } from './LayoutTagIndex'
export {
CONFIG_HEXO as THEME_CONFIG,
LayoutIndex,
LayoutSearch,
LayoutArchive,
LayoutSlug,
Layout404,
LayoutCategory,
LayoutCategoryIndex,
LayoutPage,
LayoutTag,
LayoutTagIndex
}

View File

@@ -30,3 +30,5 @@ export const Layout404 = props => {
</LayoutBase>
)
}
export default Layout404

View File

@@ -32,3 +32,5 @@ export const LayoutArchive = (props) => {
</Card>
</LayoutBase>
}
export default LayoutArchive

View File

@@ -36,3 +36,5 @@ export const LayoutCategory = props => {
</LayoutBase>
)
}
export default LayoutCategory

View File

@@ -30,3 +30,5 @@ export const LayoutCategoryIndex = props => {
</LayoutBase>
)
}
export default LayoutCategoryIndex

View File

@@ -12,3 +12,5 @@ export const LayoutIndex = (props) => {
{BLOG.POST_LIST_STYLE === 'page' ? <BlogPostListPage {...props} /> : <BlogPostListScroll {...props} />}
</LayoutBase>
}
export default LayoutIndex

View File

@@ -6,3 +6,5 @@ export const LayoutPage = (props) => {
<BlogPostListPage {...props}/>
</LayoutBase>
}
export default LayoutPage

View File

@@ -97,3 +97,5 @@ export const LayoutSearch = props => {
</LayoutBase>
)
}
export default LayoutSearch

View File

@@ -128,3 +128,5 @@ export const LayoutSlug = props => {
</LayoutBase>
)
}
export default LayoutSlug

View File

@@ -6,7 +6,6 @@ import React from 'react'
import HeaderArticle from './components/HeaderArticle'
import { useGlobal } from '@/lib/global'
import TagItemMiddle from './components/TagItemMiddle'
import TagItemMini from './components/TagItemMini'
export const LayoutTag = (props) => {
const { tagOptions, tag } = props
@@ -41,3 +40,5 @@ export const LayoutTag = (props) => {
</LayoutBase>
}
export default LayoutTag

View File

@@ -1,7 +1,6 @@
import { useGlobal } from '@/lib/global'
import HeaderArticle from './components/HeaderArticle'
import TagItemMiddle from './components/TagItemMiddle'
import TagItemMini from './components/TagItemMini'
import LayoutBase from './LayoutBase'
export const LayoutTagIndex = props => {
@@ -31,3 +30,5 @@ export const LayoutTagIndex = props => {
</LayoutBase>
)
}
export default LayoutTagIndex

View File

@@ -1,25 +0,0 @@
import CONFIG_MATERY from './config_matery'
import { LayoutIndex } from './LayoutIndex'
import { LayoutSearch } from './LayoutSearch'
import { LayoutArchive } from './LayoutArchive'
import { LayoutSlug } from './LayoutSlug'
import { Layout404 } from './Layout404'
import { LayoutCategory } from './LayoutCategory'
import { LayoutCategoryIndex } from './LayoutCategoryIndex'
import { LayoutPage } from './LayoutPage'
import { LayoutTag } from './LayoutTag'
import { LayoutTagIndex } from './LayoutTagIndex'
export {
CONFIG_MATERY as THEME_CONFIG,
LayoutIndex,
LayoutSearch,
LayoutArchive,
LayoutSlug,
Layout404,
LayoutCategory,
LayoutCategoryIndex,
LayoutPage,
LayoutTag,
LayoutTagIndex
}

View File

@@ -5,3 +5,5 @@ export const Layout404 = props => {
<div className='w-full h-96 py-80 flex justify-center items-center'>404 Not found.</div>
</LayoutBase>
}
export default Layout404

View File

@@ -45,3 +45,5 @@ export const LayoutArchive = props => {
</LayoutBase>
)
}
export default LayoutArchive

View File

@@ -11,3 +11,5 @@ export const LayoutCategory = props => {
{BLOG.POST_LIST_STYLE === 'page' ? <BlogPostListPage {...props} /> : <BlogPostListScroll {...props} />}
</LayoutBase>
}
export default LayoutCategory

View File

@@ -31,3 +31,4 @@ export const LayoutCategoryIndex = (props) => {
</LayoutBase>
)
}
export default LayoutCategoryIndex

View File

@@ -8,3 +8,5 @@ export const LayoutIndex = (props) => {
{BLOG.POST_LIST_STYLE === 'page' ? <BlogPostListPage {...props} /> : <BlogPostListScroll {...props} />}
</LayoutBase>
}
export default LayoutIndex

View File

@@ -6,3 +6,5 @@ export const LayoutPage = (props) => {
<BlogPostListPage {...props} />
</LayoutBase>
}
export default LayoutPage

View File

@@ -49,3 +49,5 @@ export const LayoutSearch = (props) => {
</div>}
</LayoutBase>
}
export default LayoutSearch

View File

@@ -106,3 +106,5 @@ export const LayoutSlug = props => {
</LayoutBase>
)
}
export default LayoutSlug

View File

@@ -11,3 +11,5 @@ export const LayoutTag = (props) => {
{BLOG.POST_LIST_STYLE === 'page' ? <BlogPostListPage {...props} /> : <BlogPostListScroll {...props} />}
</LayoutBase>
}
export default LayoutTag

View File

@@ -25,3 +25,5 @@ export const LayoutTagIndex = props => {
</LayoutBase>
)
}
export default LayoutTagIndex

View File

@@ -1,25 +0,0 @@
import CONFIG_MEDIUM from './config_medium'
import { LayoutIndex } from './LayoutIndex'
import { LayoutSearch } from './LayoutSearch'
import { LayoutArchive } from './LayoutArchive'
import { LayoutSlug } from './LayoutSlug'
import { Layout404 } from './Layout404'
import { LayoutCategory } from './LayoutCategory'
import { LayoutCategoryIndex } from './LayoutCategoryIndex'
import { LayoutPage } from './LayoutPage'
import { LayoutTag } from './LayoutTag'
import { LayoutTagIndex } from './LayoutTagIndex'
export {
CONFIG_MEDIUM as THEME_CONFIG,
LayoutIndex,
LayoutSearch,
LayoutArchive,
LayoutSlug,
Layout404,
LayoutCategory,
LayoutCategoryIndex,
LayoutPage,
LayoutTag,
LayoutTagIndex
}

View File

@@ -29,3 +29,4 @@ export const Layout404 = props => {
</div>
</LayoutBase>
}
export default Layout404

View File

@@ -31,3 +31,5 @@ export const LayoutArchive = (props) => {
</LayoutBase>
)
}
export default LayoutArchive

View File

@@ -19,3 +19,5 @@ export const LayoutCategory = (props) => {
</div>
</LayoutBase>
}
export default LayoutCategory

View File

@@ -31,3 +31,5 @@ export const LayoutCategoryIndex = (props) => {
</LayoutBase>
)
}
export default LayoutCategoryIndex

View File

@@ -18,7 +18,10 @@ export const LayoutIndex = (props) => {
>
{BLOG.POST_LIST_STYLE !== 'page'
? <BlogPostListScroll {...props} showSummary={true} />
: <BlogPostListPage {...props} />
: <BlogPostListPage
export default LayoutIndex{...props} />
}
</LayoutBase>
}
export default LayoutIndex

View File

@@ -15,3 +15,5 @@ export const LayoutPage = (props) => {
</LayoutBase>
)
}
export default LayoutPage

View File

@@ -37,3 +37,5 @@ export const LayoutSearch = (props) => {
</LayoutBase>
)
}
export default LayoutSearch

View File

@@ -40,3 +40,5 @@ export const LayoutSlug = (props) => {
</LayoutBase>
)
}
export default LayoutSlug

View File

@@ -20,3 +20,5 @@ export const LayoutTag = (props) => {
</div>
</LayoutBase>
}
export default LayoutTag

View File

@@ -16,3 +16,5 @@ export const LayoutTagIndex = (props) => {
</div>
</LayoutBase>
}
export default LayoutTagIndex

View File

@@ -20,9 +20,10 @@ import NotionIcon from '@/components/NotionIcon'
* @returns
*/
export default function ArticleDetail(props) {
const { post, recommendPosts, prev, next, showArticleInfo } = props
const { post, recommendPosts, prev, next } = props
const url = BLOG.LINK + useRouter().asPath
const { locale } = useGlobal()
const showArticleInfo = CONFIG_NEXT.ARTICLE_INFO
const date = formatDate(post?.date?.start_date || post?.createdTime, locale.LOCALE)
return (

View File

@@ -31,7 +31,8 @@ const CONFIG_NEXT = {
WIDGET_TOC: true, // 移动端显示悬浮目录
ARTICLE_RELATE_POSTS: true, // 相关文章推荐
ARTICLE_COPYRIGHT: true // 文章版权声明
ARTICLE_COPYRIGHT: true, // 文章版权声明
ARTICLE_INFO: true // 显示文章信息
}

View File

@@ -1,25 +0,0 @@
import CONFIG_NEXT from './config_next'
import { LayoutIndex } from './LayoutIndex'
import { LayoutSearch } from './LayoutSearch'
import { LayoutArchive } from './LayoutArchive'
import { LayoutSlug } from './LayoutSlug'
import { Layout404 } from './Layout404'
import { LayoutCategory } from './LayoutCategory'
import { LayoutCategoryIndex } from './LayoutCategoryIndex'
import { LayoutPage } from './LayoutPage'
import { LayoutTag } from './LayoutTag'
import { LayoutTagIndex } from './LayoutTagIndex'
export {
CONFIG_NEXT as THEME_CONFIG,
LayoutIndex,
LayoutSearch,
LayoutArchive,
LayoutSlug,
Layout404,
LayoutCategory,
LayoutCategoryIndex,
LayoutPage,
LayoutTag,
LayoutTagIndex
}

View File

@@ -5,3 +5,5 @@ export const Layout404 = (props) => {
404 Not found.
</LayoutBase>
}
export default Layout404

View File

@@ -43,3 +43,5 @@ export const LayoutArchive = props => {
</LayoutBase>
)
}
export default LayoutArchive

View File

@@ -8,3 +8,5 @@ export const LayoutCategory = props => {
{BLOG.POST_LIST_STYLE === 'page' ? <BlogListPage {...props} /> : <BlogListScroll {...props} />}
</LayoutBase >
}
export default LayoutCategory

View File

@@ -25,3 +25,5 @@ export const LayoutCategoryIndex = (props) => {
</LayoutBase>
)
}
export default LayoutCategoryIndex

View File

@@ -13,3 +13,5 @@ export const LayoutIndex = props => {
</LayoutBase>
)
}
export default LayoutIndex

View File

@@ -8,3 +8,5 @@ export const LayoutPage = props => {
</LayoutBase>
)
}
export default LayoutPage

View File

@@ -54,3 +54,5 @@ export const LayoutSearch = props => {
</LayoutBase>
}
export default LayoutSearch

View File

@@ -31,3 +31,5 @@ export const LayoutSlug = props => {
</LayoutBase>
)
}
export default LayoutSlug

View File

@@ -55,3 +55,5 @@ export const LayoutTag = props => {
</div>
</LayoutBase >
}
export default LayoutTag

View File

@@ -27,3 +27,5 @@ export const LayoutTagIndex = (props) => {
</div> </LayoutBase>
)
}
export default LayoutTagIndex

View File

@@ -1,25 +0,0 @@
import CONFIG_NOBELIUM from './config_nobelium'
import { LayoutIndex } from './LayoutIndex'
import { LayoutSearch } from './LayoutSearch'
import { LayoutArchive } from './LayoutArchive'
import { LayoutSlug } from './LayoutSlug'
import { Layout404 } from './Layout404'
import { LayoutCategory } from './LayoutCategory'
import { LayoutCategoryIndex } from './LayoutCategoryIndex'
import { LayoutPage } from './LayoutPage'
import { LayoutTag } from './LayoutTag'
import { LayoutTagIndex } from './LayoutTagIndex'
export {
CONFIG_NOBELIUM as THEME_CONFIG,
LayoutIndex,
LayoutSearch,
LayoutArchive,
LayoutSlug,
Layout404,
LayoutCategory,
LayoutCategoryIndex,
LayoutPage,
LayoutTag,
LayoutTagIndex
}

View File

@@ -5,3 +5,5 @@ export const Layout404 = (props) => {
404 Not found.
</LayoutBase>
}
export default Layout404

View File

@@ -43,3 +43,5 @@ export const LayoutArchive = props => {
</LayoutBase>
)
}
export default LayoutArchive

View File

@@ -8,3 +8,5 @@ export const LayoutCategory = props => {
{BLOG.POST_LIST_STYLE === 'page' ? <BlogListPage {...props} /> : <BlogListScroll {...props} />}
</LayoutBase >
}
export default LayoutCategory

View File

@@ -24,3 +24,5 @@ export const LayoutCategoryIndex = props => {
</LayoutBase>
)
}
export default LayoutCategoryIndex

View File

@@ -11,3 +11,5 @@ export const LayoutIndex = props => {
</LayoutBase>
)
}
export default LayoutIndex

View File

@@ -8,3 +8,5 @@ export const LayoutPage = props => {
</LayoutBase>
)
}
export default LayoutPage

View File

@@ -48,3 +48,5 @@ export const LayoutSearch = props => {
</LayoutBase>
}
export default LayoutSearch

View File

@@ -33,3 +33,5 @@ export const LayoutSlug = props => {
</LayoutBase>
)
}
export default LayoutSlug

View File

@@ -8,3 +8,5 @@ export const LayoutTag = props => {
{BLOG.POST_LIST_STYLE === 'page' ? <BlogListPage {...props} /> : <BlogListScroll {...props} />}
</LayoutBase >
}
export default LayoutTag

View File

@@ -27,3 +27,5 @@ export const LayoutTagIndex = (props) => {
</div> </LayoutBase>
)
}
export default LayoutTagIndex

View File

@@ -1,25 +0,0 @@
import CONFIG_SIMPLE from './config_simple'
import { LayoutIndex } from './LayoutIndex'
import { LayoutSearch } from './LayoutSearch'
import { LayoutArchive } from './LayoutArchive'
import { LayoutSlug } from './LayoutSlug'
import { Layout404 } from './Layout404'
import { LayoutCategory } from './LayoutCategory'
import { LayoutCategoryIndex } from './LayoutCategoryIndex'
import { LayoutPage } from './LayoutPage'
import { LayoutTag } from './LayoutTag'
import { LayoutTagIndex } from './LayoutTagIndex'
export {
CONFIG_SIMPLE as THEME_CONFIG,
LayoutIndex,
LayoutSearch,
LayoutArchive,
LayoutSlug,
Layout404,
LayoutCategory,
LayoutCategoryIndex,
LayoutPage,
LayoutTag,
LayoutTagIndex
}