aboutsummaryrefslogtreecommitdiff
path: root/src/content/blog
diff options
context:
space:
mode:
Diffstat (limited to 'src/content/blog')
-rw-r--r--src/content/blog/Blog.cpp18
-rw-r--r--src/content/blog/Blog.hpp2
2 files changed, 18 insertions, 2 deletions
diff --git a/src/content/blog/Blog.cpp b/src/content/blog/Blog.cpp
index 1893cc5..d2a66c8 100644
--- a/src/content/blog/Blog.cpp
+++ b/src/content/blog/Blog.cpp
@@ -41,6 +41,9 @@ bool Blog::Init()
m_Redirections.push_back(std::filesystem::path(jfile.first).stem());
}
+ std::sort(m_BlogEntriesSortedByDate.begin(), m_BlogEntriesSortedByDate.end(), [](auto const & a, auto const & b) {
+ return a->publishDate > b->publishDate;
+ });
m_BlogContents.Init();
@@ -169,16 +172,29 @@ bool Blog::ValidateEntries() const
return retval;
}
-void Blog::GenerateBlogListing(RenderData & rd) const
+void Blog::GenerateBlogListing(RenderData & rd)
{
for (auto const & e : m_BlogEntriesSortedByDate)
{
+ if (e->published == false)
+ {
+ continue;
+ }
+
RenderData re;
re["metadata_filename"] = e->metadata_filename;
re["content_filename"] = e->content_filename;
re["createDate"] = e->createDate;
re["publishDate"] = e->publishDate;
re["published"] = e->published;
+ if (m_BlogContents.HasMarkdownFile(e->content_filename) == true)
+ {
+ re["content"] = m_BlogContents.GetMarkdownHTML(e->content_filename)->c_str();
+ }
+ else
+ {
+ re["content"] = "";
+ }
rd += re;
}
diff --git a/src/content/blog/Blog.hpp b/src/content/blog/Blog.hpp
index a0e35b1..f577d69 100644
--- a/src/content/blog/Blog.hpp
+++ b/src/content/blog/Blog.hpp
@@ -40,7 +40,7 @@ public:
static bool ValidateAndSetMetdadata(BlogMetadata const & blogMetadata, BlogEntry & blogEntry);
bool ValidateEntries() const;
- void GenerateBlogListing(RenderData & rd) const;
+ void GenerateBlogListing(RenderData & rd);
private:
std::string m_UriBasePath;