Skip to content

Commit 448599b

Browse files
authored
Merge pull request #17 from toeverything/61/ref-title
fix: extra space after inline reference link
2 parents 473d865 + b0d12b3 commit 448599b

File tree

3 files changed

+21
-7
lines changed

3 files changed

+21
-7
lines changed

packages/affine-reader/parser.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,10 @@ export function parseBlock(
151151

152152
const deltaConverters = getConverters({
153153
convertInlineReferenceLink: (ref) => {
154-
return `[${ref.title || context.renderDocTitle?.(ref.pageId) || ''}](${context.buildDocUrl(ref.pageId)})`
154+
return {
155+
title: ref.title || context.renderDocTitle?.(ref.pageId) || '',
156+
link: context.buildDocUrl(ref.pageId)
157+
}
155158
}
156159
});
157160

packages/delta-to-md/__tests__/delta-to-md.spec.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
import { expect, test } from "vitest";
2-
import { deltaToMd } from "../delta-to-md";
2+
import { deltaToMd as deltaToMdOriginal } from "../delta-to-md";
3+
import { getConverters } from "../delta-converters";
4+
5+
const converters = getConverters()
6+
function deltaToMd(delta: any) {
7+
return deltaToMdOriginal(delta, converters)
8+
}
9+
310

411
test("renders inline format", function () {
512
expect(

packages/delta-to-md/delta-converters.ts

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,21 @@ export interface InlineReference {
66
type: 'LinkedPage',
77
pageId: string
88
title?: string
9-
params: { mode: 'doc' | 'edgeless' }
9+
params?: { mode: 'doc' | 'edgeless' }
1010
}
1111

1212
export interface ConverterOptions {
13-
convertInlineReferenceLink?: (reference: InlineReference) => string
13+
convertInlineReferenceLink?: (reference: InlineReference) => { title: string, link: string}
1414
}
1515

1616
const defaultConvertInlineReferenceLink = (reference: InlineReference) => {
17-
return `[${reference.title || ''}](${[reference.type, reference.pageId, reference.params.mode].filter(Boolean).join(":")})`;
17+
return {
18+
title: reference.title || '',
19+
link: [reference.type, reference.pageId, reference.params?.mode].filter(Boolean).join(":"),
20+
}
1821
}
1922

20-
export function getConverters(opts: ConverterOptions) {
23+
export function getConverters(opts: ConverterOptions = {}) {
2124
const { convertInlineReferenceLink = defaultConvertInlineReferenceLink } = opts;
2225

2326
return {
@@ -44,7 +47,8 @@ export function getConverters(opts: ConverterOptions) {
4447
return ["[", "](" + url + ")"];
4548
},
4649
reference: function (reference: InlineReference) {
47-
return [convertInlineReferenceLink(reference), ''];
50+
const { title, link } = convertInlineReferenceLink(reference);
51+
return ["[", `${title}](${link})`];
4852
},
4953
strike: function () {
5054
return ["~~", "~~"];

0 commit comments

Comments
 (0)