Detect & fix backwards markdown links (of the form (foo)[bar])

pull/6/head
Tim St. Clair 2016-02-26 13:24:21 -08:00
parent 8c60068b36
commit 198c120036
3 changed files with 15 additions and 5 deletions

View File

@ -24,15 +24,15 @@ Advantages of a harmonized image:
## bootstrap-vz
Currently images are built using
(bootstrap-vz)[https://github.com/andsens/bootstrap-vz], because this is
[bootstrap-vz](https://github.com/andsens/bootstrap-vz), because this is
default builder for the official Debian images, and because it supports
multiple clouds including AWS, Azure & GCE. It also supports KVM, which should
support OpenStack.
## Building an image
A go program/script to build images in (in
progress)[https://github.com/kubernetes/contrib/pull/486], in the contrib
A go program/script to build images in
[in progress](https://github.com/kubernetes/contrib/pull/486), in the contrib
project.

View File

@ -29,6 +29,8 @@ import (
var (
// Finds markdown links of the form [foo](bar "alt-text").
linkRE = regexp.MustCompile(`\[([^]]*)\]\(([^)]*)\)`)
// Finds markdown link typos of the form (foo)[bar]
badLinkRE = regexp.MustCompile(`\([^]()]*\)\[[^]()]*\]`)
// Splits the link target into link target and alt-text.
altTextRE = regexp.MustCompile(`([^)]*)( ".*")`)
)
@ -125,7 +127,15 @@ func updateLinks(filePath string, mlines mungeLines) (mungeLines, error) {
allErrs := []string{}
for lineNum, mline := range mlines {
if mline.preformatted || !mline.link {
if mline.preformatted {
out = append(out, mline)
continue
}
if badMatch := badLinkRE.FindString(mline.data); badMatch != "" {
allErrs = append(allErrs,
fmt.Sprintf("On line %d: found backwards markdown link %q", lineNum, badMatch))
}
if !mline.link {
out = append(out, mline)
continue
}

View File

@ -237,7 +237,7 @@ $ kubectl port-forward zeppelin-controller-ja09s 8080:8080
```
This forwards `localhost` 8080 to container port 8080. You can then find
Zeppelin at (https://localhost:8080/)[https://localhost:8080/].
Zeppelin at [https://localhost:8080/](https://localhost:8080/).
Create a "New Notebook". In there, type: