| 
														
															@@ -18,7 +18,7 @@ var mkdirall = os.MkdirAll 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 var parseFiles = template.ParseFiles 
														 | 
														
														 | 
														
															 var parseFiles = template.ParseFiles 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 var walk = filepath.Walk 
														 | 
														
														 | 
														
															 var walk = filepath.Walk 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-type ht interface { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+type executor interface { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	Execute(io.Writer, interface{}) error 
														 | 
														
														 | 
														
															 	Execute(io.Writer, interface{}) error 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -29,56 +29,56 @@ type Generator struct { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	Relative     bool   `json:"relative,omitempty"` 
														 | 
														
														 | 
														
															 	Relative     bool   `json:"relative,omitempty"` 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	TemplateFile string `json:"template,omitempty"` 
														 | 
														
														 | 
														
															 	TemplateFile string `json:"template,omitempty"` 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	Logger logger 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	L logger 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	version  string 
														 | 
														
														 | 
														
															 	version  string 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	pages    []string 
														 | 
														
														 | 
														
															 	pages    []string 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	template ht 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	template executor 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-func (self *Generator) ior(path string) string { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	return strings.TrimSuffix(strings.Replace(path, self.Input, self.Output, 1), filepath.Ext(path)) + ".html" 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+func (g *Generator) ior(path string) string { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	return strings.TrimSuffix(strings.Replace(path, g.Input, g.Output, 1), filepath.Ext(path)) + ".html" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-func (self *Generator) depth(path string) string { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	if self.Relative { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		if rel, err := filepath.Rel(filepath.Dir(path), self.Output); err == nil { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+func (g *Generator) depth(path string) string { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	if g.Relative { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		if rel, err := filepath.Rel(filepath.Dir(path), g.Output); err == nil { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			return rel + string(os.PathSeparator) 
														 | 
														
														 | 
														
															 			return rel + string(os.PathSeparator) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		} 
														 | 
														
														 | 
														
															 		} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	} 
														 | 
														
														 | 
														
															 	} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	return "" 
														 | 
														
														 | 
														
															 	return "" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-func (self *Generator) walk(path string, file os.FileInfo, err error) error { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+func (g *Generator) walk(path string, file os.FileInfo, err error) error { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	if file != nil && file.Mode().IsRegular() && file.Size() > 0 && isMarkdown(path) { 
														 | 
														
														 | 
														
															 	if file != nil && file.Mode().IsRegular() && file.Size() > 0 && isMarkdown(path) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		self.pages = append(self.pages, path) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		g.pages = append(g.pages, path) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	} 
														 | 
														
														 | 
														
															 	} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	return err 
														 | 
														
														 | 
														
															 	return err 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-func (self *Generator) multi() error { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+func (g *Generator) multi() error { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	navi := make(map[string][]navigation) 
														 | 
														
														 | 
														
															 	navi := make(map[string][]navigation) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	var err error 
														 | 
														
														 | 
														
															 	var err error 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	for i, _ := range self.pages { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		out := self.ior(self.pages[i]) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		dir := filepath.Dir(self.ior(out)) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	for i, _ := range g.pages { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		out := g.ior(g.pages[i]) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		dir := filepath.Dir(g.ior(out)) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		nav := navigation{} 
														 | 
														
														 | 
														
															 		nav := navigation{} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		if filepath.Dir(out) != self.Output && strings.ToLower(basename(out)) == "index" { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		if filepath.Dir(out) != g.Output && strings.ToLower(basename(out)) == "index" { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			nav.Title = basename(dir) 
														 | 
														
														 | 
														
															 			nav.Title = basename(dir) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			if self.Relative { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			if g.Relative { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				nav.Link = filepath.Join(strings.TrimPrefix(dir, filepath.Dir(dir)+string(os.PathSeparator)), filepath.Base(out)) 
														 | 
														
														 | 
														
															 				nav.Link = filepath.Join(strings.TrimPrefix(dir, filepath.Dir(dir)+string(os.PathSeparator)), filepath.Base(out)) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			} else { 
														 | 
														
														 | 
														
															 			} else { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				nav.Link = strings.TrimPrefix(dir, self.Output) + string(os.PathSeparator) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				nav.Link = strings.TrimPrefix(dir, g.Output) + string(os.PathSeparator) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			} 
														 | 
														
														 | 
														
															 			} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			dir = filepath.Dir(dir) 
														 | 
														
														 | 
														
															 			dir = filepath.Dir(dir) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		} else { 
														 | 
														
														 | 
														
															 		} else { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			nav.Title = basename(out) 
														 | 
														
														 | 
														
															 			nav.Title = basename(out) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			if self.Relative { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			if g.Relative { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				nav.Link = strings.TrimPrefix(out, filepath.Dir(out)+string(os.PathSeparator)) 
														 | 
														
														 | 
														
															 				nav.Link = strings.TrimPrefix(out, filepath.Dir(out)+string(os.PathSeparator)) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			} else { 
														 | 
														
														 | 
														
															 			} else { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				nav.Link = strings.TrimPrefix(out, self.Output) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				nav.Link = strings.TrimPrefix(out, g.Output) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			} 
														 | 
														
														 | 
														
															 			} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		} 
														 | 
														
														 | 
														
															 		} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -86,7 +86,7 @@ func (self *Generator) multi() error { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			navi[dir] = make([]navigation, 0) 
														 | 
														
														 | 
														
															 			navi[dir] = make([]navigation, 0) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			if ok, _ := exists(dir); !ok { 
														 | 
														
														 | 
														
															 			if ok, _ := exists(dir); !ok { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				if err = mkdirall(dir, 0770); err != nil { 
														 | 
														
														 | 
														
															 				if err = mkdirall(dir, 0770); err != nil { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-					self.Logger.Error("failed to create path: %s, %s", dir, err) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+					g.L.Error("failed to create path: %s, %s", dir, err) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				} 
														 | 
														
														 | 
														
															 				} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			} 
														 | 
														
														 | 
														
															 			} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		} 
														 | 
														
														 | 
														
															 		} 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -94,28 +94,28 @@ func (self *Generator) multi() error { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		navi[dir] = append(navi[dir], nav) 
														 | 
														
														 | 
														
															 		navi[dir] = append(navi[dir], nav) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	} 
														 | 
														
														 | 
														
															 	} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	for _, p := range self.pages { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	for _, p := range g.pages { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		var markdown []byte 
														 | 
														
														 | 
														
															 		var markdown []byte 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		if markdown, err = readfile(p); err != nil { 
														 | 
														
														 | 
														
															 		if markdown, err = readfile(p); err != nil { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			self.Logger.Error("failed to read file: %s, %s", p, err) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			g.L.Error("failed to read file: %s, %s", p, err) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			return err 
														 | 
														
														 | 
														
															 			return err 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		} 
														 | 
														
														 | 
														
															 		} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		out := self.ior(p) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		out := g.ior(p) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		dir := filepath.Dir(out) 
														 | 
														
														 | 
														
															 		dir := filepath.Dir(out) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		page := page{ 
														 | 
														
														 | 
														
															 		page := page{ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			Name:    basename(p), 
														 | 
														
														 | 
														
															 			Name:    basename(p), 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			Version: self.version, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			Nav:     navi[self.Output], 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			Depth:   self.depth(out), 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			Version: g.version, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			Nav:     navi[g.Output], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			Depth:   g.depth(out), 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		} 
														 | 
														
														 | 
														
															 		} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		if dir != self.Output && strings.ToLower(basename(p)) == "index" { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		if dir != g.Output && strings.ToLower(basename(p)) == "index" { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			toc := "\n## Table of Contents:\n\n" 
														 | 
														
														 | 
														
															 			toc := "\n## Table of Contents:\n\n" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			for i, _ := range navi[dir] { 
														 | 
														
														 | 
														
															 			for i, _ := range navi[dir] { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				toc = toc + "- [" + navi[dir][i].Title + "](" + navi[dir][i].Link + ")\n" 
														 | 
														
														 | 
														
															 				toc = toc + "- [" + navi[dir][i].Title + "](" + navi[dir][i].Link + ")\n" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			} 
														 | 
														
														 | 
														
															 			} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			self.Logger.Debug("table of contents for %s, %s", out, toc) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			g.L.Debug("table of contents for %s, %s", out, toc) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			markdown = append([]byte(toc), markdown...) 
														 | 
														
														 | 
														
															 			markdown = append([]byte(toc), markdown...) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		} 
														 | 
														
														 | 
														
															 		} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -123,7 +123,7 @@ func (self *Generator) multi() error { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		var f *os.File 
														 | 
														
														 | 
														
															 		var f *os.File 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		if f, err = create(out); err != nil { 
														 | 
														
														 | 
														
															 		if f, err = create(out); err != nil { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			self.Logger.Error("%s\n", err) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			g.L.Error("%s\n", err) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			return err 
														 | 
														
														 | 
														
															 			return err 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		} 
														 | 
														
														 | 
														
															 		} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		defer f.Close() 
														 | 
														
														 | 
														
															 		defer f.Close() 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -131,22 +131,22 @@ func (self *Generator) multi() error { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		fb := bufio.NewWriter(f) 
														 | 
														
														 | 
														
															 		fb := bufio.NewWriter(f) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		defer fb.Flush() 
														 | 
														
														 | 
														
															 		defer fb.Flush() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		if err = self.template.Execute(fb, page); err != nil { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			self.Logger.Error("%s\n", err) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		if err = g.template.Execute(fb, page); err != nil { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			g.L.Error("%s\n", err) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		} 
														 | 
														
														 | 
														
															 		} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	} 
														 | 
														
														 | 
														
															 	} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	return err 
														 | 
														
														 | 
														
															 	return err 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-func (self *Generator) single() error { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+func (g *Generator) single() error { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	content := make([]byte, 0) 
														 | 
														
														 | 
														
															 	content := make([]byte, 0) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	toc := "\n" 
														 | 
														
														 | 
														
															 	toc := "\n" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	previous_depth := 0 
														 | 
														
														 | 
														
															 	previous_depth := 0 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	var err error 
														 | 
														
														 | 
														
															 	var err error 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	for _, p := range self.pages { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		shorthand := strings.TrimPrefix(p, self.Input+string(os.PathSeparator)) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	for _, p := range g.pages { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		shorthand := strings.TrimPrefix(p, g.Input+string(os.PathSeparator)) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		depth := strings.Count(shorthand, string(os.PathSeparator)) 
														 | 
														
														 | 
														
															 		depth := strings.Count(shorthand, string(os.PathSeparator)) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		if depth > previous_depth { 
														 | 
														
														 | 
														
															 		if depth > previous_depth { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			toc = toc + strings.Repeat("\t", depth-1) + "- " + basename(filepath.Dir(p)) + "\n" 
														 | 
														
														 | 
														
															 			toc = toc + strings.Repeat("\t", depth-1) + "- " + basename(filepath.Dir(p)) + "\n" 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -156,7 +156,7 @@ func (self *Generator) single() error { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		var markdown []byte 
														 | 
														
														 | 
														
															 		var markdown []byte 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		if markdown, err = readfile(p); err != nil { 
														 | 
														
														 | 
														
															 		if markdown, err = readfile(p); err != nil { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			self.Logger.Error("failed to read file: %s (%s)", p, err) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			g.L.Error("failed to read file: %s (%s)", p, err) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			continue 
														 | 
														
														 | 
														
															 			continue 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		} 
														 | 
														
														 | 
														
															 		} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -168,22 +168,22 @@ func (self *Generator) single() error { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	content = append([]byte(toc), content...) 
														 | 
														
														 | 
														
															 	content = append([]byte(toc), content...) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	if ok, _ := exists(self.Output); !ok { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		if err = mkdirall(self.Output, 0770); err != nil { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			self.Logger.Error("failed to create path: %s (%s)", self.Output, err) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	if ok, _ := exists(g.Output); !ok { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		if err = mkdirall(g.Output, 0770); err != nil { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			g.L.Error("failed to create path: %s (%s)", g.Output, err) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			return err 
														 | 
														
														 | 
														
															 			return err 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		} 
														 | 
														
														 | 
														
															 		} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	} 
														 | 
														
														 | 
														
															 	} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	page := page{ 
														 | 
														
														 | 
														
															 	page := page{ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		Version: self.version, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		Version: g.version, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		Content: template.HTML(blackfriday.MarkdownCommon(content)), 
														 | 
														
														 | 
														
															 		Content: template.HTML(blackfriday.MarkdownCommon(content)), 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	} 
														 | 
														
														 | 
														
															 	} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	out := filepath.Join(self.Output, "index.html") 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	out := filepath.Join(g.Output, "index.html") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	var f *os.File 
														 | 
														
														 | 
														
															 	var f *os.File 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	if f, err = create(out); err != nil { 
														 | 
														
														 | 
														
															 	if f, err = create(out); err != nil { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		self.Logger.Error("%s\n", err) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		g.L.Error("%s\n", err) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		return err 
														 | 
														
														 | 
														
															 		return err 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	} 
														 | 
														
														 | 
														
															 	} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	defer f.Close() 
														 | 
														
														 | 
														
															 	defer f.Close() 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -191,34 +191,34 @@ func (self *Generator) single() error { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	fb := bufio.NewWriter(f) 
														 | 
														
														 | 
														
															 	fb := bufio.NewWriter(f) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	defer fb.Flush() 
														 | 
														
														 | 
														
															 	defer fb.Flush() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	if err = self.template.Execute(fb, page); err != nil { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		self.Logger.Error("%s\n", err) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	if err = g.template.Execute(fb, page); err != nil { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		g.L.Error("%s\n", err) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	} 
														 | 
														
														 | 
														
															 	} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	return err 
														 | 
														
														 | 
														
															 	return err 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-func (self *Generator) Generate() error { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+func (g *Generator) Generate() error { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	var err error 
														 | 
														
														 | 
														
															 	var err error 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	if self.template, err = parseFiles(self.TemplateFile); err != nil { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		self.Logger.Error("%s\n", err) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	if g.template, err = parseFiles(g.TemplateFile); err != nil { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		g.L.Error("%s\n", err) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		return err 
														 | 
														
														 | 
														
															 		return err 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	} 
														 | 
														
														 | 
														
															 	} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	self.version = version(self.Input) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	self.Input, _ = filepath.Abs(self.Input) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	self.Output, _ = filepath.Abs(self.Output) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	self.Input = filepath.Clean(self.Input) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	self.Output = filepath.Clean(self.Output) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	g.version = version(g.Input) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	g.Input, _ = filepath.Abs(g.Input) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	g.Output, _ = filepath.Abs(g.Output) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	g.Input = filepath.Clean(g.Input) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	g.Output = filepath.Clean(g.Output) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	if err := walk(self.Input, self.walk); err != nil { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		self.Logger.Error("%s\n", err) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	if err := walk(g.Input, g.walk); err != nil { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		g.L.Error("%s\n", err) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		return err 
														 | 
														
														 | 
														
															 		return err 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	} 
														 | 
														
														 | 
														
															 	} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	self.Logger.Debug("generator state: %+v", self) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	g.L.Debug("generator state: %+v", g) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	if self.Book { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		return self.single() 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	if g.Book { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		return g.single() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	} 
														 | 
														
														 | 
														
															 	} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	return self.multi() 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	return g.multi() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 |