Skip to content

Commit

Permalink
feat(core): index table block types (#9989)
Browse files Browse the repository at this point in the history
  • Loading branch information
pengx17 committed Feb 7, 2025
1 parent 00b1f01 commit 3f0a9f4
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ export class DocsIndexer extends Entity {
/**
* increase this number to re-index all docs
*/
static INDEXER_VERSION = 17;
static INDEXER_VERSION = 18;

private readonly jobQueue: JobQueue<IndexerJobPayload> =
new IndexedDBJobQueue<IndexerJobPayload>(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,14 @@ import type {
BookmarkBlockModel,
EmbedBlockModel,
ImageBlockModel,
TableBlockModel,
} from '@blocksuite/affine/blocks';
import {
defaultBlockMarkdownAdapterMatchers,
InlineDeltaToMarkdownAdapterExtensions,
MarkdownAdapter,
MarkdownInlineToDeltaAdapterExtensions,
TableModelFlavour,
} from '@blocksuite/affine/blocks';
import { Container } from '@blocksuite/affine/global/di';
import {
Expand Down Expand Up @@ -372,6 +374,23 @@ function generateMarkdownPreviewBuilder(
return `[${draftModel.name}](${draftModel.sourceId})\n`;
};

const generateTableMarkdownPreview = (block: BlockDocumentInfo) => {
const isTableModel = (
model: DraftModel | null
): model is DraftModel<TableBlockModel> => {
return model?.flavour === TableModelFlavour;
};

const draftModel = yblockToDraftModal(block.yblock);
if (!isTableModel(draftModel)) {
return null;
}

const url = getDocLink(block.docId, draftModel.id);

return `[table][](${url})\n`;
};

const generateMarkdownPreview = async (block: BlockDocumentInfo) => {
if (markdownPreviewCache.has(block)) {
return markdownPreviewCache.get(block);
Expand Down Expand Up @@ -415,6 +434,8 @@ function generateMarkdownPreviewBuilder(
markdown = generateLatexMarkdownPreview(block);
} else if (bookmarkFlavours.has(flavour)) {
markdown = generateBookmarkMarkdownPreview(block);
} else if (flavour === TableModelFlavour) {
markdown = generateTableMarkdownPreview(block);
} else {
console.warn(`unknown flavour: ${flavour}`);
}
Expand Down Expand Up @@ -801,7 +822,10 @@ async function crawlingDocData({
...commonBlockProps,
content: block.get('prop:latex')?.toString() ?? '',
});
} else if (bookmarkFlavours.has(flavour)) {
} else if (
bookmarkFlavours.has(flavour) ||
flavour === TableModelFlavour
) {
blockDocuments.push({
...commonBlockProps,
});
Expand Down

0 comments on commit 3f0a9f4

Please sign in to comment.