forked from jason/cpolis
		
	Only provide link in item instead of the entire article via content
This commit is contained in:
		@@ -50,11 +50,11 @@ func GetChannel(db *DB, title, link, description string) (*rss.Channel, error) {
 | 
			
		||||
	return channel, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func GenerateRSS(db *DB, title, link, desc string) (*string, error) {
 | 
			
		||||
func GenerateRSS(c *Config, db *DB) (*string, error) {
 | 
			
		||||
	channel := &rss.Channel{
 | 
			
		||||
		Title:       title,
 | 
			
		||||
		Link:        link,
 | 
			
		||||
		Description: desc,
 | 
			
		||||
		Title:       c.Title,
 | 
			
		||||
		Link:        c.Link,
 | 
			
		||||
		Description: c.Description,
 | 
			
		||||
		Items:       make([]*rss.Item, 0),
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@@ -89,18 +89,13 @@ func GenerateRSS(db *DB, title, link, desc string) (*string, error) {
 | 
			
		||||
			return nil, fmt.Errorf("error converting description to plain text for RSS feed: %v", err)
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		articleContent, err := ConvertToHTML(article.Content)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return nil, fmt.Errorf("error converting content to HTML for RSS feed: %v", err)
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		channel.Items = append(channel.Items, &rss.Item{
 | 
			
		||||
			Title:       articleTitle,
 | 
			
		||||
			Author:      user.FirstName + " " + user.LastName,
 | 
			
		||||
			PubDate:     article.Created.Format(time.RFC1123Z),
 | 
			
		||||
			Description: articleDescription,
 | 
			
		||||
			Content:     &rss.Content{Value: articleContent},
 | 
			
		||||
			Author:      fmt.Sprint(user.FirstName, user.LastName),
 | 
			
		||||
			Categories:  tagNames,
 | 
			
		||||
			Description: articleDescription,
 | 
			
		||||
			Link:        fmt.Sprintf("http://%s/article/serve/%d", c.Domain, article.ID),
 | 
			
		||||
			PubDate:     article.Created.Format(time.RFC1123Z),
 | 
			
		||||
			Title:       articleTitle,
 | 
			
		||||
		})
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										33
									
								
								cmd/calls/articles.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								cmd/calls/articles.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,33 @@
 | 
			
		||||
package calls
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"log"
 | 
			
		||||
	"net/http"
 | 
			
		||||
	"strconv"
 | 
			
		||||
 | 
			
		||||
	b "streifling.com/jason/cpolis/cmd/backend"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func ServeArticle(c *b.Config, db *b.DB) http.HandlerFunc {
 | 
			
		||||
	return func(w http.ResponseWriter, r *http.Request) {
 | 
			
		||||
		if tokenIsVerified(w, r, c) {
 | 
			
		||||
			idString := r.PathValue("id")
 | 
			
		||||
			id, err := strconv.ParseInt(idString, 10, 64)
 | 
			
		||||
			if err != nil {
 | 
			
		||||
				log.Println(err)
 | 
			
		||||
				http.Error(w, err.Error(), http.StatusInternalServerError)
 | 
			
		||||
				return
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			article, err := db.GetArticle(id)
 | 
			
		||||
			if err != nil {
 | 
			
		||||
				log.Println(err)
 | 
			
		||||
				http.Error(w, err.Error(), http.StatusInternalServerError)
 | 
			
		||||
				return
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			fmt.Fprint(w, article.Content)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
@@ -363,7 +363,7 @@ func PublishArticle(c *b.Config, db *b.DB, s *b.CookieStore) http.HandlerFunc {
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		feed, err := b.GenerateRSS(db, c.Title, c.Link, c.Description)
 | 
			
		||||
		feed, err := b.GenerateRSS(c, db)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			log.Println(err)
 | 
			
		||||
			http.Error(w, err.Error(), http.StatusInternalServerError)
 | 
			
		||||
@@ -582,7 +582,7 @@ func DeleteArticle(c *b.Config, db *b.DB, s *b.CookieStore) http.HandlerFunc {
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		feed, err := b.GenerateRSS(db, c.Title, c.Link, c.Description)
 | 
			
		||||
		feed, err := b.GenerateRSS(c, db)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			log.Println(err)
 | 
			
		||||
			http.Error(w, err.Error(), http.StatusInternalServerError)
 | 
			
		||||
 
 | 
			
		||||
@@ -49,6 +49,7 @@ func main() {
 | 
			
		||||
		http.FileServer(http.Dir(config.WebDir+"/static/"))))
 | 
			
		||||
	mux.HandleFunc("/", f.HomePage(config, db, store))
 | 
			
		||||
 | 
			
		||||
	mux.HandleFunc("GET /article/serve/{id}", c.ServeArticle(config, db))
 | 
			
		||||
	mux.HandleFunc("GET /create-tag", f.CreateTag(config, store))
 | 
			
		||||
	mux.HandleFunc("GET /create-user", f.CreateUser(config, store))
 | 
			
		||||
	mux.HandleFunc("GET /delete-article/{id}", f.DeleteArticle(config, db, store))
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user