Commit Graph

91 Commits

Author SHA1 Message Date
Glenn Allen
2178118991
feat: add Node linebreakReplacement support and enable on hardBreak nodes (#5821)
Some checks are pending
build / lint (20) (push) Waiting to run
build / test (20, map[name:Demos/Examples spec:./demos/src/Examples/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/Experiments spec:./demos/src/Experiments/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/Extensions spec:./demos/src/Extensions/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/GuideContent spec:./demos/src/GuideContent/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/GuideGettingStarted spec:./demos/src/GuideGettingStarted/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/Marks spec:./demos/src/Marks/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Demos/Nodes spec:./demos/src/Nodes/**/*.spec.{js,ts}]) (push) Waiting to run
build / test (20, map[name:Integration spec:./tests/cypress/integration/**/*.spec.{js,ts}]) (push) Waiting to run
build / build (20) (push) Blocked by required conditions
Publish / Release (20) (push) Waiting to run
* Support the Node linebreakReplacement property

Support the [linebreakReplacement](https://prosemirror.net/docs/ref/#model.NodeSpec.linebreakReplacement) property on Nodes, allowing a node to be used wherever a newline character is, when converting between blocks that don't support the linebreak node, but have their whitespace set to "pre".

This is useful, for example, when converting between code blocks & normal paragraphs. Code blocks don't support the linebreak node, but do allow newline characters ('\n').
Marking the `hardBreak` node as the `linebreakReplacement` will mean the newline characters within codeBlock nodes will be converted to `hardBreak` nodes in the paragraph.

* Make hardBreak the default linebreakReplacement node

When converting between codeBlocks and normal paragraphs, the hardBreak node should be used in place of newline '\n' characters.
2024-11-11 09:05:32 +01:00
Nick Perez
d2f366d6d4
fix(core): update the typing of addOptions, addStorage to have an optional parent #5768 (#5770) 2024-10-28 21:44:47 +01:00
Nick the Sick
2c6590b3d4
fix: update docs and add tests for collaboration and priority docs 2024-08-12 11:14:41 +02:00
Nick the Sick
7280e2931e
docs: onTransaction has an editor prop 2024-08-07 17:50:04 +02:00
Nick Perez
c0e631f875
fix: bump priority of text-style extension fixes #4742 (#5457) 2024-08-07 15:39:49 +02:00
Ricardo Amaral
068559d0ac
chore: Use proper types for configure methods (Extension/Mark/Node) (#5421) 2024-08-01 00:28:51 +02:00
Nick Perez
07f4c03315
fix(core): configuring extensions should add to the parent's options not replace them (#5357)
* fix(core): configuring extensions should add to the parent's options not replace them

* fix: order of tests
2024-07-17 09:06:41 +02:00
Nick Perez
c540c7d2e8
fix: apply #5147 fix to marks and nodes resolves #4704 (#5156)
* fix: apply #5147 fix to marks and nodes

* fix: resolve Issue #4704 by reverting PR #4191

* test: more robust tests for nodes and marks too
2024-06-18 08:00:28 +02:00
Nick the Sick
747985b3a7
chore: update package versions for prosemirror 2024-06-11 23:03:14 +02:00
Nick the Sick
3d3263911f feat: pass node & mark extensions as a contextual variable to addGlobalAttributes 2024-06-08 10:42:45 +02:00
bdbch
b941eea6da
feat: added jsdocs (#4356)
* added JSDocs for almost all extensions

* start adding commands jsdocs

* add jsdocs for rest of extensions

* add jsdocs for Extensions

* add js docs for all extensions

* add more jsdocs

* add js docs for node spec definitions
2024-05-11 14:30:44 +02:00
Dominik Biedebach
fc67cb1b71 fix(core): fix options now being empty 2023-11-30 17:54:06 +01:00
Dominik Biedebach
448b433ee7 fix(core): set defaultOptions to undefined by default 2023-11-27 14:13:29 +01:00
Thibault Leruitte
fda6310e74
Fix: configured/extended extensions should keep their original config (#4191) 2023-10-10 04:24:27 +02:00
Ben Asher
e97630c639
Require file extensions for imports and exports (#4001)
* Require .js endings

* add extension alias for cypress to resolve ts files with js endings
2023-06-30 21:03:49 +02:00
Dominik
020fd0ed79
feat(core): add editor to this context in schema functions (#3909) 2023-03-29 15:16:43 +02:00
Dominik
f387ad3dd4
feat(pm): new prosemirror package for dependency resolving
* chore:(core): migrate to tsup

* chore: migrate blockquote and bold to tsup

* chore: migrated bubble-menu and bullet-list to tsup

* chore: migrated more packages to tsup

* chore: migrate code and character extensions to tsup

* chore: update package.json to simplify build for all packages

* chore: move all packages to tsup as a build process

* chore: change ci build task

* feat(pm): add prosemirror meta package

* rfix: resolve issues with build paths & export mappings

* docs: update documentation to include notes for @tiptap/pm

* chore(pm): update tsconfig

* chore(packages): update packages

* fix(pm): add package export infos & fix dependencies

* chore(general): start moving to pm package as deps

* chore: move to tiptap pm package internally

* fix(demos): fix demos working with new pm package

* fix(tables): fix tables package

* fix(tables): fix tables package

* chore(demos): pinned typescript version

* chore: remove unnecessary tsconfig

* chore: fix netlify build

* fix(demos): fix package resolving for pm packages

* fix(tests): fix package resolving for pm packages

* fix(tests): fix package resolving for pm packages

* chore(tests): fix tests not running correctly after pm package

* chore(pm): add files to files array

* chore: update build workflow

* chore(tests): increase timeout time back to 12s

* chore(docs): update docs

* chore(docs): update installation guides & pm information to docs

* chore(docs): add link to prosemirror docs

* fix(vue-3): add missing build step

* chore(docs): comment out cdn link

* chore(docs): remove semicolons from docs

* chore(docs): remove unnecessary installation note

* chore(docs): remove unnecessary installation note
2023-02-02 17:37:33 +01:00
Dominik
e46f8e3334
Change Build Process to Lerna + tsup & prepare for prosemirror-meta package (#3555)
* chore:(core): migrate to tsup

* chore: migrate blockquote and bold to tsup

* chore: migrated bubble-menu and bullet-list to tsup

* chore: migrated more packages to tsup

* chore: migrate code and character extensions to tsup

* chore: update package.json to simplify build for all packages

* chore: move all packages to tsup as a build process

* chore: change ci build task

* chore: clean up and fix issues related to new build

* fix: fix demo build

* fix: fix demo build

* fix: fix tsconfig files to reference only one source

* fix: fix minor ts issues
2023-01-25 10:19:51 +01:00
Dominik
8c6751f0c6
add precommit hook for linting and automatic eslint fixes + update eslint packages (#2862)
* chore: add precommit hook for eslint fixes, fix linting issues
* chore: add eslint import sort plugin
2022-06-08 14:10:25 +02:00
Philipp Kühn
6a94e2fa62 dependencies: update 2022-01-04 10:02:24 +01:00
Philipp Kühn
e07a5b625d
refactor: Use named exports instead of default exports (#2238)
* use named exports instead of default exports

* fix tests

Co-authored-by: Philipp Kühn <philippkuehn@MacBook-Pro-von-Philipp.local>
2021-12-06 12:00:09 +01:00
Philipp Kühn
20b6d79f33 fix: remove defaultOptions fallback, fix #2219 2021-12-02 20:04:45 +01:00
Philipp Kühn
9afadeb7fe
feat!: Replace defaultOptions with addOptions (#2088)
* add new addOptions option

* replace defaultOptions with addOptions for all extensions

* replace defaultOptions with addOptions for all demos

* replace defaultOptions with addOptions in docs

* refactoring

* refactoring

* drop object support for addOptions

* fix optional options

* fix tests
2021-10-26 18:31:13 +02:00
Philipp Kühn
ef254cead7 fix: fix storage context when using configure 2021-10-25 00:27:24 +02:00
Philipp Kühn
7ffabf251c
feat: Add extension storage (#2069) 2021-10-22 08:52:54 +02:00
Philipp Kühn
723b955cec
feat: Integrate input rules and paste rules into the core (#1997)
* refactoring

* improve link regex

* WIP: add new markPasteRule und linkify to image mark

* move copy of inputrule to core

* trigger codeblock inputrule on enter

* refactoring

* add regex match to markpasterulematch

* refactoring

* improve link regex

* WIP: add new markPasteRule und linkify to image mark

* move copy of inputrule to core

* trigger codeblock inputrule on enter

* refactoring

* add regex match to markpasterulematch

* update linkify

* wip

* wip

* log

* wip

* remove debug code

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* rename matcher

* add data to ExtendedRegExpMatchArray

* remove logging

* add code option to marks, prevent inputrules in code mark

* remove link regex

* fix codeblock inputrule on enter

* refactoring

* refactoring

* refactoring

* refactoring

* fix position bug

* add test

* export InputRule and PasteRule

* clean up link demo

* fix types
2021-10-08 15:02:09 +02:00
Philipp Kühn
fe6a3e7491
feat: add getText() and generateText() methods (fix #1428) (#1875)
* move getTextBetween method

* add getText method

* refactoring

* refactoring

* refactoring

* move renderText to schema, add generateText method

* add GenerateText demo

* docs: update

* remove demo from html page
2021-09-09 23:51:05 +02:00
Philipp Kühn
d037c5656a fix: fix merging options on configure for multiple extension instances 2021-06-03 13:13:43 +02:00
Philipp Kühn
655c5647f0 fix: fix a bug when configurating the same extension multiple times 2021-05-11 17:03:34 +02:00
Philipp Kühn
b4e2b6fc9d fix: set correct priority when extending extensions, fix #1288 2021-05-10 00:13:32 +02:00
Philipp Kühn
cbc0dd8920 fix: remove editor from addExtensions context 2021-05-07 10:24:48 +02:00
Philipp Kühn
ae17bd101c refactoring 2021-05-07 10:08:30 +02:00
Philipp Kühn
26e672e2f0 feat: add addExtensions option 2021-05-06 18:39:47 +02:00
Philipp Kühn
1c8ca95de2 refactor: remove AnyObject type 2021-04-21 09:43:31 +02:00
Philipp Kühn
12f60abb73 feat: add name to extension context 2021-04-20 23:11:35 +02:00
Philipp Kühn
e0c2460a96 feat: add editor prop to KeyboardShortcutCommand 2021-04-20 22:58:09 +02:00
Philipp Kühn
aa002a012b fix: fix extension option merging 2021-04-17 21:25:29 +02:00
Philipp Kühn
05434afc47 wip: add extension.name 2021-04-15 22:03:45 +02:00
Philipp Kühn
d194b90a61 wip: save hierachy within extension classes 2021-04-15 14:40:28 +02:00
Philipp Kühn
c40ce34eec wip: add some hierarchy tests 2021-04-14 09:48:38 +02:00
Philipp Kühn
5e1ec5d2a6 feat: add parentConfig to extension context for more extendable extensions, fix #259 2021-04-12 11:11:02 +02:00
Philipp Kühn
95f31f48fd Merge branch 'main' into feature/extension-code-block-lowlight 2021-04-07 22:39:39 +02:00
Philipp Kühn
a0e2a830d7 refactor: remove isEditable from node views, remove viewUpdate event 2021-04-07 22:07:36 +02:00
Philipp Kühn
bb1ae659a4 feat: add priority option to extensions 2021-04-07 18:29:16 +02:00
Philipp Kühn
7adf1853d7 add basic lowlight extension 2021-04-02 00:07:40 +02:00
Philipp Kühn
f8d029040a fix type cycle bug in vite 2021-03-31 13:44:56 +02:00
Philipp Kühn
15848473ed rename selection to selectionUpdate, add editor to event listener props 2021-03-09 09:50:03 +01:00
Philipp Kühn
92a6768b3d allow to define everything within extensions 2021-02-19 17:47:22 +01:00
Philipp Kühn
6fb28a2741 make extension configs extendable 2021-02-19 17:35:50 +01:00
Philipp Kühn
ba69a0d8f9 improve extending nodes and marks 2021-02-19 10:54:47 +01:00