Exemplo n.º 1
0
func addTagsToSitemap(buf *bytes.Buffer, db *orm.DB, opt *app.Options) error {
	sql := "SELECT {id} AS ID, {name} AS Name, {title} AS Title, {description} AS Description FROM #tags"
	rows, err := db.Query(true, sql)
	if err != nil {
		return err
	}
	defer rows.Close()

	tags := make([]*front.Tag, 0, 100)
	if _, err := fetch.Obj(&tags, rows); err != nil {
		return err
	}

	now := time.Now().Unix()
	for _, tag := range tags {
		addItemToSitemap(buf, tag.Permalink(), opt.TagsChangefreq, now, opt.TagsPriority)
	}
	return nil
}
Exemplo n.º 2
0
func addPostsToSitemap(buf *bytes.Buffer, db *orm.DB, opt *app.Options) error {
	sql := `SELECT {id} AS ID, {name} AS Name, {title} AS Title, {summary} AS Summary,
		{content} AS Content, {created} AS Created, {modified} AS Modified
		FROM #posts WHERE {state}=?`
	rows, err := db.Query(true, sql, models.PostStatePublished)
	if err != nil {
		return err
	}
	defer rows.Close()

	posts := make([]*front.Post, 0, 100)
	if _, err := fetch.Obj(&posts, rows); err != nil {
		return err
	}

	for _, p := range posts {
		addItemToSitemap(buf, p.Permalink(), opt.PostsChangefreq, p.Modified, opt.PostsPriority)
	}
	return nil
}