@wordup-md/nuxt-layer-shadcn-unocss 0.2.10 → 0.2.12

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.
@@ -1,7 +1,7 @@
1
1
  export default defineAppConfig({
2
2
  shadcnDocs: {
3
3
  site: {
4
- name: 'Shadcn Site',
4
+ name: 'WordUp Demo Site',
5
5
  description: 'Beautifully designed Nuxt Content template built with shadcn-vue and unocss.',
6
6
  ogImage: '/hero.png',
7
7
  ogImageComponent: 'ShadcnDocs',
@@ -25,7 +25,7 @@ export default defineAppConfig({
25
25
  border: true,
26
26
  },
27
27
  header: {
28
- title: 'Shadcn Site',
28
+ title: 'WordUp Demo Site',
29
29
  showTitle: true,
30
30
  logo: {
31
31
  light: '/logo.svg',
@@ -147,7 +147,7 @@ export default defineAppConfig({
147
147
  },
148
148
  },
149
149
  footer: {
150
- credits: 'Made with ❤️ by [**Emmanuel Salomon**](https://github.com/ManUtopiK/) with [WordUp](https://wordup.md)',
150
+ credits: 'Made with ❤️ by [Emmanuel Salomon](https://github.com/ManUtopiK/) with :icon{.rotate-x-180.translate-y-1 name="i-pajamas:markdown-mark-solid"} [WordUp.md](https://wordup.md)',
151
151
  links: [
152
152
  {
153
153
  title: 'shadcn-vue',
@@ -1,5 +1,5 @@
1
1
  ---
2
- title: Markdown
2
+ title: Markdown is fun!
3
3
  description: How to write content with Markdown syntax
4
4
  icon: i-pajamas:markdown-mark-solid
5
5
  ---
@@ -10,26 +10,14 @@ Its goal is to allow users to write using an easy-to-read and easy-to-write plai
10
10
 
11
11
  This minimalism makes Markdown ideal for documentation, web writing, collaborative editing, bots and LLMs processing, AI content generation...
12
12
 
13
- ::div{.w-full.flex.items-center.gap-2.mt-5}
14
- :div[:robot:]{.text-3xl.mt--2}
15
-
16
- :div[:heart:]{.text-xl}
17
-
18
- :icon{name="vscode-icons:file-type-markdown" .text-4xl}
19
- ::
20
-
21
- ::alert
22
- ---
23
- to: /content-elements
24
- icon: lucide:box
25
- ---
13
+ ::alert{icon="lucide:box" to="/content-elements"}
26
14
  Learn more about **markdown syntax**, and how to use it.
27
15
  ::
28
16
 
29
17
  ::alert
30
18
  ---
31
- to: https://daringfireball.net/projects/markdown/
32
19
  icon: i-pajamas:markdown-mark-solid
20
+ to: https://daringfireball.net/projects/markdown/
33
21
  ---
34
22
  Open the original **Markdown specification**.
35
23
  ::
@@ -40,17 +28,17 @@ MarkDown Components (MDC) supercharges regular Markdown to allow writing interac
40
28
 
41
29
  ::alert
42
30
  ---
43
- to: /components
44
31
  icon: lucide:box
32
+ to: /components
45
33
  ---
46
34
  Learn more about **MDC components**, and how to use them.
47
35
  ::
48
36
 
49
37
  ::alert
50
38
  ---
51
- to: https://content.nuxt.com/usage/markdown
52
- target: _blank
53
39
  icon: lucide:arrow-big-down
40
+ target: _blank
41
+ to: https://content.nuxt.com/usage/markdown
54
42
  ---
55
43
  Read the detailed MDC usage guide in the **Nuxt Content** Docs.
56
44
  ::
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  title: Card test
3
3
  toc: false
4
+ navigation: false
4
5
  ---
5
6
 
6
7
  ## Basic
@@ -1,5 +1,6 @@
1
1
  ---
2
- title: Test
2
+ title: AI
3
+ icon: i-lucide:bot
3
4
  layout: editorial
4
5
  header:
5
6
  position: over
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  title: test 2
3
+ navigation: false
3
4
  ---
4
5
 
5
6
  ::mdc-example
@@ -4,6 +4,7 @@ layout: editorial
4
4
  toc: false
5
5
  aside: false
6
6
  breadcrumb: false
7
+ navigation: false
7
8
  ---
8
9
 
9
10
  ## Basic
@@ -39,7 +39,7 @@ export default defineNuxtConfig({
39
39
  },
40
40
 
41
41
  i18n: {
42
- defaultLocale: 'fr',
42
+ defaultLocale: 'en',
43
43
  },
44
44
 
45
45
  unocss: {
@@ -47,6 +47,7 @@ export default defineNuxtConfig({
47
47
  },
48
48
 
49
49
  unpress: {
50
- // autoMountIfDevMode: false,
50
+ autoMountIfDevMode: true,
51
+ allowMountWithoutLogin: true,
51
52
  },
52
53
  })
@@ -11,7 +11,7 @@
11
11
  <NuxtLink
12
12
  :to
13
13
  class="container flex items-stretch w-full md:px-8 h-full"
14
- @click.stop="navigate"
14
+ @click.prevent.stop="navigate"
15
15
  >
16
16
  <div class="hidden lg:block" />
17
17
  <MDC
@@ -20,7 +20,7 @@
20
20
  />
21
21
  </NuxtLink>
22
22
 
23
- <div class="absolute right-0 top-0 w-full h-full">
23
+ <div class="absolute right-0 top-0 h-full">
24
24
  <div class="container h-full flex items-stretch justify-end">
25
25
  <UiButton
26
26
  v-if="showClose"
@@ -0,0 +1,15 @@
1
+ <script setup lang="ts">
2
+ import type { ComboboxRootEmits, ComboboxRootProps } from 'reka-ui'
3
+ import { ComboboxRoot, useForwardPropsEmits } from 'reka-ui'
4
+
5
+ const props = defineProps<ComboboxRootProps>()
6
+ const emits = defineEmits<ComboboxRootEmits>()
7
+
8
+ const forwarded = useForwardPropsEmits(props, emits)
9
+ </script>
10
+
11
+ <template>
12
+ <ComboboxRoot v-bind="forwarded">
13
+ <slot />
14
+ </ComboboxRoot>
15
+ </template>
@@ -0,0 +1,22 @@
1
+ <script setup lang="ts">
2
+ import type { ComboboxAnchorProps } from 'reka-ui'
3
+ import type { HTMLAttributes } from 'vue'
4
+ import { reactiveOmit } from '@vueuse/core'
5
+ import { ComboboxAnchor, useForwardProps } from 'reka-ui'
6
+ import { cn } from '@/lib/utils'
7
+
8
+ const props = defineProps<ComboboxAnchorProps & { class?: HTMLAttributes['class'] }>()
9
+
10
+ const delegatedProps = reactiveOmit(props, 'class')
11
+
12
+ const forwarded = useForwardProps(delegatedProps)
13
+ </script>
14
+
15
+ <template>
16
+ <ComboboxAnchor
17
+ v-bind="forwarded"
18
+ :class="cn('w-[200px]', props.class)"
19
+ >
20
+ <slot />
21
+ </ComboboxAnchor>
22
+ </template>
@@ -0,0 +1,20 @@
1
+ <script setup lang="ts">
2
+ import type { ComboboxEmptyProps } from 'reka-ui'
3
+ import type { HTMLAttributes } from 'vue'
4
+ import { reactiveOmit } from '@vueuse/core'
5
+ import { ComboboxEmpty } from 'reka-ui'
6
+ import { cn } from '@/lib/utils'
7
+
8
+ const props = defineProps<ComboboxEmptyProps & { class?: HTMLAttributes['class'] }>()
9
+
10
+ const delegatedProps = reactiveOmit(props, 'class')
11
+ </script>
12
+
13
+ <template>
14
+ <ComboboxEmpty
15
+ v-bind="delegatedProps"
16
+ :class="cn('py-6 text-center text-sm', props.class)"
17
+ >
18
+ <slot />
19
+ </ComboboxEmpty>
20
+ </template>
@@ -0,0 +1,29 @@
1
+ <script setup lang="ts">
2
+ import type { ComboboxGroupProps } from 'reka-ui'
3
+ import type { HTMLAttributes } from 'vue'
4
+ import { reactiveOmit } from '@vueuse/core'
5
+ import { ComboboxGroup, ComboboxLabel } from 'reka-ui'
6
+ import { cn } from '@/lib/utils'
7
+
8
+ const props = defineProps<ComboboxGroupProps & {
9
+ class?: HTMLAttributes['class']
10
+ heading?: string
11
+ }>()
12
+
13
+ const delegatedProps = reactiveOmit(props, 'class')
14
+ </script>
15
+
16
+ <template>
17
+ <ComboboxGroup
18
+ v-bind="delegatedProps"
19
+ :class="cn('overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground', props.class)"
20
+ >
21
+ <ComboboxLabel
22
+ v-if="heading"
23
+ class="px-2 py-1.5 text-xs font-medium text-muted-foreground"
24
+ >
25
+ {{ heading }}
26
+ </ComboboxLabel>
27
+ <slot />
28
+ </ComboboxGroup>
29
+ </template>
@@ -0,0 +1,26 @@
1
+ <script setup lang="ts">
2
+ import type { ComboboxInputEmits, ComboboxInputProps } from 'reka-ui'
3
+ import type { HTMLAttributes } from 'vue'
4
+ import { reactiveOmit } from '@vueuse/core'
5
+ import { ComboboxInput, useForwardPropsEmits } from 'reka-ui'
6
+ import { cn } from '@/lib/utils'
7
+
8
+ const props = defineProps<ComboboxInputProps & {
9
+ class?: HTMLAttributes['class']
10
+ }>()
11
+
12
+ const emits = defineEmits<ComboboxInputEmits>()
13
+
14
+ const delegatedProps = reactiveOmit(props, 'class')
15
+
16
+ const forwarded = useForwardPropsEmits(delegatedProps, emits)
17
+ </script>
18
+
19
+ <template>
20
+ <ComboboxInput
21
+ v-bind="forwarded"
22
+ :class="cn('flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50', props.class)"
23
+ >
24
+ <slot />
25
+ </ComboboxInput>
26
+ </template>
@@ -0,0 +1,23 @@
1
+ <script setup lang="ts">
2
+ import type { ComboboxItemEmits, ComboboxItemProps } from 'reka-ui'
3
+ import type { HTMLAttributes } from 'vue'
4
+ import { reactiveOmit } from '@vueuse/core'
5
+ import { ComboboxItem, useForwardPropsEmits } from 'reka-ui'
6
+ import { cn } from '@/lib/utils'
7
+
8
+ const props = defineProps<ComboboxItemProps & { class?: HTMLAttributes['class'] }>()
9
+ const emits = defineEmits<ComboboxItemEmits>()
10
+
11
+ const delegatedProps = reactiveOmit(props, 'class')
12
+
13
+ const forwarded = useForwardPropsEmits(delegatedProps, emits)
14
+ </script>
15
+
16
+ <template>
17
+ <ComboboxItem
18
+ v-bind="forwarded"
19
+ :class="cn('relative flex cursor-default gap-2 select-none justify-between items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:size-4 [&_svg]:shrink-0', props.class)"
20
+ >
21
+ <slot />
22
+ </ComboboxItem>
23
+ </template>
@@ -0,0 +1,31 @@
1
+ <script setup lang="ts">
2
+ import type { ComboboxContentEmits, ComboboxContentProps } from 'reka-ui'
3
+ import type { HTMLAttributes } from 'vue'
4
+ import { reactiveOmit } from '@vueuse/core'
5
+ import { ComboboxContent, ComboboxPortal, ComboboxViewport, useForwardPropsEmits } from 'reka-ui'
6
+ import { cn } from '@/lib/utils'
7
+
8
+ const props = withDefaults(defineProps<ComboboxContentProps & { class?: HTMLAttributes['class'] }>(), {
9
+ position: 'popper',
10
+ align: 'center',
11
+ sideOffset: 4,
12
+ })
13
+ const emits = defineEmits<ComboboxContentEmits>()
14
+
15
+ const delegatedProps = reactiveOmit(props, 'class')
16
+
17
+ const forwarded = useForwardPropsEmits(delegatedProps, emits)
18
+ </script>
19
+
20
+ <template>
21
+ <ComboboxPortal>
22
+ <ComboboxContent
23
+ v-bind="forwarded"
24
+ :class="cn('z-50 w-[200px] rounded-md border bg-popover text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2', props.class)"
25
+ >
26
+ <ComboboxViewport>
27
+ <slot />
28
+ </ComboboxViewport>
29
+ </ComboboxContent>
30
+ </ComboboxPortal>
31
+ </template>
@@ -0,0 +1,20 @@
1
+ <script setup lang="ts">
2
+ import type { ComboboxSeparatorProps } from 'reka-ui'
3
+ import type { HTMLAttributes } from 'vue'
4
+ import { reactiveOmit } from '@vueuse/core'
5
+ import { ComboboxSeparator } from 'reka-ui'
6
+ import { cn } from '@/lib/utils'
7
+
8
+ const props = defineProps<ComboboxSeparatorProps & { class?: HTMLAttributes['class'] }>()
9
+
10
+ const delegatedProps = reactiveOmit(props, 'class')
11
+ </script>
12
+
13
+ <template>
14
+ <ComboboxSeparator
15
+ v-bind="delegatedProps"
16
+ :class="cn('-mx-1 h-px bg-border', props.class)"
17
+ >
18
+ <slot />
19
+ </ComboboxSeparator>
20
+ </template>
@@ -0,0 +1,23 @@
1
+ <script setup lang="ts">
2
+ import type { ComboboxTriggerProps } from 'reka-ui'
3
+ import type { HTMLAttributes } from 'vue'
4
+ import { reactiveOmit } from '@vueuse/core'
5
+ import { ComboboxTrigger, useForwardProps } from 'reka-ui'
6
+ import { cn } from '@/lib/utils'
7
+
8
+ const props = defineProps<ComboboxTriggerProps & { class?: HTMLAttributes['class'] }>()
9
+
10
+ const delegatedProps = reactiveOmit(props, 'class')
11
+
12
+ const forwarded = useForwardProps(delegatedProps)
13
+ </script>
14
+
15
+ <template>
16
+ <ComboboxTrigger
17
+ v-bind="forwarded"
18
+ :class="cn('', props.class)"
19
+ tabindex="0"
20
+ >
21
+ <slot />
22
+ </ComboboxTrigger>
23
+ </template>
@@ -0,0 +1,10 @@
1
+ export { default as Combobox } from './Combobox.vue'
2
+ export { default as ComboboxAnchor } from './ComboboxAnchor.vue'
3
+ export { default as ComboboxEmpty } from './ComboboxEmpty.vue'
4
+ export { default as ComboboxGroup } from './ComboboxGroup.vue'
5
+ export { default as ComboboxInput } from './ComboboxInput.vue'
6
+ export { default as ComboboxItem } from './ComboboxItem.vue'
7
+ export { default as ComboboxList } from './ComboboxList.vue'
8
+ export { default as ComboboxSeparator } from './ComboboxSeparator.vue'
9
+
10
+ export { ComboboxCancel, ComboboxItemIndicator, ComboboxTrigger } from 'reka-ui'
@@ -30,7 +30,7 @@ export function useI18nDocs() {
30
30
  }
31
31
  return nav._path.startsWith(`/${locale.value}`)
32
32
  })
33
- console.log(locale.value, 'aa', !!defaultLocale, 'pp', filteredNav)
33
+
34
34
  return locale.value === defaultLocale ? filteredNav : filteredNav[0]?.children
35
35
  })
36
36
 
package/nuxt.config.ts CHANGED
@@ -14,8 +14,8 @@ export default defineNuxtConfig({
14
14
  '@nuxt/icon',
15
15
  '@nuxtjs/color-mode',
16
16
  '@nuxtjs/i18n',
17
- '@unpress/nuxt-module',
18
- // '../../../unpress/packages/nuxt-module/src/module',
17
+ // '@unpress/nuxt-module',
18
+ '../../../unpress/packages/nuxt-module/src/module',
19
19
  // 'nuxt-og-image',
20
20
  ],
21
21
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@wordup-md/nuxt-layer-shadcn-unocss",
3
3
  "type": "module",
4
- "version": "0.2.10",
4
+ "version": "0.2.12",
5
5
  "author": "Emmanuel Salomon <emmanuel.salomon@gmail.com>",
6
6
  "main": "./nuxt.config.ts",
7
7
  "repository": {
@@ -16,6 +16,19 @@
16
16
  "wordup-md"
17
17
  ],
18
18
  "license": "MIT",
19
+ "scripts": {
20
+ "dev": "nuxi dev .playground",
21
+ "dev:root": "nuxi dev",
22
+ "prepare": "nuxt prepare .playground",
23
+ "build": "nuxt build .playground",
24
+ "generate": "nuxt generate .playground",
25
+ "preview": "nuxt preview .playground",
26
+ "lint": "eslint .",
27
+ "build:json-doc": "tsx scripts/buildContentDoc-cli.ts",
28
+ "bump": "pnpm build:json-doc && bumpp --skip-install --commit --push --tag",
29
+ "release": "pnpm bump && npm publish",
30
+ "clean": "find . -name 'node_modules' -type d -prune -exec rm -rf '{}' + && find . -name '.nuxt' -type d -prune -exec rm -rf '{}' + && find . -name '.output' -type d -prune -exec rm -rf '{}' + && find . -name 'dist' -prune -exec rm -rf '{}' +"
31
+ },
19
32
  "devDependencies": {
20
33
  "@nuxt/eslint": "latest",
21
34
  "@nuxt/kit": "^3.17.2",
@@ -54,16 +67,9 @@
54
67
  "tailwind-merge": "^3.2.0"
55
68
  },
56
69
  "packageManager": "pnpm@10.4.1",
57
- "scripts": {
58
- "dev": "nuxi dev .playground",
59
- "dev:root": "nuxi dev",
60
- "build": "nuxt build .playground",
61
- "generate": "nuxt generate .playground",
62
- "preview": "nuxt preview .playground",
63
- "lint": "eslint .",
64
- "build:json-doc": "tsx scripts/buildContentDoc-cli.ts",
65
- "bump": "pnpm build:json-doc && bumpp --skip-install --commit --push --tag",
66
- "release": "pnpm bump && npm publish",
67
- "clean": "find . -name 'node_modules' -type d -prune -exec rm -rf '{}' + && find . -name '.nuxt' -type d -prune -exec rm -rf '{}' + && find . -name '.output' -type d -prune -exec rm -rf '{}' + && find . -name 'dist' -prune -exec rm -rf '{}' +"
70
+ "pnpm": {
71
+ "onlyBuiltDependencies": [
72
+ "sharp"
73
+ ]
68
74
  }
69
- }
75
+ }
@@ -15,10 +15,10 @@
15
15
  "title": "Writing",
16
16
  "children": [
17
17
  {
18
- "title": "Markdown",
18
+ "title": "Markdown is fun!",
19
19
  "_id": "content:1.getting-started:2.writing:1.markdown.md",
20
20
  "_path": "getting-started/writing/markdown",
21
- "content": "\n\nMarkdown is a lightweight markup language designed to provide a simple and readable syntax with minimal markup.\n\nIts goal is to allow users to write using an easy-to-read and easy-to-write plain text that can be easily converted to structurally valid HTML or other rich text formats, focusing on content over formatting.\n\nThis minimalism makes Markdown ideal for documentation, web writing, collaborative editing, bots and LLMs processing, AI content generation...\n\n::div{.w-full.flex.items-center.gap-2.mt-5}\n:div[:robot:]{.text-3xl.mt--2}\n\n:div[:heart:]{.text-xl}\n\n:icon{name=\"vscode-icons:file-type-markdown\" .text-4xl}\n::\n\n::alert\n---\nto: /content-elements\nicon: lucide:box\n---\nLearn more about **markdown syntax**, and how to use it.\n::\n\n::alert\n---\nto: https://daringfireball.net/projects/markdown/\nicon: i-pajamas:markdown-mark-solid\n---\nOpen the original **Markdown specification**.\n::\n\n## MarkDown Components (MDC)\n\nMarkDown Components (MDC) supercharges regular Markdown to allow writing interactive components.\n\n::alert\n---\nto: /components\nicon: lucide:box\n---\nLearn more about **MDC components**, and how to use them.\n::\n\n::alert\n---\nto: https://content.nuxt.com/usage/markdown\ntarget: _blank\nicon: lucide:arrow-big-down\n---\nRead the detailed MDC usage guide in the **Nuxt Content** Docs.\n::\n",
21
+ "content": "\n\nMarkdown is a lightweight markup language designed to provide a simple and readable syntax with minimal markup.\n\nIts goal is to allow users to write using an easy-to-read and easy-to-write plain text that can be easily converted to structurally valid HTML or other rich text formats, focusing on content over formatting.\n\nThis minimalism makes Markdown ideal for documentation, web writing, collaborative editing, bots and LLMs processing, AI content generation...\n\n::alert{icon=\"lucide:box\" to=\"/content-elements\"}\nLearn more about **markdown syntax**, and how to use it.\n::\n\n::alert\n---\nicon: i-pajamas:markdown-mark-solid\nto: https://daringfireball.net/projects/markdown/\n---\nOpen the original **Markdown specification**.\n::\n\n## MarkDown Components (MDC)\n\nMarkDown Components (MDC) supercharges regular Markdown to allow writing interactive components.\n\n::alert\n---\nicon: lucide:box\nto: /components\n---\nLearn more about **MDC components**, and how to use them.\n::\n\n::alert\n---\nicon: lucide:arrow-big-down\ntarget: _blank\nto: https://content.nuxt.com/usage/markdown\n---\nRead the detailed MDC usage guide in the **Nuxt Content** Docs.\n::\n",
22
22
  "description": "How to write content with Markdown syntax",
23
23
  "icon": "i-pajamas:markdown-mark-solid"
24
24
  },