0.9.5 • Published 8 months ago

@nuxt-themes/elements v0.9.5

Weekly downloads
-
License
-
Repository
-
Last release
8 months ago

Nuxt Elements

Nuxt Elements

npm version License npm downloads Nuxt Nuxt Studio Volta

A component library to compose websites powered by design tokens and Markdown, editable in Nuxt Studio.

Usage

In your Nuxt project, install the package:

pnpm add -D @nuxt-themes/elements

Then in your nuxt.config.ts, add it to the extends array:

export default defineNuxtConfig({
  extends: ['@nuxt-themes/elements']
})

Start using the elements to build your website, checkout the list of elements on elements.nuxt.dev.

Elements

An element is a Vue component made to be used inside the content/ directory with the MDC syntax.

The component can have:

  • Props to receive data from the editor (generated form)
  • Slots using the <ContentSlot> component to pass MDC to the component

Example:

<script setup lang="ts">
defineProps({
  image: {
    type: String,
    default: null
  }
})
</script>

<template>
  <section>
      <h1 class="text-3xl font-bold text-primary-900 dark:text-primary-100">
        <ContentSlot :use="$slots.title" unwrap="p">Default title</ContentSlot>
      </h1>
      <!-- description slot is optional -->
      <p class="mt-3" v-if="$slots.description">
        <ContentSlot :use="$slots.description" unwrap="p" />
      </p>
      </div>
      <img v-if="image" :src="image" />
    </div>
  </section>
</template>

Note that the <ContentSlot> component cannot have class attribute because they are headless components.

Development

Make sure to install the dependencies:

pnpm install

Start the playground:

pnpm dev

Start the documentation:

pnpm generate

Preview the built documentation:

pnpm preview

To use the elements in development in your project:

  • Run the pwd command in the elements project and copy it, example: /Users/atinux/Projects/nuxt-themes/elements
  • Add it to the extends of your nuxt.config.ts:
export default defineNuxtConfig({
  extends: '/Users/atinux/Projects/nuxt-themes/elements'
})

License

MIT License

0.9.5

8 months ago

1.0.6

8 months ago

1.0.5

9 months ago

1.0.4

11 months ago

1.0.3

11 months ago

1.0.2

11 months ago

1.0.1

11 months ago

1.0.0

11 months ago

1.0.0-beta.1

12 months ago

0.9.4

1 year ago

0.9.3

1 year ago

0.9.0

1 year ago

0.9.2

1 year ago

0.8.2

1 year ago

0.9.1

1 year ago

0.8.1

1 year ago

0.7.2

1 year ago

0.6.3

1 year ago

0.8.0

1 year ago

0.7.1

1 year ago

0.6.2

1 year ago

0.7.0

1 year ago

0.6.1

1 year ago

0.6.0

1 year ago

0.3.0

1 year ago

0.4.4

1 year ago

0.5.0

1 year ago

0.4.1

1 year ago

0.3.2

1 year ago

0.2.3

1 year ago

0.4.0

1 year ago

0.3.1

1 year ago

0.2.2

1 year ago

0.5.2

1 year ago

0.4.3

1 year ago

0.5.1

1 year ago

0.4.2

1 year ago

0.3.3

1 year ago

0.2.4

1 year ago

0.2.1

1 year ago

0.2.0

1 year ago

0.1.0

1 year ago