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

View File

@@ -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();

View File

@@ -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,
];

View File

@@ -1,7 +1,4 @@
export {
BlockHtmlAdapterExtensions,
defaultBlockHtmlAdapterMatchers,
} from './block-matcher.js';
export { defaultBlockHtmlAdapterMatchers } from './block-matcher.js';
export {
HtmlAdapter,
HtmlAdapterFactoryExtension,

View File

@@ -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';

View File

@@ -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,
];

View File

@@ -1,7 +1,4 @@
export {
BlockMarkdownAdapterExtensions,
defaultBlockMarkdownAdapterMatchers,
} from './block-matcher.js';
export { defaultBlockMarkdownAdapterMatchers } from './block-matcher.js';
export {
MarkdownAdapter,
MarkdownAdapterFactoryExtension,

View File

@@ -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,
];

View File

@@ -1,7 +1,4 @@
export {
BlockNotionHtmlAdapterExtensions,
defaultBlockNotionHtmlAdapterMatchers,
} from './block-matcher.js';
export { defaultBlockNotionHtmlAdapterMatchers } from './block-matcher.js';
export {
NotionHtmlAdapter,
NotionHtmlAdapterFactoryExtension,

View File

@@ -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,
];