blob: 7f30c804107f4cda01ff146136e596a1a4f81236 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
{{- /* Generate the search index. */ -}}
{{- $pages := slice -}}
{{- $mainSections := site.Params.mainSections | default (slice "posts") -}}
{{- $pages = where site.RegularPages.ByDate.Reverse "Type" "in" $mainSections -}}
{{- $.Scratch.Add "pagesIndex" slice -}}
{{- $.Scratch.Add "urlsAdded" slice -}}
{{- range $index, $page := $pages -}}
{{- /* Do not index drafts or private pages. */ -}}
{{- if and (not .Draft) (not .Params.private) | and (ne .Params.searchable false) -}}
{{- /* Do not index pages w/o content. */ -}}
{{- if gt (len $page.Content) 0 -}}
{{- /* Add page to index. */ -}}
{{- if not (in ($.Scratch.Get "urlsAdded") $page.Permalink) -}}
{{- /* Exclude virtual pages which aren't backed by a file */ -}}
{{ if .File -}}
{{- $publishDate := $page.PublishDate -}}
{{- if $publishDate.IsZero -}}
{{ $publishDate = now -}}
{{- end -}}
{{- $modifiedDate := $page.Lastmod -}}
{{- if $modifiedDate.IsZero -}}
{{ $modifiedDate = $publishDate -}}
{{- end -}}
{{- $pageData := (dict
"objectID" $page.File.UniqueID
"title" $page.Title
"href" $page.Permalink
"lang" ($page.Params.lang | default $page.Lang)
"tags" ($page.Params.tags | default slice)
"kind" $page.Kind
"type" $page.Type
"section" $page.Section
"content" (trim $page.Plain "\n ")
"publishDate" $publishDate
"lastmod" $modifiedDate
) -}}
{{- $.Scratch.Add "pagesIndex" $pageData -}}
{{- $.Scratch.Add "urlsAdded" $page.Permalink -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{- $.Scratch.Get "pagesIndex" | jsonify -}}
|