diff options
| author | Dave Henderson <dhenderson@gmail.com> | 2018-07-26 21:13:08 -0400 |
|---|---|---|
| committer | Dave Henderson <dhenderson@gmail.com> | 2018-07-26 21:51:29 -0400 |
| commit | 90365c708baada8ae1dd136dcca62118873e5c0f (patch) | |
| tree | 67998db621695c795b068906d94a959138b21518 /docs-src/content/functions/filepath.yml | |
| parent | b0de7eac46bd522ca4784548824b7e370058a987 (diff) | |
Doc generation
Signed-off-by: Dave Henderson <dhenderson@gmail.com>
Diffstat (limited to 'docs-src/content/functions/filepath.yml')
| -rw-r--r-- | docs-src/content/functions/filepath.yml | 195 |
1 files changed, 195 insertions, 0 deletions
diff --git a/docs-src/content/functions/filepath.yml b/docs-src/content/functions/filepath.yml new file mode 100644 index 00000000..84d550d5 --- /dev/null +++ b/docs-src/content/functions/filepath.yml @@ -0,0 +1,195 @@ +ns: filepath +preamble: | + gomplate's path functions are split into 2 namespaces: + - `path`, which is useful for manipulating slash-based (`/`) paths, such as in URLs + - `filepath`, which should be used for local filesystem paths, especially when Windows paths may be involved. + + This page documents the `filepath` namespace - see also the [`path`](../path) documentation. + + These functions are wrappers for Go's [`path/filepath`](https://golang.org/pkg/path/filepath/) package. +funcs: + - name: filepath.Base + description: | + Returns the last element of path. Trailing path separators are removed before extracting the last element. If the path is empty, Base returns `.`. If the path consists entirely of separators, Base returns a single separator. + + A wrapper for Go's [`filepath.Base`](https://golang.org/pkg/path/filepath/#Base) function. + pipeline: true + arguments: + - name: path + required: true + description: The input path + examples: + - | + $ gomplate -i '{{ filepath.Base "/tmp/foo" }}' + foo + - name: filepath.Clean + description: | + Clean returns the shortest path name equivalent to path by purely lexical processing. + + A wrapper for Go's [`filepath.Clean`](https://golang.org/pkg/path/filepath/#Clean) function. + pipeline: true + arguments: + - name: path + required: true + description: The input path + examples: + - | + $ gomplate -i '{{ filepath.Clean "/tmp//foo/../" }}' + /tmp + - name: filepath.Dir + description: | + Returns all but the last element of path, typically the path's directory. + + A wrapper for Go's [`filepath.Dir`](https://golang.org/pkg/path/filepath/#Dir) function. + pipeline: true + arguments: + - name: path + required: true + description: The input path + examples: + - | + $ gomplate -i '{{ filepath.Dir "/tmp/foo" }}' + /tmp + - name: filepath.Ext + description: | + Returns the file name extension used by path. + + A wrapper for Go's [`filepath.Ext`](https://golang.org/pkg/path/filepath/#Ext) function. + pipeline: true + arguments: + - name: path + required: true + description: The input path + examples: + - | + $ gomplate -i '{{ filepath.Ext "/tmp/foo.csv" }}' + .csv + - name: filepath.FromSlash + description: | + Returns the result of replacing each slash (`/`) character in the path with the platform's separator character. + + A wrapper for Go's [`filepath.FromSlash`](https://golang.org/pkg/path/filepath/#FromSlash) function. + pipeline: true + arguments: + - name: path + required: true + description: The input path + examples: + - | + $ gomplate -i '{{ filepath.FromSlash "/foo/bar" }}' + /foo/bar + C:\> gomplate.exe -i '{{ filepath.FromSlash "/foo/bar" }}' + C:\foo\bar + - name: filepath.IsAbs + description: | + Reports whether the path is absolute. + + A wrapper for Go's [`filepath.IsAbs`](https://golang.org/pkg/path/filepath/#IsAbs) function. + pipeline: true + arguments: + - name: path + required: true + description: The input path + examples: + - | + $ gomplate -i 'the path is {{ if (filepath.IsAbs "/tmp/foo.csv") }}absolute{{else}}relative{{end}}' + the path is absolute + $ gomplate -i 'the path is {{ if (filepath.IsAbs "../foo.csv") }}absolute{{else}}relative{{end}}' + the path is relative + - name: filepath.Join + description: | + Joins any number of path elements into a single path, adding a separator if necessary. + + A wrapper for Go's [`filepath.Join`](https://golang.org/pkg/path/filepath/#Join) function. + arguments: + - name: elem... + required: true + description: The path elements to join (0 or more) + examples: + - | + $ gomplate -i '{{ filepath.Join "/tmp" "foo" "bar" }}' + /tmp/foo/bar + C:\> gomplate.exe -i '{{ filepath.Join "C:\tmp" "foo" "bar" }}' + C:\tmp\foo\bar + - name: filepath.Match + description: | + Reports whether name matches the shell file name pattern. + + A wrapper for Go's [`filepath.Match`](https://golang.org/pkg/path/filepath/#Match) function. + arguments: + - name: pattern + required: true + description: The pattern to match on + - name: path + required: true + description: The path to match + examples: + - | + $ gomplate -i '{{ filepath.Match "*.csv" "foo.csv" }}' + true + - name: filepath.Rel + description: | + Returns a relative path that is lexically equivalent to targetpath when joined to basepath with an intervening separator. + + A wrapper for Go's [`filepath.Rel`](https://golang.org/pkg/path/filepath/#Rel) function. + arguments: + - name: basepath + required: true + description: The base path + - name: targetpath + required: true + description: The target path + examples: + - | + $ gomplate -i '{{ filepath.Rel "/a" "/a/b/c" }}' + b/c + - name: filepath.Split + description: | + Splits path immediately following the final path separator, separating it into a directory and file name component. + + The function returns an array with two values, the first being the diretory, and the second the file. + + A wrapper for Go's [`filepath.Split`](https://golang.org/pkg/path/filepath/#Split) function. + pipeline: true + arguments: + - name: path + required: true + description: The input path + examples: + - | + $ gomplate -i '{{ $p := filepath.Split "/tmp/foo" }}{{ $dir := index $p 0 }}{{ $file := index $p 1 }}dir is {{$dir}}, file is {{$file}}' + dir is /tmp/, file is foo + C:\> gomplate.exe -i '{{ $p := filepath.Split `C:\tmp\foo` }}{{ $dir := index $p 0 }}{{ $file := index $p 1 }}dir is {{$dir}}, file is {{$file}}' + dir is C:\tmp\, file is foo + - name: filepath.ToSlash + description: | + Returns the result of replacing each separator character in path with a slash (`/`) character. + + A wrapper for Go's [`filepath.ToSlash`](https://golang.org/pkg/path/filepath/#ToSlash) function. + pipeline: true + arguments: + - name: path + required: true + description: The input path + examples: + - | + $ gomplate -i '{{ filepath.ToSlash "/foo/bar" }}' + /foo/bar + C:\> gomplate.exe -i '{{ filepath.ToSlash `foo\bar\baz` }}' + foo/bar/baz + - name: filepath.VolumeName + description: | + Returns the leading volume name. Given `C:\foo\bar` it returns `C:` on Windows. Given a UNC like `\\host\share\foo` it returns `\\host\share`. On other platforms it returns an empty string. + + A wrapper for Go's [`filepath.VolumeName`](https://golang.org/pkg/path/filepath/#VolumeName) function. + pipeline: true + arguments: + - name: path + required: true + description: The input path + examples: + - | + C:\> gomplate.exe -i 'volume is {{ filepath.VolumeName "C:/foo/bar" }}' + volume is C: + $ gomplate -i 'volume is {{ filepath.VolumeName "/foo/bar" }}' + volume is |
