add processing of kubectl cmd links (#16529)
- add processing of kubectl links in update-imported-docs. - update component reference generation guide. - For more information, see issue #16454.
This commit is contained in:
committed by
Kubernetes Prow Robot
parent
5807a91689
commit
444ef3486e
@@ -8,7 +8,7 @@ repos:
|
||||
cd $GOPATH
|
||||
git clone https://github.com/kubernetes/kubernetes.git src/k8s.io/kubernetes
|
||||
cd src/k8s.io/kubernetes
|
||||
git checkout release-1.14
|
||||
git checkout release-1.16
|
||||
make generated_files
|
||||
cp -L -R vendor $GOPATH/src
|
||||
rm -r vendor
|
||||
@@ -36,25 +36,25 @@ repos:
|
||||
- src: gen-compdocs/build/kubeadm*.md
|
||||
dst: content/en/docs/reference/setup-tools/kubeadm/generated/
|
||||
|
||||
- name: federation
|
||||
remote: https://github.com/kubernetes/federation.git
|
||||
#- name: federation
|
||||
# remote: https://github.com/kubernetes/federation.git
|
||||
# Change this to a release branch when federation has release branches.
|
||||
branch: master
|
||||
generate-command: hack/generate-docs.sh
|
||||
files:
|
||||
- src: docs/admin/federation-apiserver.md
|
||||
dst: content/en/docs/reference/command-line-tools-reference/federation-apiserver.md
|
||||
- src: docs/admin/federation-controller-manager.md
|
||||
dst: content/en/docs/reference/command-line-tools-reference/federation-controller-manager.md
|
||||
- src: docs/admin/kubefed_init.md
|
||||
dst: content/en/docs/reference/setup-tools/kubefed/kubefed_init.md
|
||||
- src: docs/admin/kubefed_join.md
|
||||
dst: content/en/docs/reference/setup-tools/kubefed/kubefed_join.md
|
||||
- src: docs/admin/kubefed.md
|
||||
dst: content/en/docs/reference/setup-tools/kubefed/kubefed.md
|
||||
- src: docs/admin/kubefed_options.md
|
||||
dst: content/en/docs/reference/setup-tools/kubefed/kubefed_options.md
|
||||
- src: docs/admin/kubefed_unjoin.md
|
||||
dst: content/en/docs/reference/setup-tools/kubefed/kubefed_unjoin.md
|
||||
- src: docs/admin/kubefed_version.md
|
||||
dst: content/en/docs/reference/setup-tools/kubefed/kubefed_version.md
|
||||
# branch: master
|
||||
# generate-command: hack/generate-docs.sh
|
||||
# files:
|
||||
# - src: docs/admin/federation-apiserver.md
|
||||
# dst: content/en/docs/reference/command-line-tools-reference/federation-apiserver.md
|
||||
# - src: docs/admin/federation-controller-manager.md
|
||||
# dst: content/en/docs/reference/command-line-tools-reference/federation-controller-manager.md
|
||||
# - src: docs/admin/kubefed_init.md
|
||||
# dst: content/en/docs/reference/setup-tools/kubefed/kubefed_init.md
|
||||
# - src: docs/admin/kubefed_join.md
|
||||
# dst: content/en/docs/reference/setup-tools/kubefed/kubefed_join.md
|
||||
# - src: docs/admin/kubefed.md
|
||||
# dst: content/en/docs/reference/setup-tools/kubefed/kubefed.md
|
||||
# - src: docs/admin/kubefed_options.md
|
||||
# dst: content/en/docs/reference/setup-tools/kubefed/kubefed_options.md
|
||||
# - src: docs/admin/kubefed_unjoin.md
|
||||
# dst: content/en/docs/reference/setup-tools/kubefed/kubefed_unjoin.md
|
||||
# - src: docs/admin/kubefed_version.md
|
||||
# dst: content/en/docs/reference/setup-tools/kubefed/kubefed_version.md
|
||||
|
||||
@@ -25,9 +25,11 @@ def processLinks(content, remotePrefix, subPath):
|
||||
target.startswith("mailto:") or
|
||||
target.startswith("#")):
|
||||
if target.startswith("/"):
|
||||
target = "/".join(remotePrefix, target[1:])
|
||||
targetList = remotePrefix, target[1:]
|
||||
target = "/".join(targetList)
|
||||
else:
|
||||
target = "/".join(remotePrefix, subPath, target)
|
||||
targetList = remotePrefix, subPath, target
|
||||
target = "/".join(targetList)
|
||||
|
||||
return "[%s](%s)" % (ankor, target)
|
||||
|
||||
@@ -41,6 +43,25 @@ def processLinks(content, remotePrefix, subPath):
|
||||
return content
|
||||
|
||||
|
||||
def processKubectlLinks(content):
|
||||
"""Update markdown links found in the SeeAlso section of kubectl page.
|
||||
Example:[kubectl annotate](/docs/reference/generated/kubectl/kubectl-commands#annotate)
|
||||
"""
|
||||
def analyze(matchObj):
|
||||
ankor = matchObj.group('ankor')
|
||||
target = matchObj.group('target')
|
||||
if (target.endswith(".md") and target.startswith("kubectl")):
|
||||
ankorList = ankor.split("kubectl ")
|
||||
target = "/docs/reference/generated/kubectl/kubectl-commands" + "#" + ankorList[1]
|
||||
return "[%s](%s)" % (ankor, target)
|
||||
|
||||
# Links are in the form '[text](url)'
|
||||
linkRegex = re.compile(r"\[(?P<ankor>.*)\]\((?P<target>.*?)\)")
|
||||
content = re.sub(linkRegex, analyze, content)
|
||||
|
||||
return content
|
||||
|
||||
|
||||
def processFile(src, dst, repoPath, repoDir, rootDir, genAbsoluteLinks):
|
||||
"""Process a file element.
|
||||
|
||||
@@ -78,6 +99,9 @@ def processFile(src, dst, repoPath, repoDir, rootDir, genAbsoluteLinks):
|
||||
srcDir = os.path.dirname(src)
|
||||
remotePrefix = repoPath + "/tree/master"
|
||||
content = processLinks(content, remotePrefix, srcDir)
|
||||
if dst.endswith("kubectl.md"):
|
||||
print("Processing kubectl links")
|
||||
content = processKubectlLinks(content)
|
||||
dstFile.write(content)
|
||||
except Exception as ex:
|
||||
print("[Error] failed in writing target file '%s': %s"
|
||||
|
||||
Reference in New Issue
Block a user