Skip to content

Commit 8c8abd7

Browse files
committed
movie 允许自动分集
1 parent d8ea243 commit 8c8abd7

File tree

2 files changed

+11
-7
lines changed

2 files changed

+11
-7
lines changed

themes/movie/config.js

+2
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ const CONFIG = {
1010

1111
MOVIE_ARTICLE_RECOMMEND: true, // 推荐关联内容在文章底部
1212
MOVIE_VIDEO_COMBINE: true, // 聚合视频,开启后一篇文章内的多个含caption的视频会被合并到文章开头,并展示分集按钮
13+
MOVIE_VIDEO_COMBINE_AUTO: true, //没有caption的视频也加入聚合,并且自动编号
14+
MOVIE_VIDEO_COMBINE_SHOW_PAGE_FORCE: false, // 即使只有一集也显示集数切换按钮
1315

1416
MOVIE_POST_LIST_COVER: true // 列表显示文章封面
1517
}

themes/movie/index.js

+9-7
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,6 @@ const LayoutSlug = props => {
170170
assetWrappers.forEach((wrapper, index) => {
171171
// 检查 .notion-asset-wrapper 元素是否有子元素 figcaption
172172
const figCaption = wrapper.querySelector('figcaption')
173-
if (!figCaption) return // 如果没有子元素 figcaption,则不处理该元素
174173

175174
// 检查 .notion-asset-wrapper 元素是否有 notion-asset-wrapper-video 或 notion-asset-wrapper-embed 类
176175
if (
@@ -179,8 +178,10 @@ const LayoutSlug = props => {
179178
)
180179
return
181180

181+
if (!figCaption && siteConfig('MOVIE_VIDEO_COMBINE_AUTO', false, CONFIG)) return // 如果没有子元素 figcaption,则不处理该元素
182+
182183
// 获取 figcaption 的文本内容并添加到数组中
183-
const figCaptionValue = figCaption.textContent.trim()
184+
const figCaptionValue = figCaption ? figCaption?.textContent?.trim() : `P-${index}`
184185
figCaptionValues.push(figCaptionValue)
185186

186187
// 创建一个新的 div 元素用于包裹当前的 .notion-asset-wrapper 元素
@@ -223,13 +224,14 @@ const LayoutSlug = props => {
223224
figCaptionWrapper.appendChild(div)
224225
})
225226

226-
// 条件是带有caption的视频数量大于1个,否则不处理
227-
if (figCaptionValues.length > 1) {
228-
// 将包含 figcaption 值的容器元素添加到 notion-article 的第一个子元素插入
229-
videoWrapper.appendChild(carouselWrapper)
227+
// 将包含 figcaption 值的容器元素添加到 notion-article 的第一个子元素插入
228+
videoWrapper.appendChild(carouselWrapper)
229+
// 显示分集按钮 ,caption的视频数量大于1个
230+
if (figCaptionValues.length > 1 || siteConfig('MOVIE_VIDEO_COMBINE_SHOW_PAGE_FORCE', false, CONFIG)) {
230231
videoWrapper.appendChild(figCaptionWrapper)
231-
notionArticle.insertBefore(videoWrapper, notionArticle.firstChild)
232232
}
233+
234+
notionArticle.insertBefore(videoWrapper, notionArticle.firstChild)
233235
}
234236

235237
setTimeout(() => {

0 commit comments

Comments
 (0)