add lazy image loading

This commit is contained in:
锦恢 2025-05-31 21:23:06 +08:00
parent aa13405c40
commit 2c5721b6b1
3 changed files with 8 additions and 3 deletions

View File

@ -4,6 +4,7 @@ import { GitChangelog, GitChangelogMarkdownSection } from '@nolebase/vitepress-p
import { InlineLinkPreviewElementTransform } from '@nolebase/vitepress-plugin-inline-link-preview/markdown-it'; import { InlineLinkPreviewElementTransform } from '@nolebase/vitepress-plugin-inline-link-preview/markdown-it';
import { ThumbnailHashImages } from '@nolebase/vitepress-plugin-thumbnail-hash/vite'; import { ThumbnailHashImages } from '@nolebase/vitepress-plugin-thumbnail-hash/vite';
import { BiDirectionalLinks } from '@nolebase/markdown-it-bi-directional-links'; import { BiDirectionalLinks } from '@nolebase/markdown-it-bi-directional-links';
import { UnlazyImages } from '@nolebase/markdown-it-unlazy-img';
import { contributors } from './contributors'; import { contributors } from './contributors';
import { withMermaid } from "vitepress-plugin-mermaid"; import { withMermaid } from "vitepress-plugin-mermaid";
@ -45,6 +46,7 @@ export default withMermaid({
noExternal: [ noExternal: [
// 如果还有别的依赖需要添加的话,并排填写和配置到这里即可 // // 如果还有别的依赖需要添加的话,并排填写和配置到这里即可 //
'@nolebase/vitepress-plugin-inline-link-preview', '@nolebase/vitepress-plugin-inline-link-preview',
'@unlazy/vue'
], ],
}, },
}, },
@ -54,6 +56,9 @@ export default withMermaid({
md.use(lightbox); md.use(lightbox);
md.use(InlineLinkPreviewElementTransform); md.use(InlineLinkPreviewElementTransform);
md.use(BiDirectionalLinks()); md.use(BiDirectionalLinks());
md.use(UnlazyImages(), {
imgElementTag: 'NolebaseUnlazyImg',
});
} }
}, },

View File

@ -1,8 +1,6 @@
@font-face { @font-face {
font-family: "iconfont"; /* Project id 4933953 */ font-family: "iconfont"; /* Project id 4933953 */
src: url('iconfont.woff2?t=1748520733313') format('woff2'), src: url('iconfont.woff2?t=1748520733313') format('woff2');
url('iconfont.woff?t=1748520733313') format('woff'),
url('iconfont.ttf?t=1748520733313') format('truetype');
} }
.iconfont { .iconfont {

View File

@ -13,6 +13,7 @@ import Contributors from './components/Contributors/index.vue';
import { NolebaseGitChangelogPlugin } from '@nolebase/vitepress-plugin-git-changelog/client'; import { NolebaseGitChangelogPlugin } from '@nolebase/vitepress-plugin-git-changelog/client';
import { NolebaseInlineLinkPreviewPlugin } from '@nolebase/vitepress-plugin-inline-link-preview/client'; import { NolebaseInlineLinkPreviewPlugin } from '@nolebase/vitepress-plugin-inline-link-preview/client';
import { NolebaseUnlazyImg } from '@nolebase/vitepress-plugin-thumbnail-hash/client';
import { ElCollapse, ElCollapseItem, ElTimeline, ElTimelineItem } from 'element-plus'; import { ElCollapse, ElCollapseItem, ElTimeline, ElTimelineItem } from 'element-plus';
@ -35,6 +36,7 @@ export default {
app.component('BiliPlayer', BiliPlayer); app.component('BiliPlayer', BiliPlayer);
app.component('KNavItem', KNavItem); app.component('KNavItem', KNavItem);
app.component('Contributors', Contributors); app.component('Contributors', Contributors);
app.component('NolebaseUnlazyImg', NolebaseUnlazyImg);
app.component('el-collapse', ElCollapse); app.component('el-collapse', ElCollapse);
app.component('el-collapse-item', ElCollapseItem); app.component('el-collapse-item', ElCollapseItem);