create: Simplify archetype logic
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Tue, 29 Nov 2016 19:32:26 +0000 (20:32 +0100)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Tue, 29 Nov 2016 19:32:26 +0000 (20:32 +0100)
See ##2750

create/content.go

index 783e21449836f648ef5dd5e4f1df4672001ce293..08094f26100f68817c375ea63427454524fccf73 100644 (file)
@@ -119,28 +119,19 @@ func createMetadata(archetype parser.Page, name string) (map[string]interface{},
                        }
                case "title":
                        // Use the archetype title as is
-                       metadata[lk] = cast.ToString(v)
+                       metadata[lk] = v
                }
        }
 
-       caseimatch := func(m map[string]interface{}, key string) bool {
-               for k := range m {
-                       if strings.ToLower(k) == strings.ToLower(key) {
-                               return true
-                       }
-               }
-               return false
-       }
-
        if metadata == nil {
                metadata = make(map[string]interface{})
        }
 
-       if !caseimatch(metadata, "date") {
+       if date.IsZero() {
                date = time.Now()
        }
 
-       if !caseimatch(metadata, "title") {
+       if _, ok := metadata["title"]; !ok {
                metadata["title"] = helpers.MakeTitle(helpers.Filename(name))
        }