mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-09-02 06:39:46 +08:00
9a721c65b5
Closes: [BS-3358](https://linear.app/affine-design/issue/BS-3358/remark-callout-plugin) Closes: [BS-3247](https://linear.app/affine-design/issue/BS-3247/callout-markdown-adapter-适配) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added support for callout blocks in Markdown, enabling recognition and conversion of callout syntax (e.g., `[!emoji]`) to and from block structures. - **Bug Fixes** - Improved handling to distinguish callout blocks from regular blockquotes and paragraphs during Markdown processing. - **Tests** - Introduced comprehensive tests for callout block serialization, deserialization, and plugin behavior to ensure correct Markdown handling. - **Chores** - Added a new dependency for Markdown AST traversal. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
17 lines
748 B
TypeScript
17 lines
748 B
TypeScript
import { SlashMenuConfigExtension } from '@blocksuite/affine-widget-slash-menu';
|
|
import { BlockViewExtension, FlavourExtension } from '@blocksuite/std';
|
|
import type { ExtensionType } from '@blocksuite/store';
|
|
import { literal } from 'lit/static-html.js';
|
|
|
|
import { CalloutBlockMarkdownAdapterExtension } from './adapters/markdown';
|
|
import { CalloutKeymapExtension } from './callout-keymap';
|
|
import { calloutSlashMenuConfig } from './configs/slash-menu';
|
|
|
|
export const CalloutBlockSpec: ExtensionType[] = [
|
|
FlavourExtension('affine:callout'),
|
|
BlockViewExtension('affine:callout', literal`affine-callout`),
|
|
CalloutKeymapExtension,
|
|
SlashMenuConfigExtension('affine:callout', calloutSlashMenuConfig),
|
|
CalloutBlockMarkdownAdapterExtension,
|
|
];
|