Merge pull request '[I41] Implement comments feed' (#54) from I41_Implement-comments-feed into main
Reviewed-on: #54
This commit is contained in:
commit
d8613143d3
4
site.cfg
4
site.cfg
@ -175,3 +175,7 @@ root_template: rss.tpl.xml
|
||||
content: rss-hpr_total.tpl.xml
|
||||
filename: hpr_total_spx.rss
|
||||
media_file_extension: spx
|
||||
|
||||
[comments]
|
||||
root_template: rss-comments.tpl.xml
|
||||
filename: comments.rss
|
||||
|
@ -88,6 +88,7 @@ Subscribe to the comments <a href="https://www.hackerpublicradio.org/comments_rs
|
||||
</p>
|
||||
<!--% query_comments = DBI.prepare('
|
||||
SELECT
|
||||
id,
|
||||
comment_timestamp,
|
||||
comment_author_name,
|
||||
comment_title,
|
||||
@ -99,7 +100,7 @@ Subscribe to the comments <a href="https://www.hackerpublicradio.org/comments_rs
|
||||
<!--% comment_index = 1 %-->
|
||||
<!--% comments_result = query_comments.execute(id) %-->
|
||||
<!--% FOREACH comment IN comments_result %-->
|
||||
<h5 id="1">Comment #<!--% comment_index %--> posted on <!--% comment.comment_timestamp %--> by <!--% comment.comment_author_name %--></h5>
|
||||
<h5 id="comment_<!--% comment.id %-->">Comment #<!--% comment_index %--> posted on <!--% comment.comment_timestamp %--> by <!--% comment.comment_author_name %--></h5>
|
||||
<h4><!--% comment.comment_title %--></h4>
|
||||
<!--% comment.comment_text %-->
|
||||
<!--% comment_index = comment_index + 1 %-->
|
||||
|
58
templates/rss-comments.tpl.xml
Normal file
58
templates/rss-comments.tpl.xml
Normal file
@ -0,0 +1,58 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" >
|
||||
<!--% PROCESS 'shared-utils.tpl.html' %-->
|
||||
<!--% PROCESS 'shared-episode-summary.tpl.html' %-->
|
||||
<channel>
|
||||
<title>Hacker Public Radio ~ Comment Feed</title>
|
||||
<link><!--% baseurl %-->about.html</link>
|
||||
<description>Comments Feed: Hacker Public Radio is an podcast that releases shows every weekday Monday through Friday. Our shows are produced by the community (you) and can be on any topic that are of interest to hackers and hobbyists.</description>
|
||||
<language>en-us</language>
|
||||
<copyright>Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) License</copyright>
|
||||
<managingEditor>feedback.nospam@nospam.hackerpublicradio.org (HPR Feedback)</managingEditor>
|
||||
<webMaster>admin.nospam@nospam.hackerpublicradio.org (HPR Webmaster)</webMaster>
|
||||
<generator>hpr_generator</generator>
|
||||
<docs>http://www.rssboard.org/rss-specification</docs>
|
||||
<ttl>600</ttl>
|
||||
<image>
|
||||
<url><!--% baseurl %-->images/hpr_feed_small.png</url>
|
||||
<title>Hacker Public Radio ~ Comment Feed</title>
|
||||
<link><!--% baseurl %-->about.html</link>
|
||||
<description>The Hacker Public Radio Old Microphone Logo</description>
|
||||
<height>164</height>
|
||||
<width>144</width>
|
||||
</image>
|
||||
<atom:link href="<!--% baseurl %-->comments.rss" rel="self" type="application/rss+xml" />
|
||||
<pubDate><!--% format_feed_date(current_date) %--></pubDate>
|
||||
<!--% USE DBI(constants.driver, constants.user, constants.password) %-->
|
||||
<!--% FOREACH item IN DBI.query('
|
||||
SELECT C.*,
|
||||
H.host, H.hostid AS host_id,
|
||||
E.title AS episode_title,
|
||||
E.date AS episode_date,
|
||||
E.duration AS episode_duration,
|
||||
M.id AS series_id, M.name AS series_name
|
||||
FROM comments AS C
|
||||
INNER JOIN eps AS E
|
||||
ON C.eps_id = E.id
|
||||
INNER JOIN hosts AS H
|
||||
ON E.hostid = H.hostid
|
||||
INNER JOIN miniseries AS M
|
||||
ON E.series = M.id
|
||||
ORDER BY C.comment_timestamp DESC
|
||||
LIMIT 30
|
||||
')
|
||||
%-->
|
||||
|
||||
<item>
|
||||
<title><!--% item.comment_author_name %--> says: <!--% item.comment_title %--></title>
|
||||
<author>feedback.nospam@nospam.hackerpublicradio.org (<!--% item.comment_author_name %-->)</author>
|
||||
<link><!--% baseurl %-->eps/hpr<!--% zero_pad_left(item.eps_id) %-->/index.html#comments</link>
|
||||
<description><![CDATA[<strong>RE: hpr<!--% zero_pad_left(item.eps_id) %-->::<!--% item.episode_date %--> <em><!--% item.episode_title %--></em> by <a href="<!--% baseurl %-->correspondents/<!--% zero_pad_left(item.host_id) %-->.html"><!--% item.host %--></a></strong><!--% rss_show_series(item.series_name, item.series_id) %--><br />
|
||||
<!--% display_episode_duration(item.episode_duration) %--><!--% display_listen_in(item.eps_id) %--><br /><!--% item.comment_text %-->
|
||||
]]></description>
|
||||
<pubDate><!--% format_feed_date(item.comment_timestamp) %--></pubDate>
|
||||
<guid isPermaLink="false"><!--% baseurl %-->eps/hpr<!--% zero_pad_left(item.eps_id) %-->/index.html#comment_<!--% item.id %--></guid>
|
||||
</item>
|
||||
<!--% END %-->
|
||||
</channel>
|
||||
</rss>
|
@ -1,5 +1,9 @@
|
||||
<!--% PROCESS 'shared-utils.tpl.html' %-->
|
||||
|
||||
<!--% MACRO rss_show_series(series, series_id) IF series != "general" %-->
|
||||
from the series <em><a href="<!--% baseurl %-->series/<!--% zero_pad_left(series_id) %-->.html"><!--% series %--></em></a>.
|
||||
<!--% END %-->
|
||||
|
||||
<!--% MACRO show_series(series, series_id, label) IF series != "" %-->
|
||||
<!--% IF label == "" %-->
|
||||
<!--% label = "Series" %-->
|
||||
@ -13,7 +17,7 @@
|
||||
|
||||
<!--% MACRO display_listen_in(eps_id, episode_type) BLOCK %-->
|
||||
<!--% IF episode_type == "" %--><!--% episode_type = 'hpr' %--><!--% END %-->
|
||||
Listen in
|
||||
Listen in
|
||||
<!--% IF episode_type == 'hpr' %-->
|
||||
<a href="<!--% media_path(eps_id, episode_type, 'ogg', baseurl, media_baseurl) %-->">ogg</a>,
|
||||
<a href="<!--% media_path(eps_id, episode_type, 'spx', baseurl, media_baseurl) %-->">spx</a>,
|
||||
|
@ -36,7 +36,7 @@
|
||||
<!--% END %-->
|
||||
|
||||
<!--% MACRO format_feed_date(date_to_format) BLOCK %-->
|
||||
<!--% USE feed_date = date(format = '%a, %e %b %Y 00:00:00 +0000', gmt=1) %-->
|
||||
<!--% USE feed_date = date(format = '%a, %d %b %Y %H:%M:%S +0000', gmt=1) %-->
|
||||
<!--% feed_date.format(date_to_format) %-->
|
||||
<!--% END %-->
|
||||
|
||||
|
Reference in New Issue
Block a user