diff --git a/packages/remark-wiki-link/src/utils/getPermalinks.ts b/packages/remark-wiki-link/src/utils/getPermalinks.ts index c3f6a6c9..b2b73149 100644 --- a/packages/remark-wiki-link/src/utils/getPermalinks.ts +++ b/packages/remark-wiki-link/src/utils/getPermalinks.ts @@ -38,6 +38,5 @@ const defaultPathToPermalinkFunc = ( .replace(markdownFolder, "") // make the permalink relative to the markdown folder .replace(/\.(mdx|md)/, "") .replace(/\\/g, "/") // replace windows backslash with forward slash - .replace(/\/index$/, ""); // remove index from the end of the permalink return permalink.length > 0 ? permalink : "/"; // for home page }; diff --git a/packages/remark-wiki-link/test/micromarkExtensionWikiLink.spec.ts b/packages/remark-wiki-link/test/micromarkExtensionWikiLink.spec.ts index 5f2f9e8e..da010cdc 100644 --- a/packages/remark-wiki-link/test/micromarkExtensionWikiLink.spec.ts +++ b/packages/remark-wiki-link/test/micromarkExtensionWikiLink.spec.ts @@ -159,11 +159,11 @@ describe("micromark-extension-wiki-link", () => { }); expect(serialized).toBe( '

My Image.jpg

' - ); - }); - + ); + }); + // TODO: Fix alt attribute - test("Can identify the dimensions of the image if exists", () => { + test("Can identify the dimensions of the image if exists", () => { const serialized = micromark("![[My Image.jpg|200x200]]", "ascii", { extensions: [syntax()], htmlExtensions: [html({ permalinks: ["My Image.jpg"] }) as any], // TODO type fix @@ -286,56 +286,6 @@ describe("micromark-extension-wiki-link", () => { }); }); - test("parses wiki links to index files", () => { - const serialized = micromark("[[/some/folder/index]]", "ascii", { - extensions: [syntax()], - htmlExtensions: [html() as any], // TODO type fix - }); - expect(serialized).toBe( - '

/some/folder/index

' - ); - }); - - describe("other", () => { - test("parses a wiki link to some index page in a folder with no matching permalink", () => { - const serialized = micromark("[[/some/folder/index]]", "ascii", { - extensions: [syntax()], - htmlExtensions: [html() as any], // TODO type fix - }); - expect(serialized).toBe( - '

/some/folder/index

' - ); - }); - - test("parses a wiki link to some index page in a folder with a matching permalink", () => { - const serialized = micromark("[[/some/folder/index]]", "ascii", { - extensions: [syntax()], - htmlExtensions: [html({ permalinks: ["/some/folder"] }) as any], // TODO type fix - }); - expect(serialized).toBe( - '

/some/folder/index

' - ); - }); - - test("parses a wiki link to home index page with no matching permalink", () => { - const serialized = micromark("[[/index]]", "ascii", { - extensions: [syntax()], - htmlExtensions: [html() as any], // TODO type fix - }); - expect(serialized).toBe( - '

/index

' - ); - }); - - test("parses a wiki link to home index page with a matching permalink", () => { - const serialized = micromark("[[/index]]", "ascii", { - extensions: [syntax()], - htmlExtensions: [html({ permalinks: ["/"] }) as any], // TODO type fix - }); - expect(serialized).toBe('

/index

'); - }); - }); - describe("transclusions", () => { test("parsers a transclusion as a regular wiki link", () => { const serialized = micromark("![[Some Page]]", "ascii", { diff --git a/packages/remark-wiki-link/test/remarkWikiLink.spec.ts b/packages/remark-wiki-link/test/remarkWikiLink.spec.ts index 051cc42c..72975df0 100644 --- a/packages/remark-wiki-link/test/remarkWikiLink.spec.ts +++ b/packages/remark-wiki-link/test/remarkWikiLink.spec.ts @@ -485,109 +485,6 @@ describe("remark-wiki-link", () => { }); }); - test("parses wiki links to index files", () => { - const processor = unified().use(markdown).use(wikiLinkPlugin); - - let ast = processor.parse("[[/some/folder/index]]"); - ast = processor.runSync(ast); - - expect(select("wikiLink", ast)).not.toEqual(null); - - visit(ast, "wikiLink", (node: Node) => { - expect(node.data?.exists).toEqual(false); - expect(node.data?.permalink).toEqual("/some/folder"); - expect(node.data?.alias).toEqual(null); - expect(node.data?.hName).toEqual("a"); - expect((node.data?.hProperties as any).className).toEqual("internal new"); - expect((node.data?.hProperties as any).href).toEqual("/some/folder"); - expect((node.data?.hChildren as any)[0].value).toEqual( - "/some/folder/index" - ); - }); - }); - - describe("other", () => { - test("parses a wiki link to some index page in a folder with no matching permalink", () => { - const processor = unified().use(markdown).use(wikiLinkPlugin); - - let ast = processor.parse("[[/some/folder/index]]"); - ast = processor.runSync(ast); - - visit(ast, "wikiLink", (node: Node) => { - expect(node.data?.exists).toEqual(false); - expect(node.data?.permalink).toEqual("/some/folder"); - expect(node.data?.alias).toEqual(null); - expect(node.data?.hName).toEqual("a"); - expect((node.data?.hProperties as any).className).toEqual( - "internal new" - ); - expect((node.data?.hProperties as any).href).toEqual("/some/folder"); - expect((node.data?.hChildren as any)[0].value).toEqual( - "/some/folder/index" - ); - }); - }); - - test("parses a wiki link to some index page in a folder with a matching permalink", () => { - const processor = unified() - .use(markdown) - .use(wikiLinkPlugin, { permalinks: ["/some/folder"] }); - - let ast = processor.parse("[[/some/folder/index]]"); - ast = processor.runSync(ast); - - visit(ast, "wikiLink", (node: Node) => { - expect(node.data?.exists).toEqual(true); - expect(node.data?.permalink).toEqual("/some/folder"); - expect(node.data?.alias).toEqual(null); - expect(node.data?.hName).toEqual("a"); - expect((node.data?.hProperties as any).className).toEqual("internal"); - expect((node.data?.hProperties as any).href).toEqual("/some/folder"); - expect((node.data?.hChildren as any)[0].value).toEqual( - "/some/folder/index" - ); - }); - }); - - test("parses a wiki link to home index page with no matching permalink", () => { - const processor = unified().use(markdown).use(wikiLinkPlugin); - - let ast = processor.parse("[[/index]]"); - ast = processor.runSync(ast); - - visit(ast, "wikiLink", (node: Node) => { - expect(node.data?.exists).toEqual(false); - expect(node.data?.permalink).toEqual("/"); - expect(node.data?.alias).toEqual(null); - expect(node.data?.hName).toEqual("a"); - expect((node.data?.hProperties as any).className).toEqual( - "internal new" - ); - expect((node.data?.hProperties as any).href).toEqual("/"); - expect((node.data?.hChildren as any)[0].value).toEqual("/index"); - }); - }); - - test("parses a wiki link to home index page with a matching permalink", () => { - const processor = unified() - .use(markdown) - .use(wikiLinkPlugin, { permalinks: ["/"] }); - - let ast = processor.parse("[[/index]]"); - ast = processor.runSync(ast); - - visit(ast, "wikiLink", (node: Node) => { - expect(node.data?.exists).toEqual(true); - expect(node.data?.permalink).toEqual("/"); - expect(node.data?.alias).toEqual(null); - expect(node.data?.hName).toEqual("a"); - expect((node.data?.hProperties as any).className).toEqual("internal"); - expect((node.data?.hProperties as any).href).toEqual("/"); - expect((node.data?.hChildren as any)[0].value).toEqual("/index"); - }); - }); - }); - describe("transclusions", () => { test("replaces a transclusion with a regular wiki link", () => { const processor = unified().use(markdown).use(wikiLinkPlugin);