diff options
author | Alexandre Flament <alex@al-f.net> | 2017-02-12 15:06:01 +0100 |
---|---|---|
committer | Alexandre Flament <alex@al-f.net> | 2017-08-06 16:04:21 +0200 |
commit | 10a24bdc2c3870f07ec62dd710841628d325aaf6 (patch) | |
tree | 400b579adb6268092f21ec21621a16c730cfef41 /searx/static/themes/simple/gruntfile.js | |
parent | 4f6586d8085460c368ad16904685199de630e1c8 (diff) | |
download | searxng-10a24bdc2c3870f07ec62dd710841628d325aaf6.tar.gz searxng-10a24bdc2c3870f07ec62dd710841628d325aaf6.zip |
[enh] add simple theme (WIP)
Diffstat (limited to 'searx/static/themes/simple/gruntfile.js')
-rw-r--r-- | searx/static/themes/simple/gruntfile.js | 150 |
1 files changed, 150 insertions, 0 deletions
diff --git a/searx/static/themes/simple/gruntfile.js b/searx/static/themes/simple/gruntfile.js new file mode 100644 index 000000000..288ab6633 --- /dev/null +++ b/searx/static/themes/simple/gruntfile.js @@ -0,0 +1,150 @@ +module.exports = function(grunt) { + + const path = require('path'); + + grunt.initConfig({ + pkg: grunt.file.readJSON('package.json'), + watch: { + scripts: { + files: ['<%= jshint.files %>', 'less/*.less'], + tasks: ['jshint', 'concat', 'uglify', 'webfont', 'less:development', 'less:production'] + } + }, + concat: { + options: { + separator: ';' + }, + dist: { + src: ['js/searx_src/*.js'], + dest: 'js/searx.js' + } + }, + uglify: { + options: { + banner: '/*! simple/searx.min.js | <%= grunt.template.today("dd-mm-yyyy") %> | https://github.com/asciimoo/searx */\n', + preserveComments: 'some', + sourceMap: true + }, + dist: { + files: { + 'js/searx.min.js': ['<%= concat.dist.dest %>'] + } + } + }, + jshint: { + files: ['js/searx_src/*.js'], + options: { + proto: true, + // options here to override JSHint defaults + globals: { + browser: true, + jQuery: false, + devel: true + } + } + }, + less: { + development: { + options: { + paths: ["less"], + banner: '/*! searx | <%= grunt.template.today("dd-mm-yyyy") %> | https://github.com/asciimoo/searx */\n' + }, + files: { + "css/searx.css": "less/style.less", + "css/searx-rtl.css": "less/style-rtl.less" + } + }, + production: { + options: { + paths: ["less"], + plugins: [ + new (require('less-plugin-clean-css'))({ + advanced: true, + compatibility: 'ie8' + }) + ], + banner: '/*! searx | <%= grunt.template.today("dd-mm-yyyy") %> | https://github.com/asciimoo/searx */\n' + }, + files: { + "css/searx.min.css": "less/style.less", + "css/searx-rtl.min.css": "less/style-rtl.less" + } + }, + }, + webfont: { + icons: { + // src: 'node_modules/ionicons-npm/src/*.svg', + src: [ + 'node_modules/ionicons-npm/src/navicon-round.svg', + 'node_modules/ionicons-npm/src/search.svg', + 'node_modules/ionicons-npm/src/play.svg', + 'node_modules/ionicons-npm/src/link.svg', + 'node_modules/ionicons-npm/src/chevron-up.svg', + 'node_modules/ionicons-npm/src/chevron-left.svg', + 'node_modules/ionicons-npm/src/chevron-right.svg', + 'node_modules/ionicons-npm/src/arrow-down-a.svg', + 'node_modules/ionicons-npm/src/arrow-up-a.svg', + 'node_modules/ionicons-npm/src/arrow-swap.svg', + 'node_modules/ionicons-npm/src/telephone.svg', + 'node_modules/ionicons-npm/src/android-arrow-dropdown.svg', + 'node_modules/ionicons-npm/src/android-globe.svg', + 'node_modules/ionicons-npm/src/android-time.svg', + 'node_modules/ionicons-npm/src/location.svg', + 'node_modules/ionicons-npm/src/alert-circled.svg', + 'node_modules/ionicons-npm/src/android-alert.svg', + 'node_modules/ionicons-npm/src/ios-film-outline.svg', + 'node_modules/ionicons-npm/src/music-note.svg', + 'node_modules/ionicons-npm/src/ion-close-round.svg', + 'node_modules/ionicons-npm/src/android-more-vertical.svg', + 'magnet.svg' + ], + dest: 'fonts', + destLess: 'less', + options: { + font: 'ion', + hashes : true, + syntax: 'bem', + styles : 'font,icon', + types : 'eot,woff2,woff,ttf,svg', + order : 'eot,woff2,woff,ttf,svg', + stylesheets : ['css', 'less'], + relativeFontPath : '../fonts/', + autoHint : false, + normalize : false, + // ligatures : true, + optimize : true, + // fontHeight : 400, + rename : function(name) { + basename = path.basename(name); + if (basename === 'android-alert.svg') { + return 'error.svg'; + } + if (basename === 'alert-circled.svg') { + return 'warning.svg'; + } + if (basename === 'ion-close-round.svg') { + return 'close.svg'; + } + return basename.replace(/(ios|md|android)-/i, ''); + }, + templateOptions: { + baseClass: 'ion-icon', + classPrefix: 'ion-' + } + } + } + } + }); + + grunt.loadNpmTasks('grunt-contrib-watch'); + grunt.loadNpmTasks('grunt-contrib-uglify'); + grunt.loadNpmTasks('grunt-contrib-jshint'); + grunt.loadNpmTasks('grunt-contrib-concat'); + grunt.loadNpmTasks('grunt-contrib-less'); + grunt.loadNpmTasks('grunt-contrib-cssmin'); + grunt.loadNpmTasks('grunt-webfont'); + + grunt.registerTask('test', ['jshint']); + + grunt.registerTask('default', ['jshint', 'concat', 'uglify', 'less:development', 'less:production']); +}; |