diff options
author | Laria Carolin Chabowski <laria@laria.me> | 2021-01-02 12:29:52 +0100 |
---|---|---|
committer | Laria Carolin Chabowski <laria@laria.me> | 2021-01-02 12:29:52 +0100 |
commit | 97ccbcecfc63efcc30742c2014b5a017db5b41d3 (patch) | |
tree | b0c1af1147f6dbc7c6bbc3dcdbfe13790d0bcbcf /update.go | |
parent | 85473656174b1b1d6221d3bb76cc12fa5f7f7e8d (diff) | |
download | laria.me-97ccbcecfc63efcc30742c2014b5a017db5b41d3.tar.gz laria.me-97ccbcecfc63efcc30742c2014b5a017db5b41d3.tar.bz2 laria.me-97ccbcecfc63efcc30742c2014b5a017db5b41d3.zip |
Allow multiple article directories
This makes it easier to have a separate directories with drafts that will
only be visible locally
Diffstat (limited to 'update.go')
-rw-r--r-- | update.go | 17 |
1 files changed, 10 insertions, 7 deletions
@@ -6,7 +6,6 @@ import ( "net/http" "net/url" "os" - "path" "path/filepath" "code.laria.me/laria.me/article" @@ -15,7 +14,6 @@ import ( ) func allArticlesFromDir(dir string) ([]article.Article, error) { - log.Printf("allArticlesFromDir(%s)", dir) f, err := os.Open(dir) if err != nil { return nil, err @@ -47,21 +45,26 @@ func allArticlesFromDir(dir string) ([]article.Article, error) { } func updateArticles(conf *config.Config, db *sql.DB) { - articles, err := allArticlesFromDir(path.Join(conf.ContentRoot, "articles")) - if err != nil { - log.Fatalf("allArticlesFromDir(): %s", err) + articles := []article.Article{} + for _, dir := range conf.ArticleDirs { + dirArticles, err := allArticlesFromDir(dir) + if err != nil { + log.Fatalf("allArticlesFromDir(%s): %s", dir, err) + } + + articles = append(articles, dirArticles...) } slugs := make([]string, 0, len(articles)) for _, article := range articles { - if _, err = article.SaveToDb(db); err != nil { + if _, err := article.SaveToDb(db); err != nil { log.Fatalf("SaveToDb: %s", err) } slugs = append(slugs, article.Slug) } - if err = article.DeleteArticlesFromDbExcept(db, slugs); err != nil { + if err := article.DeleteArticlesFromDbExcept(db, slugs); err != nil { log.Fatalf("DeleteArticlesFromDbExcept: %s", err) } } |