diff --git a/app.config.ts b/app.config.ts
index b30b20027..85dde8281 100644
--- a/app.config.ts
+++ b/app.config.ts
@@ -4,6 +4,8 @@ export default defineAppConfig({
description: 'The best place to start your documentation.',
+ url: 'https://docus.dev',
+
image: 'https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png',
socials: {},
@@ -41,6 +43,6 @@ export default defineAppConfig({
repo: undefined,
owner: undefined,
edit: false
- }
+ },
}
})
diff --git a/components/app/AppSearch.vue b/components/app/AppSearch.vue
index 03ebddca3..181c1ecfd 100644
--- a/components/app/AppSearch.vue
+++ b/components/app/AppSearch.vue
@@ -164,6 +164,14 @@ function closeButtonHandler() {
}
}
+onMounted (() => {
+ const route = useRoute()
+ if (route.query.q) {
+ show.value = true
+ q.value = route.query.q
+ }
+})
+
// Scroll to selected item on change
watch(selected, value => {
const nextId = results?.value?.[value]?.item?.id
diff --git a/layouts/page.vue b/layouts/page.vue
index c6168d4be..6b15e11b9 100644
--- a/layouts/page.vue
+++ b/layouts/page.vue
@@ -1,5 +1,12 @@
@@ -17,10 +24,10 @@ const { config } = useDocus()
diff --git a/nuxt.config.ts b/nuxt.config.ts
index f1b7ad3be..4420bb6cd 100644
--- a/nuxt.config.ts
+++ b/nuxt.config.ts
@@ -99,7 +99,8 @@ export default defineNuxtConfig({
},
nitro: {
prerender: {
- ignore: ['/__pinceau_tokens_config.json', '/__pinceau_tokens_schema.json']
+ ignore: ['/__pinceau_tokens_config.json', '/__pinceau_tokens_schema.json'],
+ routes: ['/opensearch.xml']
}
},
})
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 6b72fdd30..8af4258ad 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -1,4 +1,8 @@
-lockfileVersion: '6.0'
+lockfileVersion: '6.1'
+
+settings:
+ autoInstallPeers: true
+ excludeLinksFromLockfile: false
settings:
autoInstallPeers: true
diff --git a/server/routes/opensearch.xml.ts b/server/routes/opensearch.xml.ts
new file mode 100644
index 000000000..288e6340a
--- /dev/null
+++ b/server/routes/opensearch.xml.ts
@@ -0,0 +1,12 @@
+export default defineEventHandler(async () => {
+ const config = useAppConfig()
+ return '\n' +
+ '\n' +
+ ' ' + config?.docus?.title + '\n' +
+ ' ' + config?.docus?.description + '\n' +
+ ' ' + config?.docus?.url + '/favicon.ico\n' +
+ ' \n' +
+ ' \n' +
+ ' \n' +
+ ''
+})