mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-11 23:26:30 +08: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:
@@ -22,9 +22,10 @@ export const parseBlockToMd = (
|
||||
block.content
|
||||
.split('\n')
|
||||
.map(line => padding + line)
|
||||
.slice(0, -1)
|
||||
.join('\n') +
|
||||
'\n' +
|
||||
block.children.map(b => parseBlockToMd(b, padding + ' ')).join('')
|
||||
block.children.map(b => parseBlockToMd(b, padding + ' ')).join('')
|
||||
);
|
||||
} else {
|
||||
return block.children.map(b => parseBlockToMd(b, padding)).join('');
|
||||
@@ -109,7 +110,7 @@ export function parseBlock(
|
||||
const checked = yBlock.get('prop:checked') as boolean;
|
||||
prefix = checked ? '- [x] ' : '- [ ] ';
|
||||
}
|
||||
result.content = prefix + toMd() + '\n';
|
||||
result.content = prefix + toMd();
|
||||
break;
|
||||
}
|
||||
case 'affine:code': {
|
||||
|
||||
Reference in New Issue
Block a user