docus 5.6.1 → 5.7.0

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.
@@ -0,0 +1,14 @@
1
+ Copyright © Nucleo
2
+
3
+ Version 1.3, January 3, 2024
4
+
5
+ Nucleo Icons
6
+
7
+ https://nucleoapp.com/
8
+
9
+ - Redistribution of icons is prohibited.
10
+ - Icons are restricted for use only within the product they are bundled with.
11
+
12
+ For more details:
13
+
14
+ https://nucleoapp.com/license
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" id="artificial-intelligence" aria-hidden="true" viewBox="0 0 20 20"><title>artificial-intelligence</title><g fill="currentColor"><polyline fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" points="10.5 15 7 5 6 5 2.5 15"/><line x1="9.586" x2="3.414" y1="12.5" y2="12.5" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/><polyline fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" points="13.5 9 15.5 9 15.5 15"/><line x1="13.5" x2="17.5" y1="15" y2="15" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/><path fill="currentColor" stroke-width="0" d="m17.6527,3.9647l-1.2005-.4503-.4506-1.2005c-.1562-.4185-.8468-.4185-1.0031,0l-.4506,1.2005-1.2005.4503c-.2086.0785-.3474.2783-.3474.5015s.1388.4231.3474.5015l1.2005.4503.4506,1.2005c.0781.2093.2783.3477.5015.3477s.4234-.1385.5015-.3477l.4506-1.2005,1.2005-.4503c.2086-.0785.3474-.2783.3474-.5015s-.1388-.4231-.3474-.5015h0Z"/></g></svg>
@@ -1,13 +1,11 @@
1
1
  <script lang="ts" setup>
2
- import { computed } from 'vue'
3
-
4
2
  const props = withDefaults(defineProps<{ title?: string, description?: string, headline?: string }>(), {
5
3
  title: 'title',
6
4
  description: 'description',
7
5
  })
8
6
 
9
- const title = computed(() => (props.title || '').slice(0, 60))
10
- const description = computed(() => (props.description || '').slice(0, 200))
7
+ const title = (props.title || '').slice(0, 60)
8
+ const description = (props.description || '').slice(0, 200)
11
9
  </script>
12
10
 
13
11
  <template>
@@ -1,19 +1,37 @@
1
1
  <script lang="ts" setup>
2
- import { computed } from 'vue'
3
-
4
- const props = withDefaults(defineProps<{ title?: string, description?: string, headline?: string }>(), {
2
+ const props = withDefaults(defineProps<{ title?: string, description?: string }>(), {
5
3
  title: 'title',
6
4
  description: 'description',
7
5
  })
8
6
 
9
- const title = computed(() => (props.title || '').slice(0, 60))
10
- const description = computed(() => (props.description || '').slice(0, 200))
7
+ const appConfig = useAppConfig()
8
+ const logoPath = appConfig.header?.logo?.dark || appConfig.header?.logo?.light
9
+
10
+ const logoSvg = await fetchLogoSvg(logoPath)
11
+
12
+ const title = (props.title || '').slice(0, 60)
13
+ const description = (props.description || '').slice(0, 200)
14
+
15
+ async function fetchLogoSvg(path?: string): Promise<string> {
16
+ if (!path) return ''
17
+ try {
18
+ // eslint-disable-next-line
19
+ // @ts-ignore
20
+ const { url: siteUrl } = useSiteConfig()
21
+ const url = path.startsWith('http') ? path : `${siteUrl}${path}`
22
+ const svg = await $fetch<string>(url, { responseType: 'text' })
23
+ return svg.replace('<svg', '<svg width="100%" height="100%"')
24
+ }
25
+ catch {
26
+ return ''
27
+ }
28
+ }
11
29
  </script>
12
30
 
13
31
  <template>
14
32
  <div class="w-full h-full flex items-center justify-center bg-neutral-900">
15
33
  <svg
16
- class="absolute right-0 top-0 opacity-50 "
34
+ class="absolute right-0 top-0 opacity-50"
17
35
  width="629"
18
36
  height="593"
19
37
  viewBox="0 0 629 593"
@@ -54,19 +72,24 @@ const description = computed(() => (props.description || '').slice(0, 200))
54
72
  </defs>
55
73
  </svg>
56
74
 
57
- <div class="flex flex-col justify-center p-8">
58
- <div class="flex justify-center mb-8">
59
- <AppHeaderLogo white />
60
- </div>
75
+ <div
76
+ class="flex flex-col items-center justify-center p-8"
77
+ >
78
+ <div
79
+ v-if="logoSvg"
80
+ class="flex items-center justify-center mb-10 max-w-[900px]"
81
+ style="width: 72px; height: 72px;"
82
+ v-html="logoSvg"
83
+ />
61
84
  <h1
62
85
  v-if="title"
63
- class="flex justify-center m-0 text-5xl font-semibold mb-4 text-white"
86
+ class="m-0 text-5xl font-semibold mb-4 text-white text-center"
64
87
  >
65
- <span>{{ title }}</span>
88
+ {{ title }}
66
89
  </h1>
67
90
  <p
68
91
  v-if="description"
69
- class="text-center text-2xl text-neutral-300 leading-tight"
92
+ class="text-center text-2xl text-neutral-300 leading-tight max-w-[800px]"
70
93
  >
71
94
  {{ description }}
72
95
  </p>
@@ -6,15 +6,15 @@ const { toggle } = useAssistant()
6
6
  const { t } = useDocusI18n()
7
7
 
8
8
  const tooltipText = computed(() => t('assistant.tooltip'))
9
- const triggerIcon = computed(() => appConfig.assistant?.icons?.trigger || 'i-lucide-sparkles')
9
+ const triggerIcon = computed(() => appConfig.assistant?.icons?.trigger || 'i-custom-ai')
10
10
  </script>
11
11
 
12
12
  <template>
13
13
  <UTooltip :text="tooltipText">
14
14
  <UButton
15
15
  :icon="triggerIcon"
16
+ color="neutral"
16
17
  variant="ghost"
17
- class="rounded-full"
18
18
  @click="toggle"
19
19
  />
20
20
  </UTooltip>
package/nuxt.config.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { join } from 'node:path'
1
2
  import { extendViteConfig, createResolver, useNuxt } from '@nuxt/kit'
2
3
 
3
4
  const { resolve } = createResolver(import.meta.url)
@@ -8,6 +9,15 @@ export default defineNuxtConfig({
8
9
  resolve('./modules/routing'),
9
10
  resolve('./modules/markdown-rewrite'),
10
11
  resolve('./modules/css'),
12
+ () => {
13
+ const nuxt = useNuxt()
14
+ nuxt.options.icon ||= {}
15
+ nuxt.options.icon.customCollections ||= []
16
+ nuxt.options.icon.customCollections.push({
17
+ prefix: 'custom',
18
+ dir: join(nuxt.options.srcDir, 'assets/icons'),
19
+ })
20
+ },
11
21
  '@nuxt/ui',
12
22
  '@nuxt/content',
13
23
  '@nuxt/image',
@@ -94,6 +104,16 @@ export default defineNuxtConfig({
94
104
  },
95
105
  },
96
106
  icon: {
107
+ customCollections: [
108
+ {
109
+ prefix: 'custom',
110
+ dir: resolve('./app/assets/icons'),
111
+ },
112
+ ],
113
+ clientBundle: {
114
+ scan: true,
115
+ includeCustomCollections: true,
116
+ },
97
117
  provider: 'iconify',
98
118
  },
99
119
  robots: {
package/nuxt.schema.ts CHANGED
@@ -266,7 +266,7 @@ export default defineNuxtSchema({
266
266
  assistant: group({
267
267
  title: 'Assistant',
268
268
  description: 'Assistant configuration.',
269
- icon: 'i-lucide-sparkles',
269
+ icon: 'i-custom-ai',
270
270
  fields: {
271
271
  floatingInput: field({
272
272
  type: 'boolean',
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "docus",
3
3
  "description": "Nuxt layer for Docus documentation theme",
4
- "version": "5.6.1",
4
+ "version": "5.7.0",
5
5
  "type": "module",
6
6
  "main": "./nuxt.config.ts",
7
7
  "repository": {
@@ -28,10 +28,10 @@
28
28
  "@iconify-json/lucide": "^1.2.91",
29
29
  "@iconify-json/simple-icons": "^1.2.71",
30
30
  "@iconify-json/vscode-icons": "^1.2.43",
31
- "@nuxt/content": "^3.11.2",
31
+ "@nuxt/content": "^3.12.0",
32
32
  "@nuxt/image": "^2.0.0",
33
33
  "@nuxt/kit": "^4.3.1",
34
- "@nuxt/ui": "^4.4.0",
34
+ "@nuxt/ui": "^4.5.0",
35
35
  "@nuxtjs/i18n": "^10.2.3",
36
36
  "@nuxtjs/mcp-toolkit": "^0.7.0",
37
37
  "@nuxtjs/mdc": "^0.20.1",
@@ -41,7 +41,6 @@
41
41
  "defu": "^6.1.4",
42
42
  "exsolve": "^1.0.8",
43
43
  "git-url-parse": "^16.1.0",
44
- "minimark": "^1.0.0",
45
44
  "motion-v": "^1.10.3",
46
45
  "nuxt-llms": "^0.2.0",
47
46
  "nuxt-og-image": "^5.1.13",