templates/content-index.tpl.html: Now contains TT² code and an in-built
    query to determine the next free slot. No need for an external
    query. Old code that used to use this has been deleted.
templates/queries-index-mysql.tpl.html,
templates/queries-index-sqlite.tpl.html: Old queries called
    'query_next_available_episode' removed since no longer needed.
		
	
		
			
				
	
	
		
			92 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			92 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!--% PROCESS 'shared-avatar.tpl.html' %-->
 | |
| <!--% PROCESS 'shared-utils.tpl.html' %-->
 | |
| <!--% PROCESS 'shared-listen-now.tpl.html' %-->
 | |
| <!--% PROCESS 'shared-show-transcript.tpl.html' %-->
 | |
| <!--% PROCESS 'shared-call_for_shows.tpl.html' %-->
 | |
| <!--% INCLUDE 'content-index-announcement.tpl.html' %-->
 | |
| <!--% PROCESS "queries-index-${constants.database}.tpl.html" %-->
 | |
| <!--% 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)) %-->
 | |
| <!--% 	img_tag = matches.1 %-->
 | |
| <!--% 	after_html = matches.2 %-->
 | |
| <!--% 	matches.0 %-->
 | |
| <!--% 	IF (img_tag.search(lazy_re)) %-->
 | |
|     <img <!--% img_tag %-->
 | |
| <!--% 	ELSE %-->
 | |
|     <img loading="lazy" <!--% img_tag %-->
 | |
| <!--% 	END %-->
 | |
| <!--% 	lines = after_html %-->
 | |
| <!--% END %-->
 | |
| <!--% after_html %-->
 | |
| <!--% END %-->
 | |
| <hr>
 | |
|   <article>
 | |
|     <header>
 | |
|         <h3>Welcome to HPR, the Community Podcast</h3>
 | |
|     </header>
 | |
| 	<!--% days_till_next_episode = 0 %-->
 | |
| 	<!--% USE DBI(constants.driver, constants.user, constants.password) %-->
 | |
| 	<!--% USE date %-->
 | |
| 	<!--% calc = date.calc %-->
 | |
| 	<!--% episodes = DBI.query("SELECT id, date FROM eps WHERE date >= date('now') ORDER BY id").get_all() %-->
 | |
| 	<!--% ind = episodes.0.id %-->
 | |
| 	<!--% FOREACH ep IN episodes %-->
 | |
| 	<!--%     LAST IF ep.id != ind %-->
 | |
| 	<!--%     last_date = ep.date.split('-') %-->
 | |
| 	<!--%     ind = ind+1 %-->
 | |
| 	<!--% END %-->
 | |
| 	<!--% 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) %-->
 | |
| 
 | |
| 	<!--% delta = date.calc.N_Delta_YMD(2005,9,19, date.format(date.now, '%Y'),date.format(date.now, '%m'),date.format(date.now, '%d')) %-->
 | |
| 	<p>We started producing shows as <a href="<!--% absolute_path(baseurl) %-->eps/index.html#twat_episodes"><em>Today with a Techie</em></a> on 2005-09-19, <!--% delta.0 %--> years, <!--% delta.1 %--> months, <!--% delta.2 %--> days ago. Our shows are produced by <a href="<!--% absolute_path(baseurl) %-->correspondents/index.html">listeners</a> like you and can be on any <a href="<!--% absolute_path(baseurl) %-->eps/index.html">topics</a> that <strong>"are of interest to <a href="https://en.wikipedia.org/wiki/hacker_(hobbyist)">hackers</a>"</strong>. If you listen to HPR then please consider contributing one show a year. If you <a href="<!--% absolute_url(baseurl) %-->about.html#so_you_want_to_record_a_podcast">record</a> your show now it could be <a href="<!--% hub_baseurl %-->calendar.php">released</a> in <strong><!--% days_till_next_episode %--></strong> days.</p>
 | |
|   </article>
 | |
|   <!--% display_call_for_shows() %-->
 | |
|   <hr>
 | |
|   <!--% PROCESS 'shared-episode-summary.tpl.html' %-->
 | |
| <h1>Latest Shows</h1>
 | |
| <!--% host_cnt = 0 %-->
 | |
| <!--% FOREACH latest_episodes IN DBI.query(query_latest_episodes)
 | |
| %-->
 | |
| <hr>
 | |
| <article>
 | |
| 	<header>
 | |
| 			<h1><a href="<!--% absolute_path(baseurl) %-->eps/hpr<!--% zero_pad_left(latest_episodes.id) %-->/index.html">hpr<!--% latest_episodes.id %--> :: <!--% latest_episodes.title %--></a></h1>
 | |
| 		<h3><!--% latest_episodes.summary%--></h3>
 | |
| 		<p class="meta"$><!--% show_avatar(latest_episodes.hostid, latest_episodes.host, host_cnt) %-->
 | |
| 	Hosted by <a href="<!--% absolute_path(baseurl) %-->correspondents/<!--% zero_pad_left(latest_episodes.hostid) %-->.html"><!--% latest_episodes.host %--></a> on <!--% latest_episodes.date %--> is flagged as <!--% display_explicit(latest_episodes.explicit) %--> and released under a <!--% latest_episodes.license %--> license. <br>
 | |
| 	<!--% display_tags(latest_episodes.tags) %-->
 | |
| 	<span><!--% show_series(latest_episodes.series, latest_episodes.seriesid) %--></span>
 | |
| 	<span><label>Comments: </label><!--% display_comments_tally(latest_episodes.id, latest_episodes.eps_tally) %--></span><br>
 | |
| <!--% listen_now(latest_episodes, "hpr", baseurl, media_baseurl) %-->
 | |
| 		</p>
 | |
| 	</header>
 | |
| 		<!--% tidy_notes(latest_episodes.notes) %-->
 | |
| 	<footer>
 | |
| 	<!--% show_transcript(latest_episodes, "hpr", baseurl, media_baseurl) %-->
 | |
| 	</footer>
 | |
| </article>
 | |
| <!--% host_cnt = host_cnt + 1 %-->
 | |
| <!--% END %-->
 | |
| <article>
 | |
|     <header>
 | |
|         <hr>
 | |
|         <h1>Previous five weeks</h1>
 | |
|     </header>
 | |
| <!--% FOREACH last_5_weeks_episodes IN DBI.query(query_last_5_weeks_episodes)
 | |
| %-->
 | |
| 	<!--% show_summary(last_5_weeks_episodes) %-->
 | |
| 	<p class="listen-in"><!--% display_listen_in(last_5_weeks_episodes.id) %--></p>
 | |
| <!--% END %-->
 | |
| </article>
 | |
| <h1>Older Shows</h1>
 | |
| 	<p>
 | |
| 	Get a <a href="<!--% absolute_path(baseurl) %-->eps/index.html">full list</a> of all our shows.
 | |
| 	</p>
 |