diff --git a/src/extension.js b/src/extension.js
index 93d6698..a407f7a 100644
--- a/src/extension.js
+++ b/src/extension.js
@@ -22,7 +22,7 @@ function activate(context) {
vscode.window.registerWebviewPanelSerializer('polacode', {
async deserializeWebviewPanel(_panel, state) {
panel = _panel
- panel.webview.html = getHtmlContent(htmlPath)
+ panel.webview.html = getHtmlContent()
panel.webview.postMessage({
type: 'restore',
innerHTML: state.innerHTML,
@@ -42,7 +42,7 @@ function activate(context) {
localResourceRoots: [vscode.Uri.file(path.join(context.extensionPath, 'webview'))]
})
- panel.webview.html = getHtmlContent(htmlPath)
+ panel.webview.html = getHtmlContent()
const selectionListener = setupSelectionSync()
panel.onDidDispose(() => {
@@ -129,14 +129,14 @@ function activate(context) {
}
})
}
-}
-function getHtmlContent(htmlPath) {
- const htmlContent = fs.readFileSync(htmlPath, 'utf-8')
- return htmlContent.replace(/script src="([^"]*)"/g, (match, src) => {
- const realSource = 'vscode-resource:' + path.resolve(htmlPath, '..', src)
- return `script src="${realSource}"`
- })
+ function getHtmlContent() {
+ const htmlContent = fs.readFileSync(htmlPath, 'utf-8')
+ const absolutePath = vscode.Uri.file(context.asAbsolutePath('./webview'))
+ const webviewPath = panel.webview.asWebviewUri(absolutePath).toString()
+
+ return htmlContent.replace(/{{root}}/g, webviewPath);
+ }
}
exports.activate = activate
diff --git a/webview/index.html b/webview/index.html
index 65df1a8..87a555f 100644
--- a/webview/index.html
+++ b/webview/index.html
@@ -96,8 +96,8 @@
-
-
-
+
+
+