forked from snxraven/ravenscott-blog
Add error message when no posts are found
This commit is contained in:
parent
9ec9374ea2
commit
ec891ab070
12
app.js
12
app.js
@ -68,6 +68,10 @@ function getAllBlogPosts(page = 1, postsPerPage = 5, searchQuery = '') {
|
||||
blogFiles = blogFiles.filter(file => file.toLowerCase().includes(lowerCaseQuery));
|
||||
}
|
||||
|
||||
if (blogFiles.length === 0) {
|
||||
return { blogPosts: [], totalPages: 0 }; // Return empty results if no files
|
||||
}
|
||||
|
||||
blogFiles.sort((a, b) => {
|
||||
const statA = fs.statSync(path.join(__dirname, 'markdown', a)).birthtime;
|
||||
const statB = fs.statSync(path.join(__dirname, 'markdown', b)).birthtime;
|
||||
@ -105,15 +109,19 @@ app.get('/', (req, res) => {
|
||||
const postsPerPage = 5;
|
||||
const { blogPosts, totalPages } = getAllBlogPosts(page, postsPerPage, searchQuery);
|
||||
|
||||
const noResults = blogPosts.length === 0; // Check if there are no results
|
||||
|
||||
res.render('index', {
|
||||
title: `${process.env.OWNER_NAME} Blog`,
|
||||
title: `${process.env.OWNER_NAME}'s Blog`,
|
||||
blogPosts,
|
||||
currentPage: page,
|
||||
totalPages,
|
||||
searchQuery // Pass search query to the view
|
||||
searchQuery, // Pass search query to the view
|
||||
noResults // Pass this flag to indicate no results found
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
// About Route
|
||||
app.get('/about', (req, res) => {
|
||||
res.render('about', { title: `About ${process.env.OWNER_NAME}` });
|
||||
|
@ -49,7 +49,11 @@
|
||||
<div class="container">
|
||||
|
||||
<!-- Blog post list -->
|
||||
<h2><%= searchQuery ? `Search results for "${searchQuery}"` : 'Recent Posts' %></h2>
|
||||
<% if (noResults) { %>
|
||||
<p><CENTER>Sorry, no blog posts found matching "<%= searchQuery %>"</CENTER></p>
|
||||
<% } else { %>
|
||||
<h2><%= searchQuery ? 'Search results for "' + searchQuery + '"' : 'Recent Posts' %></h2>
|
||||
<% } %>
|
||||
<ul class="list-group list-group-flush">
|
||||
<% blogPosts.forEach(post => { %>
|
||||
<li class="list-group-item d-flex justify-content-between align-items-center py-4">
|
||||
|
Loading…
Reference in New Issue
Block a user