mirror of
				https://github.com/librenms/librenms.git
				synced 2024-10-07 16:52:45 +00:00 
			
		
		
		
	
		
			
	
	
		
			69 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			CoffeeScript
		
	
	
	
	
	
		
		
			
		
	
	
			69 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			CoffeeScript
		
	
	
	
	
	
| 
								 | 
							
								Path = require('path')
							 | 
						||
| 
								 | 
							
								fs = require('fs')
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								ThemeUtils = require('./docs/lib/themes.coffee')
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								themeColors =
							 | 
						||
| 
								 | 
							
								  black:  '#000000'
							 | 
						||
| 
								 | 
							
								  white:  '#ffffff'
							 | 
						||
| 
								 | 
							
								  silver: '#d6d6d6'
							 | 
						||
| 
								 | 
							
								  red:    '#ee3148'
							 | 
						||
| 
								 | 
							
								  orange: '#eb7a55'
							 | 
						||
| 
								 | 
							
								  yellow: '#fcd25a'
							 | 
						||
| 
								 | 
							
								  green:  '#22df80'
							 | 
						||
| 
								 | 
							
								  blue:   '#2299dd'
							 | 
						||
| 
								 | 
							
								  pink:   '#e90f92'
							 | 
						||
| 
								 | 
							
								  purple: '#7c60e0'
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								module.exports = (grunt) ->
							 | 
						||
| 
								 | 
							
								  grunt.registerTask 'themes', 'Compile the pace theme files', ->
							 | 
						||
| 
								 | 
							
								    done = @async()
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    options = grunt.config('themes')
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    grunt.file.glob options.src, (err, files) ->
							 | 
						||
| 
								 | 
							
								      for colorName, color of themeColors
							 | 
						||
| 
								 | 
							
								        for file in files
							 | 
						||
| 
								 | 
							
								          body = ThemeUtils.compileTheme fs.readFileSync(file).toString(), {color}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								          body = "/* This is a compiled file, you should be editing the file in the templates directory */\n" + body
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								          name = Path.basename file
							 | 
						||
| 
								 | 
							
								          name = name.replace '.tmpl', ''
							 | 
						||
| 
								 | 
							
								          path = Path.join options.dest, colorName, name
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								          fs.writeFileSync path, body
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      done()
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  grunt.initConfig
							 | 
						||
| 
								 | 
							
								    pkg: grunt.file.readJSON("package.json")
							 | 
						||
| 
								 | 
							
								    coffee:
							 | 
						||
| 
								 | 
							
								      compile:
							 | 
						||
| 
								 | 
							
								        files:
							 | 
						||
| 
								 | 
							
								          'pace.js': 'pace.coffee'
							 | 
						||
| 
								 | 
							
								          'docs/lib/themes.js': 'docs/lib/themes.coffee'
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    watch:
							 | 
						||
| 
								 | 
							
								      coffee:
							 | 
						||
| 
								 | 
							
								        files: ['pace.coffee', 'docs/lib/themes.coffee', 'templates/*']
							 | 
						||
| 
								 | 
							
								        tasks: ["coffee", "uglify", "themes"]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    uglify:
							 | 
						||
| 
								 | 
							
								      options:
							 | 
						||
| 
								 | 
							
								        banner: "/*! <%= pkg.name %> <%= pkg.version %> */\n"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      dist:
							 | 
						||
| 
								 | 
							
								        src: 'pace.js'
							 | 
						||
| 
								 | 
							
								        dest: 'pace.min.js'
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    themes:
							 | 
						||
| 
								 | 
							
								      src: 'templates/*.tmpl.css'
							 | 
						||
| 
								 | 
							
								      dest: 'themes'
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  grunt.loadNpmTasks 'grunt-contrib-watch'
							 | 
						||
| 
								 | 
							
								  grunt.loadNpmTasks 'grunt-contrib-uglify'
							 | 
						||
| 
								 | 
							
								  grunt.loadNpmTasks 'grunt-contrib-coffee'
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  grunt.registerTask 'default', ['coffee', 'uglify', 'themes']
							 |