From 8d1ff0e59f9473b9c98196874ee62e5625380fed Mon Sep 17 00:00:00 2001 From: Pacien Date: Wed, 10 Jul 2013 23:23:16 +0200 Subject: Fix directory listing --- dynamic.go | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/dynamic.go b/dynamic.go index ff567c1..e089eeb 100644 --- a/dynamic.go +++ b/dynamic.go @@ -35,16 +35,18 @@ func handle(w http.ResponseWriter, r *http.Request) { } // get the list of dirs to parse - request := strings.Trim(r.URL.Path, "/") + request := strings.TrimSuffix(r.URL.Path, "/") dirs := strings.Split(request, "/") - if request != "" { - dirs = append(dirs, "") + for i, dir := range dirs { + if i != 0 { + dirs[i] = path.Join(dirs[i-1], dir) + } } // parse these dirs elements := make(map[string][]byte) - for _, dir := range dirs { - parse(path.Join(*settings.sourceDir, dir), elements, settings.exts, false) + for i := len(dirs) - 1; i >= 0; i-- /*_, dir := range reverse dirs*/ { + parse(path.Join(*settings.sourceDir, dirs[i]), elements, settings.exts, false) } // render the page -- cgit v1.2.3