mirror of
https://github.com/JuanCanham/HackMyResume.git
synced 2024-11-05 01:56:21 +00:00
feat: improve ad hoc theme loading
This commit is contained in:
parent
1dbb78c53f
commit
688767d415
15
dist/verbs/build.js
vendored
15
dist/verbs/build.js
vendored
@ -423,19 +423,22 @@ Implementation of the 'build' verb for HackMyResume.
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
_verifyTheme = function(themeNameOrPath) {
|
_verifyTheme = function(themeNameOrPath) {
|
||||||
var exists, tFolder;
|
var exists, tFolder, themesObj;
|
||||||
|
themesObj = require('fresh-themes');
|
||||||
|
if (_.has(themesObj.themes, themeNameOrPath)) {
|
||||||
tFolder = PATH.join(parsePath(require.resolve('fresh-themes')).dirname, '/themes/', themeNameOrPath);
|
tFolder = PATH.join(parsePath(require.resolve('fresh-themes')).dirname, '/themes/', themeNameOrPath);
|
||||||
exists = require('path-exists').sync;
|
} else {
|
||||||
if (!exists(tFolder)) {
|
|
||||||
tFolder = PATH.resolve(themeNameOrPath);
|
tFolder = PATH.resolve(themeNameOrPath);
|
||||||
if (!exists(tFolder)) {
|
}
|
||||||
|
exists = require('path-exists').sync;
|
||||||
|
if (exists(tFolder)) {
|
||||||
|
return tFolder;
|
||||||
|
} else {
|
||||||
return {
|
return {
|
||||||
fluenterror: HMSTATUS.themeNotFound,
|
fluenterror: HMSTATUS.themeNotFound,
|
||||||
data: _opts.theme
|
data: _opts.theme
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
|
||||||
return tFolder;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -334,17 +334,30 @@ _expand = ( dst, theTheme ) ->
|
|||||||
Verify the specified theme name/path.
|
Verify the specified theme name/path.
|
||||||
###
|
###
|
||||||
_verifyTheme = ( themeNameOrPath ) ->
|
_verifyTheme = ( themeNameOrPath ) ->
|
||||||
|
|
||||||
|
# First, see if this is one of the predefined FRESH themes. There are only a
|
||||||
|
# handful of these, but they may change over time, so we need to query
|
||||||
|
# the official source of truth: the fresh-themes repository, which mounts the
|
||||||
|
# themes conveniently by name to the module object, and which is embedded
|
||||||
|
# locally inside the HackMyResume installation.
|
||||||
|
themesObj = require 'fresh-themes'
|
||||||
|
if _.has themesObj.themes, themeNameOrPath
|
||||||
tFolder = PATH.join(
|
tFolder = PATH.join(
|
||||||
parsePath( require.resolve('fresh-themes') ).dirname,
|
parsePath( require.resolve('fresh-themes') ).dirname,
|
||||||
'/themes/',
|
'/themes/',
|
||||||
themeNameOrPath
|
themeNameOrPath
|
||||||
)
|
)
|
||||||
exists = require('path-exists').sync
|
else
|
||||||
if !exists( tFolder )
|
# Otherwsie it's a path to an arbitrary FRESH or JRS theme sitting somewhere
|
||||||
|
# on the user's system (or, in the future, at a URI).
|
||||||
tFolder = PATH.resolve themeNameOrPath
|
tFolder = PATH.resolve themeNameOrPath
|
||||||
if !exists tFolder
|
|
||||||
return fluenterror: HMSTATUS.themeNotFound, data: _opts.theme
|
# In either case, make sure the theme folder exists
|
||||||
|
exists = require('path-exists').sync
|
||||||
|
if exists tFolder
|
||||||
tFolder
|
tFolder
|
||||||
|
else
|
||||||
|
fluenterror: HMSTATUS.themeNotFound, data: _opts.theme
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user