chore: each block maintain its own adapter extension (#9224)

This commit is contained in:
donteatfriedrice
2024-12-23 07:54:58 +00:00
parent 5716fbf0ed
commit a187f23452
43 changed files with 264 additions and 264 deletions
@@ -0,0 +1,11 @@
import type { ExtensionType } from '@blocksuite/block-std';
import { EmbedFigmaBlockHtmlAdapterExtension } from './html.js';
import { EmbedFigmaMarkdownAdapterExtension } from './markdown.js';
import { EmbedFigmaBlockPlainTextAdapterExtension } from './plain-text.js';
export const EmbedFigmaBlockAdapterExtensions: ExtensionType[] = [
EmbedFigmaBlockHtmlAdapterExtension,
EmbedFigmaMarkdownAdapterExtension,
EmbedFigmaBlockPlainTextAdapterExtension,
];
@@ -5,6 +5,7 @@ import {
} from '@blocksuite/block-std';
import { literal } from 'lit/static-html.js';
import { EmbedFigmaBlockAdapterExtensions } from './adapters/extension.js';
import { EmbedFigmaBlockService } from './embed-figma-service.js';
export const EmbedFigmaBlockSpec: ExtensionType[] = [
@@ -15,4 +16,5 @@ export const EmbedFigmaBlockSpec: ExtensionType[] = [
? literal`affine-embed-edgeless-figma-block`
: literal`affine-embed-figma-block`;
}),
];
EmbedFigmaBlockAdapterExtensions,
].flat();
@@ -0,0 +1,11 @@
import type { ExtensionType } from '@blocksuite/block-std';
import { EmbedGithubBlockHtmlAdapterExtension } from './html.js';
import { EmbedGithubMarkdownAdapterExtension } from './markdown.js';
import { EmbedGithubBlockPlainTextAdapterExtension } from './plain-text.js';
export const EmbedGithubBlockAdapterExtensions: ExtensionType[] = [
EmbedGithubBlockHtmlAdapterExtension,
EmbedGithubMarkdownAdapterExtension,
EmbedGithubBlockPlainTextAdapterExtension,
];
@@ -5,6 +5,7 @@ import {
} from '@blocksuite/block-std';
import { literal } from 'lit/static-html.js';
import { EmbedGithubBlockAdapterExtensions } from './adapters/extension.js';
import { EmbedGithubBlockService } from './embed-github-service.js';
export const EmbedGithubBlockSpec: ExtensionType[] = [
@@ -15,4 +16,5 @@ export const EmbedGithubBlockSpec: ExtensionType[] = [
? literal`affine-embed-edgeless-github-block`
: literal`affine-embed-github-block`;
}),
];
EmbedGithubBlockAdapterExtensions,
].flat();
@@ -0,0 +1,11 @@
import type { ExtensionType } from '@blocksuite/block-std';
import { EmbedLinkedDocHtmlAdapterExtension } from './html.js';
import { EmbedLinkedDocMarkdownAdapterExtension } from './markdown.js';
import { EmbedLinkedDocBlockPlainTextAdapterExtension } from './plain-text.js';
export const EmbedLinkedDocBlockAdapterExtensions: ExtensionType[] = [
EmbedLinkedDocHtmlAdapterExtension,
EmbedLinkedDocMarkdownAdapterExtension,
EmbedLinkedDocBlockPlainTextAdapterExtension,
];
@@ -5,6 +5,7 @@ import {
} from '@blocksuite/block-std';
import { literal } from 'lit/static-html.js';
import { EmbedLinkedDocBlockAdapterExtensions } from './adapters/extension.js';
import { commands } from './commands/index.js';
export const EmbedLinkedDocBlockSpec: ExtensionType[] = [
@@ -14,4 +15,5 @@ export const EmbedLinkedDocBlockSpec: ExtensionType[] = [
? literal`affine-embed-edgeless-linked-doc-block`
: literal`affine-embed-linked-doc-block`;
}),
];
EmbedLinkedDocBlockAdapterExtensions,
].flat();
@@ -0,0 +1,11 @@
import type { ExtensionType } from '@blocksuite/block-std';
import { EmbedLoomBlockHtmlAdapterExtension } from './html.js';
import { EmbedLoomMarkdownAdapterExtension } from './markdown.js';
import { EmbedLoomBlockPlainTextAdapterExtension } from './plain-text.js';
export const EmbedLoomBlockAdapterExtensions: ExtensionType[] = [
EmbedLoomBlockHtmlAdapterExtension,
EmbedLoomMarkdownAdapterExtension,
EmbedLoomBlockPlainTextAdapterExtension,
];
@@ -5,6 +5,7 @@ import {
} from '@blocksuite/block-std';
import { literal } from 'lit/static-html.js';
import { EmbedLoomBlockAdapterExtensions } from './adapters/extension.js';
import { EmbedLoomBlockService } from './embed-loom-service.js';
export const EmbedLoomBlockSpec: ExtensionType[] = [
@@ -15,4 +16,5 @@ export const EmbedLoomBlockSpec: ExtensionType[] = [
? literal`affine-embed-edgeless-loom-block`
: literal`affine-embed-loom-block`;
}),
];
EmbedLoomBlockAdapterExtensions,
].flat();
@@ -0,0 +1,11 @@
import type { ExtensionType } from '@blocksuite/block-std';
import { EmbedSyncedDocBlockHtmlAdapterExtension } from './html.js';
import { EmbedSyncedDocBlockMarkdownAdapterExtension } from './markdown.js';
import { EmbedSyncedDocBlockPlainTextAdapterExtension } from './plain-text.js';
export const EmbedSyncedDocBlockAdapterExtensions: ExtensionType[] = [
EmbedSyncedDocBlockHtmlAdapterExtension,
EmbedSyncedDocBlockMarkdownAdapterExtension,
EmbedSyncedDocBlockPlainTextAdapterExtension,
];
@@ -5,6 +5,7 @@ import {
} from '@blocksuite/block-std';
import { literal } from 'lit/static-html.js';
import { EmbedSyncedDocBlockAdapterExtensions } from './adapters/extension.js';
import { EmbedSyncedDocBlockService } from './embed-synced-doc-service.js';
export const EmbedSyncedDocBlockSpec: ExtensionType[] = [
@@ -15,4 +16,5 @@ export const EmbedSyncedDocBlockSpec: ExtensionType[] = [
? literal`affine-embed-edgeless-synced-doc-block`
: literal`affine-embed-synced-doc-block`;
}),
];
EmbedSyncedDocBlockAdapterExtensions,
].flat();
@@ -0,0 +1,11 @@
import type { ExtensionType } from '@blocksuite/block-std';
import { EmbedYoutubeBlockHtmlAdapterExtension } from './html.js';
import { EmbedYoutubeMarkdownAdapterExtension } from './markdown.js';
import { EmbedYoutubeBlockPlainTextAdapterExtension } from './plain-text.js';
export const EmbedYoutubeBlockAdapterExtensions: ExtensionType[] = [
EmbedYoutubeBlockHtmlAdapterExtension,
EmbedYoutubeMarkdownAdapterExtension,
EmbedYoutubeBlockPlainTextAdapterExtension,
];
@@ -5,6 +5,7 @@ import {
} from '@blocksuite/block-std';
import { literal } from 'lit/static-html.js';
import { EmbedYoutubeBlockAdapterExtensions } from './adapters/extension.js';
import { EmbedYoutubeBlockService } from './embed-youtube-service.js';
export const EmbedYoutubeBlockSpec: ExtensionType[] = [
@@ -15,4 +16,5 @@ export const EmbedYoutubeBlockSpec: ExtensionType[] = [
? literal`affine-embed-edgeless-youtube-block`
: literal`affine-embed-youtube-block`;
}),
];
EmbedYoutubeBlockAdapterExtensions,
].flat();
@@ -0,0 +1,13 @@
import type { ExtensionType } from '@blocksuite/block-std';
import { ListBlockHtmlAdapterExtension } from './html.js';
import { ListBlockMarkdownAdapterExtension } from './markdown.js';
import { ListBlockNotionHtmlAdapterExtension } from './notion-html.js';
import { ListBlockPlainTextAdapterExtension } from './plain-text.js';
export const ListBlockAdapterExtensions: ExtensionType[] = [
ListBlockHtmlAdapterExtension,
ListBlockMarkdownAdapterExtension,
ListBlockPlainTextAdapterExtension,
ListBlockNotionHtmlAdapterExtension,
];
@@ -6,6 +6,7 @@ import {
} from '@blocksuite/block-std';
import { literal } from 'lit/static-html.js';
import { ListBlockAdapterExtensions } from './adapters/extension.js';
import { commands } from './commands/index.js';
import { ListKeymapExtension, ListTextKeymapExtension } from './list-keymap.js';
import { ListBlockService, ListDragHandleOption } from './list-service.js';
@@ -18,4 +19,5 @@ export const ListBlockSpec: ExtensionType[] = [
ListKeymapExtension,
ListTextKeymapExtension,
ListDragHandleOption,
];
ListBlockAdapterExtensions,
].flat();
@@ -0,0 +1,13 @@
import type { ExtensionType } from '@blocksuite/block-std';
import { ParagraphBlockHtmlAdapterExtension } from './html.js';
import { ParagraphBlockMarkdownAdapterExtension } from './markdown.js';
import { ParagraphBlockNotionHtmlAdapterExtension } from './notion-html.js';
import { ParagraphBlockPlainTextAdapterExtension } from './plain-text.js';
export const ParagraphBlockAdapterExtensions: ExtensionType[] = [
ParagraphBlockHtmlAdapterExtension,
ParagraphBlockMarkdownAdapterExtension,
ParagraphBlockPlainTextAdapterExtension,
ParagraphBlockNotionHtmlAdapterExtension,
];
@@ -6,6 +6,7 @@ import {
} from '@blocksuite/block-std';
import { literal } from 'lit/static-html.js';
import { ParagraphBlockAdapterExtensions } from './adapters/extension.js';
import { commands } from './commands/index.js';
import { ParagraphDragHandleOption } from './paragraph-drag-extension.js';
import {
@@ -22,4 +23,5 @@ export const ParagraphBlockSpec: ExtensionType[] = [
ParagraphTextKeymapExtension,
ParagraphKeymapExtension,
ParagraphDragHandleOption,
];
ParagraphBlockAdapterExtensions,
].flat();
@@ -1,4 +1,3 @@
import { SurfaceBlockHtmlAdapterExtension } from './html-adapter/html.js';
import {
EdgelessSurfaceBlockMarkdownAdapterExtension,
SurfaceBlockMarkdownAdapterExtension,
@@ -11,7 +10,6 @@ import {
export const SurfaceBlockAdapterExtensions = [
SurfaceBlockPlainTextAdapterExtension,
SurfaceBlockMarkdownAdapterExtension,
SurfaceBlockHtmlAdapterExtension,
];
export const EdgelessSurfaceBlockAdapterExtensions = [
@@ -1,16 +1,12 @@
import type { ExtensionType } from '@blocksuite/block-std';
import { AttachmentAdapterFactoryExtension } from './attachment.js';
import { BlockHtmlAdapterExtensions } from './html-adapter/block-matcher.js';
import { HtmlAdapterFactoryExtension } from './html-adapter/html.js';
import { ImageAdapterFactoryExtension } from './image.js';
import { BlockMarkdownAdapterExtensions } from './markdown/block-matcher.js';
import { MarkdownAdapterFactoryExtension } from './markdown/markdown.js';
import { MixTextAdapterFactoryExtension } from './mix-text.js';
import { BlockNotionHtmlAdapterExtensions } from './notion-html/block-matcher.js';
import { NotionHtmlAdapterFactoryExtension } from './notion-html/notion-html.js';
import { NotionTextAdapterFactoryExtension } from './notion-text.js';
import { BlockPlainTextAdapterExtensions } from './plain-text/block-matcher.js';
import { PlainTextAdapterFactoryExtension } from './plain-text/plain-text.js';
export const AdapterFactoryExtensions: ExtensionType[] = [
@@ -23,10 +19,3 @@ export const AdapterFactoryExtensions: ExtensionType[] = [
NotionHtmlAdapterFactoryExtension,
MixTextAdapterFactoryExtension,
];
export const BlockAdapterMatcherExtensions: ExtensionType[] = [
BlockPlainTextAdapterExtensions,
BlockMarkdownAdapterExtensions,
BlockHtmlAdapterExtensions,
BlockNotionHtmlAdapterExtensions,
].flat();
@@ -1,51 +1,20 @@
import {
EmbedFigmaBlockHtmlAdapterExtension,
embedFigmaBlockHtmlAdapterMatcher,
EmbedGithubBlockHtmlAdapterExtension,
embedGithubBlockHtmlAdapterMatcher,
embedLinkedDocBlockHtmlAdapterMatcher,
EmbedLinkedDocHtmlAdapterExtension,
EmbedLoomBlockHtmlAdapterExtension,
embedLoomBlockHtmlAdapterMatcher,
EmbedSyncedDocBlockHtmlAdapterExtension,
embedSyncedDocBlockHtmlAdapterMatcher,
EmbedYoutubeBlockHtmlAdapterExtension,
embedYoutubeBlockHtmlAdapterMatcher,
} from '@blocksuite/affine-block-embed';
import {
ListBlockHtmlAdapterExtension,
listBlockHtmlAdapterMatcher,
} from '@blocksuite/affine-block-list';
import {
ParagraphBlockHtmlAdapterExtension,
paragraphBlockHtmlAdapterMatcher,
} from '@blocksuite/affine-block-paragraph';
import type { ExtensionType } from '@blocksuite/block-std';
import { listBlockHtmlAdapterMatcher } from '@blocksuite/affine-block-list';
import { paragraphBlockHtmlAdapterMatcher } from '@blocksuite/affine-block-paragraph';
import {
BookmarkBlockHtmlAdapterExtension,
bookmarkBlockHtmlAdapterMatcher,
} from '../../../bookmark-block/adapters/html.js';
import {
CodeBlockHtmlAdapterExtension,
codeBlockHtmlAdapterMatcher,
} from '../../../code-block/adapters/html.js';
import {
DatabaseBlockHtmlAdapterExtension,
databaseBlockHtmlAdapterMatcher,
} from '../../../database-block/adapters/html.js';
import {
DividerBlockHtmlAdapterExtension,
dividerBlockHtmlAdapterMatcher,
} from '../../../divider-block/adapters/html.js';
import {
ImageBlockHtmlAdapterExtension,
imageBlockHtmlAdapterMatcher,
} from '../../../image-block/adapters/html.js';
import {
RootBlockHtmlAdapterExtension,
rootBlockHtmlAdapterMatcher,
} from '../../../root-block/adapters/html.js';
import { bookmarkBlockHtmlAdapterMatcher } from '../../../bookmark-block/adapters/html.js';
import { codeBlockHtmlAdapterMatcher } from '../../../code-block/adapters/html.js';
import { databaseBlockHtmlAdapterMatcher } from '../../../database-block/adapters/html.js';
import { dividerBlockHtmlAdapterMatcher } from '../../../divider-block/adapters/html.js';
import { imageBlockHtmlAdapterMatcher } from '../../../image-block/adapters/html.js';
import { rootBlockHtmlAdapterMatcher } from '../../../root-block/adapters/html.js';
export const defaultBlockHtmlAdapterMatchers = [
listBlockHtmlAdapterMatcher,
@@ -63,20 +32,3 @@ export const defaultBlockHtmlAdapterMatchers = [
embedLinkedDocBlockHtmlAdapterMatcher,
embedSyncedDocBlockHtmlAdapterMatcher,
];
export const BlockHtmlAdapterExtensions: ExtensionType[] = [
ListBlockHtmlAdapterExtension,
ParagraphBlockHtmlAdapterExtension,
CodeBlockHtmlAdapterExtension,
DividerBlockHtmlAdapterExtension,
ImageBlockHtmlAdapterExtension,
RootBlockHtmlAdapterExtension,
EmbedYoutubeBlockHtmlAdapterExtension,
EmbedFigmaBlockHtmlAdapterExtension,
EmbedLoomBlockHtmlAdapterExtension,
EmbedGithubBlockHtmlAdapterExtension,
BookmarkBlockHtmlAdapterExtension,
DatabaseBlockHtmlAdapterExtension,
EmbedLinkedDocHtmlAdapterExtension,
EmbedSyncedDocBlockHtmlAdapterExtension,
];
@@ -1,7 +1,4 @@
export {
BlockHtmlAdapterExtensions,
defaultBlockHtmlAdapterMatchers,
} from './block-matcher.js';
export { defaultBlockHtmlAdapterMatchers } from './block-matcher.js';
export {
HtmlAdapter,
HtmlAdapterFactoryExtension,
@@ -1,4 +1,5 @@
export * from './attachment.js';
export * from './extension.js';
export * from './html-adapter/html.js';
export * from './image.js';
export * from './markdown/index.js';
@@ -1,55 +1,21 @@
import {
embedFigmaBlockMarkdownAdapterMatcher,
EmbedFigmaMarkdownAdapterExtension,
embedGithubBlockMarkdownAdapterMatcher,
EmbedGithubMarkdownAdapterExtension,
embedLinkedDocBlockMarkdownAdapterMatcher,
EmbedLinkedDocMarkdownAdapterExtension,
embedLoomBlockMarkdownAdapterMatcher,
EmbedLoomMarkdownAdapterExtension,
EmbedSyncedDocBlockMarkdownAdapterExtension,
embedSyncedDocBlockMarkdownAdapterMatcher,
embedYoutubeBlockMarkdownAdapterMatcher,
EmbedYoutubeMarkdownAdapterExtension,
} from '@blocksuite/affine-block-embed';
import {
ListBlockMarkdownAdapterExtension,
listBlockMarkdownAdapterMatcher,
} from '@blocksuite/affine-block-list';
import {
ParagraphBlockMarkdownAdapterExtension,
paragraphBlockMarkdownAdapterMatcher,
} from '@blocksuite/affine-block-paragraph';
import type { ExtensionType } from '@blocksuite/block-std';
import { listBlockMarkdownAdapterMatcher } from '@blocksuite/affine-block-list';
import { paragraphBlockMarkdownAdapterMatcher } from '@blocksuite/affine-block-paragraph';
import {
BookmarkBlockMarkdownAdapterExtension,
bookmarkBlockMarkdownAdapterMatcher,
} from '../../../bookmark-block/adapters/markdown.js';
import {
CodeBlockMarkdownAdapterExtension,
codeBlockMarkdownAdapterMatcher,
} from '../../../code-block/adapters/markdown.js';
import {
DatabaseBlockMarkdownAdapterExtension,
databaseBlockMarkdownAdapterMatcher,
} from '../../../database-block/adapters/markdown.js';
import {
DividerBlockMarkdownAdapterExtension,
dividerBlockMarkdownAdapterMatcher,
} from '../../../divider-block/adapters/markdown.js';
import {
ImageBlockMarkdownAdapterExtension,
imageBlockMarkdownAdapterMatcher,
} from '../../../image-block/adapters/markdown.js';
import {
LatexBlockMarkdownAdapterExtension,
latexBlockMarkdownAdapterMatcher,
} from '../../../latex-block/adapters/markdown.js';
import {
RootBlockMarkdownAdapterExtension,
rootBlockMarkdownAdapterMatcher,
} from '../../../root-block/adapters/markdown.js';
import { bookmarkBlockMarkdownAdapterMatcher } from '../../../bookmark-block/adapters/markdown.js';
import { codeBlockMarkdownAdapterMatcher } from '../../../code-block/adapters/markdown.js';
import { databaseBlockMarkdownAdapterMatcher } from '../../../database-block/adapters/markdown.js';
import { dividerBlockMarkdownAdapterMatcher } from '../../../divider-block/adapters/markdown.js';
import { imageBlockMarkdownAdapterMatcher } from '../../../image-block/adapters/markdown.js';
import { latexBlockMarkdownAdapterMatcher } from '../../../latex-block/adapters/markdown.js';
import { rootBlockMarkdownAdapterMatcher } from '../../../root-block/adapters/markdown.js';
export const defaultBlockMarkdownAdapterMatchers = [
embedFigmaBlockMarkdownAdapterMatcher,
@@ -68,21 +34,3 @@ export const defaultBlockMarkdownAdapterMatchers = [
latexBlockMarkdownAdapterMatcher,
rootBlockMarkdownAdapterMatcher,
];
export const BlockMarkdownAdapterExtensions: ExtensionType[] = [
EmbedFigmaMarkdownAdapterExtension,
EmbedGithubMarkdownAdapterExtension,
EmbedLinkedDocMarkdownAdapterExtension,
EmbedLoomMarkdownAdapterExtension,
EmbedSyncedDocBlockMarkdownAdapterExtension,
EmbedYoutubeMarkdownAdapterExtension,
ListBlockMarkdownAdapterExtension,
ParagraphBlockMarkdownAdapterExtension,
BookmarkBlockMarkdownAdapterExtension,
CodeBlockMarkdownAdapterExtension,
DatabaseBlockMarkdownAdapterExtension,
DividerBlockMarkdownAdapterExtension,
ImageBlockMarkdownAdapterExtension,
LatexBlockMarkdownAdapterExtension,
RootBlockMarkdownAdapterExtension,
];
@@ -1,7 +1,4 @@
export {
BlockMarkdownAdapterExtensions,
defaultBlockMarkdownAdapterMatchers,
} from './block-matcher.js';
export { defaultBlockMarkdownAdapterMatchers } from './block-matcher.js';
export {
MarkdownAdapter,
MarkdownAdapterFactoryExtension,
@@ -1,46 +1,15 @@
import {
ListBlockNotionHtmlAdapterExtension,
listBlockNotionHtmlAdapterMatcher,
} from '@blocksuite/affine-block-list';
import {
ParagraphBlockNotionHtmlAdapterExtension,
paragraphBlockNotionHtmlAdapterMatcher,
} from '@blocksuite/affine-block-paragraph';
import { listBlockNotionHtmlAdapterMatcher } from '@blocksuite/affine-block-list';
import { paragraphBlockNotionHtmlAdapterMatcher } from '@blocksuite/affine-block-paragraph';
import type { BlockNotionHtmlAdapterMatcher } from '@blocksuite/affine-shared/adapters';
import type { ExtensionType } from '@blocksuite/block-std';
import {
AttachmentBlockNotionHtmlAdapterExtension,
attachmentBlockNotionHtmlAdapterMatcher,
} from '../../../attachment-block/adapters/notion-html.js';
import {
BookmarkBlockNotionHtmlAdapterExtension,
bookmarkBlockNotionHtmlAdapterMatcher,
} from '../../../bookmark-block/adapters/notion-html.js';
import {
CodeBlockNotionHtmlAdapterExtension,
codeBlockNotionHtmlAdapterMatcher,
} from '../../../code-block/adapters/notion-html.js';
import {
DatabaseBlockNotionHtmlAdapterExtension,
databaseBlockNotionHtmlAdapterMatcher,
} from '../../../database-block/adapters/notion-html.js';
import {
DividerBlockNotionHtmlAdapterExtension,
dividerBlockNotionHtmlAdapterMatcher,
} from '../../../divider-block/adapters/notion-html.js';
import {
ImageBlockNotionHtmlAdapterExtension,
imageBlockNotionHtmlAdapterMatcher,
} from '../../../image-block/adapters/notion-html.js';
import {
LatexBlockNotionHtmlAdapterExtension,
latexBlockNotionHtmlAdapterMatcher,
} from '../../../latex-block/adapters/notion-html.js';
import {
RootBlockNotionHtmlAdapterExtension,
rootBlockNotionHtmlAdapterMatcher,
} from '../../../root-block/adapters/notion-html.js';
import { attachmentBlockNotionHtmlAdapterMatcher } from '../../../attachment-block/adapters/notion-html.js';
import { bookmarkBlockNotionHtmlAdapterMatcher } from '../../../bookmark-block/adapters/notion-html.js';
import { codeBlockNotionHtmlAdapterMatcher } from '../../../code-block/adapters/notion-html.js';
import { databaseBlockNotionHtmlAdapterMatcher } from '../../../database-block/adapters/notion-html.js';
import { dividerBlockNotionHtmlAdapterMatcher } from '../../../divider-block/adapters/notion-html.js';
import { imageBlockNotionHtmlAdapterMatcher } from '../../../image-block/adapters/notion-html.js';
import { latexBlockNotionHtmlAdapterMatcher } from '../../../latex-block/adapters/notion-html.js';
import { rootBlockNotionHtmlAdapterMatcher } from '../../../root-block/adapters/notion-html.js';
export const defaultBlockNotionHtmlAdapterMatchers: BlockNotionHtmlAdapterMatcher[] =
[
@@ -55,16 +24,3 @@ export const defaultBlockNotionHtmlAdapterMatchers: BlockNotionHtmlAdapterMatche
attachmentBlockNotionHtmlAdapterMatcher,
latexBlockNotionHtmlAdapterMatcher,
];
export const BlockNotionHtmlAdapterExtensions: ExtensionType[] = [
ListBlockNotionHtmlAdapterExtension,
ParagraphBlockNotionHtmlAdapterExtension,
CodeBlockNotionHtmlAdapterExtension,
DividerBlockNotionHtmlAdapterExtension,
ImageBlockNotionHtmlAdapterExtension,
RootBlockNotionHtmlAdapterExtension,
BookmarkBlockNotionHtmlAdapterExtension,
DatabaseBlockNotionHtmlAdapterExtension,
AttachmentBlockNotionHtmlAdapterExtension,
LatexBlockNotionHtmlAdapterExtension,
];
@@ -1,7 +1,4 @@
export {
BlockNotionHtmlAdapterExtensions,
defaultBlockNotionHtmlAdapterMatchers,
} from './block-matcher.js';
export { defaultBlockNotionHtmlAdapterMatchers } from './block-matcher.js';
export {
NotionHtmlAdapter,
NotionHtmlAdapterFactoryExtension,
@@ -1,44 +1,19 @@
import {
EmbedFigmaBlockPlainTextAdapterExtension,
embedFigmaBlockPlainTextAdapterMatcher,
EmbedGithubBlockPlainTextAdapterExtension,
embedGithubBlockPlainTextAdapterMatcher,
EmbedLinkedDocBlockPlainTextAdapterExtension,
embedLinkedDocBlockPlainTextAdapterMatcher,
EmbedLoomBlockPlainTextAdapterExtension,
embedLoomBlockPlainTextAdapterMatcher,
EmbedSyncedDocBlockPlainTextAdapterExtension,
embedSyncedDocBlockPlainTextAdapterMatcher,
EmbedYoutubeBlockPlainTextAdapterExtension,
embedYoutubeBlockPlainTextAdapterMatcher,
} from '@blocksuite/affine-block-embed';
import {
ListBlockPlainTextAdapterExtension,
listBlockPlainTextAdapterMatcher,
} from '@blocksuite/affine-block-list';
import {
ParagraphBlockPlainTextAdapterExtension,
paragraphBlockPlainTextAdapterMatcher,
} from '@blocksuite/affine-block-paragraph';
import { listBlockPlainTextAdapterMatcher } from '@blocksuite/affine-block-list';
import { paragraphBlockPlainTextAdapterMatcher } from '@blocksuite/affine-block-paragraph';
import type { BlockPlainTextAdapterMatcher } from '@blocksuite/affine-shared/adapters';
import type { ExtensionType } from '@blocksuite/block-std';
import {
BookmarkBlockPlainTextAdapterExtension,
bookmarkBlockPlainTextAdapterMatcher,
} from '../../../bookmark-block/adapters/plain-text.js';
import {
CodeBlockPlainTextAdapterExtension,
codeBlockPlainTextAdapterMatcher,
} from '../../../code-block/adapters/plain-text.js';
import {
DividerBlockPlainTextAdapterExtension,
dividerBlockPlainTextAdapterMatcher,
} from '../../../divider-block/adapters/plain-text.js';
import {
LatexBlockPlainTextAdapterExtension,
latexBlockPlainTextAdapterMatcher,
} from '../../../latex-block/adapters/plain-text.js';
import { bookmarkBlockPlainTextAdapterMatcher } from '../../../bookmark-block/adapters/plain-text.js';
import { codeBlockPlainTextAdapterMatcher } from '../../../code-block/adapters/plain-text.js';
import { dividerBlockPlainTextAdapterMatcher } from '../../../divider-block/adapters/plain-text.js';
import { latexBlockPlainTextAdapterMatcher } from '../../../latex-block/adapters/plain-text.js';
export const defaultBlockPlainTextAdapterMatchers: BlockPlainTextAdapterMatcher[] =
[
@@ -55,18 +30,3 @@ export const defaultBlockPlainTextAdapterMatchers: BlockPlainTextAdapterMatcher[
embedSyncedDocBlockPlainTextAdapterMatcher,
latexBlockPlainTextAdapterMatcher,
];
export const BlockPlainTextAdapterExtensions: ExtensionType[] = [
ParagraphBlockPlainTextAdapterExtension,
ListBlockPlainTextAdapterExtension,
DividerBlockPlainTextAdapterExtension,
CodeBlockPlainTextAdapterExtension,
BookmarkBlockPlainTextAdapterExtension,
EmbedFigmaBlockPlainTextAdapterExtension,
EmbedGithubBlockPlainTextAdapterExtension,
EmbedLoomBlockPlainTextAdapterExtension,
EmbedYoutubeBlockPlainTextAdapterExtension,
EmbedLinkedDocBlockPlainTextAdapterExtension,
EmbedSyncedDocBlockPlainTextAdapterExtension,
LatexBlockPlainTextAdapterExtension,
];
+1 -6
View File
@@ -5,10 +5,7 @@ import { RichTextExtensions } from '@blocksuite/affine-components/rich-text';
import { EditPropsStore } from '@blocksuite/affine-shared/services';
import type { ExtensionType } from '@blocksuite/block-std';
import {
AdapterFactoryExtensions,
BlockAdapterMatcherExtensions,
} from '../_common/adapters/extension.js';
import { AdapterFactoryExtensions } from '../_common/adapters/extension.js';
import { AttachmentBlockSpec } from '../attachment-block/attachment-spec.js';
import { BookmarkBlockSpec } from '../bookmark-block/bookmark-spec.js';
import { CodeBlockSpec } from '../code-block/code-block-spec.js';
@@ -35,7 +32,6 @@ export const CommonFirstPartyBlockSpecs: ExtensionType[] = [
BookmarkBlockSpec,
AttachmentBlockSpec,
EmbedExtensions,
BlockAdapterMatcherExtensions,
AdapterFactoryExtensions,
].flat();
@@ -53,6 +49,5 @@ export const EdgelessFirstPartyBlockSpecs: ExtensionType[] = [
BookmarkBlockSpec,
AttachmentBlockSpec,
EmbedExtensions,
BlockAdapterMatcherExtensions,
AdapterFactoryExtensions,
].flat();
@@ -5,6 +5,7 @@ import {
} from '@blocksuite/block-std';
import { literal } from 'lit/static-html.js';
import { AttachmentBlockNotionHtmlAdapterExtension } from './adapters/notion-html.js';
import {
AttachmentBlockService,
AttachmentDragHandleOption,
@@ -25,4 +26,5 @@ export const AttachmentBlockSpec: ExtensionType[] = [
AttachmentDragHandleOption,
AttachmentEmbedConfigExtension(),
AttachmentEmbedService,
AttachmentBlockNotionHtmlAdapterExtension,
];
@@ -0,0 +1,13 @@
import type { ExtensionType } from '@blocksuite/block-std';
import { BookmarkBlockHtmlAdapterExtension } from './html.js';
import { BookmarkBlockMarkdownAdapterExtension } from './markdown.js';
import { BookmarkBlockNotionHtmlAdapterExtension } from './notion-html.js';
import { BookmarkBlockPlainTextAdapterExtension } from './plain-text.js';
export const BookmarkBlockAdapterExtensions: ExtensionType[] = [
BookmarkBlockHtmlAdapterExtension,
BookmarkBlockMarkdownAdapterExtension,
BookmarkBlockNotionHtmlAdapterExtension,
BookmarkBlockPlainTextAdapterExtension,
];
@@ -6,6 +6,7 @@ import {
} from '@blocksuite/block-std';
import { literal } from 'lit/static-html.js';
import { BookmarkBlockAdapterExtensions } from './adapters/extension.js';
import {
BookmarkBlockService,
BookmarkDragHandleOption,
@@ -22,4 +23,5 @@ export const BookmarkBlockSpec: ExtensionType[] = [
: literal`affine-bookmark`;
}),
BookmarkDragHandleOption,
];
BookmarkBlockAdapterExtensions,
].flat();
@@ -0,0 +1,13 @@
import type { ExtensionType } from '@blocksuite/block-std';
import { CodeBlockHtmlAdapterExtension } from './html.js';
import { CodeBlockMarkdownAdapterExtension } from './markdown.js';
import { CodeBlockNotionHtmlAdapterExtension } from './notion-html.js';
import { CodeBlockPlainTextAdapterExtension } from './plain-text.js';
export const CodeBlockAdapterExtensions: ExtensionType[] = [
CodeBlockHtmlAdapterExtension,
CodeBlockMarkdownAdapterExtension,
CodeBlockPlainTextAdapterExtension,
CodeBlockNotionHtmlAdapterExtension,
];
@@ -7,6 +7,7 @@ import {
import { literal, unsafeStatic } from 'lit/static-html.js';
import { AFFINE_CODE_TOOLBAR_WIDGET } from '../root-block/widgets/code-toolbar/index.js';
import { CodeBlockAdapterExtensions } from './adapters/extension.js';
import {
CodeBlockInlineManagerExtension,
CodeBlockUnitSpecExtension,
@@ -22,4 +23,5 @@ export const CodeBlockSpec: ExtensionType[] = [
}),
CodeBlockInlineManagerExtension,
CodeBlockUnitSpecExtension,
];
CodeBlockAdapterExtensions,
].flat();
@@ -0,0 +1,11 @@
import type { ExtensionType } from '@blocksuite/block-std';
import { DatabaseBlockHtmlAdapterExtension } from './html.js';
import { DatabaseBlockMarkdownAdapterExtension } from './markdown.js';
import { DatabaseBlockNotionHtmlAdapterExtension } from './notion-html.js';
export const DatabaseBlockAdapterExtensions: ExtensionType[] = [
DatabaseBlockHtmlAdapterExtension,
DatabaseBlockMarkdownAdapterExtension,
DatabaseBlockNotionHtmlAdapterExtension,
];
@@ -7,6 +7,7 @@ import {
import { DatabaseSelectionExtension } from '@blocksuite/data-view';
import { literal } from 'lit/static-html.js';
import { DatabaseBlockAdapterExtensions } from './adapters/extension.js';
import { commands } from './commands.js';
import { DatabaseDragHandleOption } from './config.js';
import { DatabaseBlockService } from './database-service.js';
@@ -18,4 +19,5 @@ export const DatabaseBlockSpec: ExtensionType[] = [
BlockViewExtension('affine:database', literal`affine-database`),
DatabaseDragHandleOption,
DatabaseSelectionExtension,
];
DatabaseBlockAdapterExtensions,
].flat();
@@ -0,0 +1,13 @@
import type { ExtensionType } from '@blocksuite/block-std';
import { DividerBlockHtmlAdapterExtension } from './html.js';
import { DividerBlockMarkdownAdapterExtension } from './markdown.js';
import { DividerBlockNotionHtmlAdapterExtension } from './notion-html.js';
import { DividerBlockPlainTextAdapterExtension } from './plain-text.js';
export const DividerBlockAdapterExtensions: ExtensionType[] = [
DividerBlockHtmlAdapterExtension,
DividerBlockMarkdownAdapterExtension,
DividerBlockNotionHtmlAdapterExtension,
DividerBlockPlainTextAdapterExtension,
];
@@ -1,6 +1,9 @@
import { BlockViewExtension, type ExtensionType } from '@blocksuite/block-std';
import { literal } from 'lit/static-html.js';
import { DividerBlockAdapterExtensions } from './adapters/extension.js';
export const DividerBlockSpec: ExtensionType[] = [
BlockViewExtension('affine:divider', literal`affine-divider`),
];
DividerBlockAdapterExtensions,
].flat();
@@ -0,0 +1,11 @@
import type { ExtensionType } from '@blocksuite/block-std';
import { ImageBlockHtmlAdapterExtension } from './html.js';
import { ImageBlockMarkdownAdapterExtension } from './markdown.js';
import { ImageBlockNotionHtmlAdapterExtension } from './notion-html.js';
export const ImageBlockAdapterExtensions: ExtensionType[] = [
ImageBlockHtmlAdapterExtension,
ImageBlockMarkdownAdapterExtension,
ImageBlockNotionHtmlAdapterExtension,
];
@@ -8,6 +8,7 @@ import {
} from '@blocksuite/block-std';
import { literal } from 'lit/static-html.js';
import { ImageBlockAdapterExtensions } from './adapters/extension.js';
import { commands } from './commands/index.js';
import { ImageBlockService, ImageDragHandleOption } from './image-service.js';
@@ -29,4 +30,5 @@ export const ImageBlockSpec: ExtensionType[] = [
}),
ImageDragHandleOption,
ImageSelectionExtension,
];
ImageBlockAdapterExtensions,
].flat();
@@ -0,0 +1,11 @@
import type { ExtensionType } from '@blocksuite/block-std';
import { LatexBlockMarkdownAdapterExtension } from './markdown.js';
import { LatexBlockNotionHtmlAdapterExtension } from './notion-html.js';
import { LatexBlockPlainTextAdapterExtension } from './plain-text.js';
export const LatexBlockAdapterExtensions: ExtensionType[] = [
LatexBlockMarkdownAdapterExtension,
LatexBlockNotionHtmlAdapterExtension,
LatexBlockPlainTextAdapterExtension,
];
@@ -5,9 +5,11 @@ import {
} from '@blocksuite/block-std';
import { literal } from 'lit/static-html.js';
import { LatexBlockAdapterExtensions } from './adapters/extension.js';
import { commands } from './commands.js';
export const LatexBlockSpec: ExtensionType[] = [
BlockViewExtension('affine:latex', literal`affine-latex`),
CommandExtension(commands),
];
LatexBlockAdapterExtensions,
].flat();
@@ -0,0 +1,11 @@
import type { ExtensionType } from '@blocksuite/block-std';
import { RootBlockHtmlAdapterExtension } from './html.js';
import { RootBlockMarkdownAdapterExtension } from './markdown.js';
import { RootBlockNotionHtmlAdapterExtension } from './notion-html.js';
export const RootBlockAdapterExtensions: ExtensionType[] = [
RootBlockHtmlAdapterExtension,
RootBlockMarkdownAdapterExtension,
RootBlockNotionHtmlAdapterExtension,
];
@@ -18,6 +18,7 @@ import { ToolController } from '@blocksuite/block-std/gfx';
import { literal, unsafeStatic } from 'lit/static-html.js';
import { ExportManagerExtension } from '../../_common/export-manager/export-manager.js';
import { RootBlockAdapterExtensions } from '../adapters/extension.js';
import { commands } from '../commands/index.js';
import { AFFINE_DOC_REMOTE_SELECTION_WIDGET } from '../widgets/doc-remote-selection/doc-remote-selection.js';
import { AFFINE_DRAG_HANDLE_WIDGET } from '../widgets/drag-handle/consts.js';
@@ -96,7 +97,8 @@ const EdgelessCommonExtension: ExtensionType[] = [
ToolController,
DNDAPIExtension,
DocDisplayMetaService,
];
RootBlockAdapterExtensions,
].flat();
export const EdgelessRootBlockSpec: ExtensionType[] = [
...EdgelessCommonExtension,
@@ -16,6 +16,7 @@ import {
import { literal, unsafeStatic } from 'lit/static-html.js';
import { ExportManagerExtension } from '../../_common/export-manager/export-manager.js';
import { RootBlockAdapterExtensions } from '../adapters/extension.js';
import { commands } from '../commands/index.js';
import { AFFINE_DOC_REMOTE_SELECTION_WIDGET } from '../widgets/doc-remote-selection/doc-remote-selection.js';
import { AFFINE_DRAG_HANDLE_WIDGET } from '../widgets/drag-handle/consts.js';
@@ -73,4 +74,5 @@ export const PageRootBlockSpec: ExtensionType[] = [
ExportManagerExtension,
DNDAPIExtension,
DocDisplayMetaService,
];
RootBlockAdapterExtensions,
].flat();