1# 2# Licensed under the Apache License, Version 2.0 (the "License"); 3# you may not use this file except in compliance with the License. 4# You may obtain a copy of the License at 5# 6# http://www.apache.org/licenses/LICENSE-2.0 7# 8# Unless required by applicable law or agreed to in writing, software 9# distributed under the License is distributed on an "AS IS" BASIS, 10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11# See the License for the specific language governing permissions and 12# limitations under the License. 13 14set -e 15 16readonly WEB_DIR='doc' 17readonly COPYRIGHT_LINE='Copyright 2015 Google Inc. All rights reserved.' 18 19if [ ! -r "$WEB_DIR/_config.yml" ]; then 20 echo "No $WEB_DIR/_config.yml file found." >&1 21 echo 'Are you running this script from the root of the Jsonnet repository?' >&1 22 exit 1 23fi 24 25function copy() { 26 local src_file="$1" 27 local dst_dir="$2" 28 29 mkdir -p "${WEB_DIR}/_includes/${dst_dir}" 30 31 local dst_file="${WEB_DIR}/_includes/${dst_dir}/$(basename "$src_file")" 32 local second_line=$(sed -n '2{p;q;}' "$src_file") 33 if [ "$second_line" == "$COPYRIGHT_LINE" ]; then 34 tail -n +17 "$src_file" > "$dst_file" 35 else 36 cp "$src_file" "$dst_file" 37 fi 38} 39 40function redirect() { 41 local src_file="$1" 42 local dst_file="$2" 43 44 mkdir -p "${WEB_DIR}/$(dirname ${src_file})" 45 46 echo '---' > "${WEB_DIR}/${src_file}" 47 echo 'layout: redirect' >> "${WEB_DIR}/${src_file}" 48 echo "redirect: /$dst_file" >> "${WEB_DIR}/${src_file}" 49 echo '---' >> "${WEB_DIR}/${src_file}" 50} 51 52 53copy examples/syntax.jsonnet examples 54copy examples/syntax.jsonnet.golden examples 55copy examples/variables.jsonnet examples 56copy examples/variables.jsonnet.golden examples 57copy examples/references.jsonnet examples 58copy examples/references.jsonnet.golden examples 59copy examples/inner-reference.jsonnet examples 60copy examples/inner-reference.jsonnet.golden examples 61copy examples/arith.jsonnet examples 62copy examples/arith.jsonnet.golden examples 63copy examples/functions.jsonnet examples 64copy examples/functions.jsonnet.golden examples 65copy examples/sours.jsonnet examples 66copy examples/sours.jsonnet.golden examples 67copy examples/conditionals.jsonnet examples 68copy examples/conditionals.jsonnet.golden examples 69copy examples/computed-fields.jsonnet examples 70copy examples/computed-fields.jsonnet.golden examples 71copy examples/comprehensions.jsonnet examples 72copy examples/comprehensions.jsonnet.golden examples 73copy examples/cocktail-comprehensions.jsonnet examples 74copy examples/cocktail-comprehensions.jsonnet.golden examples 75copy examples/garnish.txt examples 76copy examples/imports.jsonnet examples 77copy examples/imports.jsonnet.golden examples 78copy examples/martinis.libsonnet examples 79copy examples/utils.libsonnet examples 80copy examples/negroni.jsonnet examples 81copy examples/negroni.jsonnet.golden examples 82copy examples/error-examples.jsonnet examples 83copy examples/error-examples.jsonnet.golden examples 84copy examples/top-level-ext.jsonnet examples 85copy examples/top-level-ext.jsonnet.golden examples 86copy examples/library-ext.libsonnet examples 87copy examples/top-level-tla.jsonnet examples 88copy examples/top-level-tla.jsonnet.golden examples 89copy examples/library-tla.libsonnet examples 90copy examples/sours-oo.jsonnet examples 91copy examples/templates.libsonnet examples 92copy examples/sours-oo.jsonnet.golden examples 93copy examples/oo-contrived.jsonnet examples 94copy examples/oo-contrived.jsonnet.golden examples 95copy examples/mixins.jsonnet examples 96copy examples/mixins.jsonnet.golden examples 97 98redirect docs/index.html ref/language.html 99redirect docs/tutorial.html learning/tutorial.html 100redirect docs/stdlib.html ref/stdlib.html 101redirect case_studies/casestudy_fractal.1.html articles/fractal.1.html 102redirect language/spec.html ref/spec.html 103redirect contributing.html learning/community.html 104 105./jsonnet -S "$WEB_DIR/_stdlib_gen/stdlib.jsonnet" > "$WEB_DIR/ref/stdlib.html" 106