forked from kubernetes-retired/kubernetes-docs-zh
-
Notifications
You must be signed in to change notification settings - Fork 0
/
update-imported-docs.sh
executable file
·157 lines (129 loc) · 5.31 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
#!/bin/bash
set -o errexit
# Uncomment this to see the commands as they are run
# set -x
VERSION=1.9
OLDVERSION=1.8
# 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 -p -- "${TMPAPIREFDIR}" "${TMPKUBECTLDIR}"
APIREFSRCDIR="${APIREFPATH}/v${OLDVERSION}"
APIREFDESDIR="${TMPAPIREFDIR}/v${OLDVERSION}"
mv -- "${APIREFSRCDIR}" "${APIREFDESDIR}"
KUBECTLSRCDIR="${KUBECTLPATH}/v${OLDVERSION}"
KUBECTLDESDIR="${TMPKUBECTLDIR}/v${OLDVERSION}"
mv -- "${KUBECTLSRCDIR}" "${KUBECTLDESDIR}"
K8SREPO=k8s
(
git clone --depth=1 -b release-$VERSION https://github.com/kubernetes/kubernetes.git "${K8SREPO}"
cd "${K8SREPO}"
hack/generate-docs.sh
)
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="${K8SREPO}/${TARGET}"
DESTINATION=${TARGET%/*}
rm -rf -- "${CLEARPATH}"
yes | cp -rf -- "${K8SSOURCE}" "${DESTINATION}"
fi
if [ "${myarray[1]}" = "changedpath" ]; then
SRC="${myarray[2]}"
DESTINATION="${myarray[3]}"
echo "cp -rf -- ${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
(
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" {} \;
)
(
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" {} \;
)
(
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" {} \;
)
(
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\
---' {} \;
)
BINARIES="cloud-controller-manager.md federation-apiserver.md federation-controller-manager.md kube-apiserver.md kube-controller-manager.md kube-proxy.md kube-scheduler.md kubelet.md kubefed.md kubefed_init.md kubefed_join.md kubefed_options.md kubefed_unjoin.md kubefed_version.md"
(
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
)
mv -- "${APIREFDESDIR}" "${APIREFSRCDIR}"
mv -- "${KUBECTLDESDIR}" "${KUBECTLSRCDIR}"
rm -rf -- "${TMPDIR}" "${K8SREPO}"
echo "Docs imported! Run 'git add .' 'git commit -m <comment>' and 'git push' to upload them"