-
-
Notifications
You must be signed in to change notification settings - Fork 134
Hybrid Text Editor #2501
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
Soxasora
wants to merge
62
commits into
stackernews:master
Choose a base branch
from
Soxasora:rich_text
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Hybrid Text Editor #2501
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
… SN theme, formik bridge touchups, a better toolbar style
…gic, image markdown transformer, testing on more scenarios
…ty; re-instate SN markdown renderer
…cussions create/edit
…s for markdown mode
…t, re-introduce usage of Lexical in read mode
…ustomAutoLink plugin
…ia component rendering
…fore lexical loads
…autofocus support, fix formik overriding a cancel, fix empty localstorage drafts, labels support
…clean selected files before concurrently uploading them to S3; Shared History Context
… fix markdownmode-lexical conversion on formik, ssr HTML gen tweaks
…ntal hybrid MediaOrLink; MEDIA_OR_LINK markdown transformer; restructure
1 task
recognize links also in markdown mode (toolbar); markdownmode hook + light refactor; experimental custom shortcuts manager -- mod+shift+m to switch between modes; messy fix link editor not updating state on node selection changes
…ix style on status mode
…ustom commands for markdown mode, toolbar tweaks, light restructuring
… command; fix markdown mode status
…mbed refactor from PR stackernews#2583
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Introduces Lexical as a Markdown, Rich and Hybrid Text editor and renderer
Screenshots
Preliminar comment UI with no distinctions between markdown and rich text
In no way the final design
New things
4kB
of size in the bundle (this has to be re-verified later)MediaOrLink
preserves scroll on load, supports captions and resizeAdditional Context
Lexical is also used as a renderer (stripped of any plugins) of its editorState in JSON.
There is also the curiously named RenderMan, its job is to parse and render the JSON produced by Lexical into React nodes.
Since Lexical renders client-side, the HTML produced by Lexical is used as a placeholder with 1:1 styling until Lexical takes over
Progress
TODO
Nodes status
Markdown spec compliance
SN custom nodes
Markdown-Lexical transformations
Checklist
Are your changes backward compatible? Please answer below:
For example, a change is not backward compatible if you removed a GraphQL field or dropped a database column.
tbd
On a scale of 1-10 how well and how have you QA'd this change and any features it might affect? Please answer below:
tbd
For frontend changes: Tested on mobile, light and dark mode? Please answer below:
tbd
Did you introduce any new environment variables? If so, call them out explicitly here:
tbd
Did you use AI for this? If so, how much did it assist you?
Ask: better lexical understanding, things that weren't clear in documentation or in code, best practices
Agent: autocompletion and refactors