{{- $title := .Site.Title -}} {{- if not (eq .Kind "home") -}} {{- $title = printf `%s on %s` (partial "utils/title" .) $title -}} {{- end -}} { "version": "https://jsonfeed.org/version/1.1", "title": {{ $title | jsonify }}, {{- with .Site.Params.subtitle }} "description": {{ . | jsonify }}, {{- end }} "home_page_url" : "{{ .Site.BaseURL }}", {{- with .OutputFormats.Get "json" }} "feed_url" : "{{ .Permalink }}", {{- end }} {{- with .Site.Params.geekblogAuthor -}} {{ with index $.Site.Data.authors . }} "authors" : [ { "name" : "{{ .name }}"{{ with .url }}, "url": "{{ . }}"{{ end }}{{ with .avatar }}, "avatar": "{{ . }}"{{ end }} } ], {{- end }} {{- end }} "items" : [ {{- $pages := where .RegularPages "Type" "in" .Site.Params.mainSections -}} {{- if (eq .Kind "home") -}} {{- $pages = where .Site.RegularPages "Type" "in" .Site.Params.mainSections -}} {{- end -}} {{- $len := (len $pages) }} {{- range $i, $page := $pages }} { "title" : {{ (partial "utils/title" .) | jsonify }}, "date_published" : {{ (.Date.Format "2006-01-02T15:04:05Z07:00") | jsonify }}, "date_modified" : {{ (.Lastmod.Format "2006-01-02T15:04:05Z07:00") | jsonify }}, "id" : "{{ .Permalink }}", "url" : "{{ .Permalink }}", {{- with ($page.Resources.ByType "image").GetMatch "{*feature*,*cover*,*thumbnail*}" }} {{- $featured := .Fill (printf "910x280 %s" (default "Smart" .Params.anchor)) -}} "image" : "{{ $featured.Permalink }}", {{- end }} {{- with .Params.authors -}} "authors" : [ {{- $authors := (sort .) }} {{- $authors_len := (len $authors) }} {{- range $i, $element := $authors -}} {{- $author := index $.Site.Data.authors $element }} { "name" : "{{ $author.name }}" }{{ if ne (add $i 1) $authors_len }},{{ end }} {{- end }} ], {{- end }} "content_html" : {{ .Content | jsonify }} }{{ if ne (add $i 1) $len }},{{ end }} {{- end }} ] }