diff options
Diffstat (limited to 'docs/content/extras/localfiles.md')
-rw-r--r-- | docs/content/extras/localfiles.md | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/docs/content/extras/localfiles.md b/docs/content/extras/localfiles.md new file mode 100644 index 000000000..28b611870 --- /dev/null +++ b/docs/content/extras/localfiles.md @@ -0,0 +1,57 @@ +--- +aliases: +- /doc/localfiles/ +lastmod: 2016-09-12 +date: 2015-06-12 +menu: + main: + parent: extras +next: /extras/urls +notoc: true +prev: /extras/toc +title: Traversing Local Files +--- +## Traversing Local Files + +Using Hugo's function `readDir`, +you can traverse your web site's files on your server. +## Using _readDir_ + +The `readDir` function returns an array +of [`os.FileInfo`](https://golang.org/pkg/os/#FileInfo). +It takes a single, string argument: a path. +This path can be to any directory of your web site +(as found on your server's filesystem). + +Whether the path is absolute or relative makes no difference, +because—at least for `readDir`—the root of your web site (typically `./public/`) +in effect becomes both: + +1. The filesystem root; and +1. The current working directory. + +## New Shortcode + +So, let's create a new shortcode using `readDir`: + +**layouts/shortcodes/directoryindex.html** +```html +{{< readfile "layouts/shortcodes/directoryindex.html" >}} +``` +For the files in any given directory, +this shortcode usefully lists their basenames and sizes, +while providing links to them. + +Already—actually—this shortcode +has been included in this very web site. +So, let's list some of its CSS files. +(If you click on their names, you can reveal the contents.) +{{< directoryindex path="/static/css" pathURL="/css" >}} +<br /> +This is the call that rendered the above output: +```html +{{</* directoryindex path="/static/css" pathURL="/css" */>}} +``` +By the way, +regarding the pathURL argument, the initial slash `/` is important. +Otherwise, it becomes relative to the current web page. |