const path = require('path');
const util = require('util');
-const sass = require("gulp-sass");
-const cssnano = require("gulp-cssnano");
+const sass = require('gulp-sass')(require('sass'));
const rtlcss = require('gulp-rtlcss');
const sourcemaps = require('gulp-sourcemaps');
const autoprefixer = require('gulp-autoprefixer');
const STAFF_CSS_BASE = "koha-tmpl/intranet-tmpl/prog/css";
const OPAC_CSS_BASE = "koha-tmpl/opac-tmpl/bootstrap/css";
-if (args.view == "opac") {
- var css_base = OPAC_CSS_BASE;
-} else {
- var css_base = STAFF_CSS_BASE;
-}
+var CSS_BASE = args.view == "opac"
+ ? OPAC_CSS_BASE
+ : STAFF_CSS_BASE;
var sassOptions = {
- errLogToConsole: true,
- precision: 3,
includePaths: [
__dirname + '/node_modules',
__dirname + '/../node_modules'
}
// CSS processing for development
-function css() {
+function css(css_base) {
+ css_base = css_base || CSS_BASE
var stream = src(css_base + "/src/**/*.scss")
.pipe(sourcemaps.init())
.pipe(sass(sassOptions).on('error', sass.logError))
return stream;
}
-
// CSS processing for production
-function build() {
+function build(css_base) {
+ css_base = css_base || CSS_BASE;
+ sassOptions.outputStyle = "compressed";
var stream = src(css_base + "/src/**/*.scss")
.pipe(sass(sassOptions).on('error', sass.logError))
.pipe(autoprefixer())
- .pipe(cssnano({
- zindex: false
- }))
.pipe(dest(css_base));
if( args.view == "opac" ){
return stream;
}
+function opac_css(){
+ return css(OPAC_CSS_BASE);
+}
+
+function staff_css(){
+ return css(STAFF_CSS_BASE);
+}
+
const poTasks = {
'marc-MARC21': {
extract: po_extract_marc_marc21,
return Array.from(new Set(languages));
}
-exports.build = build;
-exports.css = css;
+exports.build = function(next){build(); next();};
+exports.css = function(next){css(); next();};
+exports.opac_css = opac_css;
+exports.staff_css = staff_css;
+exports.watch = function () {
+ watch(OPAC_CSS_BASE + "/src/**/*.scss", series('opac_css'));
+ watch(STAFF_CSS_BASE + "/src/**/*.scss", series('staff_css'));
+};
exports['po:create'] = parallel(...poTypes.map(type => series(poTasks[type].extract, poTasks[type].create)));
exports['po:update'] = parallel(...poTypes.map(type => series(poTasks[type].extract, poTasks[type].update)));
exports['po:extract'] = parallel(...poTypes.map(type => poTasks[type].extract));
-
-exports.default = function () {
- watch(css_base + "/src/**/*.scss", series('css'));
-}