-- -- Sitemap generator, based on dmbaturin's atom generator. -- -- Uses the list of pages contained in `site_index'. -- -- Requires a "site_url" value as seen below: -- -- [custom_options] -- site_url = "https://domain.tld" -- -- Sample widget configuration: -- -- [widgets.sitemap] -- widget = "sitemap" -- sitemap_file = "sitemap.xml" -- Plugin.require_version("2.2.0") config["site_url"] = soupault_config["custom_options"]["site_url"] local c = 1 local count = size(site_index) local file = config["sitemap_file"] local all_pages = {} while (c <= count) do local p = site_index[c] all_pages[c] = p c = c + 1 end config["all_pages"] = all_pages -- From: https://developers.google.com/search/docs/advanced/sitemaps/build-sitemap local sitemap_template = [[ {%- for p in all_pages -%} {{ site_url }}{{ p.url }} {%- if p.date -%}{{ p.date }}{%- else -%}{{ p.git_timestamp }}{%- endif -%} {%- endfor -%} ]] local sitemap = String.render_template(sitemap_template, config) Sys.write_file(Sys.join_path(soupault_config["settings"]["build_dir"], file), String.trim(sitemap))