@wot-ui/vitepress-theme 2.0.0-alpha.20 → 2.0.0-alpha.21
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/README.md +6 -0
- package/dist/theme/components/AsideSponsors.vue +20 -5
- package/dist/types.d.ts +15 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -96,6 +96,11 @@ export default createWotVitePressTheme({
|
|
|
96
96
|
},
|
|
97
97
|
cases: {
|
|
98
98
|
urls: ['https://api.example.com/cases.json']
|
|
99
|
+
},
|
|
100
|
+
specialSponsor: {
|
|
101
|
+
urls: ['https://api.example.com/sponsor.json'],
|
|
102
|
+
enabled: true,
|
|
103
|
+
sponsorLink: '/reward/sponsor'
|
|
99
104
|
}
|
|
100
105
|
})
|
|
101
106
|
```
|
|
@@ -135,6 +140,7 @@ const { data: sponsors } = useSponsor()
|
|
|
135
140
|
- `analytics.trackBaiduRoute`: 开启后,在路由变化时调用 `_hmt.push(['_trackPageview'])`。
|
|
136
141
|
- `demoIframe`: 配置右侧手机模拟器相关选项。
|
|
137
142
|
- `banner` / `sponsors` / `ads` / `team` / `friendly` / `cases`: 提供给对应功能模块的请求地址数组(支持多线路重试)。
|
|
143
|
+
- `specialSponsor`: 特别赞助位配置,支持赞助数据源 `urls`、右侧赞助位显示开关 `enabled`,以及开通赞助位跳转地址 `sponsorLink`。
|
|
138
144
|
|
|
139
145
|
## 构建要求
|
|
140
146
|
|
|
@@ -1,8 +1,23 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
-
import { computed } from 'vue'
|
|
2
|
+
import { computed, inject } from 'vue'
|
|
3
3
|
import { useSpecialSponsor } from '../composables/specialSponsor'
|
|
4
|
+
import { wotThemeOptionsKey } from '../options'
|
|
4
5
|
|
|
5
6
|
const { data } = useSpecialSponsor()
|
|
7
|
+
const options = inject(wotThemeOptionsKey)
|
|
8
|
+
const defaultSponsorLink = '/reward/sponsor'
|
|
9
|
+
|
|
10
|
+
const specialSponsorOptions = computed(() => {
|
|
11
|
+
return options?.specialSponsor === false ? null : options?.specialSponsor
|
|
12
|
+
})
|
|
13
|
+
|
|
14
|
+
const showAsideSponsors = computed(() => {
|
|
15
|
+
return specialSponsorOptions.value?.enabled !== false
|
|
16
|
+
})
|
|
17
|
+
|
|
18
|
+
const sponsorLink = computed(() => {
|
|
19
|
+
return specialSponsorOptions.value?.sponsorLink || defaultSponsorLink
|
|
20
|
+
})
|
|
6
21
|
|
|
7
22
|
// 分离超级赞助和金牌赞助
|
|
8
23
|
const superSponsors = computed(() => {
|
|
@@ -20,8 +35,8 @@ const isGoldSponsorsOdd = computed(() => {
|
|
|
20
35
|
</script>
|
|
21
36
|
|
|
22
37
|
<template>
|
|
23
|
-
<div class="VPDocAsideSponsors">
|
|
24
|
-
<a class="sponsors-aside-text" href="
|
|
38
|
+
<div v-if="showAsideSponsors" class="VPDocAsideSponsors">
|
|
39
|
+
<a class="sponsors-aside-text" :href="sponsorLink">赞助位</a>
|
|
25
40
|
<div class="VPSponsors vp-sponsor aside">
|
|
26
41
|
<!-- 超级赞助:一行一个 -->
|
|
27
42
|
<section class="vp-sponsor-section" v-if="superSponsors?.items.length">
|
|
@@ -52,7 +67,7 @@ const isGoldSponsorsOdd = computed(() => {
|
|
|
52
67
|
</div>
|
|
53
68
|
<!-- 当金牌赞助为奇数时,默认赞助位填补到金牌赞助位置 -->
|
|
54
69
|
<div class="vp-sponsor-grid-item" v-if="isGoldSponsorsOdd">
|
|
55
|
-
<a class="vp-sponsor-grid-link" href="
|
|
70
|
+
<a class="vp-sponsor-grid-link" :href="sponsorLink" rel="sponsored noopener">
|
|
56
71
|
<article class="vp-sponsor-grid-box">
|
|
57
72
|
<span class="vp-sponsor-grid-text">成为赞助商</span>
|
|
58
73
|
</article>
|
|
@@ -65,7 +80,7 @@ const isGoldSponsorsOdd = computed(() => {
|
|
|
65
80
|
<section class="vp-sponsor-section" v-if="!isGoldSponsorsOdd || !goldSponsors?.items.length">
|
|
66
81
|
<div class="VPSponsorsGrid vp-sponsor-grid xmini" data-vp-grid="1">
|
|
67
82
|
<div class="vp-sponsor-grid-item">
|
|
68
|
-
<a class="vp-sponsor-grid-link" href="
|
|
83
|
+
<a class="vp-sponsor-grid-link" :href="sponsorLink" rel="sponsored noopener">
|
|
69
84
|
<article class="vp-sponsor-grid-box">
|
|
70
85
|
<span class="vp-sponsor-grid-text">成为赞助商</span>
|
|
71
86
|
</article>
|
package/dist/types.d.ts
CHANGED
|
@@ -27,6 +27,19 @@ export interface WotThemeSponsorOptions {
|
|
|
27
27
|
*/
|
|
28
28
|
urls: string[];
|
|
29
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* 特别赞助位配置。
|
|
32
|
+
*/
|
|
33
|
+
export interface WotThemeSpecialSponsorOptions extends WotThemeSponsorOptions {
|
|
34
|
+
/**
|
|
35
|
+
* 是否显示文档右侧赞助位,默认为 true。
|
|
36
|
+
*/
|
|
37
|
+
enabled?: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* 开通赞助位跳转地址。
|
|
40
|
+
*/
|
|
41
|
+
sponsorLink?: string;
|
|
42
|
+
}
|
|
30
43
|
/**
|
|
31
44
|
* 广告位配置。
|
|
32
45
|
*/
|
|
@@ -107,7 +120,7 @@ export interface WotVitePressThemeOptions {
|
|
|
107
120
|
/**
|
|
108
121
|
* 特别赞助位配置,传入 false 表示关闭。
|
|
109
122
|
*/
|
|
110
|
-
specialSponsor?: false |
|
|
123
|
+
specialSponsor?: false | WotThemeSpecialSponsorOptions;
|
|
111
124
|
/**
|
|
112
125
|
* 广告位配置,传入 false 表示关闭。
|
|
113
126
|
*/
|
|
@@ -300,7 +313,7 @@ export interface WotResolvedThemeOptions {
|
|
|
300
313
|
/**
|
|
301
314
|
* 归一化后的特别赞助位配置。
|
|
302
315
|
*/
|
|
303
|
-
specialSponsor: false |
|
|
316
|
+
specialSponsor: false | WotThemeSpecialSponsorOptions;
|
|
304
317
|
}
|
|
305
318
|
/**
|
|
306
319
|
* 过滤空值后的有效 Vite 插件类型。
|