mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-14 13:25:12 +00:00
refactor(core): align markdown conversion logic (#13254)
## Refactor Align the Markdown conversion logic across all business modules: 1. frontend/backend apply: doc to markdown 2. insert/import markdown: use `markdownAdapter.toDoc` > CLOSE AI-328 AI-379 AI-380 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Documentation** * Clarified instructions and provided an explicit example for correct list item formatting in the markdown editing tool. * **Bug Fixes** * Improved markdown parsing for lists, ensuring correct indentation and handling of trailing newlines. * Cleaned up markdown snapshot test files by removing redundant blank lines for better readability. * **Refactor** * Updated markdown conversion logic to use a new parsing approach for improved reliability and maintainability. * Enhanced markdown generation method for document snapshots with improved error handling. * Refined markdown-to-snapshot conversion with more robust document handling and snapshot extraction. * **Chores** * Added a new workspace dependency for enhanced markdown parsing capabilities. * Updated project references and workspace dependencies to include the new markdown parsing package. * **Tests** * Temporarily disabled two markdown-related tests due to parse errors in test mode. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
@@ -51,7 +51,15 @@ Important Instructions:
|
||||
- When inserting, follow the same format as a replacement, but ensure the new block_id does not conflict with existing IDs.
|
||||
- When replacing content, always keep the original block_id unchanged.
|
||||
- When deleting content, only use the format <!-- delete block_id=xxx -->, and only for valid block_id present in the original <code> content.
|
||||
- Each list item should be a block.
|
||||
- Each top-level list item should be a block. Like this:
|
||||
\`\`\`markdown
|
||||
<!-- block_id=001 flavour=affine:list -->
|
||||
* Item 1
|
||||
* SubItem 1
|
||||
<!-- block_id=002 flavour=affine:list -->
|
||||
1. Item 1
|
||||
1. SubItem 1
|
||||
\`\`\`
|
||||
- Your task is to return a list of block-level changes needed to fulfill the user's intent.
|
||||
- **Each change in code_edit must be completely independent: each code_edit entry should only perform a single, isolated change, and must not include the effects of other changes. For example, the updates for a delete operation should only show the context related to the deletion, and must not include any content modified by other operations (such as bolding or insertion). This ensures that each change can be applied independently and in any order.**
|
||||
|
||||
|
||||
Reference in New Issue
Block a user