From 06cc19660ed44fae4f85e72ab6e2b21e02e8fd2d Mon Sep 17 00:00:00 2001 From: Sebastian Niemann Date: Sun, 21 Oct 2018 23:56:21 +0200 Subject: [PATCH 1/4] Extends the support of absolute paths as theme directories towards plugins --- packages/@vuepress/core/lib/prepare/loadTheme.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/@vuepress/core/lib/prepare/loadTheme.js b/packages/@vuepress/core/lib/prepare/loadTheme.js index c06820f18a..e1012df219 100644 --- a/packages/@vuepress/core/lib/prepare/loadTheme.js +++ b/packages/@vuepress/core/lib/prepare/loadTheme.js @@ -33,9 +33,11 @@ module.exports = async function loadTheme (ctx) { const theme = siteConfig.theme || cliOptions.theme const themeResolver = getThemeResolver() + const useAbsolutePath = fs.existsSync(theme) + const localThemePath = path.resolve(vuepressDir, 'theme') const useLocalTheme = - !fs.existsSync(theme) && + !useAbsolutePath && fs.existsSync(localThemePath) && (fs.readdirSync(localThemePath)).length > 0 @@ -45,6 +47,9 @@ module.exports = async function loadTheme (ctx) { let themeShortcut if (useLocalTheme) { + themePath = theme + logger.tip(`\nApply theme located at ${chalk.gray(themePath)}...`) + } else if (useLocalTheme) { themePath = localThemePath logger.tip(`\nApply theme located at ${chalk.gray(themePath)}...`) } else if (isString(theme)) { From 8e9e7d253c9520bd96607a030c5d27253cd49525 Mon Sep 17 00:00:00 2001 From: Sebastian Niemann Date: Mon, 22 Oct 2018 00:16:19 +0200 Subject: [PATCH 2/4] Update loadTheme.js --- packages/@vuepress/core/lib/prepare/loadTheme.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/@vuepress/core/lib/prepare/loadTheme.js b/packages/@vuepress/core/lib/prepare/loadTheme.js index e1012df219..26cfedaa21 100644 --- a/packages/@vuepress/core/lib/prepare/loadTheme.js +++ b/packages/@vuepress/core/lib/prepare/loadTheme.js @@ -46,7 +46,7 @@ module.exports = async function loadTheme (ctx) { let themeName let themeShortcut - if (useLocalTheme) { + if (useAbsolutePath) { themePath = theme logger.tip(`\nApply theme located at ${chalk.gray(themePath)}...`) } else if (useLocalTheme) { From 6147d44b01cc2da88ea0329f9372356f1d3b0ae2 Mon Sep 17 00:00:00 2001 From: Sebastian Niemann Date: Mon, 22 Oct 2018 00:28:46 +0200 Subject: [PATCH 3/4] Fixing relative paths --- packages/@vuepress/core/lib/prepare/loadTheme.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/@vuepress/core/lib/prepare/loadTheme.js b/packages/@vuepress/core/lib/prepare/loadTheme.js index 26cfedaa21..1f2785b11e 100644 --- a/packages/@vuepress/core/lib/prepare/loadTheme.js +++ b/packages/@vuepress/core/lib/prepare/loadTheme.js @@ -47,7 +47,7 @@ module.exports = async function loadTheme (ctx) { let themeShortcut if (useAbsolutePath) { - themePath = theme + themePath = path.resolve(theme) logger.tip(`\nApply theme located at ${chalk.gray(themePath)}...`) } else if (useLocalTheme) { themePath = localThemePath From f68b17ae6719811aa09cadd445239521cfe2d1c1 Mon Sep 17 00:00:00 2001 From: Sebastian Niemann Date: Mon, 22 Oct 2018 00:40:17 +0200 Subject: [PATCH 4/4] Aligning coding with local themes --- packages/@vuepress/core/lib/prepare/loadTheme.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/@vuepress/core/lib/prepare/loadTheme.js b/packages/@vuepress/core/lib/prepare/loadTheme.js index 1f2785b11e..9cbbe2e118 100644 --- a/packages/@vuepress/core/lib/prepare/loadTheme.js +++ b/packages/@vuepress/core/lib/prepare/loadTheme.js @@ -33,11 +33,13 @@ module.exports = async function loadTheme (ctx) { const theme = siteConfig.theme || cliOptions.theme const themeResolver = getThemeResolver() - const useAbsolutePath = fs.existsSync(theme) + const absoluteThemePath = path.resolve(theme) + const useAbsolutePath = + fs.existsSync(absoluteThemePath) && + (fs.readdirSync(absoluteThemePath)).length > 0 const localThemePath = path.resolve(vuepressDir, 'theme') const useLocalTheme = - !useAbsolutePath && fs.existsSync(localThemePath) && (fs.readdirSync(localThemePath)).length > 0 @@ -47,7 +49,7 @@ module.exports = async function loadTheme (ctx) { let themeShortcut if (useAbsolutePath) { - themePath = path.resolve(theme) + themePath = absoluteThemePath logger.tip(`\nApply theme located at ${chalk.gray(themePath)}...`) } else if (useLocalTheme) { themePath = localThemePath