Working on categories
Append category link on article and vice-versa
This commit is contained in:
parent
8896fcda09
commit
3106e81146
3
main.go
3
main.go
|
@ -56,7 +56,8 @@ func main() {
|
|||
|
||||
files, _ := walk(*outputDir)
|
||||
|
||||
site := models.Site{Name: "Grimboite"}
|
||||
site := models.Site{Name: "Grimboite", OutputDir: *outputDir}
|
||||
site.Categories = make(map[string]*models.Category)
|
||||
|
||||
for _, file := range files {
|
||||
article := models.Article{
|
||||
|
|
|
@ -16,18 +16,47 @@ import (
|
|||
)
|
||||
|
||||
type Category struct {
|
||||
Children []Category
|
||||
Name string
|
||||
Parent *Category
|
||||
Children []*Category
|
||||
Articles []*Article
|
||||
}
|
||||
|
||||
type Site struct {
|
||||
Name string
|
||||
Articles []Article
|
||||
Categories []Category
|
||||
OutputDir string
|
||||
Articles []*Article
|
||||
Categories map[string]*Category
|
||||
}
|
||||
|
||||
func (s *Site) Append(a *Article) {
|
||||
s.Articles = append(s.Articles, *a)
|
||||
s.Articles = append(s.Articles, a)
|
||||
fmt.Println(a)
|
||||
|
||||
category_path := strings.Replace(a.File, s.OutputDir, "", -1)
|
||||
|
||||
categories := strings.Split(category_path, "/")
|
||||
|
||||
for index, category := range categories {
|
||||
_, ok := s.Categories[category]
|
||||
|
||||
if category == "" {
|
||||
continue
|
||||
}
|
||||
|
||||
if !ok {
|
||||
s.Categories[category] = &Category{Name: category}
|
||||
}
|
||||
|
||||
s.Categories[category].Articles = append(s.Categories[category].Articles, a)
|
||||
a.Categories = append(a.Categories, s.Categories[category])
|
||||
|
||||
if index > len(categories)-4 {
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
fmt.Println(categories)
|
||||
}
|
||||
|
||||
func (s *Site) Build() {
|
||||
|
@ -43,6 +72,7 @@ type Article struct {
|
|||
Url string
|
||||
File string
|
||||
RelativeFilePath string
|
||||
Categories []*Category
|
||||
}
|
||||
|
||||
func (a *Article) FromFile() {
|
||||
|
|
Loading…
Reference in New Issue