Compare commits
12 Commits
Author | SHA1 | Date | |
---|---|---|---|
ce788bfd50 | |||
8147d9bef6 | |||
230a6278cc | |||
da0d65d40b | |||
42d6e0c198 | |||
a2d219b2c0 | |||
e1af2979af | |||
b02a882ed7 | |||
f6dedc6f10 | |||
edb448413b | |||
cdf0a49550 | |||
222b791e90 |
@ -23,10 +23,6 @@ func GenerateRSS(c *Config, db *DB) (*string, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for _, article := range articles {
|
for _, article := range articles {
|
||||||
if !article.Published {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
tags, err := db.GetArticleTags(article.ID)
|
tags, err := db.GetArticleTags(article.ID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("error getting tags for articles for RSS feed: %v", err)
|
return nil, fmt.Errorf("error getting tags for articles for RSS feed: %v", err)
|
||||||
|
@ -94,7 +94,7 @@ func SubmitArticle(c *b.Config, db *b.DB, s *b.CookieStore) http.HandlerFunc {
|
|||||||
return
|
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 {
|
if err = db.UpdateAttributes(&b.Attribute{Table: "articles", ID: article.ID, AttName: "link", Value: article.Link}); err != nil {
|
||||||
log.Println(err)
|
log.Println(err)
|
||||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||||
@ -502,7 +502,7 @@ func UploadArticleImage(c *b.Config, s *b.CookieStore) http.HandlerFunc {
|
|||||||
return
|
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")
|
w.Header().Set("Content-Type", "application/json")
|
||||||
json.NewEncoder(w).Encode(url)
|
json.NewEncoder(w).Encode(url)
|
||||||
}
|
}
|
||||||
@ -521,9 +521,16 @@ func ShowPublishedArticles(c *b.Config, db *b.DB, s *b.CookieStore) http.Handler
|
|||||||
return
|
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, err := template.ParseFiles(c.WebDir + "/templates/published-articles.html")
|
||||||
tmpl = template.Must(tmpl, err)
|
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
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
contentBytes, err := os.ReadFile(article.Link)
|
articleAbsName := fmt.Sprint(c.ArticleDir, "/", article.ID, ".md")
|
||||||
|
contentBytes, err := os.ReadFile(articleAbsName)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println(err)
|
log.Println(err)
|
||||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
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
|
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)
|
feed, err := b.GenerateRSS(c, db)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println(err)
|
log.Println(err)
|
||||||
|
@ -60,7 +60,7 @@ func PublishLatestIssue(c *b.Config, db *b.DB, s *b.CookieStore) http.HandlerFun
|
|||||||
|
|
||||||
article := &b.Article{
|
article := &b.Article{
|
||||||
Title: "Autogenerated cpolis Issue Article",
|
Title: "Autogenerated cpolis Issue Article",
|
||||||
EncURL: fmt.Sprint(c.Domain, c.Port, "/image/serve/", imgFileName),
|
EncURL: fmt.Sprint(c.Domain, "/image/serve/", imgFileName),
|
||||||
EncLength: int(imgSize),
|
EncLength: int(imgSize),
|
||||||
EncType: mimeType,
|
EncType: mimeType,
|
||||||
Published: true,
|
Published: true,
|
||||||
@ -84,7 +84,7 @@ func PublishLatestIssue(c *b.Config, db *b.DB, s *b.CookieStore) http.HandlerFun
|
|||||||
return
|
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 {
|
if err = db.UpdateAttributes(&b.Attribute{Table: "articles", ID: article.ID, AttName: "link", Value: article.Link}); err != nil {
|
||||||
log.Println(err)
|
log.Println(err)
|
||||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||||
|
@ -43,7 +43,9 @@ chmod +x $CPOLIS_DIR/tailwindcss
|
|||||||
$CPOLIS_DIR/tailwindcss -i $CPOLIS_DIR/web/static/css/input.css -o $CPOLIS_DIR/web/static/css/style.css
|
$CPOLIS_DIR/tailwindcss -i $CPOLIS_DIR/web/static/css/input.css -o $CPOLIS_DIR/web/static/css/style.css
|
||||||
|
|
||||||
echo '\nBuilding cpolis...' >&2
|
echo '\nBuilding cpolis...' >&2
|
||||||
go build -o $BIN_DIR/cpolis $CPOLIS_DIR/cmd/main.go
|
cd $CPOLIS_DIR
|
||||||
|
go build -o $BIN_DIR/cpolis cmd/main.go
|
||||||
|
cd
|
||||||
|
|
||||||
echo '\nSetting up system files...' >&2
|
echo '\nSetting up system files...' >&2
|
||||||
sudo chown root:root $BIN_DIR/cpolis
|
sudo chown root:root $BIN_DIR/cpolis
|
||||||
|
Reference in New Issue
Block a user