Display categories
This commit is contained in:
@@ -161,22 +161,47 @@ function generateAuthorDirectories(posts) {
|
||||
fs.mkdirSync(AUTHORS_DIR, { recursive: true });
|
||||
}
|
||||
|
||||
// Group posts by author
|
||||
// Group posts by author using proper author data
|
||||
const postsByAuthor = {};
|
||||
|
||||
posts.forEach(post => {
|
||||
const authorName = post._embedded?.author?.[0]?.name || 'Unknown';
|
||||
const authorSlug = authorName.toLowerCase().replace(/\s+/g, '-').replace(/[^\w-]/g, '');
|
||||
|
||||
if (!postsByAuthor[authorSlug]) {
|
||||
postsByAuthor[authorSlug] = {
|
||||
name: authorName,
|
||||
slug: authorSlug,
|
||||
posts: []
|
||||
};
|
||||
const author = post._embedded?.author?.[0];
|
||||
if (author) {
|
||||
const authorSlug = author.slug;
|
||||
const authorName = author.name;
|
||||
|
||||
if (!postsByAuthor[authorSlug]) {
|
||||
postsByAuthor[authorSlug] = {
|
||||
id: author.id,
|
||||
name: authorName,
|
||||
slug: authorSlug,
|
||||
description: author.description || '',
|
||||
avatar: author.avatar_urls || {},
|
||||
link: author.link,
|
||||
posts: []
|
||||
};
|
||||
}
|
||||
|
||||
postsByAuthor[authorSlug].posts.push(post);
|
||||
} else {
|
||||
// Handle unknown author
|
||||
const unknownSlug = 'unknown';
|
||||
const unknownName = 'Unknown';
|
||||
|
||||
if (!postsByAuthor[unknownSlug]) {
|
||||
postsByAuthor[unknownSlug] = {
|
||||
id: 0,
|
||||
name: unknownName,
|
||||
slug: unknownSlug,
|
||||
description: '',
|
||||
avatar: {},
|
||||
link: '',
|
||||
posts: []
|
||||
};
|
||||
}
|
||||
|
||||
postsByAuthor[unknownSlug].posts.push(post);
|
||||
}
|
||||
|
||||
postsByAuthor[authorSlug].posts.push(post);
|
||||
});
|
||||
|
||||
// Create author directories and index pages
|
||||
@@ -187,13 +212,17 @@ function generateAuthorDirectories(posts) {
|
||||
fs.mkdirSync(authorDir, { recursive: true });
|
||||
}
|
||||
|
||||
// Generate author index page
|
||||
// Generate author index page with proper metadata
|
||||
const frontmatter = {
|
||||
title: `Lise des articles de ${author.name}`,
|
||||
title: `Articles de ${author.name}`,
|
||||
type: 'authors',
|
||||
layout: 'list',
|
||||
author: author.name,
|
||||
author_slug: author.slug
|
||||
author_slug: author.slug,
|
||||
description: author.description,
|
||||
avatar: author.avatar,
|
||||
link: author.link,
|
||||
post_count: author.posts.length
|
||||
};
|
||||
|
||||
const content = `---
|
||||
@@ -209,4 +238,4 @@ ${Object.entries(frontmatter)
|
||||
});
|
||||
}
|
||||
|
||||
generateContent();
|
||||
generateContent();
|
||||
|
||||
Reference in New Issue
Block a user