1.0.2 • Published 8 months ago

tiptap-render-view v1.0.2

Weekly downloads
-
License
GPL-3.0
Repository
github
Last release
8 months ago

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!

1.0.2

8 months ago

1.0.1

8 months ago

1.0.0

10 months ago

0.0.10

10 months ago

0.0.9

10 months ago

0.0.8

10 months ago

0.0.7

10 months ago

0.0.6

10 months ago

0.0.5

10 months ago

0.0.4

10 months ago

0.0.3

10 months ago

0.0.2

10 months ago

0.0.1

10 months ago

0.0.0

10 months ago