github.com/pachyderm/pachyderm@v1.13.4/doc/build.sh (about) 1 #!/bin/bash 2 3 set -ex 4 5 # Start out in same directory as script, so that relative paths below are all 6 # correct 7 cd "$(dirname "${0}")" 8 9 # Delete old site/ dir 10 if [[ -d site ]]; then 11 rm -rf site overrides/partials/versions.html 12 fi 13 14 # Add each version of the docs to the dropdown defined by 15 # material/overrides/partials/versions.html. This must be built before running 'mkdocs' 16 # itself 17 latest_version="$(ls ./docs | grep -Ev 'latest|master|archived' | sort -r -V | head -n 1)" 18 cat <<EOF >>overrides/partials/versions.html 19 <div class="mdl-selectfield"> 20 <select class="mdl-selectfield__select" id="version-selector" onchange=" 21 let pathParts = window.location.pathname.split('/'); 22 pathParts[1] = this.value; 23 window.location.pathname = pathParts.join('/') 24 "> 25 <option style="color:white;background-color:#4b2a5c;" value="latest">latest (${latest_version})</option> 26 EOF 27 for d in docs/*; do 28 d=$(basename "${d}") 29 30 # don't rebuild archived dir 31 if [[ "${d}" == "archived" ]]; then 32 continue 33 fi 34 if [[ "${d}" == "master" ]]; then 35 continue 36 fi 37 cat <<EOF >>overrides/partials/versions.html 38 <option style="color:white;background-color:#4b2a5c;" value="${d}">${d}</option>" 39 EOF 40 done 41 cat <<EOF >>overrides/partials/versions.html 42 <option style="color:white;background-color:#4b2a5c;" value="archive">Archive</option>" 43 EOF 44 cat <<EOF >>overrides/partials/versions.html 45 </select> 46 <!-- set initial value of 'select' to the version of the docs being browsed --> 47 <script type="text/javascript"> 48 var pathParts = window.location.pathname.split('/'); 49 document.getElementById('version-selector').value = pathParts[1] 50 </script> 51 </div> 52 EOF 53 54 # Rebuild all docs versions 55 for d in docs/*; do 56 d=$(basename "${d}") 57 58 # don't rebuild archived dir 59 if [[ "${d}" == "archived" ]]; then 60 continue 61 fi 62 if [[ "${d}" == "master" ]]; then 63 continue 64 fi 65 out_dir="site/${d}" 66 67 # Check for mkdocs file 68 mkdocs_file="mkdocs-${d}.yml" 69 if [[ ! -f "${mkdocs_file}" ]]; then 70 echo "expected mkdocs config file \"${mkdocs_file}\" for docs version \"${d}\", but the config file wasn't found" 71 exit 1 72 fi 73 74 # rebuild site 75 mkdocs build --config-file "${mkdocs_file}" --site-dir "${out_dir}" 76 done 77 78 # Finally, copy latest version of the docs into 'latest' 79 if [[ -z "${latest_version}" ]]; then 80 echo "No latest version to symlink" 81 exit 1 82 fi 83 cp -Rl "site/${latest_version}" site/latest 84 85 # Add custom 404 86 ln "site/${latest_version}/404.html" site/404.html 87 cp -Rl "site/${latest_version}/assets" site/assets 88