sigs.k8s.io/gateway-api@v1.0.0/hack/make-docs.sh (about)

     1  #!/bin/bash
     2  
     3  # Copyright 2021 The Kubernetes Authors.
     4  #
     5  # Licensed under the Apache License, Version 2.0 (the "License");
     6  # you may not use this file except in compliance with the License.
     7  # You may obtain a copy of the License at
     8  #
     9  #     http://www.apache.org/licenses/LICENSE-2.0
    10  #
    11  # Unless required by applicable law or agreed to in writing, software
    12  # distributed under the License is distributed on an "AS IS" BASIS,
    13  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14  # See the License for the specific language governing permissions and
    15  # limitations under the License.
    16  
    17  set -o errexit
    18  set -o nounset
    19  set -o pipefail
    20  
    21  readonly SCRIPT_ROOT="$(cd "$(dirname "${BASH_SOURCE}")"/.. && pwd)"
    22  cd $SCRIPT_ROOT
    23  
    24  # Wrap sed to deal with GNU and BSD sed flags.
    25  run::sed() {
    26      local -r vers="$(sed --version < /dev/null 2>&1 | grep -q GNU && echo gnu || echo bsd)"
    27      case "$vers" in
    28          gnu) sed -i "$@" ;;
    29          *) sed -i '' "$@" ;;
    30  esac
    31  }
    32  
    33  # Ensure site dir exists
    34  mkdir -p site
    35  # Generate docs with mkdocs
    36  mkdocs build
    37  # Generate v1alpha2 API docs
    38  ./hack/api-docs/generate.sh site/spec.html
    39  # Add them to spec page originally generated by mkdocs
    40  run::sed -e '/REPLACE_WITH_GENERATED_CONTENT/{r site/spec.html' -e 'd;}' site/reference/spec/index.html
    41  run::sed -e '/REPLACE_WITH_GENERATED_CONTENT/{r site/spec.html' -e 'd;}' site/v1alpha2/reference/spec/index.html