all repos

olexsmir.xyz @ 63cb42d7b9140bcff571c59479be88cc72856114

my site, yes, i like lua
3 files changed, 7 insertions(+), 4 deletions(-)
feat: add a way to add hidden pages
Author: Oleksandr Smirnov olexsmir@gmail.com
Committed at: 2025-12-16 17:32:25 +0200
Change ID: rqsuvxsvnqvzxmsqwyolukskvwswxnlw
Parent: cbe21a7
M lua/blog/pages.lua

@@ -70,7 +70,7 @@ { a.class "blog-posts" },

iter ---@param post lego.Post :filter(function(post) - return not post.hidden + return not (post.hidden or post.hidden_fully) end) ---@param post lego.Post :map(function(post)
M lua/lego/post.lua

@@ -6,6 +6,7 @@

---@class lego.Post ---@field content string ---@field hidden boolean +---@field hidden_fully boolean ---@field meta lego.PostMeta ---@class lego.PostMeta

@@ -20,14 +21,14 @@ function post.read_file(fpath)

local p = file.read(fpath) local content = table.concat(frontmatter.content(p) or {}, "\n") local meta = frontmatter.extract(p) - local hidden = meta["hidden"] == "true" assert(meta["title"] ~= nil, (file.to_path(fpath) .. " doesn't have title")) assert(meta["date"] ~= nil, (file.to_path(fpath) .. " doesn't have date")) assert(meta["slug"] ~= nil, (file.to_path(fpath) .. " doesn't have slug")) return { meta = meta, - hidden = hidden, + hidden = meta["hidden"] == "true", + hidden_fully = meta["hidden"] == "true, true", content = liblego.md_to_html(content), } end
M lua/lego/rss.lua

@@ -24,7 +24,9 @@ ---@return string

function rss.rss(posts, config) local entries = vim .iter(posts) - ---@param post lego.Post + :filter(function(post) + return not post.hidden_fully + end) :map(function(post) return h.el("entry", {}, { h.title({}, { h.text(post.meta.title) }),