Add Remarkable standalone blocks configuration to enable customization #147
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
I noticed that Remarkable standalone blocks like
fence
orhr
have a special case handling in src/markdown-to-draft.js#L257.When I tried to add a custom Remarkable plugin that renders a token that looks like the
fence
one, it is not included correctly for Draft.js block creation except if the token type finishes with "_open" (cf. src/markdown-to-draft.js#L257). As my custom Remarkable block is a standalone block, I think it would be more readable and consistent if its name doesn't end with "_open" and can still be handled correctly by markdown-draft-js (eg.yaml_frontmatter
and notyaml_frontmatter_open
).For this purpose, I added another configuration array to handle these standalone blocks. This array clarifies their specificity and enables customization.
Use case
I want Remarkable to parses this kind of block at the top of a file:
and create a token that looks like this (with a plugin like this one), :
Then, using markdownToDraft, I would get the following raw Draft state:
The PR would enable it with the following configuration for markdownToDraft: