@@ -271,6 +271,9 @@ const createLink = (dest: LinkType, originalLink: string, altOrBlockRef: string,
271
271
let file = plugin . app . metadataCache . getFirstLinkpathDest ( fileLink , sourceFile . path ) ;
272
272
if ( file && plugin . settings . finalLinkFormat !== 'not-change' ) finalLink = getFileLinkInFormat ( file , sourceFile , plugin , plugin . settings . finalLinkFormat ) ;
273
273
274
+ // If final link is in markdown format and the file is md, the extension should be included
275
+ const fileExtension = file && file . extension === 'md' ? `.${ file . extension } ` : '' ;
276
+
274
277
if ( dest === 'wiki' ) {
275
278
// If alt text is same as the final link or same as file base name, it needs to be empty
276
279
if ( altOrBlockRef !== '' && altOrBlockRef !== decodeURI ( finalLink ) ) {
@@ -290,7 +293,7 @@ const createLink = (dest: LinkType, originalLink: string, altOrBlockRef: string,
290
293
} else {
291
294
altText = file ? file . basename : finalLink ;
292
295
}
293
- return `[${ altText } ](${ encodeURI ( finalLink ) } )` ;
296
+ return `[${ altText } ](${ encodeURI ( finalLink ) } ${ fileExtension } )` ;
294
297
} else if ( dest === 'wikiTransclusion' ) {
295
298
return `[[${ decodeURI ( finalLink ) } #${ decodeURI ( altOrBlockRef ) } ]]` ;
296
299
} else if ( dest === 'mdTransclusion' ) {
@@ -302,7 +305,7 @@ const createLink = (dest: LinkType, originalLink: string, altOrBlockRef: string,
302
305
} else {
303
306
encodedBlockRef = encodeURI ( encodedBlockRef ) ;
304
307
}
305
- return `[](${ encodeURI ( finalLink ) } #${ encodedBlockRef } )` ;
308
+ return `[](${ encodeURI ( finalLink ) } ${ fileExtension } #${ encodedBlockRef } )` ;
306
309
}
307
310
308
311
return '' ;
0 commit comments