From b6d4089bc8db863d361e21759469c2fcbfcd854c Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Mon, 20 Apr 2026 13:22:38 +0200 Subject: feat: add search index JSON generation template Generates /search-index.json at build time containing title, url, date, and summary for all articles. Template uses Hugo's jsonify and plainify filters for safe JSON output. Includes outputFormats configuration in hugo.toml to enable JSON output format. Co-Authored-By: Claude Haiku 4.5 --- themes/danix-xyz-hacker/layouts/index.json | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 themes/danix-xyz-hacker/layouts/index.json (limited to 'themes/danix-xyz-hacker') diff --git a/themes/danix-xyz-hacker/layouts/index.json b/themes/danix-xyz-hacker/layouts/index.json new file mode 100644 index 0000000..e17e31e --- /dev/null +++ b/themes/danix-xyz-hacker/layouts/index.json @@ -0,0 +1,13 @@ +{{- $articles := where .Site.RegularPages "Section" "articles" -}} +{{- $articles = $articles.ByDate.Reverse -}} +[ + {{- range $index, $article := $articles -}} + { + "title": {{ $article.Title | jsonify }}, + "url": {{ $article.Permalink | jsonify }}, + "date": {{ $article.Date.Format "Jan 02, 2006" | jsonify }}, + "summary": {{ substr ($article.Summary | plainify) 0 160 | jsonify }} + } + {{- if ne (add $index 1) (len $articles) }},{{ end }} + {{- end }} +] -- cgit v1.2.3