136 lines
4.6 KiB
Bash
Executable File
136 lines
4.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Uncomment this to see the commands as they are run
|
|
# set -x
|
|
|
|
VERSION=1.5
|
|
|
|
# Processes api reference docs.
|
|
function process_api_ref_docs {
|
|
# Replace html preview links by relative links to let k8s.io render them.
|
|
local html_preview_prefix="https:\/\/htmlpreview.github.io\/?https:\/\/github.com\/kubernetes\/kubernetes\/blob\/"
|
|
find . -name '*.*' -type f -exec sed -i -e "s/${html_preview_prefix}HEAD//g" {} \;
|
|
find . -name '*.*' -type f -exec sed -i -e "s/${html_preview_prefix}release-$VERSION//g" {} \;
|
|
|
|
# Format html
|
|
find . -name '*.html' -type f -exec sed -i -e '/<style>/,/<\/style>/d' {} \;
|
|
find . -name '*.html' -type f -exec sed -i -e "s/http:\/\/kubernetes.io\/v$VERSION//g" {} \;
|
|
find . -name '*.html' -type f -exec sed -i -e '1 i\
|
|
---' {} \;
|
|
find . -name '*.html' -type f -exec sed -i -e '1 i\
|
|
---' {} \;
|
|
|
|
# Strip the munge comments
|
|
find . -name '*.md' -type f -exec sed -i -e '/<!-- BEGIN MUNGE: IS_VERSIONED -->/,/<!-- END MUNGE: IS_VERSIONED -->/d' {} \;
|
|
find . -name '*.md' -type f -exec sed -i -e '/<!-- BEGIN MUNGE: UNVERSIONED_WARNING -->/,/<!-- END MUNGE: UNVERSIONED_WARNING -->/d' {} \;
|
|
|
|
# Add the expected headers to md files
|
|
find . -name '*.md' -type f -exec sed -i -e '1 i\
|
|
---' {} \;
|
|
find . -name '*.md' -type f -exec sed -i -e '1 i\
|
|
---' {} \;
|
|
}
|
|
|
|
|
|
git clone --depth=1 -b release-$VERSION https://github.com/kubernetes/kubernetes.git k8s
|
|
cd k8s
|
|
git remote add upstream https://github.com/kubernetes/kubernetes.git
|
|
git fetch upstream
|
|
hack/generate-docs.sh
|
|
cd ..
|
|
|
|
rm -rf _includes/v$VERSION
|
|
mkdir _includes/v$VERSION
|
|
|
|
# batch fetches
|
|
while read line || [[ -n ${line} ]]; do
|
|
IFS=': ' read -a myarray <<< "${line}"
|
|
if [ "${myarray[1]}" = "path" ]; then
|
|
TARGET="${myarray[2]}"
|
|
CLEARPATH="${TARGET}"
|
|
K8SSOURCE='k8s/'${TARGET}
|
|
DESTINATION=${TARGET%/*}
|
|
rm -rf "${CLEARPATH}"
|
|
yes | cp -rf "${K8SSOURCE}" "${DESTINATION}"
|
|
fi
|
|
if [ "${myarray[1]}" = "changedpath" ]; then
|
|
SRC="${myarray[2]}"
|
|
DESTINATION="${myarray[3]}"
|
|
echo "mv -f ${SRC} ${DESTINATION}"
|
|
yes | cp -rf "${SRC}" "${DESTINATION}"
|
|
fi
|
|
if [ "${myarray[1]}" = "copypath" ]; then
|
|
K8SSOURCE="${myarray[2]}"
|
|
DESTINATION="${myarray[3]}"
|
|
echo "yes | cp -rf ${K8SSOURCE} ${DESTINATION}"
|
|
yes | cp -rf "${K8SSOURCE}" "${DESTINATION}"
|
|
fi
|
|
done <_data/overrides.yml
|
|
|
|
# refdoc munging
|
|
pushd .
|
|
cd _includes/v$VERSION
|
|
# These are included in other files, so strip the DOCTYPE
|
|
find . -name '*.html' -type f -exec sed -i -e "s/<!DOCTYPE html>//g" {} \;
|
|
|
|
# Format html
|
|
find . -name '*.html' -type f -exec sed -i -e '/<style>/,/<\/style>/d' {} \;
|
|
find . -name '*.html' -type f -exec sed -i -e "s/http:\/\/kubernetes.io\/v$VERSION//g" {} \;
|
|
popd
|
|
|
|
pushd .
|
|
cd docs/api-reference
|
|
process_api_ref_docs
|
|
|
|
# Fix for bug in 1.3 release
|
|
find . -name '*.md' -type f -exec sed -i -e "s/vv1.3.0-beta.0/v1.3/g" {} \;
|
|
popd
|
|
|
|
pushd .
|
|
cd docs/federation/api-reference
|
|
process_api_ref_docs
|
|
|
|
# Update the links from federation/docs/api-reference to
|
|
# docs/federation/api-reference
|
|
find . -name '*.*' -type f -exec sed -i -e "s/federation\/docs\/api-reference/docs\/federation\/api-reference/g" {} \;
|
|
popd
|
|
|
|
pushd .
|
|
cd docs/user-guide/kubectl
|
|
# Strip the munge comments
|
|
find . -name '*.md' -type f -exec sed -i -e '/<!-- BEGIN MUNGE: IS_VERSIONED -->/,/<!-- END MUNGE: IS_VERSIONED -->/d' {} \;
|
|
find . -name '*.md' -type f -exec sed -i -e '/<!-- BEGIN MUNGE: UNVERSIONED_WARNING -->/,/<!-- END MUNGE: UNVERSIONED_WARNING -->/d' {} \;
|
|
|
|
# Rename kubectl.md to index.md
|
|
mv kubectl.md index.md
|
|
# Strip the "See Also" links.
|
|
# These links in raw .md files are relative to current file location, but the website see them as relative to current url instead, and will return 404.
|
|
find . -name 'kubectl*.md' -type f -exec sed -i -e '/### SEE ALSO/d' {} \;
|
|
find . -name 'kubectl*.md' -type f -exec sed -i -e '/\* \[kubectl/d' {} \;
|
|
|
|
# Add the expected headers to md files
|
|
find . -name '*.md' -type f -exec sed -i -e '1 i\
|
|
---' {} \;
|
|
find . -name '*.md' -type f -exec sed -i -e '1 i\
|
|
---' {} \;
|
|
popd
|
|
|
|
|
|
BINARIES="federation-apiserver.md federation-controller-manager.md kube-apiserver.md kube-controller-manager.md kube-proxy.md kube-scheduler.md kubelet.md"
|
|
|
|
pushd .
|
|
cd docs/admin
|
|
for bin in $BINARIES; do
|
|
sed -i -e '/<!-- BEGIN MUNGE: IS_VERSIONED -->/,/<!-- END MUNGE: IS_VERSIONED -->/d' $bin
|
|
sed -i -e '/<!-- BEGIN MUNGE: UNVERSIONED_WARNING -->/,/<!-- END MUNGE: UNVERSIONED_WARNING -->/d' $bin
|
|
sed -i -e '1 i\
|
|
---' $bin
|
|
sed -i -e '1 i\
|
|
---' $bin
|
|
done
|
|
popd
|
|
|
|
rm -rf k8s
|
|
|
|
echo "Docs imported! Run 'git add .' 'git commit -m <comment>' and 'git push' to upload them"
|