From 173e4f5947b02a7c68f87f8a655b4c48f0c6c412 Mon Sep 17 00:00:00 2001 From: antares Date: Fri, 22 Nov 2024 07:09:42 -0800 Subject: [PATCH] export number of replies, sort replies newest first --- pleroma-comments.lua | 38 +++++++++++++++++++++++++------------- 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/pleroma-comments.lua b/pleroma-comments.lua index 6e3806f..5fa996e 100644 --- a/pleroma-comments.lua +++ b/pleroma-comments.lua @@ -44,28 +44,33 @@ end function write_comments(pleroma_posts, instance) local template = [[ -

- $datetime$ -

-$alias$ -
- $text$ -
+
+

+ #$i$ $datetime$ +

+

$alias$ @$handle$

+
+ $text$ +
+
]] local comments = {} local replies = pleroma_posts-- ["descendants"] - for _, post in ipairs(replies) do + for i, post in ipairs(replies) do local pid = post["id"] local datetime = get_short_date(post["created_at"]) local uid = post["account"]["id"] - local alias = post["account"]["acct"] + local alias = post["account"]["display_name"] + local handle = post["account"]["acct"] local text = post["pleroma"]["content"]["text/plain"] local interpolated = template:gsub("%$(%w+)%$", { + i= #replies - i + 1, host=instance, pid=pid, datetime=datetime, uid = uid, - alias = alias, + handle = handle, + alias=alias, text = text }) -- print(interpolated) @@ -92,14 +97,18 @@ function Meta(meta) return -- abort end local all_replies = {} + local newelem = {} local host = "" for _, v in pairs(elem) do local str = pandoc.utils.stringify(v) print(str) - local tokens = tokenizeString(str, '/') -- 1 = protocol, 2 = host ... -- https://host.tld/notice/12345 + local tokens = tokenizeString(str, '/') local id = tokens[#tokens] + table.insert(newelem, + {link = str, id = id} + ) host = tokens[2] local url = "https://" .. host .. "/api/v1/statuses/" .. id .. "/context" local got = get(url) @@ -113,10 +122,13 @@ function Meta(meta) function(a, b) local ta = get_epoch_time(a["created_at"]) local tb = get_epoch_time(b["created_at"]) - return ta < tb + return ta > tb end ) - meta["comments"] = write_comments(all_replies, "https://" .. host) + local c = write_comments(all_replies, "https://" .. host) + meta["pleroma-comments"] = c + meta["pleroma-comments-count"] = #c + meta["pleroma"] = newelem return meta end