Skip to content

Commit

Permalink
feat: 允许index和文章内使用不同的图片
Browse files Browse the repository at this point in the history
  • Loading branch information
zkz098 committed Nov 25, 2023
1 parent ca01f61 commit beae805
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 4 deletions.
2 changes: 1 addition & 1 deletion layout/_mixin/segment.pug
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ mixin SMRender(item)
div(class="cover" style=`background: linear-gradient(to bottom right, ${random_color()}, ${random_color()});`)
else
div(class="cover")
!= _url(link1, '<img data-src="'+ _cover(item) +'" alt="article cover">', {itemprop: 'url', title: postText})
!= _url(link1, '<img data-src="'+ _cover_index(item) +'" alt="article cover">', {itemprop: 'url', title: postText})
div(class="info")
+PMRender(item)
h3
Expand Down
9 changes: 7 additions & 2 deletions scripts/generaters/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,12 @@ hexo.extend.filter.register('before_generate', () => {
if (data.images && data.images.length >= 6) {
hexo.theme.config.image_list = data.images
} else {
// @ts-ignore
hexo.theme.config.image_list = yaml.load(fs.readFileSync(path.join(__dirname, '../../_images.yml')) as string)
hexo.theme.config.image_list = yaml.load(fs.readFileSync(path.join(__dirname, '../../_images.yml'), { encoding: 'utf-8' }))
}

if (fs.existsSync(path.join(__dirname, '../../_images_index.yml'))) {
hexo.theme.config.index_images = yaml.load(fs.readFileSync(path.join(__dirname, '../../_images_index.yml'), { encoding: 'utf-8' }))
} else {
hexo.theme.config.index_images = []
}
})
14 changes: 13 additions & 1 deletion scripts/helpers/engine.ts
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ hexo.extend.helper.register('_image_url', function (img, path = '') {
}
})

hexo.extend.helper.register('_cover', function (item, num) {
hexo.extend.helper.register('_cover', function (item, num?) {
const { image_server, image_list } = hexo.theme.config

if (item.cover) {
Expand All @@ -138,6 +138,18 @@ hexo.extend.helper.register('_cover', function (item, num) {
}
})

hexo.extend.helper.register('_cover_index', function (item) {
const { index_images, image_list, image_server } = hexo.theme.config

if (item.cover) {
return this._image_url(item.cover, item.path)
} else if (item.photos && item.photos.length > 0) {
return this._image_url(item.photos[0], item.path)
} else {
return randomBG(1, image_server, index_images.length === 0 ? image_list : index_images)
}
})

// 注册hexo主题的永久链接帮助方法
hexo.extend.helper.register('_permapath', function (str) {
// 获取hexo的永久链接配置
Expand Down

0 comments on commit beae805

Please sign in to comment.