Include astro template urls in sitemap

getUrlsForAstroDefinedPages
This commit is contained in:
Sam Carlton 2022-06-11 18:49:19 -05:00
parent 7cc4c04347
commit 8c4700c7ea
2 changed files with 42 additions and 4 deletions

View file

@ -1,10 +1,39 @@
// import fs from 'fs-extra'
import glob from 'fast-glob'
import { simpleSitemapAndIndex } from 'sitemap'
import {
sitemapLocation
import {
sitemapLocation
} from '~/helpers/constants.js'
import { getSiteUrl } from '~/helpers/url.js'
const astroPageTemplatePath = './src/pages'
export async function getUrlsForAstroDefinedPages () {
const siteUrl = getSiteUrl()
const filesPaths = await glob( `${ astroPageTemplatePath }/**/*.astro` )
const urls = []
for ( const filePath of filesPaths ) {
const urlPath = filePath
.replace( astroPageTemplatePath, '' )
.replace( '.astro', '' )
.replace( '/index', '/' )
// Skip any paths for templates that include '['
if ( urlPath.includes( '[' ) ) continue
console.log( 'urlPath', urlPath )
// Create a new url object from the site url and the path
const url = new URL( urlPath, siteUrl )
urls.push( url.pathname )
}
return urls
}
export async function saveSitemap ( sitemapUrls ) {