✨ Feature: Copy Table as Markdown in Editor Bubble Menu #41
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.
Summary
This PR introduces a new feature to the Acreom editor:
Copy Table as Markdown, allowing users to seamlessly export any table in the editor to a clean, GitHub-compatible Markdown format with a single click.🔍 What’s New
UI Addition:
Functionality:
Error Handling:
🧠 Clipboard Extension Improvements
Markdown Table Parsing on Paste:
New Extension table-clipboard-handler:
🧩 Dependencies Added
🧪 Tested
📸 Preview
Screen.Recording.2025-05-25.at.23.43.15.mov
✨
Description by Callstackai
This PR introduces a new feature to the Acreom editor that allows users to copy tables as Markdown, enhancing the editor's functionality and user experience.
Diagrams of code changes
sequenceDiagram participant User participant BubbleMenu participant TableClipboardHandler participant MarkdownParser %% Copy table as markdown flow User->>BubbleMenu: Click "Copy as markdown" BubbleMenu->>BubbleMenu: parseTableToMarkdown() BubbleMenu->>BubbleMenu: beautifyMarkdownTable() BubbleMenu-->>User: Copy formatted markdown to clipboard %% Paste markdown table flow User->>TableClipboardHandler: Paste markdown table TableClipboardHandler->>TableClipboardHandler: Check if valid table format TableClipboardHandler->>MarkdownParser: Parse markdown to HTML MarkdownParser-->>TableClipboardHandler: Return HTML table TableClipboardHandler->>TableClipboardHandler: Convert to ProseMirror nodes TableClipboardHandler-->>User: Insert table at cursor positionFiles Changed
This PR includes files in programming languages that we currently do not support. We have not reviewed files with the extensions
.vue,.ts,.json. See list of supported languages.