From 8663a63e7ded4038266beee72a75398c3ba45fcc Mon Sep 17 00:00:00 2001 From: claneo Date: Thu, 25 Oct 2018 14:25:10 +0800 Subject: [PATCH] fix: path/url joining bug on windows (#1064) * fix error while using multiple level directory * fix error while using non-english file name --- v1/lib/server/server.js | 2 +- v1/lib/server/utils.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/v1/lib/server/server.js b/v1/lib/server/server.js index 1ea0caad82..8b0d14e83d 100644 --- a/v1/lib/server/server.js +++ b/v1/lib/server/server.js @@ -110,7 +110,7 @@ function execute(port) { const app = express(); app.get(routing.docs(siteConfig.baseUrl), (req, res, next) => { - const url = req.path.toString().replace(siteConfig.baseUrl, ''); + const url = decodeURI(req.path.toString().replace(siteConfig.baseUrl, '')); const metadata = Metadata[ Object.keys(Metadata).find(id => Metadata[id].permalink === url) diff --git a/v1/lib/server/utils.js b/v1/lib/server/utils.js index 430086a078..cc7a90cf0b 100644 --- a/v1/lib/server/utils.js +++ b/v1/lib/server/utils.js @@ -12,7 +12,7 @@ const path = require('path'); const escapeStringRegexp = require('escape-string-regexp'); function getSubDir(file, refDir) { - const subDir = path.dirname(path.relative(refDir, file)).replace('\\', '/'); + const subDir = path.dirname(path.relative(refDir, file)).replace(/\\/g, '/'); return subDir !== '.' && !subDir.includes('..') ? subDir : null; }