From 68d64baf994b7c796753bfb8c6811e1d65440100 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20Ku=CC=88hn?= Date: Fri, 25 Jun 2021 11:28:28 +0200 Subject: [PATCH] add react demo for markdown shortcuts --- .../MarkdownShortcuts/React/index.jsx | 37 +++++++++++++ .../MarkdownShortcuts/React/styles.scss | 53 +++++++++++++++++++ .../MarkdownShortcuts/{ => Vue}/index.spec.js | 4 +- .../MarkdownShortcuts/{ => Vue}/index.vue | 14 +++-- .../docPages/examples/markdown-shortcuts.md | 5 +- 5 files changed, 102 insertions(+), 11 deletions(-) create mode 100644 docs/src/demos/Examples/MarkdownShortcuts/React/index.jsx create mode 100644 docs/src/demos/Examples/MarkdownShortcuts/React/styles.scss rename docs/src/demos/Examples/MarkdownShortcuts/{ => Vue}/index.spec.js (95%) rename docs/src/demos/Examples/MarkdownShortcuts/{ => Vue}/index.vue (97%) diff --git a/docs/src/demos/Examples/MarkdownShortcuts/React/index.jsx b/docs/src/demos/Examples/MarkdownShortcuts/React/index.jsx new file mode 100644 index 00000000..9fbc3a66 --- /dev/null +++ b/docs/src/demos/Examples/MarkdownShortcuts/React/index.jsx @@ -0,0 +1,37 @@ +import React from 'react' +import { useEditor, EditorContent } from '@tiptap/react' +import StarterKit from '@tiptap/starter-kit' +import Highlight from '@tiptap/extension-highlight' +import Typography from '@tiptap/extension-typography' +import './styles.scss' + +export default () => { + const editor = useEditor({ + extensions: [ + StarterKit, + Highlight, + Typography, + ], + content: ` +

+ Markdown shortcuts make it easy to format the text while typing. +

+

+ To test that, start a new line and type # followed by a space to get a heading. Try #, ##, ###, ####, #####, ###### for different levels. +

+

+ Those conventions are called input rules in tiptap. Some of them are enabled by default. Try > for blockquotes, *, - or + for bullet lists, or \`foobar\` to highlight code, ~~tildes~~ to strike text, or ==equal signs== to highlight text. +

+

+ You can overwrite existing input rules or add your own to nodes, marks and extensions. +

+

+ For example, we added the Typography extension here. Try typing (c) to see how it’s converted to a proper © character. You can also try ->, >>, 1/2, !=, or --. +

+ `, + }) + + return ( + + ) +} diff --git a/docs/src/demos/Examples/MarkdownShortcuts/React/styles.scss b/docs/src/demos/Examples/MarkdownShortcuts/React/styles.scss new file mode 100644 index 00000000..ba04e08a --- /dev/null +++ b/docs/src/demos/Examples/MarkdownShortcuts/React/styles.scss @@ -0,0 +1,53 @@ +.ProseMirror { + > * + * { + margin-top: 0.75em; + } + + ul, + ol { + padding: 0 1rem; + } + + h1, + h2, + h3, + h4, + h5, + h6 { + line-height: 1.1; + } + + code { + background-color: rgba(#616161, 0.1); + color: #616161; + } + + pre { + background: #0D0D0D; + color: #FFF; + font-family: 'JetBrainsMono', monospace; + padding: 0.75rem 1rem; + border-radius: 0.5rem; + + code { + color: inherit; + padding: 0; + background: none; + font-size: 0.8rem; + } + } + + img { + max-width: 100%; + height: auto; + } + + hr { + margin: 1rem 0; + } + + blockquote { + padding-left: 1rem; + border-left: 2px solid rgba(#0D0D0D, 0.1); + } +} diff --git a/docs/src/demos/Examples/MarkdownShortcuts/index.spec.js b/docs/src/demos/Examples/MarkdownShortcuts/Vue/index.spec.js similarity index 95% rename from docs/src/demos/Examples/MarkdownShortcuts/index.spec.js rename to docs/src/demos/Examples/MarkdownShortcuts/Vue/index.spec.js index a61294fc..7c683011 100644 --- a/docs/src/demos/Examples/MarkdownShortcuts/index.spec.js +++ b/docs/src/demos/Examples/MarkdownShortcuts/Vue/index.spec.js @@ -1,6 +1,6 @@ -context('/demos/Examples/MarkdownShortcuts', () => { +context('/demos/Examples/MarkdownShortcuts/Vue', () => { before(() => { - cy.visit('/demos/Examples/MarkdownShortcuts') + cy.visit('/demos/Examples/MarkdownShortcuts/Vue') }) beforeEach(() => { diff --git a/docs/src/demos/Examples/MarkdownShortcuts/index.vue b/docs/src/demos/Examples/MarkdownShortcuts/Vue/index.vue similarity index 97% rename from docs/src/demos/Examples/MarkdownShortcuts/index.vue rename to docs/src/demos/Examples/MarkdownShortcuts/Vue/index.vue index d18ac4eb..d4ff71d1 100644 --- a/docs/src/demos/Examples/MarkdownShortcuts/index.vue +++ b/docs/src/demos/Examples/MarkdownShortcuts/Vue/index.vue @@ -1,7 +1,5 @@