mirror of
https://github.com/facebook/docusaurus.git
synced 2025-05-10 07:37:19 +02:00
feat(content-blog): parse date from middle of file path (#6245)
This commit is contained in:
parent
29ecf22409
commit
d133910cb2
6 changed files with 44 additions and 18 deletions
|
@ -63,7 +63,7 @@ export function getBlogTags(blogPosts: BlogPost[]): BlogTags {
|
|||
}
|
||||
|
||||
const DATE_FILENAME_REGEX =
|
||||
/^(?<date>\d{4}[-/]\d{1,2}[-/]\d{1,2})[-/]?(?<text>.*?)(\/index)?.mdx?$/;
|
||||
/^(?<folder>.*)(?<date>\d{4}[-/]\d{1,2}[-/]\d{1,2})[-/]?(?<text>.*?)(\/index)?.mdx?$/;
|
||||
|
||||
type ParsedBlogFileName = {
|
||||
date: Date | undefined;
|
||||
|
@ -76,12 +76,11 @@ export function parseBlogFileName(
|
|||
): ParsedBlogFileName {
|
||||
const dateFilenameMatch = blogSourceRelative.match(DATE_FILENAME_REGEX);
|
||||
if (dateFilenameMatch) {
|
||||
const dateString = dateFilenameMatch.groups!.date!;
|
||||
const text = dateFilenameMatch.groups!.text!;
|
||||
const {folder, text, date: dateString} = dateFilenameMatch.groups!;
|
||||
// Always treat dates as UTC by adding the `Z`
|
||||
const date = new Date(`${dateString}Z`);
|
||||
const slugDate = dateString.replace(/-/g, '/');
|
||||
const slug = `/${slugDate}/${text}`;
|
||||
const slug = `/${slugDate}/${folder}${text}`;
|
||||
return {date, text, slug};
|
||||
} else {
|
||||
const text = blogSourceRelative.replace(/(\/index)?\.mdx?$/, '');
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue