|
|
|
//
|
|
|
|
// timelinejs configuration
|
|
|
|
//
|
|
|
|
// All file/directory paths are relative to the project directory.
|
|
|
|
//
|
|
|
|
// Regular expressions must be specified in python regular expression format,
|
|
|
|
// but backslashes must be escaped for JSON. When used to match files,
|
|
|
|
// matching will take place against the the file/directory path relative to
|
|
|
|
// the project directory.
|
|
|
|
//
|
|
|
|
{
|
|
|
|
"name": "timeline",
|
|
|
|
"author": "Zach Wise",
|
|
|
|
//
|
|
|
|
// build
|
|
|
|
// These commands will be run the exact order in which they appear.
|
|
|
|
//
|
|
|
|
"build": {
|
|
|
|
//
|
|
|
|
// copy files
|
|
|
|
// input: list of objects specifying inputs and outputs
|
|
|
|
// @src: source file/directory
|
|
|
|
// @dst: destination file/directory
|
|
|
|
// @regex: regular expression to match files (if @src is directory)
|
|
|
|
//
|
|
|
|
"copy": [
|
|
|
|
{
|
|
|
|
"src": "source",
|
|
|
|
"dst": "build",
|
|
|
|
"regex": "css/.*\\.(png|gif)$"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"src": "source/embed",
|
|
|
|
"dst": "build/embed"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
//
|
|
|
|
// compile less files
|
|
|
|
// input: list of objects specifying inputs and output
|
|
|
|
// @src: source file/directory
|
|
|
|
// @dst: destination file/directory
|
|
|
|
// @regex: regular expression to match files (if @src is directory)
|
|
|
|
//
|
|
|
|
"lessc": [
|
|
|
|
{
|
|
|
|
"src": "source/less/VMM.Timeline.less",
|
|
|
|
"dst": "build/css/timeline.css"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"src": "source/less/Theme/Dark.less",
|
|
|
|
"dst": "build/css/themes/dark.css"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"src": "source/less/Core/Font",
|
|
|
|
"dst": "build/css/themes/font",
|
|
|
|
"regex": ".*\\.less"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
//
|
|
|
|
// process codekit style imports on files
|
|
|
|
// input: list of objects specifying inputs and output
|
|
|
|
// @src: source file
|
|
|
|
// @dst: destination file
|
|
|
|
//
|
|
|
|
"process": [
|
|
|
|
{
|
|
|
|
"src": "source/js/VMM.Timeline.js",
|
|
|
|
"dst": "build/js/timeline.js"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"src": "source/js/VMM.Timeline.Min.js",
|
|
|
|
"dst": "build/js/timeline-min.js"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"src": "source/js/Core/Embed/Embed.CDN.Generator.js",
|
|
|
|
"dst": "build/js/storyjs-embed-generator.js"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"src": "source/js/Core/Embed/Embed.CDN.js",
|
|
|
|
"dst": "build/js/storyjs-embed-cdn.js"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"src": "source/js/Core/Embed/Embed.js",
|
|
|
|
"dst": "build/js/storyjs-embed.js"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
//
|
|
|
|
// concatenate files
|
|
|
|
// input: list of objects specifying inputs and output
|
|
|
|
// @src: list of source files
|
|
|
|
// @dst: destination file
|
|
|
|
//
|
|
|
|
"concat": [ ],
|
|
|
|
//
|
|
|
|
// minify files using uglifyjs
|
|
|
|
// input list of objects specifying inputs and output
|
|
|
|
// @src: source file/directory
|
|
|
|
// @dst: destination file/directory
|
|
|
|
// @opt: options to pass to uglifyjs
|
|
|
|
// @ext: extension to prepend to destination file name (optional, default = none)
|
|
|
|
//
|
|
|
|
"minify": [
|
|
|
|
{
|
|
|
|
"src": "source/js/Core/Language/locale",
|
|
|
|
"dst": "build/js/locale",
|
|
|
|
"opt": "--no-seqs"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"src": "build/js/timeline-min.js",
|
|
|
|
"dst": "build/js/timeline-min.js",
|
|
|
|
"opt": "--no-seqs"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"src": "build/js/storyjs-embed-generator.js",
|
|
|
|
"dst": "build/js/storyjs-embed-generator.js",
|
|
|
|
"opt": "--no-seqs"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"src": "build/js/storyjs-embed-cdn.js",
|
|
|
|
"dst": "build/js/storyjs-embed-cdn.js",
|
|
|
|
"opt": "--no-seqs"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"src": "build/js/storyjs-embed.js",
|
|
|
|
"dst": "build/js/storyjs-embed.js",
|
|
|
|
"opt": "--no-seqs"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
//
|
|
|
|
// process usermin style build blocks on html files
|
|
|
|
// input: list of files/directorys to process in-place
|
|
|
|
//
|
|
|
|
"usemin": [
|
|
|
|
"build/embed"
|
|
|
|
],
|
|
|
|
//
|
|
|
|
// banner-ize files
|
|
|
|
// input: list of objects specifying inputs
|
|
|
|
// @src: source file/directory
|
|
|
|
// @regex: regular expression to match files (if @src is directory)
|
|
|
|
// @template: template to use for banner (optional)
|
|
|
|
//
|
|
|
|
"banner": [
|
|
|
|
{
|
|
|
|
"src": "build",
|
|
|
|
"regex": "(js|css)/.*\\.(css|js)$",
|
|
|
|
"template": [
|
|
|
|
"/*",
|
|
|
|
" TimelineJS - ver. %(version)s - %(date)s",
|
|
|
|
" Copyright (c) 2012-2015 Northwestern University",
|
|
|
|
" a project of the Northwestern University Knight Lab, originally created by Zach Wise",
|
|
|
|
" https://github.com/NUKnightLab/TimelineJS",
|
|
|
|
" This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.",
|
|
|
|
" If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.",
|
|
|
|
"*/"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
//
|
|
|
|
// stage
|
|
|
|
// copy files a versioned directory in local cdn repository
|
|
|
|
// input: list of objects specifying inputs and outputs
|
|
|
|
// @src: source file/directory
|
|
|
|
// @regex: regular expression to match files (if @src is directory)
|
|
|
|
"stage": [
|
|
|
|
{
|
|
|
|
"src": "build",
|
|
|
|
"regex": "(css|embed|js|lib)/.*"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
//
|
|
|
|
// deploy the website to S3
|
|
|
|
// - render website/templates >> build/website
|
|
|
|
// - copy website/static >> build/website/static
|
|
|
|
// - run usemin on all html in build/website
|
|
|
|
// - sync build/website with bucket
|
|
|
|
"deploy": {
|
|
|
|
"stg": {"bucket": "timeline.knilab.com", "usemin_context": {"cdn": "dev"}},
|
|
|
|
"prd": {"bucket": "timeline.knightlab.com", "usemin_context": {"cdn": "latest"}}
|
|
|
|
}
|
|
|
|
}
|