tiptap-render-view

Serialize Tiptap JSON content with interactive components.
26,807 6
Install
npm install tiptap-render-view
Latest Version:1.0.4
Vue:3
License:GPL-3.0
Last Updated:Oct 12, 2025
Links: GitHub  ·  npm
Maintainer: formfcw

Tiptap Render View

NPM version

Serialize Tiptap JSON content with interactive components.

Installation

# Using npm
npm install tiptap-render-view
# Using yarn
yarn add tiptap-render-view
# Using pnpm
pnpm add tiptap-render-view

Usage

At the time of writing this package only provides a Vue component to render your JSONContent. But it also provides types and tools to build components for your prefered JavaScript framework.

Vue

Check out this example on StackBlitz

<template>
    <RenderNodes
        :content="content"
        :serializers="serializers"
        :componentSerializers="componentSerializers"
    />
</template>

<script setup lang="ts">
    import { Node, Mark } from "@tiptap/core";
    import RenderNodes from "tiptap-render-view/vue";
    import Document from "@tiptap/extension-document";
    import Text from "@tiptap/extension-text";
    import Paragraph from "@tiptap/extension-paragraph";
    import Textfield from "./components/Textfield.vue";
    import type {
        VueComponentSerializers,
        JSONContent,
        Extensions,
    } from "./tiptap-render-view/vue";

    const props = defineProps<{
        content: JSONContent;
    }>();

    const serializers: Extensions = [Document, Text, Paragraph];

    const componentSerializers: VueComponentSerializers = [
        // marks with `type: 'mark'`
        { name: "italic", type: "mark", component: Textfield },
        {
            name: "bold",
            type: "mark",
            render: (attrs) => [
                Textfield,
                { ...attrs, style: "background:lightgreen" },
            ],
        },
        // blocks
        { name: "heading", render: (attrs) => ["textarea", attrs] },
    ];
</script>

Other Frameworks

Feel free to contribute

Contribution

Contributions are welcome. Make sure to open an issue for bugs or start a discussion for feature requests, before you start writing code!

Related Packages

@leo91000/vue-tiptap-renderer

Tiptap JSON content renderer for Vue 2/3

1,701 4
@shamimsofte/universal-editor-vue2

Vue 2 adapter for Universal Rich Text Editor (Vue 2.6+ & 2.7)

571 0
@shamimsofte/universal-editor-vue3

Vue 3 adapter and components for Universal Editor

564 0
@creatorsn/powereditor

Power by tiptap (Prosemirror toolkit)

14,056 4
article-content-renderer-vue2

A safe Vue 2.7 renderer for the Article Content Protocol ProseMirror JSON format...

1,994 0

Version History

Version Released License
1.0.4 GPL-3.0
1.0.3 GPL-3.0
1.0.2 GPL-3.0
1.0.1 GPL-3.0
1.0.0 GPL-3.0