{{ define "main" }} { {{ $postsDir := .Site.Params.Posts | default (slice "posts" "post") }} {{ $allPostsList := where .Site.RegularPages "Section" "in" $postsDir }} {{ $featuredPostsList := slice }} {{ $postsList := $allPostsList }} {{ if .Site.Params.enableFeatured | default false }} {{ $featuredPostsList = where $allPostsList "Params.featured" true }} {{ $postsList = union (where $allPostsList "Params.featured" false) (where $allPostsList "Params.featured" nil) }} {{ end }} {{ $mscratch := newScratch }} {{ $mscratch.Add "articles" slice }} {{ range (.Paginate $postsList).Pages }} {{ $image := "" }} {{ if .Params.Image }} {{ if or (hasPrefix .Params.Image "/") (hasPrefix .Params.Image "http://") (hasPrefix .Params.Image "https://") }} {{ $image = .Params.Image }} {{ else }} {{ $image = path.Join (path.Join .File.Dir .Params.Image) }} {{ end }} {{ end }} {{ $mscratch.Add "articles" (dict "title" .Title "date" (.Date.Format "2006-01-02") "tags" (sort (or .Params.tags slice)) "summary" (or .Params.description .Summary) "link" .Permalink "image" $image "imageAlt" (or .Params.Alt "")) }} {{ end }} "articles": {{ $mscratch.Get "articles" | jsonify }}, "test": "{{range $postsList}}{{.Title}} {{end}}", "page": "{{ .Paginator.PageNumber }}", "next": {{ if .Paginator.HasNext }} {{ .Paginator.Next.URL | absURL | jsonify }} {{ else }}""{{ end }} } {{ end }}