diff options
| author | Dave Henderson <dhenderson@gmail.com> | 2017-06-13 23:07:10 -0400 |
|---|---|---|
| committer | Dave Henderson <dhenderson@gmail.com> | 2017-06-13 23:26:37 -0400 |
| commit | ded0bcc8efc1bd95700774dfa2840dd83bc876fd (patch) | |
| tree | 93157cbd0b4ad6939d76ce30c873c8fd3bb8a9be /docs/content | |
| parent | fc522f1213eb96e23ea9d113591892a26f9f2ec3 (diff) | |
Creating a strings namespace
Signed-off-by: Dave Henderson <dhenderson@gmail.com>
Diffstat (limited to 'docs/content')
| -rw-r--r-- | docs/content/functions/general.md | 149 | ||||
| -rw-r--r-- | docs/content/functions/strings.md | 358 |
2 files changed, 358 insertions, 149 deletions
diff --git a/docs/content/functions/general.md b/docs/content/functions/general.md index 28f48009..c448948b 100644 --- a/docs/content/functions/general.md +++ b/docs/content/functions/general.md @@ -5,25 +5,6 @@ menu: parent: functions --- -## `contains` - -Contains reports whether the second string is contained within the first. Equivalent to -[strings.Contains](https://golang.org/pkg/strings#Contains) - -### Example - -_`input.tmpl`:_ -``` -{{if contains .Env.FOO "f"}}yes{{else}}no{{end}} -``` - -```console -$ FOO=foo gomplate < input.tmpl -yes -$ FOO=bar gomplate < input.tmpl -no -``` - ## `getenv` Exposes the [os.Getenv](https://golang.org/pkg/os/#Getenv) function. @@ -42,42 +23,6 @@ $ gomplate -i 'Hey, {{getenv "FIRSTNAME" "you"}}!' Hey, you! ``` -## `hasPrefix` - -Tests whether the string begins with a certain substring. Equivalent to -[strings.HasPrefix](https://golang.org/pkg/strings#HasPrefix) - -#### Example - -_`input.tmpl`:_ -``` -{{if hasPrefix .Env.URL "https"}}foo{{else}}bar{{end}} -``` - -```console -$ URL=http://example.com gomplate < input.tmpl -bar -$ URL=https://example.com gomplate < input.tmpl -foo -``` - -## `hasSuffix` - -Tests whether the string ends with a certain substring. Equivalent to -[strings.HasSuffix](https://golang.org/pkg/strings#HasSuffix) - -#### Example - -_`input.tmpl`:_ -``` -{{.Env.URL}}{{if not (hasSuffix .Env.URL ":80")}}:80{{end}} -``` - -```console -$ URL=http://example.com gomplate < input.tmpl -http://example.com:80 -``` - ## `bool` Converts a true-ish string to a boolean. Can be used to simplify conditional statements based on environment variables or other text input. @@ -116,100 +61,6 @@ Hello, Lisa Hello, Maggie ``` -## `split` - -Creates a slice by splitting a string on a given delimiter. Equivalent to -[strings.Split](https://golang.org/pkg/strings#Split) - -#### Example - -```console -$ gomplate -i '{{range split "Bart,Lisa,Maggie" ","}}Hello, {{.}}{{end}}' -Hello, Bart -Hello, Lisa -Hello, Maggie -``` - -## `splitN` - -Creates a slice by splitting a string on a given delimiter. The count determines -the number of substrings to return. Equivalent to [strings.SplitN](https://golang.org/pkg/strings#SplitN) - -#### Example - -```console -$ gomplate -i '{{ range splitN "foo:bar:baz" ":" 2 }}{{.}}{{end}}' -foo -bar:baz -``` -## `replaceAll` - -Replaces all occurrences of a given string with another. - -#### Example - -```console -$ gomplate -i '{{ replaceAll "." "-" "172.21.1.42" }}' -172-21-1-42 -``` - -#### Example (with pipeline) - -```console -$ gomplate -i '{{ "172.21.1.42" | replaceAll "." "-" }}' -172-21-1-42 -``` - -## `title` - -Convert to title-case. Equivalent to [strings.Title](https://golang.org/pkg/strings/#Title) - -#### Example - -```console -$ echo '{{title "hello, world!"}}' | gomplate -Hello, World! -``` - -## `toLower` - -Convert to lower-case. Equivalent to [strings.ToLower](https://golang.org/pkg/strings/#ToLower) - -#### Example - -```console -$ echo '{{toLower "HELLO, WORLD!"}}' | gomplate -hello, world! -``` - -## `toUpper` - -Convert to upper-case. Equivalent to [strings.ToUpper](https://golang.org/pkg/strings/#ToUpper) - -#### Example - -```console -$ echo '{{toUpper "hello, world!"}}' | gomplate -HELLO, WORLD! -``` - -## `trim` - -Trims a string by removing the given characters from the beginning and end of -the string. Equivalent to [strings.Trim](https://golang.org/pkg/strings/#Trim) - -#### Example - -_`input.tmpl`:_ -``` -Hello, {{trim .Env.FOO " "}}! -``` - -```console -$ FOO=" world " | gomplate < input.tmpl -Hello, world! -``` - ## `urlParse` Parses a string as a URL for later use. Equivalent to [url.Parse](https://golang.org/pkg/net/url/#Parse) diff --git a/docs/content/functions/strings.md b/docs/content/functions/strings.md new file mode 100644 index 00000000..610638dc --- /dev/null +++ b/docs/content/functions/strings.md @@ -0,0 +1,358 @@ +--- +title: strings functions +menu: + main: + parent: functions +--- + +## `strings.Contains` + +Reports whether a substring is contained within a string. + +### Usage +```go +strings.Contains substr input +``` +```go +input | strings.Contains substr +``` + +### Example + +_`input.tmpl`:_ +``` +{{ if (.Env.FOO | strings.Contains "f") }}yes{{else}}no{{end}} +``` + +```console +$ FOO=foo gomplate < input.tmpl +yes +$ FOO=bar gomplate < input.tmpl +no +``` + +## `strings.HasPrefix` + +Tests whether a string begins with a certain prefix. + +### Usage +```go +strings.HasPrefix prefix input +``` +```go +input | strings.HasPrefix prefix +``` + +#### Example + +```console +$ URL=http://example.com gomplate -i '{{if .Env.URL | strings.HasPrefix "https"}}foo{{else}}bar{{end}}' +bar +$ URL=https://example.com gomplate -i '{{if .Env.URL | strings.HasPrefix "https"}}foo{{else}}bar{{end}}' +foo +``` + +## `strings.HasSuffix` + +Tests whether a string ends with a certain suffix. + +### Usage +```go +strings.HasSuffix suffix input +``` +```go +input | strings.HasSuffix suffix +``` + +### Examples + +_`input.tmpl`:_ +``` +{{.Env.URL}}{{if not (.Env.URL | strings.HasSuffix ":80")}}:80{{end}} +``` + +```console +$ URL=http://example.com gomplate < input.tmpl +http://example.com:80 +``` + +## `strings.Split` + +Creates a slice by splitting a string on a given delimiter. + +### Usage +```go +strings.Split separator input +``` +```go +input | strings.Split separator +``` + +### Examples + +```console +$ gomplate -i '{{range ("Bart,Lisa,Maggie" | strings.Split ",") }}Hello, {{.}}{{end}}' +Hello, Bart +Hello, Lisa +Hello, Maggie +``` + +## `strings.SplitN` + +Creates a slice by splitting a string on a given delimiter. The count determines +the number of substrings to return. + +### Usage +```go +strings.SplitN separator count input +``` +```go +input | strings.SplitN separator count +``` + +#### Example + +```console +$ gomplate -i '{{ range ("foo:bar:baz" | strings.SplitN ":" 2) }}{{.}}{{end}}' +foo +bar:baz +``` + +## `strings.ReplaceAll` + +**Alias:** `replaceAll` + +Replaces all occurrences of a given string with another. + +### Usage +```go +strings.ReplaceAll old new input +``` +```go +input | strings.ReplaceAll old new +``` + +### Examples + +```console +$ gomplate -i '{{ strings.ReplaceAll "." "-" "172.21.1.42" }}' +172-21-1-42 +$ gomplate -i '{{ "172.21.1.42" | strings.ReplaceAll "." "-" }}' +172-21-1-42 +``` + +## `strings.Title` + +**Alias:** `title` + +Convert to title-case. + +### Usage +```go +strings.Title input +``` +```go +input | strings.Title +``` + +### Example + +```console +$ gomplate -i '{{strings.Title "hello, world!"}}' +Hello, World! +``` + +## `strings.ToLower` + +**Alias:** `toLower` + +Convert to lower-case. + +### Usage +```go +strings.ToLower input +``` +```go +input | strings.ToLower +``` + +#### Example + +```console +$ echo '{{strings.ToLower "HELLO, WORLD!"}}' | gomplate +hello, world! +``` + +## `strings.ToUpper` + +**Alias:** `toUpper` + +Convert to upper-case. + +### Usage +```go +strings.ToUpper input +``` +```go +input | strings.ToUpper +``` + +#### Example + +```console +$ gomplate -i '{{strings.ToUpper "hello, world!"}}' +HELLO, WORLD! +``` + +## `strings.Trim` + +Trims a string by removing the given characters from the beginning and end of +the string. + +### Usage +```go +strings.Trim cutset input +``` +```go +input | strings.Trim cutset +``` + +#### Example + +```console +$ gomplate -i '{{ "_-foo-_" | strings.Trim "_-" }} +foo +``` + +## `strings.TrimSpace` + +**Alias:** `trimSpace` + +Trims a string by removing whitespace from the beginning and end of +the string. + +### Usage +```go +strings.TrimSpace input +``` +```go +input | strings.TrimSpace +``` + +#### Example + +```console +$ gomplate -i '{{ " \n\t foo" | strings.TrimSpace }}' +foo +``` + +## `contains` + +**See [`strings.Contains](#strings-contains) for a pipeline-compatible version** + +Contains reports whether the second string is contained within the first. Equivalent to +[strings.Contains](https://golang.org/pkg/strings#Contains) + +### Example + +_`input.tmpl`:_ +``` +{{if contains .Env.FOO "f"}}yes{{else}}no{{end}} +``` + +```console +$ FOO=foo gomplate < input.tmpl +yes +$ FOO=bar gomplate < input.tmpl +no +``` + +## `hasPrefix` + +**See [`strings.HasPrefix](#strings-hasprefix) for a pipeline-compatible version** + +Tests whether the string begins with a certain substring. Equivalent to +[strings.HasPrefix](https://golang.org/pkg/strings#HasPrefix) + +#### Example + +_`input.tmpl`:_ +``` +{{if hasPrefix .Env.URL "https"}}foo{{else}}bar{{end}} +``` + +```console +$ URL=http://example.com gomplate < input.tmpl +bar +$ URL=https://example.com gomplate < input.tmpl +foo +``` + +## `hasSuffix` + +**See [`strings.HasSuffix](#strings-hassuffix) for a pipeline-compatible version** + +Tests whether the string ends with a certain substring. Equivalent to +[strings.HasSuffix](https://golang.org/pkg/strings#HasSuffix) + +#### Example + +_`input.tmpl`:_ +``` +{{.Env.URL}}{{if not (hasSuffix .Env.URL ":80")}}:80{{end}} +``` + +```console +$ URL=http://example.com gomplate < input.tmpl +http://example.com:80 +``` + +## `split` + +**See [`strings.Split](#strings-split) for a pipeline-compatible version** + +Creates a slice by splitting a string on a given delimiter. Equivalent to +[strings.Split](https://golang.org/pkg/strings#Split) + +#### Example + +```console +$ gomplate -i '{{range split "Bart,Lisa,Maggie" ","}}Hello, {{.}}{{end}}' +Hello, Bart +Hello, Lisa +Hello, Maggie +``` + +## `splitN` + +**See [`strings.SplitN](#strings-splitn) for a pipeline-compatible version** + +Creates a slice by splitting a string on a given delimiter. The count determines +the number of substrings to return. Equivalent to [strings.SplitN](https://golang.org/pkg/strings#SplitN) + +#### Example + +```console +$ gomplate -i '{{ range splitN "foo:bar:baz" ":" 2 }}{{.}}{{end}}' +foo +bar:baz +``` + +## `trim` + +**See [`strings.Trim](#strings-trim) for a pipeline-compatible version** + +Trims a string by removing the given characters from the beginning and end of +the string. Equivalent to [strings.Trim](https://golang.org/pkg/strings/#Trim) + +#### Example + +_`input.tmpl`:_ +``` +Hello, {{trim .Env.FOO " "}}! +``` + +```console +$ FOO=" world " | gomplate < input.tmpl +Hello, world! +``` |
