func foreachFunc(helper *structure.Helper, values *structure.RequestData) []byte { if len(helper.Arguments) != 0 { switch helper.Arguments[0].Name { case "posts": var buffer bytes.Buffer for index, _ := range values.Posts { //if values.Posts[index].Id != 0 { // If post is not empty (Commented out for now. This was only neccessary in previous versions, when the array length was always the postsPerPage length) values.CurrentPostIndex = index buffer.Write(executeHelper(helper, values, 1)) // context = post //} } return buffer.Bytes() case "tags": var buffer bytes.Buffer for index, _ := range values.Posts[values.CurrentPostIndex].Tags { //if values.Posts[values.CurrentPostIndex].Tags[index].Id != 0 { // If tag is not empty (Commented out for now. Not neccessary.) values.CurrentTagIndex = index buffer.Write(executeHelper(helper, values, 2)) // context = tag //} } return buffer.Bytes() case "navigation": var buffer bytes.Buffer for index, _ := range values.Blog.NavigationItems { values.CurrentNavigationIndex = index buffer.Write(executeHelper(helper, values, 4)) // context = navigation } return buffer.Bytes() default: return []byte{} } } return []byte{} }