2016-11-18 12:11:59 -08:00
# Resources
2017-09-06 09:35:08 -07:00
A few resources that are helpful for building with Slate.
2016-11-18 12:11:59 -08:00
2017-10-15 15:29:30 -07:00
## Libraries
2018-06-19 11:53:11 -07:00
These libraries are helpful when developing with Slate:
Next (#3093)
* remove some key usage from core, refactor Operations.apply
* undeprecate some methods
* convert more key usage to paths
* update deprecations
* convert selection commands to use all paths
* refactor word boundary selection logic
* convert many at-range commands to use paths
* convert wrapBlock and wrapInline to not use keys
* cleanup
* remove chainability from editor
* simplify commands, queries and middleware
* convert deleteAtRange
* remove key usage from schema, deprecate *ByKey methods
* migrate *ByKey tests, remove index from *ByPath signatures
* rename at-current-range tests
* deprecate mode key usage, migrate more tests away from keys
* deprecate range and point methods which rely on keys to work
* refactor insertBlock, without fixing warnings
* add pathRef/pointRef, fix insertBlock/Inline deprecations, work on insertFragment
* refactor insertFragment
* get rich-text example rendering
* fix lint
* refactor query files, fix more tests
* remove unused queries, refactor others
* deprecate splitDescendantsByPath
* merge master
* add typescript, convert slate, slate-hyperscript, slate-plain-serializer
* add Point, Path, Range, Annotation tests
* add Annotation, Change, Element, Fragment, Mark, Range, Selection, Value interfaces tests
* add Operation and Text tests
* add Node tests
* get operations and normalization tests working for slate
* get *AtPath command tests passing
* rename *AtPath command tests
* rename
* get *AtPoint tests working
* rename
* rename
* add value queries tests
* add element, mark and path queries tests
* convert most on-selection tests
* convert on-selection commands
* rename
* get addMarks and delete commands working
* rename
* rename
* rename
* refactor value.positions(), work on delete tests
* progress on delete tests
* more delete work
* finish delete tests
* start converting to at-based commands
* restructure query tests
* restructure operations tests
* more work converting to multi-purpose commands
* lots of progress on converting to at-based commands
* add unwrapNodes
* remove setValue
* more progress
* refactor node commands to use consistent matching logic
* cleanup, get non-fragment commands passing
* remove annotations and isAtomic
* rename surround/pluck to cover/uncover
* add location concept, change at-path to from-path for iterables
* refactor batches
* add location-based queries
* refactor hanging logic
* more location query work
* renaming
* use getMatch more
* add split to wrap/unwrap
* flip levels/ancestors ordering
* switch splitNodes to use levels
* change split to always:false by default
* fix tests
* add more queries tests
* fixing more delete logic
* add more splitNodes tests
* get rest of delete tests passing
* fix location-based logic in some commands
* cleanup
* get previous packages tests passing again
* add slate-history package
* start slate-schema work
* start of react working
* rendering fixes
* get rich and plain text examples working
* get image example working with hooks and dropping
* refactor onDrop to be internal
* inline more event handlers
* refactor lots of event-related logic
* change rendering to use render props
* delete unused stuff
* cleanup dom utils
* remove unused deps
* remove unnecessary packages, add placeholder
* remove slate-react-placeholder package
* remove unused dep
* remove unnecessary tests, fix readonly example
* convert checklists example
* switch to next from webpack
* get link example working
* convert more examples
* preserve keys, memoized leafs/texts, fix node lookup
* fix to always useLayoutEffect for ordering
* fix annotations to be maps, memoize elements
* remove Change interface
* remove String interface
* rename Node.entries to Node.nodes
* remove unnecessary value queries
* default to selection when iterating, cleanup
* remove unused files
* update scroll into view logic
* fix undoing, remove constructor types
* dont sync selection while composing
* add workflows
* remove unused deps
* convert mentions example
* tweaks
* convert remaining examples
* rename h to jsx, update schema
* fix schema tests
* fix slate-schema logic and tests
* really fix slate-schema and forced-layout example
* get start of insertFragment tests working
* remove Fragment interface
* remove debugger
* get all non-skipped tests passing
* cleanup deps
* run prettier
* configure eslint for typescript
* more eslint fixes...
* more passing
* update some docs
* fix examples
* port windows undo hotkey change
* fix deps, add basic firefox support
* add event overriding, update walkthroughs
* add commands, remove classes, cleanup examples
* cleanup rollup config
* update tests
* rename queries tests
* update other tests
* update walkthroughs
* cleanup interface exports
* cleanup, change mark transforms to require location
* undo mark transform change
* more
* fix tests
* fix example
* update walkthroughs
* update docs
* update docs
* remove annotations
* remove value, move selection and children to editor
* add migrating doc
* fix lint
* fix tests
* fix DOM types aliasing
* add next export
* update deps, fix prod build
* fix prod build
* update scripts
* update docs and changelogs
* update workflow and pull request template
2019-11-27 20:54:42 -05:00
- [`is-hotkey` ](https://github.com/ianstormtaylor/is-hotkey ) is a simple way to check whether an `onKeyDown` handler should fire for a given hotkey, handling cross-platform concerns like < kbd > cmd</ kbd > vs. < kbd > ctrl</ kbd > keys for you automatically.
2017-07-20 10:01:59 -07:00
2018-06-19 11:51:26 -07:00
## Products
2017-07-20 10:01:59 -07:00
2018-10-09 14:03:27 -07:00
These products use Slate, and can give you an idea of what's possible:
2018-06-19 11:53:11 -07:00
Next (#3093)
* remove some key usage from core, refactor Operations.apply
* undeprecate some methods
* convert more key usage to paths
* update deprecations
* convert selection commands to use all paths
* refactor word boundary selection logic
* convert many at-range commands to use paths
* convert wrapBlock and wrapInline to not use keys
* cleanup
* remove chainability from editor
* simplify commands, queries and middleware
* convert deleteAtRange
* remove key usage from schema, deprecate *ByKey methods
* migrate *ByKey tests, remove index from *ByPath signatures
* rename at-current-range tests
* deprecate mode key usage, migrate more tests away from keys
* deprecate range and point methods which rely on keys to work
* refactor insertBlock, without fixing warnings
* add pathRef/pointRef, fix insertBlock/Inline deprecations, work on insertFragment
* refactor insertFragment
* get rich-text example rendering
* fix lint
* refactor query files, fix more tests
* remove unused queries, refactor others
* deprecate splitDescendantsByPath
* merge master
* add typescript, convert slate, slate-hyperscript, slate-plain-serializer
* add Point, Path, Range, Annotation tests
* add Annotation, Change, Element, Fragment, Mark, Range, Selection, Value interfaces tests
* add Operation and Text tests
* add Node tests
* get operations and normalization tests working for slate
* get *AtPath command tests passing
* rename *AtPath command tests
* rename
* get *AtPoint tests working
* rename
* rename
* add value queries tests
* add element, mark and path queries tests
* convert most on-selection tests
* convert on-selection commands
* rename
* get addMarks and delete commands working
* rename
* rename
* rename
* refactor value.positions(), work on delete tests
* progress on delete tests
* more delete work
* finish delete tests
* start converting to at-based commands
* restructure query tests
* restructure operations tests
* more work converting to multi-purpose commands
* lots of progress on converting to at-based commands
* add unwrapNodes
* remove setValue
* more progress
* refactor node commands to use consistent matching logic
* cleanup, get non-fragment commands passing
* remove annotations and isAtomic
* rename surround/pluck to cover/uncover
* add location concept, change at-path to from-path for iterables
* refactor batches
* add location-based queries
* refactor hanging logic
* more location query work
* renaming
* use getMatch more
* add split to wrap/unwrap
* flip levels/ancestors ordering
* switch splitNodes to use levels
* change split to always:false by default
* fix tests
* add more queries tests
* fixing more delete logic
* add more splitNodes tests
* get rest of delete tests passing
* fix location-based logic in some commands
* cleanup
* get previous packages tests passing again
* add slate-history package
* start slate-schema work
* start of react working
* rendering fixes
* get rich and plain text examples working
* get image example working with hooks and dropping
* refactor onDrop to be internal
* inline more event handlers
* refactor lots of event-related logic
* change rendering to use render props
* delete unused stuff
* cleanup dom utils
* remove unused deps
* remove unnecessary packages, add placeholder
* remove slate-react-placeholder package
* remove unused dep
* remove unnecessary tests, fix readonly example
* convert checklists example
* switch to next from webpack
* get link example working
* convert more examples
* preserve keys, memoized leafs/texts, fix node lookup
* fix to always useLayoutEffect for ordering
* fix annotations to be maps, memoize elements
* remove Change interface
* remove String interface
* rename Node.entries to Node.nodes
* remove unnecessary value queries
* default to selection when iterating, cleanup
* remove unused files
* update scroll into view logic
* fix undoing, remove constructor types
* dont sync selection while composing
* add workflows
* remove unused deps
* convert mentions example
* tweaks
* convert remaining examples
* rename h to jsx, update schema
* fix schema tests
* fix slate-schema logic and tests
* really fix slate-schema and forced-layout example
* get start of insertFragment tests working
* remove Fragment interface
* remove debugger
* get all non-skipped tests passing
* cleanup deps
* run prettier
* configure eslint for typescript
* more eslint fixes...
* more passing
* update some docs
* fix examples
* port windows undo hotkey change
* fix deps, add basic firefox support
* add event overriding, update walkthroughs
* add commands, remove classes, cleanup examples
* cleanup rollup config
* update tests
* rename queries tests
* update other tests
* update walkthroughs
* cleanup interface exports
* cleanup, change mark transforms to require location
* undo mark transform change
* more
* fix tests
* fix example
* update walkthroughs
* update docs
* update docs
* remove annotations
* remove value, move selection and children to editor
* add migrating doc
* fix lint
* fix tests
* fix DOM types aliasing
* add next export
* update deps, fix prod build
* fix prod build
* update scripts
* update docs and changelogs
* update workflow and pull request template
2019-11-27 20:54:42 -05:00
- [Archbee ](https://archbee.io )
- [Cake ](https://www.cake.co/ )
- [Chatterbug ](https://chatterbug.com )
2020-04-24 00:26:31 -04:00
- [Clause ](https://clause.io )
Next (#3093)
* remove some key usage from core, refactor Operations.apply
* undeprecate some methods
* convert more key usage to paths
* update deprecations
* convert selection commands to use all paths
* refactor word boundary selection logic
* convert many at-range commands to use paths
* convert wrapBlock and wrapInline to not use keys
* cleanup
* remove chainability from editor
* simplify commands, queries and middleware
* convert deleteAtRange
* remove key usage from schema, deprecate *ByKey methods
* migrate *ByKey tests, remove index from *ByPath signatures
* rename at-current-range tests
* deprecate mode key usage, migrate more tests away from keys
* deprecate range and point methods which rely on keys to work
* refactor insertBlock, without fixing warnings
* add pathRef/pointRef, fix insertBlock/Inline deprecations, work on insertFragment
* refactor insertFragment
* get rich-text example rendering
* fix lint
* refactor query files, fix more tests
* remove unused queries, refactor others
* deprecate splitDescendantsByPath
* merge master
* add typescript, convert slate, slate-hyperscript, slate-plain-serializer
* add Point, Path, Range, Annotation tests
* add Annotation, Change, Element, Fragment, Mark, Range, Selection, Value interfaces tests
* add Operation and Text tests
* add Node tests
* get operations and normalization tests working for slate
* get *AtPath command tests passing
* rename *AtPath command tests
* rename
* get *AtPoint tests working
* rename
* rename
* add value queries tests
* add element, mark and path queries tests
* convert most on-selection tests
* convert on-selection commands
* rename
* get addMarks and delete commands working
* rename
* rename
* rename
* refactor value.positions(), work on delete tests
* progress on delete tests
* more delete work
* finish delete tests
* start converting to at-based commands
* restructure query tests
* restructure operations tests
* more work converting to multi-purpose commands
* lots of progress on converting to at-based commands
* add unwrapNodes
* remove setValue
* more progress
* refactor node commands to use consistent matching logic
* cleanup, get non-fragment commands passing
* remove annotations and isAtomic
* rename surround/pluck to cover/uncover
* add location concept, change at-path to from-path for iterables
* refactor batches
* add location-based queries
* refactor hanging logic
* more location query work
* renaming
* use getMatch more
* add split to wrap/unwrap
* flip levels/ancestors ordering
* switch splitNodes to use levels
* change split to always:false by default
* fix tests
* add more queries tests
* fixing more delete logic
* add more splitNodes tests
* get rest of delete tests passing
* fix location-based logic in some commands
* cleanup
* get previous packages tests passing again
* add slate-history package
* start slate-schema work
* start of react working
* rendering fixes
* get rich and plain text examples working
* get image example working with hooks and dropping
* refactor onDrop to be internal
* inline more event handlers
* refactor lots of event-related logic
* change rendering to use render props
* delete unused stuff
* cleanup dom utils
* remove unused deps
* remove unnecessary packages, add placeholder
* remove slate-react-placeholder package
* remove unused dep
* remove unnecessary tests, fix readonly example
* convert checklists example
* switch to next from webpack
* get link example working
* convert more examples
* preserve keys, memoized leafs/texts, fix node lookup
* fix to always useLayoutEffect for ordering
* fix annotations to be maps, memoize elements
* remove Change interface
* remove String interface
* rename Node.entries to Node.nodes
* remove unnecessary value queries
* default to selection when iterating, cleanup
* remove unused files
* update scroll into view logic
* fix undoing, remove constructor types
* dont sync selection while composing
* add workflows
* remove unused deps
* convert mentions example
* tweaks
* convert remaining examples
* rename h to jsx, update schema
* fix schema tests
* fix slate-schema logic and tests
* really fix slate-schema and forced-layout example
* get start of insertFragment tests working
* remove Fragment interface
* remove debugger
* get all non-skipped tests passing
* cleanup deps
* run prettier
* configure eslint for typescript
* more eslint fixes...
* more passing
* update some docs
* fix examples
* port windows undo hotkey change
* fix deps, add basic firefox support
* add event overriding, update walkthroughs
* add commands, remove classes, cleanup examples
* cleanup rollup config
* update tests
* rename queries tests
* update other tests
* update walkthroughs
* cleanup interface exports
* cleanup, change mark transforms to require location
* undo mark transform change
* more
* fix tests
* fix example
* update walkthroughs
* update docs
* update docs
* remove annotations
* remove value, move selection and children to editor
* add migrating doc
* fix lint
* fix tests
* fix DOM types aliasing
* add next export
* update deps, fix prod build
* fix prod build
* update scripts
* update docs and changelogs
* update workflow and pull request template
2019-11-27 20:54:42 -05:00
- [GitBook ](https://www.gitbook.com/ )
2021-02-27 16:51:15 -06:00
- [Discord ](https://discord.com/ )
Next (#3093)
* remove some key usage from core, refactor Operations.apply
* undeprecate some methods
* convert more key usage to paths
* update deprecations
* convert selection commands to use all paths
* refactor word boundary selection logic
* convert many at-range commands to use paths
* convert wrapBlock and wrapInline to not use keys
* cleanup
* remove chainability from editor
* simplify commands, queries and middleware
* convert deleteAtRange
* remove key usage from schema, deprecate *ByKey methods
* migrate *ByKey tests, remove index from *ByPath signatures
* rename at-current-range tests
* deprecate mode key usage, migrate more tests away from keys
* deprecate range and point methods which rely on keys to work
* refactor insertBlock, without fixing warnings
* add pathRef/pointRef, fix insertBlock/Inline deprecations, work on insertFragment
* refactor insertFragment
* get rich-text example rendering
* fix lint
* refactor query files, fix more tests
* remove unused queries, refactor others
* deprecate splitDescendantsByPath
* merge master
* add typescript, convert slate, slate-hyperscript, slate-plain-serializer
* add Point, Path, Range, Annotation tests
* add Annotation, Change, Element, Fragment, Mark, Range, Selection, Value interfaces tests
* add Operation and Text tests
* add Node tests
* get operations and normalization tests working for slate
* get *AtPath command tests passing
* rename *AtPath command tests
* rename
* get *AtPoint tests working
* rename
* rename
* add value queries tests
* add element, mark and path queries tests
* convert most on-selection tests
* convert on-selection commands
* rename
* get addMarks and delete commands working
* rename
* rename
* rename
* refactor value.positions(), work on delete tests
* progress on delete tests
* more delete work
* finish delete tests
* start converting to at-based commands
* restructure query tests
* restructure operations tests
* more work converting to multi-purpose commands
* lots of progress on converting to at-based commands
* add unwrapNodes
* remove setValue
* more progress
* refactor node commands to use consistent matching logic
* cleanup, get non-fragment commands passing
* remove annotations and isAtomic
* rename surround/pluck to cover/uncover
* add location concept, change at-path to from-path for iterables
* refactor batches
* add location-based queries
* refactor hanging logic
* more location query work
* renaming
* use getMatch more
* add split to wrap/unwrap
* flip levels/ancestors ordering
* switch splitNodes to use levels
* change split to always:false by default
* fix tests
* add more queries tests
* fixing more delete logic
* add more splitNodes tests
* get rest of delete tests passing
* fix location-based logic in some commands
* cleanup
* get previous packages tests passing again
* add slate-history package
* start slate-schema work
* start of react working
* rendering fixes
* get rich and plain text examples working
* get image example working with hooks and dropping
* refactor onDrop to be internal
* inline more event handlers
* refactor lots of event-related logic
* change rendering to use render props
* delete unused stuff
* cleanup dom utils
* remove unused deps
* remove unnecessary packages, add placeholder
* remove slate-react-placeholder package
* remove unused dep
* remove unnecessary tests, fix readonly example
* convert checklists example
* switch to next from webpack
* get link example working
* convert more examples
* preserve keys, memoized leafs/texts, fix node lookup
* fix to always useLayoutEffect for ordering
* fix annotations to be maps, memoize elements
* remove Change interface
* remove String interface
* rename Node.entries to Node.nodes
* remove unnecessary value queries
* default to selection when iterating, cleanup
* remove unused files
* update scroll into view logic
* fix undoing, remove constructor types
* dont sync selection while composing
* add workflows
* remove unused deps
* convert mentions example
* tweaks
* convert remaining examples
* rename h to jsx, update schema
* fix schema tests
* fix slate-schema logic and tests
* really fix slate-schema and forced-layout example
* get start of insertFragment tests working
* remove Fragment interface
* remove debugger
* get all non-skipped tests passing
* cleanup deps
* run prettier
* configure eslint for typescript
* more eslint fixes...
* more passing
* update some docs
* fix examples
* port windows undo hotkey change
* fix deps, add basic firefox support
* add event overriding, update walkthroughs
* add commands, remove classes, cleanup examples
* cleanup rollup config
* update tests
* rename queries tests
* update other tests
* update walkthroughs
* cleanup interface exports
* cleanup, change mark transforms to require location
* undo mark transform change
* more
* fix tests
* fix example
* update walkthroughs
* update docs
* update docs
* remove annotations
* remove value, move selection and children to editor
* add migrating doc
* fix lint
* fix tests
* fix DOM types aliasing
* add next export
* update deps, fix prod build
* fix prod build
* update scripts
* update docs and changelogs
* update workflow and pull request template
2019-11-27 20:54:42 -05:00
- [Grafana ](https://grafana.com/ )
2020-06-13 18:48:12 +02:00
- [GraphCMS ](https://graphcms.com )
Next (#3093)
* remove some key usage from core, refactor Operations.apply
* undeprecate some methods
* convert more key usage to paths
* update deprecations
* convert selection commands to use all paths
* refactor word boundary selection logic
* convert many at-range commands to use paths
* convert wrapBlock and wrapInline to not use keys
* cleanup
* remove chainability from editor
* simplify commands, queries and middleware
* convert deleteAtRange
* remove key usage from schema, deprecate *ByKey methods
* migrate *ByKey tests, remove index from *ByPath signatures
* rename at-current-range tests
* deprecate mode key usage, migrate more tests away from keys
* deprecate range and point methods which rely on keys to work
* refactor insertBlock, without fixing warnings
* add pathRef/pointRef, fix insertBlock/Inline deprecations, work on insertFragment
* refactor insertFragment
* get rich-text example rendering
* fix lint
* refactor query files, fix more tests
* remove unused queries, refactor others
* deprecate splitDescendantsByPath
* merge master
* add typescript, convert slate, slate-hyperscript, slate-plain-serializer
* add Point, Path, Range, Annotation tests
* add Annotation, Change, Element, Fragment, Mark, Range, Selection, Value interfaces tests
* add Operation and Text tests
* add Node tests
* get operations and normalization tests working for slate
* get *AtPath command tests passing
* rename *AtPath command tests
* rename
* get *AtPoint tests working
* rename
* rename
* add value queries tests
* add element, mark and path queries tests
* convert most on-selection tests
* convert on-selection commands
* rename
* get addMarks and delete commands working
* rename
* rename
* rename
* refactor value.positions(), work on delete tests
* progress on delete tests
* more delete work
* finish delete tests
* start converting to at-based commands
* restructure query tests
* restructure operations tests
* more work converting to multi-purpose commands
* lots of progress on converting to at-based commands
* add unwrapNodes
* remove setValue
* more progress
* refactor node commands to use consistent matching logic
* cleanup, get non-fragment commands passing
* remove annotations and isAtomic
* rename surround/pluck to cover/uncover
* add location concept, change at-path to from-path for iterables
* refactor batches
* add location-based queries
* refactor hanging logic
* more location query work
* renaming
* use getMatch more
* add split to wrap/unwrap
* flip levels/ancestors ordering
* switch splitNodes to use levels
* change split to always:false by default
* fix tests
* add more queries tests
* fixing more delete logic
* add more splitNodes tests
* get rest of delete tests passing
* fix location-based logic in some commands
* cleanup
* get previous packages tests passing again
* add slate-history package
* start slate-schema work
* start of react working
* rendering fixes
* get rich and plain text examples working
* get image example working with hooks and dropping
* refactor onDrop to be internal
* inline more event handlers
* refactor lots of event-related logic
* change rendering to use render props
* delete unused stuff
* cleanup dom utils
* remove unused deps
* remove unnecessary packages, add placeholder
* remove slate-react-placeholder package
* remove unused dep
* remove unnecessary tests, fix readonly example
* convert checklists example
* switch to next from webpack
* get link example working
* convert more examples
* preserve keys, memoized leafs/texts, fix node lookup
* fix to always useLayoutEffect for ordering
* fix annotations to be maps, memoize elements
* remove Change interface
* remove String interface
* rename Node.entries to Node.nodes
* remove unnecessary value queries
* default to selection when iterating, cleanup
* remove unused files
* update scroll into view logic
* fix undoing, remove constructor types
* dont sync selection while composing
* add workflows
* remove unused deps
* convert mentions example
* tweaks
* convert remaining examples
* rename h to jsx, update schema
* fix schema tests
* fix slate-schema logic and tests
* really fix slate-schema and forced-layout example
* get start of insertFragment tests working
* remove Fragment interface
* remove debugger
* get all non-skipped tests passing
* cleanup deps
* run prettier
* configure eslint for typescript
* more eslint fixes...
* more passing
* update some docs
* fix examples
* port windows undo hotkey change
* fix deps, add basic firefox support
* add event overriding, update walkthroughs
* add commands, remove classes, cleanup examples
* cleanup rollup config
* update tests
* rename queries tests
* update other tests
* update walkthroughs
* cleanup interface exports
* cleanup, change mark transforms to require location
* undo mark transform change
* more
* fix tests
* fix example
* update walkthroughs
* update docs
* update docs
* remove annotations
* remove value, move selection and children to editor
* add migrating doc
* fix lint
* fix tests
* fix DOM types aliasing
* add next export
* update deps, fix prod build
* fix prod build
* update scripts
* update docs and changelogs
* update workflow and pull request template
2019-11-27 20:54:42 -05:00
- [Guilded ](https://www.guilded.gg )
- [Guru ](https://www.getguru.com/ )
2020-05-13 17:56:24 +02:00
- [Kitemaker ](https://kitemaker.co )
Next (#3093)
* remove some key usage from core, refactor Operations.apply
* undeprecate some methods
* convert more key usage to paths
* update deprecations
* convert selection commands to use all paths
* refactor word boundary selection logic
* convert many at-range commands to use paths
* convert wrapBlock and wrapInline to not use keys
* cleanup
* remove chainability from editor
* simplify commands, queries and middleware
* convert deleteAtRange
* remove key usage from schema, deprecate *ByKey methods
* migrate *ByKey tests, remove index from *ByPath signatures
* rename at-current-range tests
* deprecate mode key usage, migrate more tests away from keys
* deprecate range and point methods which rely on keys to work
* refactor insertBlock, without fixing warnings
* add pathRef/pointRef, fix insertBlock/Inline deprecations, work on insertFragment
* refactor insertFragment
* get rich-text example rendering
* fix lint
* refactor query files, fix more tests
* remove unused queries, refactor others
* deprecate splitDescendantsByPath
* merge master
* add typescript, convert slate, slate-hyperscript, slate-plain-serializer
* add Point, Path, Range, Annotation tests
* add Annotation, Change, Element, Fragment, Mark, Range, Selection, Value interfaces tests
* add Operation and Text tests
* add Node tests
* get operations and normalization tests working for slate
* get *AtPath command tests passing
* rename *AtPath command tests
* rename
* get *AtPoint tests working
* rename
* rename
* add value queries tests
* add element, mark and path queries tests
* convert most on-selection tests
* convert on-selection commands
* rename
* get addMarks and delete commands working
* rename
* rename
* rename
* refactor value.positions(), work on delete tests
* progress on delete tests
* more delete work
* finish delete tests
* start converting to at-based commands
* restructure query tests
* restructure operations tests
* more work converting to multi-purpose commands
* lots of progress on converting to at-based commands
* add unwrapNodes
* remove setValue
* more progress
* refactor node commands to use consistent matching logic
* cleanup, get non-fragment commands passing
* remove annotations and isAtomic
* rename surround/pluck to cover/uncover
* add location concept, change at-path to from-path for iterables
* refactor batches
* add location-based queries
* refactor hanging logic
* more location query work
* renaming
* use getMatch more
* add split to wrap/unwrap
* flip levels/ancestors ordering
* switch splitNodes to use levels
* change split to always:false by default
* fix tests
* add more queries tests
* fixing more delete logic
* add more splitNodes tests
* get rest of delete tests passing
* fix location-based logic in some commands
* cleanup
* get previous packages tests passing again
* add slate-history package
* start slate-schema work
* start of react working
* rendering fixes
* get rich and plain text examples working
* get image example working with hooks and dropping
* refactor onDrop to be internal
* inline more event handlers
* refactor lots of event-related logic
* change rendering to use render props
* delete unused stuff
* cleanup dom utils
* remove unused deps
* remove unnecessary packages, add placeholder
* remove slate-react-placeholder package
* remove unused dep
* remove unnecessary tests, fix readonly example
* convert checklists example
* switch to next from webpack
* get link example working
* convert more examples
* preserve keys, memoized leafs/texts, fix node lookup
* fix to always useLayoutEffect for ordering
* fix annotations to be maps, memoize elements
* remove Change interface
* remove String interface
* rename Node.entries to Node.nodes
* remove unnecessary value queries
* default to selection when iterating, cleanup
* remove unused files
* update scroll into view logic
* fix undoing, remove constructor types
* dont sync selection while composing
* add workflows
* remove unused deps
* convert mentions example
* tweaks
* convert remaining examples
* rename h to jsx, update schema
* fix schema tests
* fix slate-schema logic and tests
* really fix slate-schema and forced-layout example
* get start of insertFragment tests working
* remove Fragment interface
* remove debugger
* get all non-skipped tests passing
* cleanup deps
* run prettier
* configure eslint for typescript
* more eslint fixes...
* more passing
* update some docs
* fix examples
* port windows undo hotkey change
* fix deps, add basic firefox support
* add event overriding, update walkthroughs
* add commands, remove classes, cleanup examples
* cleanup rollup config
* update tests
* rename queries tests
* update other tests
* update walkthroughs
* cleanup interface exports
* cleanup, change mark transforms to require location
* undo mark transform change
* more
* fix tests
* fix example
* update walkthroughs
* update docs
* update docs
* remove annotations
* remove value, move selection and children to editor
* add migrating doc
* fix lint
* fix tests
* fix DOM types aliasing
* add next export
* update deps, fix prod build
* fix prod build
* update scripts
* update docs and changelogs
* update workflow and pull request template
2019-11-27 20:54:42 -05:00
- [Netlify CMS ](https://www.netlifycms.org )
- [Prezly ](https://www.prezly.com/ )
- [Sanity.io ](https://www.sanity.io )
2019-11-28 16:30:15 +01:00
- [Slite ](https://slite.com )
Next (#3093)
* remove some key usage from core, refactor Operations.apply
* undeprecate some methods
* convert more key usage to paths
* update deprecations
* convert selection commands to use all paths
* refactor word boundary selection logic
* convert many at-range commands to use paths
* convert wrapBlock and wrapInline to not use keys
* cleanup
* remove chainability from editor
* simplify commands, queries and middleware
* convert deleteAtRange
* remove key usage from schema, deprecate *ByKey methods
* migrate *ByKey tests, remove index from *ByPath signatures
* rename at-current-range tests
* deprecate mode key usage, migrate more tests away from keys
* deprecate range and point methods which rely on keys to work
* refactor insertBlock, without fixing warnings
* add pathRef/pointRef, fix insertBlock/Inline deprecations, work on insertFragment
* refactor insertFragment
* get rich-text example rendering
* fix lint
* refactor query files, fix more tests
* remove unused queries, refactor others
* deprecate splitDescendantsByPath
* merge master
* add typescript, convert slate, slate-hyperscript, slate-plain-serializer
* add Point, Path, Range, Annotation tests
* add Annotation, Change, Element, Fragment, Mark, Range, Selection, Value interfaces tests
* add Operation and Text tests
* add Node tests
* get operations and normalization tests working for slate
* get *AtPath command tests passing
* rename *AtPath command tests
* rename
* get *AtPoint tests working
* rename
* rename
* add value queries tests
* add element, mark and path queries tests
* convert most on-selection tests
* convert on-selection commands
* rename
* get addMarks and delete commands working
* rename
* rename
* rename
* refactor value.positions(), work on delete tests
* progress on delete tests
* more delete work
* finish delete tests
* start converting to at-based commands
* restructure query tests
* restructure operations tests
* more work converting to multi-purpose commands
* lots of progress on converting to at-based commands
* add unwrapNodes
* remove setValue
* more progress
* refactor node commands to use consistent matching logic
* cleanup, get non-fragment commands passing
* remove annotations and isAtomic
* rename surround/pluck to cover/uncover
* add location concept, change at-path to from-path for iterables
* refactor batches
* add location-based queries
* refactor hanging logic
* more location query work
* renaming
* use getMatch more
* add split to wrap/unwrap
* flip levels/ancestors ordering
* switch splitNodes to use levels
* change split to always:false by default
* fix tests
* add more queries tests
* fixing more delete logic
* add more splitNodes tests
* get rest of delete tests passing
* fix location-based logic in some commands
* cleanup
* get previous packages tests passing again
* add slate-history package
* start slate-schema work
* start of react working
* rendering fixes
* get rich and plain text examples working
* get image example working with hooks and dropping
* refactor onDrop to be internal
* inline more event handlers
* refactor lots of event-related logic
* change rendering to use render props
* delete unused stuff
* cleanup dom utils
* remove unused deps
* remove unnecessary packages, add placeholder
* remove slate-react-placeholder package
* remove unused dep
* remove unnecessary tests, fix readonly example
* convert checklists example
* switch to next from webpack
* get link example working
* convert more examples
* preserve keys, memoized leafs/texts, fix node lookup
* fix to always useLayoutEffect for ordering
* fix annotations to be maps, memoize elements
* remove Change interface
* remove String interface
* rename Node.entries to Node.nodes
* remove unnecessary value queries
* default to selection when iterating, cleanup
* remove unused files
* update scroll into view logic
* fix undoing, remove constructor types
* dont sync selection while composing
* add workflows
* remove unused deps
* convert mentions example
* tweaks
* convert remaining examples
* rename h to jsx, update schema
* fix schema tests
* fix slate-schema logic and tests
* really fix slate-schema and forced-layout example
* get start of insertFragment tests working
* remove Fragment interface
* remove debugger
* get all non-skipped tests passing
* cleanup deps
* run prettier
* configure eslint for typescript
* more eslint fixes...
* more passing
* update some docs
* fix examples
* port windows undo hotkey change
* fix deps, add basic firefox support
* add event overriding, update walkthroughs
* add commands, remove classes, cleanup examples
* cleanup rollup config
* update tests
* rename queries tests
* update other tests
* update walkthroughs
* cleanup interface exports
* cleanup, change mark transforms to require location
* undo mark transform change
* more
* fix tests
* fix example
* update walkthroughs
* update docs
* update docs
* remove annotations
* remove value, move selection and children to editor
* add migrating doc
* fix lint
* fix tests
* fix DOM types aliasing
* add next export
* update deps, fix prod build
* fix prod build
* update scripts
* update docs and changelogs
* update workflow and pull request template
2019-11-27 20:54:42 -05:00
- [Taskade ](https://www.taskade.com/ )
2021-04-01 02:32:00 +08:00
- [TRPG Engine ](https://trpg.moonrailgun.com )
Next (#3093)
* remove some key usage from core, refactor Operations.apply
* undeprecate some methods
* convert more key usage to paths
* update deprecations
* convert selection commands to use all paths
* refactor word boundary selection logic
* convert many at-range commands to use paths
* convert wrapBlock and wrapInline to not use keys
* cleanup
* remove chainability from editor
* simplify commands, queries and middleware
* convert deleteAtRange
* remove key usage from schema, deprecate *ByKey methods
* migrate *ByKey tests, remove index from *ByPath signatures
* rename at-current-range tests
* deprecate mode key usage, migrate more tests away from keys
* deprecate range and point methods which rely on keys to work
* refactor insertBlock, without fixing warnings
* add pathRef/pointRef, fix insertBlock/Inline deprecations, work on insertFragment
* refactor insertFragment
* get rich-text example rendering
* fix lint
* refactor query files, fix more tests
* remove unused queries, refactor others
* deprecate splitDescendantsByPath
* merge master
* add typescript, convert slate, slate-hyperscript, slate-plain-serializer
* add Point, Path, Range, Annotation tests
* add Annotation, Change, Element, Fragment, Mark, Range, Selection, Value interfaces tests
* add Operation and Text tests
* add Node tests
* get operations and normalization tests working for slate
* get *AtPath command tests passing
* rename *AtPath command tests
* rename
* get *AtPoint tests working
* rename
* rename
* add value queries tests
* add element, mark and path queries tests
* convert most on-selection tests
* convert on-selection commands
* rename
* get addMarks and delete commands working
* rename
* rename
* rename
* refactor value.positions(), work on delete tests
* progress on delete tests
* more delete work
* finish delete tests
* start converting to at-based commands
* restructure query tests
* restructure operations tests
* more work converting to multi-purpose commands
* lots of progress on converting to at-based commands
* add unwrapNodes
* remove setValue
* more progress
* refactor node commands to use consistent matching logic
* cleanup, get non-fragment commands passing
* remove annotations and isAtomic
* rename surround/pluck to cover/uncover
* add location concept, change at-path to from-path for iterables
* refactor batches
* add location-based queries
* refactor hanging logic
* more location query work
* renaming
* use getMatch more
* add split to wrap/unwrap
* flip levels/ancestors ordering
* switch splitNodes to use levels
* change split to always:false by default
* fix tests
* add more queries tests
* fixing more delete logic
* add more splitNodes tests
* get rest of delete tests passing
* fix location-based logic in some commands
* cleanup
* get previous packages tests passing again
* add slate-history package
* start slate-schema work
* start of react working
* rendering fixes
* get rich and plain text examples working
* get image example working with hooks and dropping
* refactor onDrop to be internal
* inline more event handlers
* refactor lots of event-related logic
* change rendering to use render props
* delete unused stuff
* cleanup dom utils
* remove unused deps
* remove unnecessary packages, add placeholder
* remove slate-react-placeholder package
* remove unused dep
* remove unnecessary tests, fix readonly example
* convert checklists example
* switch to next from webpack
* get link example working
* convert more examples
* preserve keys, memoized leafs/texts, fix node lookup
* fix to always useLayoutEffect for ordering
* fix annotations to be maps, memoize elements
* remove Change interface
* remove String interface
* rename Node.entries to Node.nodes
* remove unnecessary value queries
* default to selection when iterating, cleanup
* remove unused files
* update scroll into view logic
* fix undoing, remove constructor types
* dont sync selection while composing
* add workflows
* remove unused deps
* convert mentions example
* tweaks
* convert remaining examples
* rename h to jsx, update schema
* fix schema tests
* fix slate-schema logic and tests
* really fix slate-schema and forced-layout example
* get start of insertFragment tests working
* remove Fragment interface
* remove debugger
* get all non-skipped tests passing
* cleanup deps
* run prettier
* configure eslint for typescript
* more eslint fixes...
* more passing
* update some docs
* fix examples
* port windows undo hotkey change
* fix deps, add basic firefox support
* add event overriding, update walkthroughs
* add commands, remove classes, cleanup examples
* cleanup rollup config
* update tests
* rename queries tests
* update other tests
* update walkthroughs
* cleanup interface exports
* cleanup, change mark transforms to require location
* undo mark transform change
* more
* fix tests
* fix example
* update walkthroughs
* update docs
* update docs
* remove annotations
* remove value, move selection and children to editor
* add migrating doc
* fix lint
* fix tests
* fix DOM types aliasing
* add next export
* update deps, fix prod build
* fix prod build
* update scripts
* update docs and changelogs
* update workflow and pull request template
2019-11-27 20:54:42 -05:00
- [Yuque ](https://www.yuque.com/ )
- [Thoughts ](https://thoughts.teambition.com )
2018-06-19 11:51:26 -07:00
## Editors
2018-06-19 12:14:53 -07:00
These pre-packaged editors are built on top of Slate, and can be helpful to see how you might structure your code:
2018-06-19 11:53:11 -07:00
2020-05-15 02:12:29 -04:00
- [Accord Project Markdown Editor ](https://github.com/accordproject/web-components ) is a WYSIWYG editor for [CommonMark ](https://commonmark.org/ ).
Next (#3093)
* remove some key usage from core, refactor Operations.apply
* undeprecate some methods
* convert more key usage to paths
* update deprecations
* convert selection commands to use all paths
* refactor word boundary selection logic
* convert many at-range commands to use paths
* convert wrapBlock and wrapInline to not use keys
* cleanup
* remove chainability from editor
* simplify commands, queries and middleware
* convert deleteAtRange
* remove key usage from schema, deprecate *ByKey methods
* migrate *ByKey tests, remove index from *ByPath signatures
* rename at-current-range tests
* deprecate mode key usage, migrate more tests away from keys
* deprecate range and point methods which rely on keys to work
* refactor insertBlock, without fixing warnings
* add pathRef/pointRef, fix insertBlock/Inline deprecations, work on insertFragment
* refactor insertFragment
* get rich-text example rendering
* fix lint
* refactor query files, fix more tests
* remove unused queries, refactor others
* deprecate splitDescendantsByPath
* merge master
* add typescript, convert slate, slate-hyperscript, slate-plain-serializer
* add Point, Path, Range, Annotation tests
* add Annotation, Change, Element, Fragment, Mark, Range, Selection, Value interfaces tests
* add Operation and Text tests
* add Node tests
* get operations and normalization tests working for slate
* get *AtPath command tests passing
* rename *AtPath command tests
* rename
* get *AtPoint tests working
* rename
* rename
* add value queries tests
* add element, mark and path queries tests
* convert most on-selection tests
* convert on-selection commands
* rename
* get addMarks and delete commands working
* rename
* rename
* rename
* refactor value.positions(), work on delete tests
* progress on delete tests
* more delete work
* finish delete tests
* start converting to at-based commands
* restructure query tests
* restructure operations tests
* more work converting to multi-purpose commands
* lots of progress on converting to at-based commands
* add unwrapNodes
* remove setValue
* more progress
* refactor node commands to use consistent matching logic
* cleanup, get non-fragment commands passing
* remove annotations and isAtomic
* rename surround/pluck to cover/uncover
* add location concept, change at-path to from-path for iterables
* refactor batches
* add location-based queries
* refactor hanging logic
* more location query work
* renaming
* use getMatch more
* add split to wrap/unwrap
* flip levels/ancestors ordering
* switch splitNodes to use levels
* change split to always:false by default
* fix tests
* add more queries tests
* fixing more delete logic
* add more splitNodes tests
* get rest of delete tests passing
* fix location-based logic in some commands
* cleanup
* get previous packages tests passing again
* add slate-history package
* start slate-schema work
* start of react working
* rendering fixes
* get rich and plain text examples working
* get image example working with hooks and dropping
* refactor onDrop to be internal
* inline more event handlers
* refactor lots of event-related logic
* change rendering to use render props
* delete unused stuff
* cleanup dom utils
* remove unused deps
* remove unnecessary packages, add placeholder
* remove slate-react-placeholder package
* remove unused dep
* remove unnecessary tests, fix readonly example
* convert checklists example
* switch to next from webpack
* get link example working
* convert more examples
* preserve keys, memoized leafs/texts, fix node lookup
* fix to always useLayoutEffect for ordering
* fix annotations to be maps, memoize elements
* remove Change interface
* remove String interface
* rename Node.entries to Node.nodes
* remove unnecessary value queries
* default to selection when iterating, cleanup
* remove unused files
* update scroll into view logic
* fix undoing, remove constructor types
* dont sync selection while composing
* add workflows
* remove unused deps
* convert mentions example
* tweaks
* convert remaining examples
* rename h to jsx, update schema
* fix schema tests
* fix slate-schema logic and tests
* really fix slate-schema and forced-layout example
* get start of insertFragment tests working
* remove Fragment interface
* remove debugger
* get all non-skipped tests passing
* cleanup deps
* run prettier
* configure eslint for typescript
* more eslint fixes...
* more passing
* update some docs
* fix examples
* port windows undo hotkey change
* fix deps, add basic firefox support
* add event overriding, update walkthroughs
* add commands, remove classes, cleanup examples
* cleanup rollup config
* update tests
* rename queries tests
* update other tests
* update walkthroughs
* cleanup interface exports
* cleanup, change mark transforms to require location
* undo mark transform change
* more
* fix tests
* fix example
* update walkthroughs
* update docs
* update docs
* remove annotations
* remove value, move selection and children to editor
* add migrating doc
* fix lint
* fix tests
* fix DOM types aliasing
* add next export
* update deps, fix prod build
* fix prod build
* update scripts
* update docs and changelogs
* update workflow and pull request template
2019-11-27 20:54:42 -05:00
- [Canner Editor ](https://github.com/Canner/canner-slate-editor ) is a rich text editor.
- [Chatterslate ](https://github.com/chatterbugapp/chatterslate ) helps teach language grammar and more at [Chatterbug ](https://chatterbug.com ).
- [French Press Editor ](https://github.com/roast-cms/french-press-editor ) is a customizeable editor with offline support.
- [Nossas Editor ](http://slate-editor.bonde.org/ ) is a drop-in WYSIWYG editor.
- [ORY Editor ](https://editor.ory.am/ ) is a self-contained, inline WYSIWYG editor library.
2021-03-31 14:32:48 -04:00
- [React Force Slate Editor ](https://github.com/nareshbhatia/react-force/tree/master/packages/slate-editor ) is a light-weight medium-style editor with no editor chrome.
2020-05-21 02:03:35 +02:00
- [Slate Plugins Next ](https://github.com/zbeyens/slate-plugins-next ) provides an editor with configurable and extendable plugins.
2018-10-09 14:03:27 -07:00
(Or, if you have their exact use case, can be a drop-in editor for you.)