forked from kubernetes/website
-
Notifications
You must be signed in to change notification settings - Fork 0
/
update-imported-docs.sh
executable file
·158 lines (131 loc) · 5.18 KB
/
update-imported-docs.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
#!/bin/bash
# Uncomment this to see the commands as they are run
# set -x
VERSION=1.6
OLDVERSION=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\
---' {} \;
}
# save old version new style reference docs
APIREFPATH=docs/api-reference
KUBECTLPATH=docs/user-guide/kubectl
TMPDIR=/tmp/update_docs
TMPAPIREFDIR=${TMPDIR}'/api_ref'
TMPKUBECTLDIR=${TMPDIR}'/kubectl'
rm -rf ${TMPDIR}
mkdir ${TMPDIR}
mkdir ${TMPAPIREFDIR}
mkdir ${TMPKUBECTLDIR}
APIREFSRCDIR=${APIREFPATH}'/v'${OLDVERSION}
APIREFDESDIR=${TMPAPIREFDIR}'/v'${OLDVERSION}
mv ${APIREFSRCDIR} ${APIREFDESDIR}
KUBECTLSRCDIR=${KUBECTLPATH}'/v'${OLDVERSION}
KUBECTLDESDIR=${TMPKUBECTLDIR}'/v'${OLDVERSION}
mv ${KUBECTLSRCDIR} ${KUBECTLDESDIR}
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
# Rename README.md to index.md
mv README.md index.md
# 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' {} \;
# 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
mv ${APIREFDESDIR} ${APIREFSRCDIR}
mv ${KUBECTLDESDIR} ${KUBECTLSRCDIR}
rm -rf ${TMPDIR}
echo "Docs imported! Run 'git add .' 'git commit -m <comment>' and 'git push' to upload them"