UNPKG

@itsmatteomanf/astro-pagefind

Version:
2 lines 1.27 kB
import{createIndex as l}from"pagefind";import{ZodError as g}from"zod";var p="@itsmatteomanf/astro-pagefind";import{z as e}from"zod";var m=e.object({index:e.object({rootSelector:e.string().optional(),excludeSelectors:e.array(e.string()).optional(),forceLanguage:e.string().optional(),keepIndexUrl:e.boolean().optional(),verbose:e.boolean().optional(),logfile:e.string().optional()}).optional().default({}),directories:e.array(e.string()).optional().default([""]),site:e.string().optional().default("pagefind")}).optional().default({}),d=n=>m.parse(n);var f=n=>{let r=!0,o;return{name:p,hooks:{"astro:config:done":async({logger:i})=>{try{o=d(n)}catch(t){if(t instanceof g)r=!1,i.error("Invalid options for `security-txt`. `security.txt` will not be generated.");else throw t}},"astro:build:done":async({dir:i,logger:t})=>{if(r)try{let{index:a}=await l(o.index);t.info("Created Pagefind index."),o.directories.map(async s=>{await a?.addDirectory({path:new URL(s,i).pathname}),t.info(`Added \`/${s}\` to the index.`)}),await a?.writeFiles({outputPath:new URL(o.site,i).pathname}),t.info(`Wrote Pagefind files to \`/${o.site}\`.`)}catch{t.error("Error building Pagefind index. Search will not be available.")}}}}};var O=f;export{O as default}; //# sourceMappingURL=index.js.map