diff --git a/blocksuite/affine/all/package.json b/blocksuite/affine/all/package.json index 70c385f9a2..8143ace925 100644 --- a/blocksuite/affine/all/package.json +++ b/blocksuite/affine/all/package.json @@ -149,7 +149,9 @@ "./inlines/reference": "./src/inlines/reference/index.ts", "./inlines/reference/store": "./src/inlines/reference/store.ts", "./inlines/reference/view": "./src/inlines/reference/view.ts", - "./inlines/preset": "./src/inlines/preset.ts", + "./inlines/preset": "./src/inlines/preset/index.ts", + "./inlines/preset/store": "./src/inlines/preset/store.ts", + "./inlines/preset/view": "./src/inlines/preset/view.ts", "./inlines/footnote": "./src/inlines/footnote/index.ts", "./inlines/footnote/view": "./src/inlines/footnote/view.ts", "./inlines/footnote/store": "./src/inlines/footnote/store.ts", diff --git a/blocksuite/affine/all/src/extensions/effects.ts b/blocksuite/affine/all/src/extensions/effects.ts index 13cb3b7bc7..68430248c9 100644 --- a/blocksuite/affine/all/src/extensions/effects.ts +++ b/blocksuite/affine/all/src/extensions/effects.ts @@ -29,7 +29,6 @@ import { effects as componentViewDropdownMenuEffects } from '@blocksuite/affine- import { effects as fragmentDocTitleEffects } from '@blocksuite/affine-fragment-doc-title/effects'; import { effects as fragmentFramePanelEffects } from '@blocksuite/affine-fragment-frame-panel/effects'; import { effects as fragmentOutlineEffects } from '@blocksuite/affine-fragment-outline/effects'; -import { effects as inlinePresetEffects } from '@blocksuite/affine-inline-preset/effects'; import { effects as richTextEffects } from '@blocksuite/affine-rich-text/effects'; import { effects as widgetDragHandleEffects } from '@blocksuite/affine-widget-drag-handle/effects'; import { effects as widgetEdgelessAutoConnectEffects } from '@blocksuite/affine-widget-edgeless-auto-connect/effects'; @@ -47,8 +46,6 @@ export function effects() { dataViewEffects(); richTextEffects(); - inlinePresetEffects(); - blockSurfaceEffects(); blockRootEffects(); diff --git a/blocksuite/affine/all/src/extensions/migrating-store.ts b/blocksuite/affine/all/src/extensions/migrating-store.ts index 76a332636c..dae7ad054e 100644 --- a/blocksuite/affine/all/src/extensions/migrating-store.ts +++ b/blocksuite/affine/all/src/extensions/migrating-store.ts @@ -9,13 +9,6 @@ import { type StoreExtensionContext, StoreExtensionProvider, } from '@blocksuite/affine-ext-loader'; -import { - HtmlInlineToDeltaAdapterExtensions, - InlineDeltaToHtmlAdapterExtensions, - InlineDeltaToMarkdownAdapterExtensions, - MarkdownInlineToDeltaAdapterExtensions, - NotionHtmlInlineToDeltaAdapterExtensions, -} from '@blocksuite/affine-inline-preset'; import { RootBlockSchemaExtension, TranscriptionBlockSchemaExtension, @@ -63,26 +56,15 @@ const defaultBlockNotionHtmlAdapterMatchers: ExtensionType[] = [ ]; function getHtmlAdapterExtensions(): ExtensionType[] { - return [ - ...HtmlInlineToDeltaAdapterExtensions, - ...defaultBlockHtmlAdapterMatchers, - ...InlineDeltaToHtmlAdapterExtensions, - ]; + return [...defaultBlockHtmlAdapterMatchers]; } function getMarkdownAdapterExtensions(): ExtensionType[] { - return [ - ...MarkdownInlineToDeltaAdapterExtensions, - ...defaultBlockMarkdownAdapterMatchers, - ...InlineDeltaToMarkdownAdapterExtensions, - ]; + return [...defaultBlockMarkdownAdapterMatchers]; } function getNotionHtmlAdapterExtensions(): ExtensionType[] { - return [ - ...NotionHtmlInlineToDeltaAdapterExtensions, - ...defaultBlockNotionHtmlAdapterMatchers, - ]; + return [...defaultBlockNotionHtmlAdapterMatchers]; } const MigratingStoreExtensions: ExtensionType[] = [ diff --git a/blocksuite/affine/all/src/extensions/store.ts b/blocksuite/affine/all/src/extensions/store.ts index b8df7ce44b..4515a95f40 100644 --- a/blocksuite/affine/all/src/extensions/store.ts +++ b/blocksuite/affine/all/src/extensions/store.ts @@ -18,6 +18,7 @@ import { TableStoreExtension } from '@blocksuite/affine-block-table/store'; import { FootnoteStoreExtension } from '@blocksuite/affine-inline-footnote/store'; import { LatexStoreExtension as InlineLatexStoreExtension } from '@blocksuite/affine-inline-latex/store'; import { LinkStoreExtension } from '@blocksuite/affine-inline-link/store'; +import { InlinePresetStoreExtension } from '@blocksuite/affine-inline-preset/store'; import { ReferenceStoreExtension } from '@blocksuite/affine-inline-reference/store'; import { MigratingStoreExtension } from './migrating-store'; @@ -46,6 +47,7 @@ export function getInternalStoreExtensions() { LinkStoreExtension, ReferenceStoreExtension, InlineLatexStoreExtension, + InlinePresetStoreExtension, MigratingStoreExtension, ]; diff --git a/blocksuite/affine/all/src/extensions/view.ts b/blocksuite/affine/all/src/extensions/view.ts index bb1e0603f7..79b211b27c 100644 --- a/blocksuite/affine/all/src/extensions/view.ts +++ b/blocksuite/affine/all/src/extensions/view.ts @@ -19,6 +19,7 @@ import { FootnoteViewExtension } from '@blocksuite/affine-inline-footnote/view'; import { LatexViewExtension as InlineLatexViewExtension } from '@blocksuite/affine-inline-latex/view'; import { LinkViewExtension } from '@blocksuite/affine-inline-link/view'; import { MentionViewExtension } from '@blocksuite/affine-inline-mention/view'; +import { InlinePresetViewExtension } from '@blocksuite/affine-inline-preset/view'; import { ReferenceViewExtension } from '@blocksuite/affine-inline-reference/view'; import { MigratingViewExtension } from './migrating-view'; @@ -52,5 +53,6 @@ export function getInternalViewExtensions() { ReferenceViewExtension, InlineLatexViewExtension, MentionViewExtension, + InlinePresetViewExtension, ]; } diff --git a/blocksuite/affine/all/src/inlines/preset.ts b/blocksuite/affine/all/src/inlines/preset/index.ts similarity index 100% rename from blocksuite/affine/all/src/inlines/preset.ts rename to blocksuite/affine/all/src/inlines/preset/index.ts diff --git a/blocksuite/affine/all/src/inlines/preset/store.ts b/blocksuite/affine/all/src/inlines/preset/store.ts new file mode 100644 index 0000000000..0356bfea8f --- /dev/null +++ b/blocksuite/affine/all/src/inlines/preset/store.ts @@ -0,0 +1 @@ +export * from '@blocksuite/affine-inline-preset/store'; diff --git a/blocksuite/affine/all/src/inlines/preset/view.ts b/blocksuite/affine/all/src/inlines/preset/view.ts new file mode 100644 index 0000000000..8e57dc1e57 --- /dev/null +++ b/blocksuite/affine/all/src/inlines/preset/view.ts @@ -0,0 +1 @@ +export * from '@blocksuite/affine-inline-preset/view'; diff --git a/blocksuite/affine/inlines/preset/package.json b/blocksuite/affine/inlines/preset/package.json index 2e73c432e3..5e534d9d9e 100644 --- a/blocksuite/affine/inlines/preset/package.json +++ b/blocksuite/affine/inlines/preset/package.json @@ -11,6 +11,7 @@ "license": "MIT", "dependencies": { "@blocksuite/affine-components": "workspace:*", + "@blocksuite/affine-ext-loader": "workspace:*", "@blocksuite/affine-inline-footnote": "workspace:*", "@blocksuite/affine-inline-latex": "workspace:*", "@blocksuite/affine-inline-link": "workspace:*", @@ -45,7 +46,9 @@ }, "exports": { ".": "./src/index.ts", - "./effects": "./src/effects.ts" + "./effects": "./src/effects.ts", + "./store": "./src/store.ts", + "./view": "./src/view.ts" }, "files": [ "src", diff --git a/blocksuite/affine/inlines/preset/src/store.ts b/blocksuite/affine/inlines/preset/src/store.ts new file mode 100644 index 0000000000..11d7a849b8 --- /dev/null +++ b/blocksuite/affine/inlines/preset/src/store.ts @@ -0,0 +1,15 @@ +import { + type StoreExtensionContext, + StoreExtensionProvider, +} from '@blocksuite/affine-ext-loader'; + +import { InlineAdapterExtensions } from './adapters/extensions'; + +export class InlinePresetStoreExtension extends StoreExtensionProvider { + override name = 'affine-inline-preset'; + + override setup(context: StoreExtensionContext) { + super.setup(context); + context.register(InlineAdapterExtensions); + } +} diff --git a/blocksuite/affine/inlines/preset/src/view.ts b/blocksuite/affine/inlines/preset/src/view.ts new file mode 100644 index 0000000000..2b65180149 --- /dev/null +++ b/blocksuite/affine/inlines/preset/src/view.ts @@ -0,0 +1,25 @@ +import { + type ViewExtensionContext, + ViewExtensionProvider, +} from '@blocksuite/affine-ext-loader'; + +import { DefaultInlineManagerExtension } from './default-inline-manager'; +import { effects } from './effects'; +import { InlineSpecExtensions } from './inline-spec'; +import { MarkdownExtensions } from './markdown'; + +export class InlinePresetViewExtension extends ViewExtensionProvider { + override name = 'affine-inline-preset'; + + override effect() { + super.effect(); + effects(); + } + + override setup(context: ViewExtensionContext) { + super.setup(context); + context.register(DefaultInlineManagerExtension); + context.register(InlineSpecExtensions); + context.register(MarkdownExtensions); + } +} diff --git a/blocksuite/affine/inlines/preset/tsconfig.json b/blocksuite/affine/inlines/preset/tsconfig.json index c49452998a..06e9130beb 100644 --- a/blocksuite/affine/inlines/preset/tsconfig.json +++ b/blocksuite/affine/inlines/preset/tsconfig.json @@ -8,6 +8,7 @@ "include": ["./src"], "references": [ { "path": "../../components" }, + { "path": "../../ext-loader" }, { "path": "../footnote" }, { "path": "../latex" }, { "path": "../link" }, diff --git a/tools/utils/src/workspace.gen.ts b/tools/utils/src/workspace.gen.ts index fc2924e8f4..b39a285b3c 100644 --- a/tools/utils/src/workspace.gen.ts +++ b/tools/utils/src/workspace.gen.ts @@ -694,6 +694,7 @@ export const PackageList = [ name: '@blocksuite/affine-inline-preset', workspaceDependencies: [ 'blocksuite/affine/components', + 'blocksuite/affine/ext-loader', 'blocksuite/affine/inlines/footnote', 'blocksuite/affine/inlines/latex', 'blocksuite/affine/inlines/link', diff --git a/yarn.lock b/yarn.lock index d0032b3ad7..6d4cb4dacd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3464,6 +3464,7 @@ __metadata: resolution: "@blocksuite/affine-inline-preset@workspace:blocksuite/affine/inlines/preset" dependencies: "@blocksuite/affine-components": "workspace:*" + "@blocksuite/affine-ext-loader": "workspace:*" "@blocksuite/affine-inline-footnote": "workspace:*" "@blocksuite/affine-inline-latex": "workspace:*" "@blocksuite/affine-inline-link": "workspace:*"