Working on categories

Append category link on article and vice-versa
This commit is contained in:
Fred Pauchet 2022-11-06 20:36:40 +01:00
parent 8896fcda09
commit 3106e81146
2 changed files with 36 additions and 5 deletions

View File

@ -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{

View File

@ -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() {