summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaria Carolin Chabowski <laria@laria.me>2021-01-02 12:29:52 +0100
committerLaria Carolin Chabowski <laria@laria.me>2021-01-02 12:29:52 +0100
commit97ccbcecfc63efcc30742c2014b5a017db5b41d3 (patch)
treeb0c1af1147f6dbc7c6bbc3dcdbfe13790d0bcbcf
parent85473656174b1b1d6221d3bb76cc12fa5f7f7e8d (diff)
downloadlaria.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
-rw-r--r--config/config.go1
-rw-r--r--update.go17
2 files changed, 11 insertions, 7 deletions
diff --git a/config/config.go b/config/config.go
index 074c24c..5484704 100644
--- a/config/config.go
+++ b/config/config.go
@@ -8,6 +8,7 @@ import (
type Config struct {
ContentRoot string
+ ArticleDirs []string
DbDsn string
TemplatePath string
StaticPath string `json:",omitempty"`
diff --git a/update.go b/update.go
index 82024b7..82df88b 100644
--- a/update.go
+++ b/update.go
@@ -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)
}
}