Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.
| Download
Project: KOB1
Views: 16973/* global module:false */1module.exports = function(grunt) {2var port = grunt.option('port') || 8000;3var root = grunt.option('root') || '.';45if (!Array.isArray(root)) root = [root];67// Project configuration8grunt.initConfig({9pkg: grunt.file.readJSON('package.json'),10meta: {11banner:12'/*!\n' +13' * reveal.js <%= pkg.version %> (<%= grunt.template.today("yyyy-mm-dd, HH:MM") %>)\n' +14' * http://revealjs.com\n' +15' * MIT licensed\n' +16' *\n' +17' * Copyright (C) 2017 Hakim El Hattab, http://hakim.se\n' +18' */'19},2021qunit: {22files: [ 'test/*.html' ]23},2425uglify: {26options: {27banner: '<%= meta.banner %>\n',28screwIE8: false29},30build: {31src: 'js/reveal.js',32dest: 'js/reveal.min.js'33}34},3536sass: {37core: {38src: 'css/reveal.scss',39dest: 'css/reveal.css'40},41themes: {42expand: true,43cwd: 'css/theme/source',44src: ['*.sass', '*.scss'],45dest: 'css/theme',46ext: '.css'47}48},4950autoprefixer: {51core: {52src: 'css/reveal.css'53}54},5556cssmin: {57options: {58compatibility: 'ie9'59},60compress: {61src: 'css/reveal.css',62dest: 'css/reveal.min.css'63}64},6566jshint: {67options: {68curly: false,69eqeqeq: true,70immed: true,71esnext: true,72latedef: 'nofunc',73newcap: true,74noarg: true,75sub: true,76undef: true,77eqnull: true,78browser: true,79expr: true,80globals: {81head: false,82module: false,83console: false,84unescape: false,85define: false,86exports: false87}88},89files: [ 'Gruntfile.js', 'js/reveal.js' ]90},9192connect: {93server: {94options: {95port: port,96base: root,97livereload: true,98open: true,99useAvailablePort: true100}101}102},103104zip: {105bundle: {106src: [107'index.html',108'css/**',109'js/**',110'lib/**',111'images/**',112'plugin/**',113'**.md'114],115dest: 'reveal-js-presentation.zip'116}117},118119watch: {120js: {121files: [ 'Gruntfile.js', 'js/reveal.js' ],122tasks: 'js'123},124theme: {125files: [126'css/theme/source/*.sass',127'css/theme/source/*.scss',128'css/theme/template/*.sass',129'css/theme/template/*.scss'130],131tasks: 'css-themes'132},133css: {134files: [ 'css/reveal.scss' ],135tasks: 'css-core'136},137html: {138files: root.map(path => path + '/*.html')139},140markdown: {141files: root.map(path => path + '/*.md')142},143options: {144livereload: true145}146},147148retire: {149js: [ 'js/reveal.js', 'lib/js/*.js', 'plugin/**/*.js' ],150node: [ '.' ]151}152153});154155// Dependencies156grunt.loadNpmTasks( 'grunt-contrib-connect' );157grunt.loadNpmTasks( 'grunt-contrib-cssmin' );158grunt.loadNpmTasks( 'grunt-contrib-jshint' );159grunt.loadNpmTasks( 'grunt-contrib-qunit' );160grunt.loadNpmTasks( 'grunt-contrib-uglify' );161grunt.loadNpmTasks( 'grunt-contrib-watch' );162grunt.loadNpmTasks( 'grunt-autoprefixer' );163grunt.loadNpmTasks( 'grunt-retire' );164grunt.loadNpmTasks( 'grunt-sass' );165grunt.loadNpmTasks( 'grunt-zip' );166167// Default task168grunt.registerTask( 'default', [ 'css', 'js' ] );169170// JS task171grunt.registerTask( 'js', [ 'jshint', 'uglify', 'qunit' ] );172173// Theme CSS174grunt.registerTask( 'css-themes', [ 'sass:themes' ] );175176// Core framework CSS177grunt.registerTask( 'css-core', [ 'sass:core', 'autoprefixer', 'cssmin' ] );178179// All CSS180grunt.registerTask( 'css', [ 'sass', 'autoprefixer', 'cssmin' ] );181182// Package presentation to archive183grunt.registerTask( 'package', [ 'default', 'zip' ] );184185// Serve presentation locally186grunt.registerTask( 'serve', [ 'connect', 'watch' ] );187188// Run tests189grunt.registerTask( 'test', [ 'jshint', 'qunit' ] );190191};192193194