2022-07-31 22:25:15 -04:00
<!--% PROCESS 'shared-avatar.tpl.html' %-->
2022-08-01 20:19:44 -04:00
<!--% PROCESS 'shared-utils.tpl.html' %-->
2022-09-18 16:23:35 -04:00
<!--% PROCESS 'shared-listen-now.tpl.html' %-->
2023-02-24 18:58:56 -05:00
<!--% PROCESS 'shared-show-transcript.tpl.html' %-->
2022-11-10 22:14:55 -05:00
<!--% PROCESS 'shared-call_for_shows.tpl.html' %-->
2025-04-03 07:22:35 +01:00
<!--% PROCESS "queries-index.tpl.html" %-->
2023-03-19 22:51:21 +11:00
<!--% MACRO tidy_notes(all_lines) BLOCK %-->
<!--% lines = all_lines %-->
<!--% after_html = all_lines %-->
<!--% img_re = '(?six)^(.*?)\<img ([^\>]+\>)(.+)$' %-->
<!--% lazy_re = '(?i)loading="lazy"' %-->
<!--% WHILE (matches = lines.match(img_re)) %-->
2023-10-29 17:28:04 +00:00
<!--% img_tag = matches.1 %-->
<!--% after_html = matches.2 %-->
<!--% matches.0 %-->
<!--% IF (img_tag.search(lazy_re)) %-->
2023-03-19 22:51:21 +11:00
< img <! -- % img_tag % -- >
2023-10-29 17:28:04 +00:00
<!--% ELSE %-->
2023-03-19 22:51:21 +11:00
< img loading = "lazy" <! -- % img_tag % -- >
2023-10-29 17:28:04 +00:00
<!--% END %-->
<!--% lines = after_html %-->
2023-03-19 22:51:21 +11:00
<!--% END %-->
<!--% after_html %-->
<!--% END %-->
2022-09-05 20:26:12 -04:00
<!--% days_till_next_episode = 0 %-->
2025-04-03 07:22:35 +01:00
<!--% USE DBI(constants.driver) %-->
2022-09-05 20:26:12 -04:00
<!--% USE date %-->
<!--% calc = date.calc %-->
2023-11-17 18:23:22 +00:00
<!--% episodes = DBI.query(query_next_available_episode).get_all() %-->
<!--% last_date = episodes.0.date.split('-') %-->
2023-10-29 17:28:04 +00:00
<!--% offset = (calc.Day_of_Week(last_date.0,last_date.1,last_date.2) == 5 ? 3 : 1) %-->
<!--% slot_date = calc.Add_Delta_Days(last_date.0,last_date.1,last_date.2,offset) %-->
<!--% now = calc.Today() %-->
<!--% days_till_next_episode = calc.Delta_Days(now.0,now.1,now.2,slot_date.0,slot_date.1,slot_date.2) %-->
2022-07-18 18:25:25 -04:00
<!--% delta = date.calc.N_Delta_YMD(2005,9,19, date.format(date.now, '%Y'),date.format(date.now, '%m'),date.format(date.now, '%d')) %-->
2025-07-15 21:06:33 -04:00
< section id = "welcome" >
2026-01-29 21:01:40 -05:00
< p > <!--% make_sfw(is_sfw, "Hobby", "Hacker") %--> Public Radio is a technology focused podcast that releases shows every weekday Monday to Friday. Our shows are produced by listeners like you and can be on any topic that is of interest to <!--% make_sfw(is_sfw, "hobbyists", "hackers, hobbyists") %--> , makers, etc. We are a welcoming community that offers positive feedback and encourages respectful debate.</ p >
2026-01-01 10:28:03 +00:00
<!--% PROCESS 'content-index-announcement.tpl.html' %-->
2025-07-15 21:06:33 -04:00
< div id = "call_for_shows" >
<!--% display_call_for_shows() %-->
</ div >
</ section >
< section id = "podcast_lane" >
2025-08-03 22:40:16 -04:00
< header >< h2 > The Podcast</ h2 ></ header >
2025-07-15 21:06:33 -04:00
< div class = "lane" >
2026-05-26 07:45:28 +02:00
< a class = "lane-button" href = "<!--% absolute_path(baseurl) %-->contribute.html" >
2025-08-22 12:17:37 +01:00
< img src = "<!--% absolute_path(baseurl) %-->images/icons/mic-fill.svg" alt = "" height = "110" >
< p > Record</ p >
2025-07-15 21:06:33 -04:00
</ a >
2025-08-03 22:27:13 -04:00
< br class = "no-css" >
2025-10-09 21:33:57 -04:00
< a class = "lane-button" href = "<!--% hub_baseurl %-->calendar.php" >
2025-08-22 12:17:37 +01:00
< img src = "<!--% absolute_path(baseurl) %-->images/icons/calendar-2-line.svg" alt = "" height = "110" >
< p > Schedule</ p >
2025-07-15 21:06:33 -04:00
</ a >
2025-08-03 22:27:13 -04:00
< br class = "no-css" >
< a class = "lane-button" href = "<!--% absolute_path(baseurl) %-->syndication.html" >
2025-08-22 12:17:37 +01:00
< img src = "<!--% absolute_path(baseurl) %-->images/icons/rss-fill.svg" alt = "" height = "110" >
< p > Subscribe</ p >
2025-07-15 21:06:33 -04:00
</ a >
2025-08-03 22:27:13 -04:00
< br class = "no-css" >
< a class = "lane-button" href = "<!--% absolute_path(baseurl) %-->eps/index.html" >
2025-08-22 12:17:37 +01:00
< img src = "<!--% absolute_path(baseurl) %-->images/icons/volume-up-fill.svg" alt = "" height = "110" >
< p > Listen</ p >
2025-07-15 21:06:33 -04:00
</ a >
</ div >
</ section >
< section id = "project_lane" >
2025-08-03 22:40:16 -04:00
< header >< h2 > The Project</ h2 ></ header >
2025-07-15 21:06:33 -04:00
< div class = "lane" >
< a class = "lane-button" href = "<!--% absolute_path(baseurl) %-->correspondents/index.html" >
2025-08-22 12:17:37 +01:00
< img src = "<!--% absolute_path(baseurl) %-->images/icons/user-fill.svg" alt = "" height = "110" >
2025-09-04 21:16:38 -04:00
< p > Hosts</ p >
2025-07-15 21:06:33 -04:00
</ a >
2025-08-03 22:27:13 -04:00
< br class = "no-css" >
2025-07-15 21:06:33 -04:00
< a class = "lane-button" href = "<!--% absolute_path(baseurl) %-->series/index.html" >
2025-08-22 12:17:37 +01:00
< img src = "<!--% absolute_path(baseurl) %-->images/icons/stack-fill.svg" alt = "" height = "110" >
< p > Series</ p >
2025-07-15 21:06:33 -04:00
</ a >
2025-08-03 22:27:13 -04:00
< br class = "no-css" >
< a class = "lane-button" href = "<!--% absolute_path(baseurl) %-->about.html" >
2025-08-22 12:17:37 +01:00
< img src = "<!--% absolute_path(baseurl) %-->images/icons/question-mark.svg" alt = "" height = "110" >
< p > About</ p >
2025-07-15 21:06:33 -04:00
</ a >
2025-08-05 22:44:15 -04:00
< br class = "no-css" >
< a class = "lane-button" href = "<!--% absolute_path(baseurl) %-->search.html" >
2025-08-22 12:17:37 +01:00
< img src = "<!--% absolute_path(baseurl) %-->images/icons/search.svg" alt = "" height = "110" >
< p > Search</ p >
2025-08-05 22:44:15 -04:00
</ a >
2025-07-15 21:06:33 -04:00
</ div >
</ section >
2025-07-16 20:48:51 -04:00
< section id = "latest_lane" class = "lane" >
2022-07-31 23:09:00 -04:00
<!--% PROCESS 'shared-episode-summary.tpl.html' %-->
2025-07-15 21:45:31 -04:00
< section id = "latest_shows" >
2025-08-03 22:40:16 -04:00
< header >< h2 > Latest Shows</ h2 ></ header >
2023-03-05 02:07:03 +11:00
<!--% host_cnt = 0 %-->
2025-08-22 23:51:52 -04:00
< dl >
2022-11-27 13:54:14 -05:00
<!--% FOREACH latest_episodes IN DBI.query(query_latest_episodes)
2022-07-02 17:10:27 -04:00
%-->
2025-11-07 20:22:15 -05:00
< dt >< a href = "<!--% absolute_path(baseurl) %-->eps/hpr<!--% zero_pad_left(latest_episodes.id) %-->/index.html" > hpr<!--% latest_episodes.id %--> (<!--% latest_episodes.date %--> ) :: <!--% latest_episodes.title %--> </ a > by < a href = "<!--% absolute_path(baseurl) %-->correspondents/<!--% zero_pad_left(latest_episodes.hostid) %-->.html" > <!--% latest_episodes.host %--> </ a ></ dt >
2025-08-22 23:51:52 -04:00
< dd >
2025-08-03 23:30:15 -04:00
<!--% latest_episodes.summary %-->
2025-08-22 23:51:52 -04:00
</ dd >
2023-03-05 02:07:03 +11:00
<!--% host_cnt = host_cnt + 1 %-->
2022-07-01 22:07:06 -04:00
<!--% END %-->
2025-08-22 23:51:52 -04:00
</ dl >
2025-12-02 22:48:52 -05:00
< p >< a href = "<!--% absolute_path(baseurl) %-->eps/index.html" > More Episodes…</ a ></ p >
2025-07-16 10:42:05 -04:00
</ section >
< section id = "latest_comments" >
2025-08-03 22:40:16 -04:00
< header >< h2 > Latest Comments</ h2 ></ header >
2025-08-22 23:51:52 -04:00
< dl >
2025-07-16 10:42:05 -04:00
<!--% FOREACH item IN DBI.query('
WITH episode_comment_rank AS (
SELECT
comments.eps_id
, comments.id as comment_id
, comments.comment_author_name
, comments.comment_timestamp
, comments.comment_title
, RANK() OVER (PARTITION BY eps_id ORDER BY id ) AS comment_number
FROM comments
)
SELECT
episode_comment_rank.*
, hosts.host
, eps.title AS episode_title
, eps.date AS episode_date
FROM episode_comment_rank
INNER JOIN eps
ON episode_comment_rank.eps_id = eps.id
INNER JOIN hosts
ON eps.hostid = hosts.hostid
ORDER BY episode_comment_rank.comment_timestamp DESC
LIMIT 10;
')
2022-07-03 22:47:59 -04:00
%-->
2025-08-22 23:51:52 -04:00
< dt >< a href = "<!--% absolute_path(baseurl) %-->eps/hpr<!--% zero_pad_left(item.eps_id) %-->/index.html#comment_<!--% item.comment_id%-->" > Comment <!--% item.comment_number %--> : <!--% item.comment_author_name %--> on <!--% item.comment_timestamp %--> : "<!--% item.comment_title %--> "</ a ></ dt >
< dd > on hpr<!--% item.eps_id %--> (<!--% item.episode_date %--> ) "<!--% item.episode_title %--> " by <!--% item.host %--> </ dd >
2022-07-03 22:47:59 -04:00
<!--% END %-->
2025-08-22 23:51:52 -04:00
</ dl >
2025-12-02 22:48:52 -05:00
< p >< a href = "<!--% absolute_path(baseurl) %-->comments_viewer.html" > More Comments…</ a ></ p >
2025-07-15 21:06:33 -04:00
</ section >
2025-07-24 22:12:55 -04:00
</ section >