Add a task for compiling the theme
This commit is contained in:
parent
84ada4d843
commit
68378b1e86
5 changed files with 1037 additions and 3 deletions
|
@ -35,6 +35,16 @@ export class Settings
|
||||||
*/
|
*/
|
||||||
private libraryPath = "javascript";
|
private libraryPath = "javascript";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The path to the root of the theme-source.
|
||||||
|
*/
|
||||||
|
private themeSource = "Theme";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The path to save the css-code to.
|
||||||
|
*/
|
||||||
|
private stylePath = "css";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The path to the test-directory.
|
* The path to the test-directory.
|
||||||
*/
|
*/
|
||||||
|
@ -134,6 +144,34 @@ export class Settings
|
||||||
return this.RootPath(this.libraryPath, ...path);
|
return this.RootPath(this.libraryPath, ...path);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a path relative to the root of the theme-source.
|
||||||
|
*
|
||||||
|
* @param path
|
||||||
|
* The path to join.
|
||||||
|
*
|
||||||
|
* @returns
|
||||||
|
* The joined path.
|
||||||
|
*/
|
||||||
|
public ThemeSource(...path: string[])
|
||||||
|
{
|
||||||
|
return this.SourceRoot(this.themeSource, ...path);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a path relative to the directory to save the css-code to.
|
||||||
|
*
|
||||||
|
* @param path
|
||||||
|
* The path to join.
|
||||||
|
*
|
||||||
|
* @returns
|
||||||
|
* The joined path.
|
||||||
|
*/
|
||||||
|
public StylePath(...path: string[])
|
||||||
|
{
|
||||||
|
return this.RootPath(this.stylePath, ...path);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a path relative to the test-directory.
|
* Creates a path relative to the test-directory.
|
||||||
*
|
*
|
||||||
|
|
41
gulpfile.ts
41
gulpfile.ts
|
@ -4,6 +4,8 @@ import FileSystem = require("fs-extra");
|
||||||
import { TaskFunction } from "gulp";
|
import { TaskFunction } from "gulp";
|
||||||
import gulp = require("gulp");
|
import gulp = require("gulp");
|
||||||
import gulpIf = require("gulp-if");
|
import gulpIf = require("gulp-if");
|
||||||
|
import rename = require("gulp-rename");
|
||||||
|
import sass = require("gulp-sass");
|
||||||
import terser = require("gulp-terser");
|
import terser = require("gulp-terser");
|
||||||
import merge = require("merge-stream");
|
import merge = require("merge-stream");
|
||||||
import minimist = require("minimist");
|
import minimist = require("minimist");
|
||||||
|
@ -152,7 +154,11 @@ export async function Build()
|
||||||
log.info(watchStartMessage);
|
log.info(watchStartMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
await Library();
|
await Promise.all(
|
||||||
|
[
|
||||||
|
Library(),
|
||||||
|
Theme()
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -276,6 +282,39 @@ export async function Library()
|
||||||
|
|
||||||
Library.description = "Builds the TypeScript- and JavaScript-library.";
|
Library.description = "Builds the TypeScript- and JavaScript-library.";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Builds the theme.
|
||||||
|
*/
|
||||||
|
export async function Theme()
|
||||||
|
{
|
||||||
|
return gulp.src(
|
||||||
|
settings.ThemeSource("main.scss"),
|
||||||
|
{
|
||||||
|
sourcemaps: settings.Debug,
|
||||||
|
base: settings.StylePath()
|
||||||
|
}).pipe(
|
||||||
|
sass({ importer: require("node-sass-tilde-importer") })
|
||||||
|
).pipe(
|
||||||
|
rename(
|
||||||
|
(parsedPath) =>
|
||||||
|
{
|
||||||
|
parsedPath.dirname = "";
|
||||||
|
parsedPath.basename = "mantra";
|
||||||
|
})
|
||||||
|
).pipe(
|
||||||
|
gulp.dest(
|
||||||
|
settings.StylePath(),
|
||||||
|
settings.Debug ?
|
||||||
|
{
|
||||||
|
sourcemaps: true
|
||||||
|
}
|
||||||
|
:
|
||||||
|
undefined)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Theme.description = "Builds the theme.";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Stops a watch-task.
|
* Stops a watch-task.
|
||||||
*/
|
*/
|
||||||
|
|
955
package-lock.json
generated
955
package-lock.json
generated
File diff suppressed because it is too large
Load diff
|
@ -13,6 +13,8 @@
|
||||||
"@types/fs-extra": "^8.0.0",
|
"@types/fs-extra": "^8.0.0",
|
||||||
"@types/gulp": "^4.0.6",
|
"@types/gulp": "^4.0.6",
|
||||||
"@types/gulp-if": "0.0.33",
|
"@types/gulp-if": "0.0.33",
|
||||||
|
"@types/gulp-rename": "0.0.33",
|
||||||
|
"@types/gulp-sass": "^4.0.0",
|
||||||
"@types/gulp-terser": "^1.2.0",
|
"@types/gulp-terser": "^1.2.0",
|
||||||
"@types/jquery": "^3.3.31",
|
"@types/jquery": "^3.3.31",
|
||||||
"@types/merge-stream": "^1.1.2",
|
"@types/merge-stream": "^1.1.2",
|
||||||
|
@ -29,10 +31,13 @@
|
||||||
"fs-extra": "^8.1.0",
|
"fs-extra": "^8.1.0",
|
||||||
"gulp": "^4.0.2",
|
"gulp": "^4.0.2",
|
||||||
"gulp-if": "^3.0.0",
|
"gulp-if": "^3.0.0",
|
||||||
|
"gulp-rename": "^1.4.0",
|
||||||
|
"gulp-sass": "^4.0.2",
|
||||||
"gulp-terser": "^1.2.0",
|
"gulp-terser": "^1.2.0",
|
||||||
"jquery": "^3.4.1",
|
"jquery": "^3.4.1",
|
||||||
"merge-stream": "^2.0.0",
|
"merge-stream": "^2.0.0",
|
||||||
"minimist": "^1.2.0",
|
"minimist": "^1.2.0",
|
||||||
|
"node-sass-tilde-importer": "^1.0.2",
|
||||||
"popper.js": "^1.15.0",
|
"popper.js": "^1.15.0",
|
||||||
"promise-queue": "^2.2.5",
|
"promise-queue": "^2.2.5",
|
||||||
"string-argv": "^0.3.1",
|
"string-argv": "^0.3.1",
|
||||||
|
|
1
src/Theme/main.scss
Normal file
1
src/Theme/main.scss
Normal file
|
@ -0,0 +1 @@
|
||||||
|
@import "~bootstrap/scss/bootstrap";
|
Loading…
Reference in a new issue