@sugarat/theme 0.5.0 → 0.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/node.js +21 -5
- package/node.mjs +21 -5
- package/package.json +6 -6
- package/src/components/BlogHomeOverview.vue +1 -1
- package/src/components/BlogItem.vue +3 -2
- package/src/composables/config/blog.ts +4 -2
- package/src/node.ts +14 -1
- package/src/utils/node/vitePlugins.ts +6 -3
package/node.js
CHANGED
|
@@ -41,7 +41,7 @@ module.exports = __toCommonJS(node_exports);
|
|
|
41
41
|
// src/utils/node/mdPlugins.ts
|
|
42
42
|
var import_module = require("module");
|
|
43
43
|
|
|
44
|
-
// ../../node_modules/.pnpm/vitepress-plugin-tabs@0.2.0_vitepress@1.
|
|
44
|
+
// ../../node_modules/.pnpm/vitepress-plugin-tabs@0.2.0_vitepress@1.5.0_@algolia+client-search@4.19.1_@types+node@20.6.3__hxsuj227nyqox5emdzcwg6gwva/node_modules/vitepress-plugin-tabs/dist/index.js
|
|
45
45
|
var tabsMarker = "=tabs";
|
|
46
46
|
var tabsMarkerLen = tabsMarker.length;
|
|
47
47
|
var ruleBlockTabs = (state, startLine, endLine, silent) => {
|
|
@@ -571,7 +571,8 @@ function getVitePlugins(cfg = {}) {
|
|
|
571
571
|
}
|
|
572
572
|
function registerVitePlugins(vpCfg, plugins) {
|
|
573
573
|
vpCfg.vite = {
|
|
574
|
-
plugins
|
|
574
|
+
plugins,
|
|
575
|
+
...vpCfg.vite
|
|
575
576
|
};
|
|
576
577
|
}
|
|
577
578
|
function inlineInjectMermaidClient() {
|
|
@@ -675,7 +676,7 @@ function coverImgTransform() {
|
|
|
675
676
|
function providePageData(cfg) {
|
|
676
677
|
return {
|
|
677
678
|
name: "@sugarat/theme-plugin-provide-page-data",
|
|
678
|
-
async config(config) {
|
|
679
|
+
async config(config, env) {
|
|
679
680
|
const vitepressConfig = config.vitepress;
|
|
680
681
|
const pagesData = await getArticles(cfg, vitepressConfig);
|
|
681
682
|
if (vitepressConfig.site.locales && Object.keys(vitepressConfig.site.locales).length > 1) {
|
|
@@ -696,7 +697,9 @@ function providePageData(cfg) {
|
|
|
696
697
|
return route.startsWith(`/${localeKey}`);
|
|
697
698
|
});
|
|
698
699
|
});
|
|
699
|
-
|
|
700
|
+
if (env.mode === "production") {
|
|
701
|
+
return;
|
|
702
|
+
}
|
|
700
703
|
}
|
|
701
704
|
vitepressConfig.site.themeConfig.blog.pagesData = pagesData;
|
|
702
705
|
}
|
|
@@ -736,7 +739,20 @@ function getThemeConfig(cfg = {}) {
|
|
|
736
739
|
cfg.mermaid = cfg.mermaid ?? false;
|
|
737
740
|
const pagesData = [];
|
|
738
741
|
const extraVPConfig = {
|
|
739
|
-
vite: {
|
|
742
|
+
vite: {
|
|
743
|
+
// see https://sass-lang.com/documentation/breaking-changes/legacy-js-api/
|
|
744
|
+
css: {
|
|
745
|
+
preprocessorOptions: {
|
|
746
|
+
scss: {
|
|
747
|
+
api: "modern"
|
|
748
|
+
}
|
|
749
|
+
}
|
|
750
|
+
},
|
|
751
|
+
build: {
|
|
752
|
+
// https://vite.dev/config/build-options.html#build-chunksizewarninglimit
|
|
753
|
+
chunkSizeWarningLimit: 2048
|
|
754
|
+
}
|
|
755
|
+
}
|
|
740
756
|
};
|
|
741
757
|
const vitePlugins = getVitePlugins(cfg);
|
|
742
758
|
registerVitePlugins(extraVPConfig, vitePlugins);
|
package/node.mjs
CHANGED
|
@@ -9,7 +9,7 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
|
|
|
9
9
|
// src/utils/node/mdPlugins.ts
|
|
10
10
|
import { createRequire } from "module";
|
|
11
11
|
|
|
12
|
-
// ../../node_modules/.pnpm/vitepress-plugin-tabs@0.2.0_vitepress@1.
|
|
12
|
+
// ../../node_modules/.pnpm/vitepress-plugin-tabs@0.2.0_vitepress@1.5.0_@algolia+client-search@4.19.1_@types+node@20.6.3__hxsuj227nyqox5emdzcwg6gwva/node_modules/vitepress-plugin-tabs/dist/index.js
|
|
13
13
|
var tabsMarker = "=tabs";
|
|
14
14
|
var tabsMarkerLen = tabsMarker.length;
|
|
15
15
|
var ruleBlockTabs = (state, startLine, endLine, silent) => {
|
|
@@ -539,7 +539,8 @@ function getVitePlugins(cfg = {}) {
|
|
|
539
539
|
}
|
|
540
540
|
function registerVitePlugins(vpCfg, plugins) {
|
|
541
541
|
vpCfg.vite = {
|
|
542
|
-
plugins
|
|
542
|
+
plugins,
|
|
543
|
+
...vpCfg.vite
|
|
543
544
|
};
|
|
544
545
|
}
|
|
545
546
|
function inlineInjectMermaidClient() {
|
|
@@ -643,7 +644,7 @@ function coverImgTransform() {
|
|
|
643
644
|
function providePageData(cfg) {
|
|
644
645
|
return {
|
|
645
646
|
name: "@sugarat/theme-plugin-provide-page-data",
|
|
646
|
-
async config(config) {
|
|
647
|
+
async config(config, env) {
|
|
647
648
|
const vitepressConfig = config.vitepress;
|
|
648
649
|
const pagesData = await getArticles(cfg, vitepressConfig);
|
|
649
650
|
if (vitepressConfig.site.locales && Object.keys(vitepressConfig.site.locales).length > 1) {
|
|
@@ -664,7 +665,9 @@ function providePageData(cfg) {
|
|
|
664
665
|
return route.startsWith(`/${localeKey}`);
|
|
665
666
|
});
|
|
666
667
|
});
|
|
667
|
-
|
|
668
|
+
if (env.mode === "production") {
|
|
669
|
+
return;
|
|
670
|
+
}
|
|
668
671
|
}
|
|
669
672
|
vitepressConfig.site.themeConfig.blog.pagesData = pagesData;
|
|
670
673
|
}
|
|
@@ -704,7 +707,20 @@ function getThemeConfig(cfg = {}) {
|
|
|
704
707
|
cfg.mermaid = cfg.mermaid ?? false;
|
|
705
708
|
const pagesData = [];
|
|
706
709
|
const extraVPConfig = {
|
|
707
|
-
vite: {
|
|
710
|
+
vite: {
|
|
711
|
+
// see https://sass-lang.com/documentation/breaking-changes/legacy-js-api/
|
|
712
|
+
css: {
|
|
713
|
+
preprocessorOptions: {
|
|
714
|
+
scss: {
|
|
715
|
+
api: "modern"
|
|
716
|
+
}
|
|
717
|
+
}
|
|
718
|
+
},
|
|
719
|
+
build: {
|
|
720
|
+
// https://vite.dev/config/build-options.html#build-chunksizewarninglimit
|
|
721
|
+
chunkSizeWarningLimit: 2048
|
|
722
|
+
}
|
|
723
|
+
}
|
|
708
724
|
};
|
|
709
725
|
const vitePlugins = getVitePlugins(cfg);
|
|
710
726
|
registerVitePlugins(extraVPConfig, vitePlugins);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sugarat/theme",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.2",
|
|
4
4
|
"description": "简约风的 Vitepress 博客主题,sugarat vitepress blog theme",
|
|
5
5
|
"author": "sugar",
|
|
6
6
|
"license": "MIT",
|
|
@@ -62,12 +62,12 @@
|
|
|
62
62
|
"@element-plus/icons-vue": "^2.3.1",
|
|
63
63
|
"artalk": "^2.8.5",
|
|
64
64
|
"element-plus": "^2.7.2",
|
|
65
|
-
"pagefind": "^1.
|
|
66
|
-
"sass": "^1.
|
|
65
|
+
"pagefind": "^1.2.0",
|
|
66
|
+
"sass": "^1.80.6",
|
|
67
67
|
"typescript": "^5.4.5",
|
|
68
|
-
"vite": "^5.
|
|
69
|
-
"vitepress": "1.
|
|
70
|
-
"vue": "^3.
|
|
68
|
+
"vite": "^5.4.9",
|
|
69
|
+
"vitepress": "1.5.0",
|
|
70
|
+
"vue": "^3.5.12",
|
|
71
71
|
"vitepress-plugin-51la": "0.1.0"
|
|
72
72
|
},
|
|
73
73
|
"scripts": {
|
|
@@ -33,7 +33,7 @@ const currentWeek = computed(() => {
|
|
|
33
33
|
})
|
|
34
34
|
|
|
35
35
|
const analysis = useHomeAnalysis()
|
|
36
|
-
const titles = computed(() => (frontmatter.value?.blog?.analysis?.articles?.title || analysis?.articles?.title || []))
|
|
36
|
+
const titles = computed(() => (frontmatter.value?.blog?.analysis?.articles?.title || analysis?.value?.articles?.title || []))
|
|
37
37
|
</script>
|
|
38
38
|
|
|
39
39
|
<template>
|
|
@@ -30,14 +30,15 @@ function handleSkipDoc() {
|
|
|
30
30
|
router.go(link.value)
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
const
|
|
33
|
+
const imageStyle = useImageStyle()
|
|
34
|
+
const coverPreview = computed(() => imageStyle.value.coverPreview)
|
|
34
35
|
|
|
35
36
|
const resultCover = computed(() => {
|
|
36
37
|
if (!props.cover) {
|
|
37
38
|
return ''
|
|
38
39
|
}
|
|
39
40
|
const baseCover = withBase(props.cover)
|
|
40
|
-
const coverRule = [coverPreview]
|
|
41
|
+
const coverRule = [coverPreview.value]
|
|
41
42
|
.flat()
|
|
42
43
|
.filter(v => !!v)
|
|
43
44
|
.find((coverRule) => {
|
|
@@ -347,11 +347,13 @@ export function useCleanUrls() {
|
|
|
347
347
|
}
|
|
348
348
|
|
|
349
349
|
export function useImageStyle() {
|
|
350
|
-
|
|
350
|
+
const blogConfig = useBlogConfig()
|
|
351
|
+
return computed<Theme.ImageStyleConfig>(() => blogConfig.value?.imageStyle || {})
|
|
351
352
|
}
|
|
352
353
|
|
|
353
354
|
export function useHomeAnalysis() {
|
|
354
|
-
|
|
355
|
+
const home = useHomeConfig()
|
|
356
|
+
return computed(() => home.value?.analysis)
|
|
355
357
|
}
|
|
356
358
|
|
|
357
359
|
export function useAnalyzeTitles(wordCount: Ref<number>, readTime: ComputedRef<number>) {
|
package/src/node.ts
CHANGED
|
@@ -23,7 +23,20 @@ export function getThemeConfig(cfg: Partial<Theme.BlogConfig> = {}) {
|
|
|
23
23
|
// 文章数据
|
|
24
24
|
const pagesData: Theme.PageData[] = []
|
|
25
25
|
const extraVPConfig: any = {
|
|
26
|
-
vite: {
|
|
26
|
+
vite: {
|
|
27
|
+
// see https://sass-lang.com/documentation/breaking-changes/legacy-js-api/
|
|
28
|
+
css: {
|
|
29
|
+
preprocessorOptions: {
|
|
30
|
+
scss: {
|
|
31
|
+
api: 'modern',
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
build: {
|
|
36
|
+
// https://vite.dev/config/build-options.html#build-chunksizewarninglimit
|
|
37
|
+
chunkSizeWarningLimit: 2048
|
|
38
|
+
}
|
|
39
|
+
},
|
|
27
40
|
}
|
|
28
41
|
|
|
29
42
|
// 获取要加载的vite插件
|
|
@@ -64,7 +64,8 @@ export function getVitePlugins(cfg: Partial<Theme.BlogConfig> = {}) {
|
|
|
64
64
|
|
|
65
65
|
export function registerVitePlugins(vpCfg: any, plugins: any[]) {
|
|
66
66
|
vpCfg.vite = {
|
|
67
|
-
plugins
|
|
67
|
+
plugins,
|
|
68
|
+
...vpCfg.vite,
|
|
68
69
|
}
|
|
69
70
|
}
|
|
70
71
|
|
|
@@ -216,7 +217,7 @@ export function coverImgTransform() {
|
|
|
216
217
|
export function providePageData(cfg: Partial<Theme.BlogConfig>) {
|
|
217
218
|
return {
|
|
218
219
|
name: '@sugarat/theme-plugin-provide-page-data',
|
|
219
|
-
async config(config: any) {
|
|
220
|
+
async config(config: any, env) {
|
|
220
221
|
const vitepressConfig: SiteConfig = config.vitepress
|
|
221
222
|
const pagesData = await getArticles(cfg, vitepressConfig)
|
|
222
223
|
if (vitepressConfig.site.locales && Object.keys(vitepressConfig.site.locales).length > 1) {
|
|
@@ -239,7 +240,9 @@ export function providePageData(cfg: Partial<Theme.BlogConfig>) {
|
|
|
239
240
|
return route.startsWith(`/${localeKey}`)
|
|
240
241
|
})
|
|
241
242
|
})
|
|
242
|
-
|
|
243
|
+
if (env.mode === 'production') {
|
|
244
|
+
return
|
|
245
|
+
}
|
|
243
246
|
}
|
|
244
247
|
vitepressConfig.site.themeConfig.blog.pagesData = pagesData
|
|
245
248
|
},
|