Refactor posts function to reduce line length

This commit is contained in:
Catalin Constantin Mititiuc 2025-06-16 20:16:37 -07:00
parent 08f67c9be3
commit d334aaf003

View File

@ -5,22 +5,16 @@ rootname = (str) ->
result = string.gsub str, "%..+", ""
result
last = (list) -> list[#list]
split = (str, delimiter="/") ->
[capture for capture in string.gmatch str, "[^#{delimiter}]+"]
join = (first, last, delimiter="/") -> table.concat({first, last}, delimiter)
target = (path, prefix) -> join(prefix, rootname(last(split path)))
-- posts = (path=".") ->
-- {join(path, file), target(file, "/posts") for file in lfs.dir path when file != "." and file != ".."}
last = (list) -> list[#list]
join = (first, last, delimiter="/") -> table.concat {first, last}, delimiter
target = (path, prefix) -> join prefix, rootname(last(split path))
posts = (path=".") ->
files = [file for file in lfs.dir(path) when file != "." and file != ".."]
tuples = for _, file in ipairs files
{join(path, file), target(file, "/posts")}
{unpack tup for tup in *tuples}
files = [file for file in lfs.dir path when file != "." and file != ".."]
{join(path, file), target(file, "/posts") for _, file in ipairs files}
sitegen.create =>
@title = "Hello World"