From 3e3dd26ca59578fcf825f5142dc518c773bdf1ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20Ku=CC=88hn?= Date: Fri, 30 Oct 2020 16:57:55 +0100 Subject: [PATCH] add inline option to image node --- docs/src/docPages/api/extensions/image.md | 7 ++++++- packages/extension-image/index.ts | 16 ++++++++++++++-- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/docs/src/docPages/api/extensions/image.md b/docs/src/docPages/api/extensions/image.md index 3c463ea5..1c3c9132 100644 --- a/docs/src/docPages/api/extensions/image.md +++ b/docs/src/docPages/api/extensions/image.md @@ -9,8 +9,13 @@ npm install @tiptap/extension-image yarn add @tiptap/extension-image ``` +## Settings +| Option | Type | Default | Description | +| ------ | ------- | ------- | ------------------------ | +| inline | boolean | false | Renders the node inline. | + ## Source code [packages/extension-image/](https://github.com/ueberdosis/tiptap-next/blob/main/packages/extension-image/) ## Usage - + diff --git a/packages/extension-image/index.ts b/packages/extension-image/index.ts index 424cffc5..67e9c04a 100644 --- a/packages/extension-image/index.ts +++ b/packages/extension-image/index.ts @@ -1,13 +1,25 @@ import { Command, createNode, nodeInputRule } from '@tiptap/core' +export interface ImageOptions { + inline: boolean, +} + export const inputRegex = /!\[(.+|:?)]\((\S+)(?:(?:\s+)["'](\S+)["'])?\)/ const Image = createNode({ name: 'image', - inline: true, + defaultOptions: { + inline: false, + }, - group: 'inline', + inline() { + return this.options.inline + }, + + group() { + return this.options.inline ? 'inline' : 'block' + }, draggable: true,