Beautifully crafted timelines that are easy and intuitive to use. http://timeline.knightlab.com/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

182 lines
6.3 KiB

//
// 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.
//
{
11 years ago
"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"}}
}
}