From 488d9fa8fac32701117eddbf8505d3bd9aa4b630 Mon Sep 17 00:00:00 2001 From: Jim Geurts Date: Thu, 17 Dec 2015 12:14:34 -0600 Subject: [PATCH 1/2] Replace x-require src value with relative path instead of absolute --- src/inline-html.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/inline-html.js b/src/inline-html.js index 183b9b3..b0fe157 100644 --- a/src/inline-html.js +++ b/src/inline-html.js @@ -81,7 +81,9 @@ export default class InlineHtmlCompiler extends CompileCache { if (src.match(/^([\/]|[A-Za-z]:)/i)) return; try { - $(el).attr('src', path.resolve(path.dirname(filePath), src)); + const relativeCurrentScriptDir = path.relative(__dirname, process.cwd()); + const relativeFilePathDir = path.join(relativeCurrentScriptDir, path.dirname(filePath)); + $(el).attr('src', path.join(relativeFilePathDir, src)); } catch (e) { $(el).text(`${e.message}\n${e.stack}`); } From 9cddfe26b1fb39a9d50e6d5739e878d97ecd99b9 Mon Sep 17 00:00:00 2001 From: Jim Geurts Date: Thu, 17 Dec 2015 16:17:52 -0600 Subject: [PATCH 2/2] Better support when filePath is absolute --- src/inline-html.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/inline-html.js b/src/inline-html.js index b0fe157..50bca1a 100644 --- a/src/inline-html.js +++ b/src/inline-html.js @@ -81,9 +81,13 @@ export default class InlineHtmlCompiler extends CompileCache { if (src.match(/^([\/]|[A-Za-z]:)/i)) return; try { - const relativeCurrentScriptDir = path.relative(__dirname, process.cwd()); - const relativeFilePathDir = path.join(relativeCurrentScriptDir, path.dirname(filePath)); - $(el).attr('src', path.join(relativeFilePathDir, src)); + if (path.isAbsolute(filePath)) { + $(el).attr('src', path.resolve(path.dirname(filePath), src)); + } else { + const relativeCurrentScriptDir = path.relative(__dirname, process.cwd()); + const relativeFilePathDir = path.join(relativeCurrentScriptDir, path.dirname(filePath)); + $(el).attr('src', path.join(relativeFilePathDir, src)); + } } catch (e) { $(el).text(`${e.message}\n${e.stack}`); }