diff --git a/ai2html.js b/ai2html.js
index 4ef9225..211ac6a 100644
--- a/ai2html.js
+++ b/ai2html.js
@@ -999,10 +999,13 @@ function applyTemplate(template, replacements) {
// Similar to Node.js path.join()
function pathJoin() {
var path = '';
- forEach(arguments, function(arg) {
+ forEach(arguments, function(arg, i) {
if (!arg) return;
arg = String(arg);
- arg = arg.replace(/^\/+/, '').replace(/\/+$/, '');
+ if (i > 0){
+ arg = arg.replace(/^\/+/, ''); // leading
+ }
+ arg = arg.replace(/\/+$/, ''); // trailing
if (path.length > 0) {
path += '/';
}
diff --git a/test/utils-test.js b/test/utils-test.js
index fc257c0..f6382e5 100644
--- a/test/utils-test.js
+++ b/test/utils-test.js
@@ -175,6 +175,10 @@ describe('Utility function tests', function() {
it('removes duplicate slashes', function() {
assert.equal(lib.pathJoin('ai/', '/output/', 'image.svg'), 'ai/output/image.svg');
})
+
+ it('retains leading slash in first argument', function() {
+ assert.equal(lib.pathJoin('/c/', '/output/', 'image.svg'), '/c/output/image.svg');
+ })
})
describe('pathSplit()', function() {