Skip to content

Commit

Permalink
Merge a60c7b9 into 34e240c
Browse files Browse the repository at this point in the history
  • Loading branch information
Mister-Hope committed Apr 21, 2024
2 parents 34e240c + a60c7b9 commit 3630675
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 22 deletions.
29 changes: 8 additions & 21 deletions packages/core/src/page/resolvePagePermalink.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,15 @@ export const resolvePagePermalink = ({
return frontmatter.permalink
}

if (frontmatter.permalink === null || frontmatter.permalinkPattern === null) {
return null
}

// get permalink pattern
const permalinkPattern = getPermalinkPattern({ app, frontmatter })
if (permalinkPattern === null) {
const permalinkPattern =
frontmatter.permalinkPattern || app.options.permalinkPattern

if (!permalinkPattern) {
return null
}

Expand All @@ -45,22 +51,3 @@ export const resolvePagePermalink = ({

return ensureLeadingSlash(link)
}

/**
* Get permalink pattern from frontmatter or app options
*/
const getPermalinkPattern = ({
app,
frontmatter,
}: {
app: App
frontmatter: PageFrontmatter
}): string | null => {
if (frontmatter.permalinkPattern === null) {
return null
}
if (isString(frontmatter.permalinkPattern)) {
return frontmatter.permalinkPattern
}
return app.options.permalinkPattern
}
15 changes: 15 additions & 0 deletions packages/core/tests/page/resolvePagePermalink.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,21 @@ describe('core > page > resolvePagePermalink', () => {
expect(resolved).toBe('/frontmatter')
})

it('should return null', () => {
const resolved = resolvePagePermalink({
app: appWithPermalinkPattern,
frontmatter: {
permalink: null,
},
slug: '',
date: '',
pathInferred: '/inferred',
pathLocale: '',
})

expect(resolved).toBe(null)
})

it('should use permalinkPattern in frontmatter', () => {
const resolved = resolvePagePermalink({
app,
Expand Down
2 changes: 1 addition & 1 deletion packages/shared/src/types/page.ts
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ export type PageFrontmatter<
head?: HeadConfig[]
lang?: string
layout?: string
permalink?: string
permalink?: string | null
permalinkPattern?: string | null
routeMeta?: Record<string, unknown>
title?: string
Expand Down

0 comments on commit 3630675

Please sign in to comment.