All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- update: Increase length of prefix and suffix in getLocalHighlightText
- fix: only trigger collab plugin on transactions containing steps to avoid double-sending changes.
- update: Add from, to values to getLocalHighlightText()
- Introduce setEditorSelectionFromClick utility
- Set { selectable:false } for most base schema nodes like headers and lists
- Add domEvents plugin that captures latestDomEvent and adds it to editorChangeObject
- Replace importHtml with getDocForHtmlString
- Add onScrollToSelection prop to Editor so callers can interfere with scrolling
- Cache initial call to renderStatic() with React.memo() for performance improvement.
- Fix a CSS issue that broke table editing in Firefox
- Update prosemirror-tables to v0.9.5
- Add optional
href
attribute to citations and footnotes, allowing them to be rendered as links - Update (s)css structure so it can be bundled by PubPub's document exporter
- Replace
rowspan
withrowSpan
for React - fix: onChange getShortcutValues index bug
- dev: Add onKeyPress handler prop to Editor component
- dev: Refactor collaborative plugin. Improves performance and handles a few edge-case bugs.
- When renderForPandoc is true, render math
script
tags using React and dangerouslySetInnerHTML to prevent ReactDOM from adding HTML character entities to the tag content.
- Render media captions with div instead of span
- New renderForPandoc attr for equations
- Replace
colspan
withcolSpan
for React
- Add new importDocJson utility for PubPub to consume
- Add fixedHeader attr to
heading
schema type
- Shim
fs
require fromcss
dependency in browser environment.
- fix: getNotes citation keying bug
- update: Tweak margin on float figures
- fix: Add left/right padding to float figures
- fix: Temporarily fix for an issue with React-rendering of editor content with inline styles
- fix: Fixed an issue with file embeds crashing the editor under certain circumstances
- fix: Paste collab sync bug
- fix: Image copy and paste bug
- update: add getNotes function
- update: Move to native prosemirror rendering rather than nodeviews
- fix: Collaborative lint and readOnly catch
- fix: Handle setSelection properly to avoid crashes casued by new prosemirror-state
- fix: mostRecentKey calc type error
- update: Do not render placeholder if no placeholder prop has been passed in
- fix: getShortcutValues position bug
- fix: Handle mostRecentKey calc for very large step arrays
- fix: Remove testing error
- feature: Add onError prop that will be called with transaction and firebase errors.
- dev: Simplify handling of collab meta keys
- fix: Use https for git package
- fix: Use prosemirror-view hotfix to handle selection bug.
- fix: Proper check for prosemirror-table plugin
- fix: Draw columns properly in readOnly mode.
- fix: Add try around discussion restore selection.
- dev: Add to list of steps to not send.
- fix: Index error in citation plugin.
- fix: Do not show collaborative cursors if isReadOnly is set.
- update: collaborative plugin now fires an onUpdateLatestKey callback with the latest remote key from Firebase.
- update: BREAKING - collaborationOptions updated to take ref, rather than firebase credentials
- update: BREAKING - new firebase schema to support merges, branches, and other metadata.
- fix: usedHighlights infinite transaction loop bug
- update: Add and refactor cursor manipulation utilties
- fix: Remove postinstall githook copying because it caused
npm install @pubpub/editor
to fail
- update: Handle undefined editor in getText and getJSON
- dev: Add pre-push hooks to run lint
- fix: Grab node schema defaultOptions from right place
- feature: Add moveSelectionToStart and moveSelectionToEnd utility functions
- feature: Add marksAtSelection function to utilities
- feature: Support audio files
- fix: Update File component to use bp3 classnames
- fix: Video pointer event handling in editor
- fix: Image and Iframe draggable flag
- fix: Update blocktype is active to properly set value when at depth 0
- dev: Update prosemirror and react dependencies
- update: Add paragraph and code block to Block Toggle in menuItems
- feature: Add
canRun
boolean to onChange menuItems object. - feature: Add
handleSingleClick
andhandleDoubleClick
props to Editor component
- update: headerIds more cleanly handles additional whitespace.
- update: headerIds module trims after replacing non alphanumeric characters to avoid leading or trailing hyphens.
- feature: Highlight quote now takes a
generateActionElement
function in options that can be used to create an element for scrolling, highlighting, or other highlight actions. - update: Breaking HighlightQuote no longer provides scroller or highlight functionality.
- update: Add download attribute to File component links.
- fix: Highlight plugin properly checks doc nodeSize.
- fix: Highlight plugin properly handles textQuote errors.
- fix: Parse more variants of strikethrough dom nodes.
- fix: importHtml more properly inserts Slice rather than looping through nodes.
- fix: Properly referencing new prosemirror-compress-pubpub package.
- fix: Use new prosemirror-compress package that solves Safari Object prototype bug.
- update: Breaking - rebuilt architecture that simplifies and cleans use of the PubPub editor. The editor is no longer responsible for interfaces to nodeviews and menus. The data necessary to build such menus are passed up in the onChange response.
- feature: Add importHtml function to .
- update: Prosemirror and react dependencies.
- feature: Allow images to link to their src.
- fix: Change chapter to section for more general naming.
- fix: Apply highlights in batches for better performance.
- fix: Trim header Id to remove trailing spaces.
- fix: Attempting to fix firebase dependency bug.
- feature: Add handlePermalink prop for HighlightQuote.
- feature: Add chapter support in highlights.
- fix: Clean up spans produced when rendering staticMarkup.
- feature: Add renderStaticMarkup prop on so that you can server-render clean markup.
- fix: Don't catch getJSONs error - let is pass up the promise chain.
- feature: Add getText function.
- feature: Add getCollabJSONs function to which builds the JSONS at a array of paths.
- fix: Bug fix for Editors with no children components
- fix: Only trigger onChange on Editor component if the doc changes - rather than on every transaction.
- fix: Highlight version bug fix.
- fix: Handle transaction disconnect error with .catch
- fix: Better handling of resending pending changes when a transaction fails to commit.
- fix: Fix dom anchor selection
- fix: Fix handling of chrome-bug-workaround in options-wrapper
- feature: support for collaborative firebase authentication added.
- fix: Collaborative editor rewritten to be much more stable.
- fix: Load collaborative doc all at once if there is a checkpoint, rather than by piece.
- feature: collaborative docs now show loading bars until remote doc is loaded.
- feature: cursors are now inline rather than circles on the side
- CSS scope header bug fix
- Aligning headerLinks to top of header
- Add support for showHeaderLinks
- Make headers 'defining'
- Headers are now assigned ids equal to their content
- Latex middle alignment fix
- Footnote CSS alignment fix for Firefox.
- Change permalink copy button text.
- Formatting menu no longer maxes out at top = 0. Fixes overlap on first line.
- HighlightMenu button overlap fix.
- HighlightMenu button uses CopyToClipboard and direct NewDiscussion buttons.
- Bug fix for database healing
- Quick bug fix for Citation List SSR. Needs more work for proper SSR rendering
- Bug fix for server render of empty paragraphs.
- Fix static render functions to never insert div inside p. It ruins SSR
- Add support for editorId prop on . Important for SSR and client HTML matching.
- Add support for Server-Side Rendering. Documents will render first as React Tree, and then in the Browser be replaced by the ProseMirror instance of the document. Requires all schema types to have a toStatic() function which returns a React component.
- Add
class
attribute to paragraph in baseSchema
- Add
target
attribute to link in baseSchema
- Fix whitespace issues for citations and citation lists
- Fix latex text-align issue
- Fixed bug where highlights passed to HighlightMenu wouldn't render until componentWillReceiveProps was triggered. That is - they wouldn't render on first load even if they were available.
- Added optional prop
onStatusChange
to the<Collaborative />
. onStatusChange is a function that will be called when the collaboration status is changed. Possible values are 'connected', 'saving', 'saved', and 'disconnected'.
- Moving the editor out of beta versioning.
- Addons documented
- README updated to include details on writing new Addons