Cleaned up makefile & deploy scripts

-- I didn't want to deplot 100+MB of the bower_components folder
-- Makefile now copies over just the stuff we want from bower_components
-- Deploy scripts now only certain directories & files (opt-in vs.
opt-out)
-- Fixed "make install"
This commit is contained in:
Ian Prest 2015-07-26 23:56:40 -04:00
parent 09a4e62607
commit 051e29e75f
4 changed files with 88 additions and 40 deletions

11
.gitignore vendored
View file

@ -15,11 +15,12 @@ npm-debug.log
bower_components/
# Generated files
fonts/kbd-custom.*
js/jsonl.min.js
js/jsonl.js
css/kb.css
css/kb.css.map
js/*
css/*
fonts/*
# Backup/temporary files
*~
# Saved layouts
layouts/

View file

@ -1,18 +1,67 @@
ifeq ($(OS),Windows_NT)
export NODE_PATH=$(APPDATA)/npm/node_modules
cp = copy /y $(subst /,\,$1) $(subst /,\,$2)
else
cp = cp $1 $2
endif
all: js css
all: js css bower_copy
# Rules to minify our .js files
js: js/jsonl.min.js
%.min.js: %.js
js/%.min.js: js/%.js
uglifyjs "$^" > "$@"
js/%.js: %.grammar.js
node "$^" > "$@"
.PRECIOUS: js/%.js
# Rules to copy stuff from bower_components to our folders
bower_copy:
.PHONY: bower_copy
_BOWER_DIR[.js] = js
_BOWER_DIR[.css] = css
_BOWER_DIR[*] = fonts
_BOWER_TARGET = $(or $(_BOWER_DIR[$(suffix $(1))]),$(_BOWER_DIR[*]))/$(notdir $(1))
define _BOWER
bower_copy: $(call _BOWER_TARGET,$(1))
$(call _BOWER_TARGET,$(1)): $1
$$(call cp,"$$<","$$@")
endef
BOWER = $(eval $(call _BOWER,$1,$2))
# Bootstrap
$(call BOWER,bower_components/bootstrap/dist/css/bootstrap.min.css)
$(call BOWER,bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.eot)
$(call BOWER,bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.svg)
$(call BOWER,bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf)
$(call BOWER,bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff)
$(call BOWER,bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2)
# FontAwesome
$(call BOWER,bower_components/fontawesome/css/font-awesome.min.css)
$(call BOWER,bower_components/fontawesome/fonts/fontawesome-webfont.ttf)
$(call BOWER,bower_components/fontawesome/fonts/fontawesome-webfont.eot)
$(call BOWER,bower_components/fontawesome/fonts/fontawesome-webfont.svg)
$(call BOWER,bower_components/fontawesome/fonts/fontawesome-webfont.woff)
$(call BOWER,bower_components/fontawesome/fonts/fontawesome-webfont.woff2)
# JQeury & Angular stuff
$(call BOWER,bower_components/jquery/jquery.min.js)
$(call BOWER,bower_components/angular/angular.min.js)
$(call BOWER,bower_components/angular-bootstrap-colorpicker/css/colorpicker.min.css)
$(call BOWER,bower_components/angular-sanitize/angular-sanitize.min.js)
$(call BOWER,bower_components/angular-ui-utils/components/angular-ui-docs/build/ui-utils.min.js)
$(call BOWER,bower_components/ng-file-upload/ng-file-upload.min.js)
$(call BOWER,bower_components/angular-native-dragdrop/draganddrop.js)
$(call BOWER,bower_components/angular-ui-bootstrap/dist/ui-bootstrap-tpls-0.12.0.min.js)
$(call BOWER,bower_components/angular-bootstrap-colorpicker/js/bootstrap-colorpicker-module.min.js)
# Misc
$(call BOWER,bower_components/hint.css/hint.min.css)
$(call BOWER,bower_components/crypto-js/crypto-js.js)
$(call BOWER,bower_components/marked/marked.min.js)
$(call BOWER,bower_components/FileSaver/FileSaver.min.js)
$(call BOWER,bower_components/doT/doT.min.js)
$(call BOWER,bower_components/URLON/src/urlon.js)
# Rules to run Stylus on our .css files
css: css/kb.css
@ -54,10 +103,7 @@ test:
install:
bower install
cd bower_components/angular-ui-bootstrap
npm install
grunt before-test after-test
cd ../angular-ui-utils
npm install
grunt build
cd ../..
cd bower_components/angular-ui-bootstrap & npm install
cd bower_components/angular-ui-bootstrap & grunt before-test after-test
cd bower_components/angular-ui-utils & npm install
cd bower_components/angular-ui-utils & grunt build

View file

@ -1,10 +1,11 @@
@echo off
aws s3 sync . s3://www.keyboard-layout-editor.com ^
--acl public-read ^
--exclude aws-private-key.txt ^
--exclude *.py ^
--exclude mongoose* ^
--exclude .git* ^
--exclude *.bat ^
--exclude upload-policy.txt ^
%*
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
set PARMS=
if "%1"=="" SET PARMS=--dryrun
for %%Q IN (css js fonts samples) DO (
aws s3 sync .\%%Q s3://www.keyboard-layout-editor.com/%%Q --acl public-read %PARMS%
)
for %%Q IN (kb.html kb.js render.js serial.js extensions.js *.md *.json favicon.ico) DO (
aws s3 cp .\%%Q s3://www.keyboard-layout-editor.com/%%Q --acl public-read %PARMS%
)
goto :EOF

34
kb.html
View file

@ -8,24 +8,24 @@ All rights reserved.
<head>
<title>Keyboard Layout Editor</title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="bower_components/bootstrap/dist/css/bootstrap.min.css" media="screen">
<link rel="stylesheet" type="text/css" href="bower_components/fontawesome/css/font-awesome.min.css">
<link rel="stylesheet" type="text/css" href="bower_components/hint.css/hint.min.css">
<link rel="stylesheet" type="text/css" href="bower_components/angular-bootstrap-colorpicker/css/colorpicker.min.css">
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css" media="screen">
<link rel="stylesheet" type="text/css" href="css/font-awesome.min.css">
<link rel="stylesheet" type="text/css" href="css/hint.min.css">
<link rel="stylesheet" type="text/css" href="css/colorpicker.min.css">
<link rel="stylesheet" type="text/css" href="css/kb.css">
<script type="text/javascript" src="bower_components/jquery/jquery.min.js"></script>
<script type="text/javascript" src="bower_components/angular/angular.min.js"></script>
<script type="text/javascript" src="bower_components/angular-sanitize/angular-sanitize.min.js"></script>
<script type="text/javascript" src="bower_components/angular-ui-utils/components/angular-ui-docs/build/ui-utils.min.js"></script>
<script type="text/javascript" src="bower_components/angular-ui-bootstrap/dist/ui-bootstrap-tpls-0.12.0.min.js"></script>
<script type="text/javascript" src="bower_components/crypto-js/crypto-js.js"></script>
<script type="text/javascript" src="bower_components/marked/marked.min.js"></script>
<script type="text/javascript" src="bower_components/FileSaver/FileSaver.min.js"></script>
<script type="text/javascript" src="bower_components/ng-file-upload/ng-file-upload.min.js"></script>
<script type="text/javascript" src="bower_components/angular-native-dragdrop/draganddrop.js"></script>
<script type="text/javascript" src="bower_components/angular-bootstrap-colorpicker/js/bootstrap-colorpicker-module.min.js"></script>
<script type="text/javascript" src="bower_components/doT/doT.min.js"></script>
<script type="text/javascript" src="bower_components/URLON/src/urlon.js"></script>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/angular.min.js"></script>
<script type="text/javascript" src="js/angular-sanitize.min.js"></script>
<script type="text/javascript" src="js/ui-utils.min.js"></script>
<script type="text/javascript" src="js/ui-bootstrap-tpls-0.12.0.min.js"></script>
<script type="text/javascript" src="js/crypto-js.js"></script>
<script type="text/javascript" src="js/marked.min.js"></script>
<script type="text/javascript" src="js/FileSaver.min.js"></script>
<script type="text/javascript" src="js/ng-file-upload.min.js"></script>
<script type="text/javascript" src="js/draganddrop.js"></script>
<script type="text/javascript" src="js/bootstrap-colorpicker-module.min.js"></script>
<script type="text/javascript" src="js/doT.min.js"></script>
<script type="text/javascript" src="js/urlon.js"></script>
<script type="text/javascript" src="js/color.js"></script>
<script type="text/javascript" src="js/jsonl.min.js"></script>
<script type="text/javascript" src="extensions.js"></script>