diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index 3e53fae1..5e42cbce 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -33,6 +33,11 @@ export default defineConfig({ appId: '8J64VVRP8K', apiKey: 'a18e2f4cc5665f6602c5631fd868adfd', indexName: 'vitepress' + }, + + carbonAds: { + code: 'CEBDT27Y', + placement: 'vuejsorg' } } }) @@ -66,7 +71,10 @@ function sidebarGuide() { }, { text: 'Theme', - items: [{ text: 'Introduction', link: '/guide/theme-introduction' }] + items: [ + { text: 'Introduction', link: '/guide/theme-introduction' }, + { text: 'Carbon Ads', link: '/guide/theme-carbon-ads' } + ] }, { text: 'Migrations', diff --git a/docs/config/theme-configs.md b/docs/config/theme-configs.md index e30843f8..d06ef78c 100644 --- a/docs/config/theme-configs.md +++ b/docs/config/theme-configs.md @@ -56,3 +56,29 @@ export interface Footer { copyright?: string } ``` + +## carbonAds + +- Type: `CarbonAds` + +A option to display [Carbon Ads](https://www.carbonads.net/). + +```ts +export default { + themeConfig: { + carbonAds: { + code: 'your-carbon-code', + placement: 'your-carbon-placement' + } + } +} +``` + +```ts +export interface CarbonAds { + code: string, + placement: string +} +``` + +Learn more in [Theme: Carbon Ads](../guide/theme-carbon-ads) diff --git a/docs/guide/theme-carbon-ads.md b/docs/guide/theme-carbon-ads.md new file mode 100644 index 00000000..1c0c170e --- /dev/null +++ b/docs/guide/theme-carbon-ads.md @@ -0,0 +1,22 @@ +# Carbon Ads + +VitePress has built in native support for [Carbon Ads](https://www.carbonads.net/). By defining the Carbon Ads credentials in config, VitePress will display ads on the page. + +```js +export default { + themeConfig: { + carbonAds: { + code: 'your-carbon-code', + placement: 'your-carbon-placement' + } + } +} +``` + +These values are used to call carbon CDN script as shown below. + +```js +`//cdn.carbonads.com/carbon.js?serve=${code}&placement=${placement}` +``` + +To learn more about Carbon Ads configuration, please visit [Carbon Ads website](https://www.carbonads.net/). diff --git a/src/client/shim.d.ts b/src/client/shim.d.ts index 2d25724b..f70ed15a 100644 --- a/src/client/shim.d.ts +++ b/src/client/shim.d.ts @@ -1,7 +1,6 @@ declare const __VP_HASH_MAP__: Record declare const __ALGOLIA__: boolean declare const __CARBON__: boolean -declare const __BSA__: boolean declare module '*.vue' { import { ComponentOptions } from 'vue' diff --git a/src/client/theme-default/components/VPCarbonAds.vue b/src/client/theme-default/components/VPCarbonAds.vue new file mode 100644 index 00000000..e3aba8bf --- /dev/null +++ b/src/client/theme-default/components/VPCarbonAds.vue @@ -0,0 +1,93 @@ + + + + + diff --git a/src/client/theme-default/components/VPDoc.vue b/src/client/theme-default/components/VPDoc.vue index fd2ffb33..cd79ca77 100644 --- a/src/client/theme-default/components/VPDoc.vue +++ b/src/client/theme-default/components/VPDoc.vue @@ -2,7 +2,7 @@ import { computed } from 'vue' import { useData } from 'vitepress' import { useSidebar } from '../composables/sidebar' -import VPDocOutline from './VPDocOutline.vue' +import VPDocAside from './VPDocAside.vue' import VPDocFooter from './VPDocFooter.vue' const { page } = useData() @@ -20,7 +20,7 @@ const pageName = computed(() => {
- +
diff --git a/src/client/theme-default/components/VPDocAside.vue b/src/client/theme-default/components/VPDocAside.vue new file mode 100644 index 00000000..7bb88da4 --- /dev/null +++ b/src/client/theme-default/components/VPDocAside.vue @@ -0,0 +1,20 @@ + + + + + diff --git a/src/client/theme-default/components/VPDocAsideCarbonAds.vue b/src/client/theme-default/components/VPDocAsideCarbonAds.vue new file mode 100644 index 00000000..061a94d8 --- /dev/null +++ b/src/client/theme-default/components/VPDocAsideCarbonAds.vue @@ -0,0 +1,13 @@ + + + diff --git a/src/client/theme-default/components/VPDocOutline.vue b/src/client/theme-default/components/VPDocAsideOutline.vue similarity index 94% rename from src/client/theme-default/components/VPDocOutline.vue rename to src/client/theme-default/components/VPDocAsideOutline.vue index 6c617002..f3da99c0 100644 --- a/src/client/theme-default/components/VPDocOutline.vue +++ b/src/client/theme-default/components/VPDocAsideOutline.vue @@ -28,7 +28,7 @@ function handleClick({ target: el }: Event) {