93 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			93 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env bash
 | |
| 
 | |
| set -e -o pipefail
 | |
| 
 | |
| cd `dirname $0`/..
 | |
| 
 | |
| BASE="public/docs/ts"
 | |
| LATEST="$BASE/latest"
 | |
| CACHE="$BASE/_cache"
 | |
| 
 | |
| FILES="
 | |
| guide/architecture.jade
 | |
| guide/attribute-directives.jade
 | |
| guide/component-styles.jade
 | |
| guide/dependency-injection.jade
 | |
| guide/displaying-data.jade
 | |
| guide/hierarchical-dependency-injection.jade
 | |
| guide/index.jade
 | |
| guide/lifecycle-hooks.jade
 | |
| guide/pipes.jade
 | |
| guide/security.jade
 | |
| guide/server-communication.jade
 | |
| guide/structural-directives.jade
 | |
| guide/template-syntax.jade
 | |
| glossary.jade
 | |
| quickstart.jade
 | |
| _quickstart_repo.jade
 | |
| tutorial/index.jade
 | |
| tutorial/toh-pt5.jade
 | |
| tutorial/toh-pt6.jade"
 | |
| 
 | |
| function cacheRefresh() {
 | |
|     local FILE_PATTERN="*"
 | |
|     if [[ -n "$1" ]]; then
 | |
|         FILE_PATTERN="$1"
 | |
|     else
 | |
|         echo "Argument missing: specify shell file glob pattern of files to be refreshed."
 | |
|         exit 1;
 | |
|     fi
 | |
| 
 | |
|     local allFound=true;
 | |
|     
 | |
|     for f in $FILES; do
 | |
|         local srcPath="$LATEST/$f";
 | |
|         local destPath="$CACHE/$f";
 | |
|         local destDir=`dirname $destPath`;
 | |
|         if [[ -e $srcPath ]]; then
 | |
|             [[ -d "$destDir" ]] || (set -x; mkdir $destDir);
 | |
|             case "$f" in
 | |
|                 (*$FILE_PATTERN*)
 | |
|                     (set -x; cp $srcPath $destPath);;
 | |
|                 (*)
 | |
|                     echo "SKIPPED $f";;
 | |
|             esac
 | |
|         else
 | |
|             echo Cannot find $srcPath
 | |
|             allFound=false;
 | |
|         fi
 | |
|     done
 | |
| 
 | |
|     [[ $allFound ]] || exit 1;
 | |
| }
 | |
| 
 | |
| function cacheDiffSummary() {
 | |
|     diff -qr -x "_util*.jade" "$CACHE/" "$LATEST/" | \
 | |
|         grep -v "^Only in"
 | |
| }
 | |
| 
 | |
| function cacheDiff() {
 | |
|     local FILES="*$1*"
 | |
|     cd $CACHE;
 | |
|     # List files
 | |
|     find . -name "$FILES" ! -name "*~" -exec diff -q {} ../latest/{} \;
 | |
|     # Show differences
 | |
|     find . -name "$FILES" ! -name "*~" -exec diff    {} ../latest/{} \;
 | |
| }
 | |
| 
 | |
| function usage() {
 | |
|     echo "Usage: cache.sh [options]"
 | |
|     echo "  (-ds|--diff-summary)  list names of cache files that differ from ts/latest"
 | |
|     echo "  (-d|--diff) pat       diff cache and latest subdirectories"
 | |
|     echo "  (-l|--list)           list files subject to caching"
 | |
|     echo "  (-r|--refresh) pat    refresh files in cache matching pattern"
 | |
| }
 | |
| 
 | |
| case "$1" in
 | |
|     (-ds|--diff-summary)  shift; cacheDiffSummary $@;;
 | |
|     (-d|--diff)           shift; cacheDiff $@;;
 | |
|     (-l|--list)           shift; printf "$FILES\n\n";;
 | |
|     (-r|--refresh)        shift; cacheRefresh $@;;
 | |
|     (*)   usage;
 | |
| esac
 |