|
|
|
@ -94,7 +94,7 @@ func SubmitArticle(c *b.Config, db *b.DB, s *b.CookieStore) http.HandlerFunc {
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
article.Link = fmt.Sprint(c.Domain, c.Port, "/article/serve/", article.ID)
|
|
|
|
|
article.Link = fmt.Sprint(c.Domain, "/article/serve/", article.ID)
|
|
|
|
|
if err = db.UpdateAttributes(&b.Attribute{Table: "articles", ID: article.ID, AttName: "link", Value: article.Link}); err != nil {
|
|
|
|
|
log.Println(err)
|
|
|
|
|
http.Error(w, err.Error(), http.StatusInternalServerError)
|
|
|
|
@ -502,7 +502,7 @@ func UploadArticleImage(c *b.Config, s *b.CookieStore) http.HandlerFunc {
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
url := fmt.Sprint(c.Domain, c.Port, "/image/serve/", filename)
|
|
|
|
|
url := fmt.Sprint(c.Domain, "/image/serve/", filename)
|
|
|
|
|
w.Header().Set("Content-Type", "application/json")
|
|
|
|
|
json.NewEncoder(w).Encode(url)
|
|
|
|
|
}
|
|
|
|
@ -521,9 +521,16 @@ func ShowPublishedArticles(c *b.Config, db *b.DB, s *b.CookieStore) http.Handler
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
filteredArticles := make([]*b.Article, 0)
|
|
|
|
|
for _, article := range publishedArticles {
|
|
|
|
|
if article.Title != "Autogenerated cpolis Issue Article" {
|
|
|
|
|
filteredArticles = append(filteredArticles, article)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
tmpl, err := template.ParseFiles(c.WebDir + "/templates/published-articles.html")
|
|
|
|
|
tmpl = template.Must(tmpl, err)
|
|
|
|
|
tmpl.ExecuteTemplate(w, "page-content", publishedArticles)
|
|
|
|
|
tmpl.ExecuteTemplate(w, "page-content", filteredArticles)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -572,7 +579,8 @@ func ReviewArticleForDeletion(c *b.Config, db *b.DB, s *b.CookieStore) http.Hand
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
contentBytes, err := os.ReadFile(article.Link)
|
|
|
|
|
articleAbsName := fmt.Sprint(c.ArticleDir, "/", article.ID, ".md")
|
|
|
|
|
contentBytes, err := os.ReadFile(articleAbsName)
|
|
|
|
|
if err != nil {
|
|
|
|
|
log.Println(err)
|
|
|
|
|
http.Error(w, err.Error(), http.StatusInternalServerError)
|
|
|
|
@ -620,6 +628,12 @@ func DeleteArticle(c *b.Config, db *b.DB, s *b.CookieStore) http.HandlerFunc {
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if err = os.Remove(fmt.Sprint(c.ArticleDir, "/", id, ".md")); err != nil {
|
|
|
|
|
log.Println(err)
|
|
|
|
|
http.Error(w, err.Error(), http.StatusInternalServerError)
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
feed, err := b.GenerateRSS(c, db)
|
|
|
|
|
if err != nil {
|
|
|
|
|
log.Println(err)
|
|
|
|
|