Skip to content

Commit a512cde

Browse files
authored
Merge pull request #367 from iamcam/master
Exclude drafts from the sitemap, added typescript file to glob
2 parents 6873a1d + c1043d0 commit a512cde

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

scripts/generate-sitemap.js

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,19 @@
11
const fs = require('fs')
22
const globby = require('globby')
3+
const matter = require('gray-matter')
34
const prettier = require('prettier')
45
const siteMetadata = require('../data/siteMetadata')
56

67
;(async () => {
78
const prettierConfig = await prettier.resolveConfig('./.prettierrc.js')
89
const pages = await globby([
910
'pages/*.js',
11+
'pages/*.tsx',
1012
'data/blog/**/*.mdx',
1113
'data/blog/**/*.md',
1214
'public/tags/**/*.xml',
1315
'!pages/_*.js',
16+
'!pages/_*.tsx',
1417
'!pages/api',
1518
])
1619

@@ -19,16 +22,26 @@ const siteMetadata = require('../data/siteMetadata')
1922
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
2023
${pages
2124
.map((page) => {
25+
// Exclude drafts from the sitemap
26+
if (page.search('.md') >= 1 && fs.existsSync(page)) {
27+
const source = fs.readFileSync(page, 'utf8')
28+
const fm = matter(source)
29+
if (fm.data.draft) {
30+
return
31+
}
32+
}
2233
const path = page
2334
.replace('pages/', '/')
2435
.replace('data/blog', '/blog')
2536
.replace('public/', '/')
2637
.replace('.js', '')
38+
.replace('.tsx', '')
2739
.replace('.mdx', '')
2840
.replace('.md', '')
2941
.replace('/feed.xml', '')
3042
const route = path === '/index' ? '' : path
31-
if (page === `pages/404.js` || page === `pages/blog/[...slug].js`) {
43+
44+
if (page.search('pages/404.') > -1 || page.search(`pages/blog/[...slug].`) > -1) {
3245
return
3346
}
3447
return `

0 commit comments

Comments
 (0)