comparison mod_pubsub_summary/mod_pubsub_summary.lua @ 4507:86a97e7572b2

mod_pubsub_summary: Fix traceback when <content> not included Noticed while posting entries with only <title> present
author Kim Alvefur <zash@zash.se>
date Fri, 12 Mar 2021 11:00:26 +0100
parents 2bb11055e4bb
children ade2064160e3
comparison
equal deleted inserted replaced
4506:508cb880b163 4507:86a97e7572b2
5 local payload = event.payload; 5 local payload = event.payload;
6 local title = payload:get_child_text("title"); 6 local title = payload:get_child_text("title");
7 -- Note: This prefers content over summary, it was made for a news feed where 7 -- Note: This prefers content over summary, it was made for a news feed where
8 -- the interesting stuff was in the content and the summary was .. meh. 8 -- the interesting stuff was in the content and the summary was .. meh.
9 local content_tag = payload:get_child("content") or payload:get_child("summary"); 9 local content_tag = payload:get_child("content") or payload:get_child("summary");
10 local content = content_tag:get_text(); 10 local content = content_tag and content_tag:get_text();
11 if content_tag.attr.type == "html" then 11 if content and content_tag.attr.type == "html" then
12 content = content:gsub("\n*<p[^>]*>\n*(.-)\n*</p>\n*", "%1\n\n"); 12 content = content:gsub("\n*<p[^>]*>\n*(.-)\n*</p>\n*", "%1\n\n");
13 content = content:gsub("<li>(.-)</li>\n", "* %1\n"); 13 content = content:gsub("<li>(.-)</li>\n", "* %1\n");
14 content = content:gsub("<a[^>]*href=[\"'](.-)[\"'][^>]*>(.-)</a>", "%2 <%1>"); 14 content = content:gsub("<a[^>]*href=[\"'](.-)[\"'][^>]*>(.-)</a>", "%2 <%1>");
15 content = content:gsub("<b>(.-)</b>", "*%1*"); 15 content = content:gsub("<b>(.-)</b>", "*%1*");
16 content = content:gsub("<strong>(.-)</strong>", "*%1*"); 16 content = content:gsub("<strong>(.-)</strong>", "*%1*");