Skip pagefind when HTML is unchanged
Stamp file makes the indexing step a proper file task.

Assisted-by: Claude Opus 4.6 via pi
change vuwmskkxuxtunykxklxtktxsspnvuzzq
commit e1b284d4d6dc9aec64a8dc98fd8a632bf71f24bf
author Alpha Chen <alpha@kejadlen.dev>
date
parent lkulsnqm
diff --git a/Rakefile b/Rakefile
index 42685f9..8e94706 100644
--- a/Rakefile
+++ b/Rakefile
@@ -174,9 +174,14 @@ ALL_HTML_PATHS = EPISODE_HTML_PATHS + [INDEX_HTML_PATH]
 desc "Generate HTML transcript pages"
 task html: ALL_HTML_PATHS
 
+PAGEFIND_STAMP = (CONFIG.pages_dir / ".pagefind-stamp").to_s
+
 desc "Index pages for search with Pagefind"
-task pagefind: ALL_HTML_PATHS do
+task pagefind: PAGEFIND_STAMP
+
+file PAGEFIND_STAMP => ALL_HTML_PATHS do
   sh "uv", "run", "--with", "pagefind[bin]", "python3", "-m", "pagefind", "--site", CONFIG.pages_dir.to_s
+  FileUtils.touch(PAGEFIND_STAMP)
 end
 
 desc "Serve the generated pages locally"