@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 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.4.1_@algolia+client-search@4.19.1_@types+node@20.6.3__5k3dgasc4a7imgevutmoj2zgtm/node_modules/vitepress-plugin-tabs/dist/index.js
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
- return;
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.4.1_@algolia+client-search@4.19.1_@types+node@20.6.3__5k3dgasc4a7imgevutmoj2zgtm/node_modules/vitepress-plugin-tabs/dist/index.js
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
- return;
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.0",
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.1.0",
66
- "sass": "^1.77.8",
65
+ "pagefind": "^1.2.0",
66
+ "sass": "^1.80.6",
67
67
  "typescript": "^5.4.5",
68
- "vite": "^5.2.11",
69
- "vitepress": "1.4.1",
70
- "vue": "^3.4.26",
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 { coverPreview } = useImageStyle()
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
- return inject(configSymbol)?.value?.blog?.imageStyle || {} as Theme.ImageStyleConfig
350
+ const blogConfig = useBlogConfig()
351
+ return computed<Theme.ImageStyleConfig>(() => blogConfig.value?.imageStyle || {})
351
352
  }
352
353
 
353
354
  export function useHomeAnalysis() {
354
- return inject(configSymbol)?.value?.blog?.home?.analysis
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
- return
243
+ if (env.mode === 'production') {
244
+ return
245
+ }
243
246
  }
244
247
  vitepressConfig.site.themeConfig.blog.pagesData = pagesData
245
248
  },