Studio

Edit your content

Discover and select your favorite way to manage your content between the visual or the code editor.

Nuxt Studio offers a versatile workspace for both developers and content writers, giving them the freedom to choose between our differents editors:

You can choose your favorite editor from the settings page of your project.

Each editor serves its own purpose. Some users are used to code edition, while others prefer a non-technical, visual approach. At the end, code syntax is the final output for both editors.

Notion-like editor (Markdown files)

edit your website with a visual interface

This editor is heavily inspired by Notion, well known for its intuitive design and flexibility. Much like a standard text editor, this editor is designed to be familiar and easy to use. However, it stands out with its additional features that improve the writing experience:

Frontmatter

Frontmatter is a convention of Markdown-based CMS to provide meta-data to pages, like description or title or any other data you would like to store as key: value pair.

Based on the user collection and schema provided, a form is generated to edit this metadata from the editor.

Toolbar

Highlight your text to reveal the toolbar, giving you access to all the standard text editing features (title formatting, Bold, Italic, Strike-through, code, link, class, bullet list, numerated list...).

Medias

Users can simply drag and drop images directly into the editor. An upload modal will open to let you choose the destination folder.

By typing / and searching for Image or Video, they can quickly insert a media. A modal will open to let them choose the media they want to insert from the media gallery (aka thepublic folder of the Nuxt application).

From the media modal, you can set the alt attribute for SEO and accessibility purpose.

Vue Components

One of this editor standout features is its ability to integrate and customize any complex Vue component directly within the editor.

In other terms, a developer can create any kind of visually complex components and editors will be able to use them and focus on the content. An editor can also tweak the component properties, styles, and behavior to fit its specific requirements as long as the developer made it customizable.

Create your component

You can create Vue components and integrate them into Markdown. They just need to be located in the /components/content folder to be available.

components/content/HomeFeature.vue
<template>
  <div class="flex items-start gap-3">
    <div class="flex items-center justify-center border rounded-lg p-1.5">
      <UIcon :name="icon" />
    </div>
    <div class="flex flex-col">
      <h3 class="font-semibold">
        <ContentSlot name="title" />
      </h3>
      <span>
        <ContentSlot name="description" />
      </span>
    </div>
  </div>
</template>

<script setup lang="ts">
defineProps({
  icon: {
    type: String,
    default: 'i-ph-cursor-click',
  },
})
</script>

Integrate these components easily within any Markdown file using MDC syntax

content/index.md
::home-feature
  ---
  icon: i-ph-cube
  ---
  #title
  Embedded Vue components
  #description
  Edit slots and props inside the Notion-like editor.
::

Edit them with our Studio editors

The visual editor simplifies the component edition, allowing you to integrate and edit them directly in the visual editor. Non technical users can play with slots and props without any technical knowledge.

vue component edition on Studio

All components in the /components/content folder are available in the editor. Studio users can type / anywhere while editing to access the list of available components.

Take a look at this section to validate your Vue component integration in the editor in local development.
You want to know how we've built this editor and how it works under the hood? Check this blog post.

Form editor (YAML and JSON files)

YAML and JSON edition with auto generated form

This editor removes the need for users to interact directly with complex file syntax such as YAML or JSON.

Based on the user collection and schema provided, a form is generated for both YAML and JSON files.

Arrays are not yet handled but should be generated soon thanks to collections and user-defined schemas.

Code editor

Edit directly your raw content with our code editor

Even though the two previous editors are dedicated to a specific file extension (md or yaml/json). The code editor can be used with any kind of file.

It provides full control over your content, allowing you to write raw content directly:

When your file is saved with the code editor, the content is stored exactly as you've written it, preserving all specific syntax and formatting. This editor is ideal for users comfortable with code syntax (Markdown, YAML or JSON) who want precise control over structure of their content.