shithub: hugo

Download patch

ref: 0f143dcf1498897d2f7b83fad6830fd964b3ef95
parent: 3c3fc45d3c34a7dcd1a0e9fd2636e7a5c5933e03
author: Ross Lawley <[email protected]>
date: Thu Aug 15 15:58:34 EDT 2013

Skip Static directory if its in your content directory

Allows organisation where all source files are in one directory:

```
`config.yaml`:

contentdir: "source"
staticdir: "source/static"
...

 .
	└── source
		├── post
		|	├── firstpost.md	// <- http://site.com/post/firstpost.html
		|	└── secondpost.md	// <- http://site.com/post/secondpost.html
		└── static
			└── css
				 └── site.css	// <- http://site.com/css/site.css
```

--- a/hugolib/site.go
+++ b/hugolib/site.go
@@ -192,6 +192,8 @@
 
 	s.checkDirectories()
 
+	staticDir := s.Config.GetAbsPath(s.Config.StaticDir+"/")
+
 	walker := func(path string, fi os.FileInfo, err error) error {
 		if err != nil {
 			PrintErr("Walker: ", err)
@@ -199,6 +201,9 @@
 		}
 
 		if fi.IsDir() {
+			if (path == staticDir) {
+				return filepath.SkipDir
+			}
 			site.Directories = append(site.Directories, path)
 			return nil
 		} else {
@@ -211,7 +216,6 @@
 	}
 
 	filepath.Walk(s.absContentDir(), walker)
-
 	s.Info = SiteInfo{
 		BaseUrl: template.URL(s.Config.BaseUrl),
 		Title:   s.Config.Title,