Thanks for this excellent plugin, it’s working great on mobile (Android) & desktop (Windows) but unfortunately on desktop it’s incompatible with legacy Markdown. I fear this is a long shot but is it at all possible please to make this plugin compatible with legacy Markdown editor on desktop (Windows) please?
I ask as I use (become reliant upon) several of the functions within Enhancement plugin, which unfortunately requires legacy Markdown editor. I’d love to be able to make use of both Rich Tables & Enhancement together on desktop.
I find that large Markdown tables quickly get very scruffy so I’m currently switching legacy off, using Rich Tables to add/edit tables then switching legacy Markdown back on.
I probably will not add support for the legacy editor in this plugin, the plugin implementation is heavily tied to codemirror 6 and would likely need an entirely separate implementation to support the legacy (codemirror 5) editor
IIRC though Joplin enhancement does include a codemirror 5 table editor (an old version of Zettlr's table editor) though I haven't tried it
I guessed this would likely be the case but thought I’d ask just in case so thanks for looking & taking the time to answer.
Yes Enhancement has a table option which uses Tab to format the table/add a new row/column. For tables with any lengthy text I find it quickly becomes a bit messy & can become awkward to edit especially when adding or removing colums/rows, but that may be down to the user (that’ll be me then). I’ve found Rich Tables to be extremely useful because of this & thankfully we have the option to toggle the legacy on/off. Cheers
in enhancement there is a setting for "Render markdown table to editable table in markdown editor" which enables a GUI table editor (the zettlr based editor I was remembering):
Changes to table widget rendering to implement proper DOM reuse and improve performance
Replaced toolbar edit as markdown button with a "source mode" toggle that disables all table rendering (until it's toggled off).
Source mode is now enabled while joplin search in note panel is open for more reliable search/replace behavior.
Fixes
Fixed race conditions when rapidly switching table cells/creating rows
Fixed flickering table widgets when backspacing text on mobile
Fixed video elements exceeding table cell size in rendered markdown (when video plugin is enabled)
Fixed flickering video elements due to DOM teardown when making edits outside of a table that contains a video element (this can still happen, but only if you make changes to the table containing the video)
Fixed empty rows (where cursor isn't in any cell) having less height than other rows
v1.5.2 - v1.5.3
Fix: prevent unnecessary renderMarkup requests for plain text
Fix: don't render markup for block quotes/numbered lists (which don't render correctly in markdown tables)
Removed the width lock when clicking on table cells, other changes have stabilized the scrolling enough that allowing the cell to expand no longer causes huge scroll jumps, and the width lock made creating new tables kind of annoying (text would wrap prematurely and then expand when clicking off of the cell)
v1.5.4
Improvements
Improved table parsing performance
Fixes
When the table cell editor is open, detect if full document has been replaced (e.g. joplin sync updates) and automatically close the cell editor and rebuild all tables to prevent stale document state.
v1.5.6
Fix: issue where cursor focus could switch to editor when typing in joplin searchbar when the rich text editor is active, due to editor.execCommand being called on note switch
Fix: text entered immediately after table (with no empty line in between) being invisible
v1.5.7
Improve word break behavior so that it doesn't break short words in column headers/cells, and behaves more consistently with markdown viewer table styling
Improved floating toolbar behavior so that the toolbar is always visible in the viewport when editing a table (similar to how the toolbar works in the TinyMCE editor). This makes it easier to edit large tables (especially on mobile).
If either the top or bottom of the table is visible in the viewport, it will appear above or below the table as it did previously (so it doesn't obscure content in the table).
When the top/bottom of the table aren't visible (e.g. as you scroll down/up), the toolbar will be pinned to the top or bottom of the viewport.
It would be nice to either render no lists at all (like it's done at the Markdown viewer) or render all elements of the lists. I would prefer the second option, since it would look better, but it would be a deviation from the CommonMark specification.
The fix that I implemented is to prevent rendering of lists in table cells, I don't think it's possible to render them properly (at least not with CommonMark/GFM tables) because markdown-it will only render lists properly if there are newlines between the list items (this is why only the first list marker is rendered in your example) and newlines aren't allowed in GFM table cells
Simple lists will still be usable (using <br> between list items like your example), the list markers are just escaped at the beginning of the table cell to prevent renderMarkup from trying to render the list: