Skip to content

Commit 3fbef0d

Browse files
committed
feat($core): theme entry file as plugin.
1 parent d03b10d commit 3fbef0d

File tree

2 files changed

+8
-7
lines changed

2 files changed

+8
-7
lines changed

packages/@vuepress/core/lib/prepare/AppContext.js

+3-2
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ module.exports = class AppContext {
106106
this.pluginAPI
107107
// internl core plugins
108108
.use(Object.assign({}, siteConfig, { name: '@vuepress/internal-site-config' }))
109+
.use(Object.assign({}, this.themeEntryFile, { name: '@vuepress/internal-theme-entry-file' }))
109110
.use(require('../internal-plugins/siteData'))
110111
.use(require('../internal-plugins/routes'))
111112
.use(require('../internal-plugins/rootMixins'))
@@ -161,7 +162,7 @@ module.exports = class AppContext {
161162
*
162163
* 1. siteConfig.devTemplate
163164
* 2. `dev.html` located at .vuepress/templates
164-
* 3. themeIndexFile.devTemplate
165+
* 3. themeEntryFile.devTemplate
165166
* 4. default devTemplate
166167
*
167168
* @api private
@@ -174,7 +175,7 @@ module.exports = class AppContext {
174175
const siteSsrTemplate2 = path.resolve(templateDir, 'dev.html')
175176
const siteDevTemplate2 = path.resolve(templateDir, 'ssr.html')
176177

177-
const { themeSsrTemplate, themeDevTemplate } = this.themeIndexFile
178+
const { themeSsrTemplate, themeDevTemplate } = this.themeEntryFile
178179

179180
const defaultSsrTemplate = path.resolve(__dirname, '../app/index.ssr.html')
180181
const defaultDevTemplate = path.resolve(__dirname, '../app/index.dev.html')

packages/@vuepress/core/lib/prepare/loadTheme.js

+5-5
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ module.exports = async function loadTheme (theme, sourceDir, vuepressDir) {
3636
(fs.readdirSync(localThemePath)).length > 0
3737

3838
let themePath = null // Mandatory
39-
let themeIndexFile = null // Optional
39+
let themeEntryFile = null // Optional
4040
let themeName
4141
let themeShortcut
4242

@@ -58,16 +58,16 @@ module.exports = async function loadTheme (theme, sourceDir, vuepressDir) {
5858
}
5959

6060
try {
61-
themeIndexFile = require(themePath)
61+
themeEntryFile = require(themePath)
6262
} catch (error) {
63-
themeIndexFile = {}
63+
themeEntryFile = {}
6464
}
6565

6666
// handle theme api
6767
const {
6868
plugins: themePlugins,
6969
palette: themePalette
70-
} = themeIndexFile
70+
} = themeEntryFile
7171

7272
const layoutDirs = [
7373
path.resolve(themePath, 'layouts'),
@@ -132,7 +132,7 @@ module.exports = async function loadTheme (theme, sourceDir, vuepressDir) {
132132
return {
133133
themePath,
134134
layoutComponentMap,
135-
themeIndexFile,
135+
themeEntryFile,
136136
themePlugins,
137137
themePalette,
138138
themeName,

0 commit comments

Comments
 (0)