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']
 |