diff --git a/extensions/markdown/src/previewContentProvider.ts b/extensions/markdown/src/previewContentProvider.ts index 2b6ccf6fcf92eefc2ad14f956c707ebdaed77161..12d8351ccbe87a6f2428ce11ba355cf1ef9aff36 100644 --- a/extensions/markdown/src/previewContentProvider.ts +++ b/extensions/markdown/src/previewContentProvider.ts @@ -59,22 +59,18 @@ export class MDDocumentContentProvider implements vscode.TextDocumentContentProv return vscode.Uri.file(this.context.asAbsolutePath(path.join('media', mediaFile))).toString(); } - private isAbsolute(p: string): boolean { - return path.normalize(p + '/') === path.normalize(path.resolve(p) + '/'); - } - private fixHref(resource: vscode.Uri, href: string): string { if (!href) { return href; } // Use href if it is already an URL - if (vscode.Uri.parse(href).scheme) { + if (['file', 'http', 'https'].indexOf(vscode.Uri.parse(href).scheme) >= 0) { return href; } // Use href as file URI if it is absolute - if (this.isAbsolute(href)) { + if (path.isAbsolute(href)) { return vscode.Uri.file(href).toString(); } @@ -89,7 +85,7 @@ export class MDDocumentContentProvider implements vscode.TextDocumentContentProv } private computeCustomStyleSheetIncludes(uri: vscode.Uri): string { - const styles = vscode.workspace.getConfiguration('markdown')['styles']; + const styles: string[] = vscode.workspace.getConfiguration('markdown')['styles']; if (styles && Array.isArray(styles) && styles.length > 0) { return styles.map((style) => { return ``;