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