11import dotenv from 'dotenv' ;
22/* @ts -expect-error */
33import mdFootnote from 'markdown-it-footnote' ;
4- import { defineConfig , type HeadConfig } from 'vitepress' ;
4+ import { defineConfigWithTheme , type DefaultTheme , type HeadConfig } from 'vitepress' ;
55import { defaultGroupLink , sidebarLinks } from '../docs/links' ;
66
77dotenv . config ( ) ;
88
99const BASE = '/' ;
1010const BASE_WITH_ORIGIN = `https://developer.stackblitz.com${ BASE } ` ;
1111
12- export default defineConfig ( {
12+ interface ThemeConfig extends DefaultTheme . Config {
13+ chatlio : {
14+ id : string | undefined ,
15+ allowedRoutes : ( RegExp | string ) [ ] ,
16+ }
17+ }
18+
19+ export default defineConfigWithTheme < ThemeConfig > ( {
1320 srcDir : './docs' ,
1421 outDir : `./build${ BASE } ` ,
1522 assetsDir : 'assets' ,
@@ -95,6 +102,10 @@ export default defineConfig({
95102 '/platform/webcontainers/' : sidebarLinks ( 'main' , [ 'webcontainers' ] ) ,
96103 '/enterprise/' : sidebarLinks ( 'enterprise' , [ 'enterprise' ] ) ,
97104 } ,
105+ chatlio : {
106+ allowedRoutes : [ `^${ BASE } teams/.*` , `^${ BASE } enterprise/.*` ] ,
107+ id : process . env . VITE_CHATLIO_ID ,
108+ }
98109 } ,
99110
100111 postRender ( context ) {
@@ -106,6 +117,16 @@ export default defineConfig({
106117 md . use ( mdFootnote ) ;
107118 } ,
108119 } ,
120+
121+ vue : {
122+ template : {
123+ compilerOptions : {
124+ isCustomElement : ( tag ) => {
125+ return [ "chatlio-widget" ] . includes ( tag . toLowerCase ( ) ) ;
126+ }
127+ }
128+ }
129+ } ,
109130} ) ;
110131
111132function getAnalyticsTags ( env : NodeJS . ProcessEnv ) : HeadConfig [ ] {
0 commit comments