diff --git a/lib/db/getSiteData.js b/lib/db/getSiteData.js
index 74b7ad3c..55c76a92 100755
--- a/lib/db/getSiteData.js
+++ b/lib/db/getSiteData.js
@@ -201,7 +201,7 @@ function getCustomMenu({ collectionData, NOTION_CONFIG }) {
e.to = e.slug
} else {
e.target = '_self'
- if (e?.slug?.indexOf('/') !== 0) {
+ if (e?.slug?.indexOf('http') !== 0 && e?.slug?.indexOf('/') !== 0) {
e.to = '/' + e.slug
}
}
diff --git a/lib/notion/getNotionPost.js b/lib/notion/getNotionPost.js
index beb3bf56..3e096a11 100644
--- a/lib/notion/getNotionPost.js
+++ b/lib/notion/getNotionPost.js
@@ -1,8 +1,8 @@
import BLOG from '@/blog.config'
import { idToUuid } from 'notion-utils'
+import { defaultMapImageUrl } from 'react-notion-x'
import formatDate from '../utils/formatDate'
import { getPostBlocks } from './getPostBlocks'
-import { defaultMapImageUrl } from 'react-notion-x'
/**
* 根据页面ID获取内容
@@ -23,11 +23,22 @@ export async function getPost(pageId) {
tags: [],
title: postInfo?.properties?.title?.[0],
status: 'Published',
- createdTime: formatDate(new Date(postInfo.created_time).toString(), BLOG.LANG),
- lastEditedDay: formatDate(new Date(postInfo?.last_edited_time).toString(), BLOG.LANG),
- fullWidth: postInfo?.fullWidth,
- page_cover: getPageCover(postInfo),
- date: { start_date: formatDate(new Date(postInfo?.last_edited_time).toString(), BLOG.LANG) },
+ createdTime: formatDate(
+ new Date(postInfo.created_time).toString(),
+ BLOG.LANG
+ ),
+ lastEditedDay: formatDate(
+ new Date(postInfo?.last_edited_time).toString(),
+ BLOG.LANG
+ ),
+ fullWidth: postInfo?.fullWidth || false,
+ page_cover: getPageCover(postInfo) || BLOG.HOME_BANNER_IMAGE,
+ date: {
+ start_date: formatDate(
+ new Date(postInfo?.last_edited_time).toString(),
+ BLOG.LANG
+ )
+ },
blockMap
}
}
@@ -36,6 +47,7 @@ function getPageCover(postInfo) {
const pageCover = postInfo.format?.page_cover
if (pageCover) {
if (pageCover.startsWith('/')) return BLOG.NOTION_HOST + pageCover
- if (pageCover.startsWith('http')) return defaultMapImageUrl(pageCover, postInfo)
+ if (pageCover.startsWith('http'))
+ return defaultMapImageUrl(pageCover, postInfo)
}
}
diff --git a/lib/notion/getPageProperties.js b/lib/notion/getPageProperties.js
index fe93146a..765521a9 100644
--- a/lib/notion/getPageProperties.js
+++ b/lib/notion/getPageProperties.js
@@ -15,7 +15,13 @@ import { mapImgUrl } from './mapImage'
* @param {*} tagOptions
* @returns
*/
-export default async function getPageProperties(id, value, schema, authToken, tagOptions) {
+export default async function getPageProperties(
+ id,
+ value,
+ schema,
+ authToken,
+ tagOptions
+) {
const rawProperties = Object.entries(value?.properties || [])
const excludeProperties = ['date', 'select', 'multi_select', 'person']
const properties = {}
@@ -49,7 +55,8 @@ export default async function getPageProperties(id, value, schema, authToken, ta
if (rawUsers[i][0][1]) {
const userId = rawUsers[i][0]
const res = await api.getUsers(userId)
- const resValue = res?.recordMapWithRoles?.notion_user?.[userId[1]]?.value
+ const resValue =
+ res?.recordMapWithRoles?.notion_user?.[userId[1]]?.value
const user = {
id: resValue?.id,
first_name: resValue?.given_name,
@@ -72,7 +79,8 @@ export default async function getPageProperties(id, value, schema, authToken, ta
const fieldNames = BLOG.NOTION_PROPERTY_NAME
if (fieldNames) {
Object.keys(fieldNames).forEach(key => {
- if (fieldNames[key] && properties[fieldNames[key]]) properties[key] = properties[fieldNames[key]]
+ if (fieldNames[key] && properties[fieldNames[key]])
+ properties[key] = properties[fieldNames[key]]
})
}
@@ -84,25 +92,41 @@ export default async function getPageProperties(id, value, schema, authToken, ta
// 映射值:用户个性化type和status字段的下拉框选项,在此映射回代码的英文标识
mapProperties(properties)
- properties.publishDate = new Date(properties?.date?.start_date || value.created_time).getTime()
+ properties.publishDate = new Date(
+ properties?.date?.start_date || value.created_time
+ ).getTime()
properties.publishDay = formatDate(properties.publishDate, BLOG.LANG)
properties.lastEditedDate = new Date(value?.last_edited_time)
- properties.lastEditedDay = formatDate(new Date(value?.last_edited_time), BLOG.LANG)
- properties.fullWidth = value.format?.page_full_width ?? false
+ properties.lastEditedDay = formatDate(
+ new Date(value?.last_edited_time),
+ BLOG.LANG
+ )
+ properties.fullWidth = value?.format?.page_full_width ?? false
properties.pageIcon = mapImgUrl(value?.format?.page_icon, value) ?? ''
properties.pageCover = mapImgUrl(value?.format?.page_cover, value) ?? ''
- properties.pageCoverThumbnail = mapImgUrl(value?.format?.page_cover, value, 'block', 'pageCoverThumbnail') ?? ''
+ properties.pageCoverThumbnail =
+ mapImgUrl(
+ value?.format?.page_cover,
+ value,
+ 'block',
+ 'pageCoverThumbnail'
+ ) ?? ''
properties.ext = converToJSON(properties?.ext)
properties.content = value.content ?? []
properties.tagItems =
properties?.tags?.map(tag => {
- return { name: tag, color: tagOptions?.find(t => t.value === tag)?.color || 'gray' }
+ return {
+ name: tag,
+ color: tagOptions?.find(t => t.value === tag)?.color || 'gray'
+ }
}) || []
delete properties.content
// 处理URL
if (properties.type === 'Post') {
- properties.slug = BLOG.POST_URL_PREFIX ? generateCustomizeUrl(properties) : properties.slug ?? properties.id
+ properties.slug = BLOG.POST_URL_PREFIX
+ ? generateCustomizeUrl(properties)
+ : properties.slug ?? properties.id
} else if (properties.type === 'Page') {
properties.slug = properties.slug ?? properties.id
} else if (properties.type === 'Menu' || properties.type === 'SubMenu') {
@@ -113,12 +137,17 @@ export default async function getPageProperties(id, value, schema, authToken, ta
// 开启伪静态路径
if (JSON.parse(BLOG.PSEUDO_STATIC)) {
- if (!properties?.slug?.endsWith('.html') && !properties?.slug?.startsWith('http')) {
+ if (
+ !properties?.slug?.endsWith('.html') &&
+ !properties?.slug?.startsWith('http')
+ ) {
properties.slug += '.html'
}
}
// 密码字段md5
- properties.password = properties.password ? md5(properties.slug + properties.password) : ''
+ properties.password = properties.password
+ ? md5(properties.slug + properties.password)
+ : ''
return properties
}
@@ -177,7 +206,10 @@ function generateCustomizeUrl(postProperties) {
fullPrefix += formatPostCreatedDate.getUTCFullYear()
} else if (pattern === '%month%' && postProperties?.publishDay) {
const formatPostCreatedDate = new Date(postProperties?.publishDay)
- fullPrefix += String(formatPostCreatedDate.getUTCMonth() + 1).padStart(2, 0)
+ fullPrefix += String(formatPostCreatedDate.getUTCMonth() + 1).padStart(
+ 2,
+ 0
+ )
} else if (pattern === '%day%' && postProperties?.publishDay) {
const formatPostCreatedDate = new Date(postProperties?.publishDay)
fullPrefix += String(formatPostCreatedDate.getUTCDate()).padStart(2, 0)
diff --git a/styles/notion.css b/styles/notion.css
index 0843443f..2bc799f4 100644
--- a/styles/notion.css
+++ b/styles/notion.css
@@ -72,7 +72,7 @@
line-height: 1.5;
color: var(--fg-color);
caret-color: var(--fg-color);
- font-family: inherit;
+ font-family: inherit !important;
}
.notion > * {
@@ -2064,7 +2064,8 @@ code.language-mermaid {
border: 1px solid var(#eee) !important;
}
-/* 竖屏视频高度bug */
+/* 视频尺寸bug */
figure.notion-asset-wrapper.notion-asset-wrapper-video > div {
height: 100% !important;
+ width: 100% !important;
}
diff --git a/themes/game/components/GameListIndexCombine.js b/themes/game/components/GameListIndexCombine.js
index e106905f..681efd27 100644
--- a/themes/game/components/GameListIndexCombine.js
+++ b/themes/game/components/GameListIndexCombine.js
@@ -147,7 +147,7 @@ const GameItem = ({ item, isLargeCard }) => {
{
setShowType('video')
diff --git a/themes/game/components/Header.js b/themes/game/components/Header.js
index f0d5d043..58c95233 100644
--- a/themes/game/components/Header.js
+++ b/themes/game/components/Header.js
@@ -10,7 +10,7 @@ export default function Header(props) {
const { setSideBarVisible } = useGameGlobal()
return (