Compare commits
15 Commits
b1f1fd4229
...
ccfcd4b7fb
Author | SHA1 | Date | |
---|---|---|---|
ccfcd4b7fb | |||
b64ffe7f46 | |||
1b9c3c080c | |||
d4ec232f4b | |||
541a79265a | |||
227510316b | |||
de8bee7114 | |||
c34ddc6256 | |||
945ddc9939 | |||
a23ca24bd6 | |||
6414390a3d | |||
d81013f2ed | |||
1a857cbafd | |||
7eb308d741 | |||
a65dbbd32e |
21
site.cfg
21
site.cfg
@ -16,6 +16,10 @@ content: page.tpl.html
|
|||||||
|
|
||||||
# Configure the navigation menu and the content templates for each page
|
# Configure the navigation menu and the content templates for each page
|
||||||
# of the site:
|
# of the site:
|
||||||
|
#
|
||||||
|
# [page_name] REQUIRED
|
||||||
|
# navigation: REQUIRED <name of navigation template>
|
||||||
|
# content: REQUIRED <name of page content template>
|
||||||
|
|
||||||
# Configure filename if default name is not desired
|
# Configure filename if default name is not desired
|
||||||
# (Default is "ROOT/[page_name].html"):
|
# (Default is "ROOT/[page_name].html"):
|
||||||
@ -52,15 +56,26 @@ content: content-contact.tpl.html
|
|||||||
navigation: navigation-about.tpl.html
|
navigation: navigation-about.tpl.html
|
||||||
content: content-correspondent.tpl.html
|
content: content-correspondent.tpl.html
|
||||||
multipage: true
|
multipage: true
|
||||||
filename: correspondents/[id]/index.html
|
filename: correspondents/[id].html
|
||||||
|
|
||||||
[series]
|
[series]
|
||||||
navigation: navigation-get-shows.tpl.html
|
navigation: navigation-get-shows.tpl.html
|
||||||
content: content-series.tpl.html
|
content: content-series.tpl.html
|
||||||
filename: series/index.html
|
filename: series/index.html
|
||||||
|
|
||||||
[series_shows]
|
[series_episode]
|
||||||
navigation: navigation-get-shows.tpl.html
|
navigation: navigation-get-shows.tpl.html
|
||||||
content: content-series_shows.tpl.html
|
content: content-series_episode.tpl.html
|
||||||
multipage: true
|
multipage: true
|
||||||
filename: series/[id].html
|
filename: series/[id].html
|
||||||
|
|
||||||
|
[episodes]
|
||||||
|
navigation: navigation-get-shows.tpl.html
|
||||||
|
content: content-episodes.tpl.html
|
||||||
|
filename: eps/index.html
|
||||||
|
|
||||||
|
[episode]
|
||||||
|
navigation: navigation-get-shows.tpl.html
|
||||||
|
content: content-episode.tpl.html
|
||||||
|
multipage: true
|
||||||
|
filename: eps/hpr[id]/index.html
|
||||||
|
@ -1,20 +1,20 @@
|
|||||||
<h1>About HPR.</h1>
|
<h1>About HPR.</h1>
|
||||||
<h2 id="history">History<a href="#history">.</a></h2>
|
<h2 id="history">History<a href="#history">.</a></h2>
|
||||||
<p>Hacker Public Radio (HPR) is an Internet Radio show (podcast) that releases shows every weekday Monday through Friday. HPR has a long lineage going back to <a target="_blank" href="http://www.oldskoolphreak.com" target="_blank">Radio FreeK America</a>, <a target="_blank" href="http://www.binrev.com" target="_blank">Binary Revolution Radio</a> & <a target="_blank" href="http://nomicon.info" target="_blank">Infonomicon</a>, and it is a direct continuation of <a target="_blank" href="http://www.hackerpublicradio.org/twat.html" target="_blank">Twatech</a> radio. Please listen to StankDawg's "<a target="_blank" href="http://www.hackerpublicradio.org/eps/hpr0001.mp3" target="_blank">Introduction to HPR</a>" for more information.</p>
|
<p>Hacker Public Radio (HPR) is an Internet Radio show (podcast) that releases shows every weekday Monday through Friday. HPR has a long lineage going back to <a target="_blank" href="http://www.oldskoolphreak.com" target="_blank">Radio FreeK America</a>, <a target="_blank" href="http://www.binrev.com" target="_blank">Binary Revolution Radio</a> & <a target="_blank" href="http://nomicon.info" target="_blank">Infonomicon</a>, and it is a direct continuation of <a target="_blank" href="<!--% absolute_url(baseurl) %-->twat.html" target="_blank">Twatech</a> radio. Please listen to StankDawg's "<a target="_blank" href="<!--% absolute_url(baseurl) %-->eps/hpr0001.mp3" target="_blank">Introduction to HPR</a>" for more information.</p>
|
||||||
|
|
||||||
<h2 id="community">The HPR Community<a href="#community">.</a></h2>
|
<h2 id="community">The HPR Community<a href="#community">.</a></h2>
|
||||||
<p>What differentiates HPR from other podcasts is that the shows are crowd sourced from the community - fellow listeners like <strong><a target="_blank" href="http://www.hackerpublicradio.org/contact.php" target="_blank">you</a></strong>. There is no restriction on how long the show can be, nor on the topic you can cover as long as they are not spam and <em>"are of interest to <a target="_blank" href="http://en.wikipedia.org/wiki/Hacker_(hobbyist)" target="_blank">Hackers</a>"</em>. If you want to see what topics have been covered so far just have a look at our <a target="_blank" href="http://www.hackerpublicradio.org/index_full.php" target="_blank">Archive</a>. We also allow for a <a target="_blank" href="http://www.hackerpublicradio.org/series.php" target="_blank">series</a> of shows so that hosts can go into more detail on a topic.<p>
|
<p>What differentiates HPR from other podcasts is that the shows are crowd sourced from the community - fellow listeners like <strong><a target="_blank" href="<!--% absolute_url(baseurl) %-->contact.html" target="_blank">you</a></strong>. There is no restriction on how long the show can be, nor on the topic you can cover as long as they are not spam and <em>"are of interest to <a target="_blank" href="http://en.wikipedia.org/wiki/Hacker_(hobbyist)" target="_blank">Hackers</a>"</em>. If you want to see what topics have been covered so far just have a look at our <a target="_blank" href="<!--% absolute_url(baseurl) %-->eps/index.html" target="_blank">Archive</a>. We also allow for a <a target="_blank" href="<!--% absolute_url(baseurl) %-->series/index.html" target="_blank">series</a> of shows so that hosts can go into more detail on a topic.<p>
|
||||||
|
|
||||||
<p>You can download/listen to the shows <a target="_blank" href="http://www.hackerpublicradio.org/index_full.php" target="_blank">here</a> or you can <a target="_blank" href="http://www.hackerpublicradio.org/hpr_rss.php" target="_blank">subscribe</a> to the show in your favorite podcatching client to automatically get our new shows as soon as they are available. You can copy and redistribute the shows for free provided you adhere to the <a target="_blank" href="https://creativecommons.org/licenses/by-sa/4.0/" target="_blank">Creative Commons Attribution<WBR> Share Alike 3.0 License</a>.</p>
|
<p>You can download/listen to the shows <a target="_blank" href="<!--% absolute_url(baseurl) %-->eps/index.html" target="_blank">here</a> or you can <a target="_blank" href="<!--% absolute_url(baseurl) %-->hpr_rss.php" target="_blank">subscribe</a> to the show in your favorite podcatching client to automatically get our new shows as soon as they are available. You can copy and redistribute the shows for free provided you adhere to the <a target="_blank" href="https://creativecommons.org/licenses/by-sa/4.0/" target="_blank">Creative Commons Attribution<WBR> Share Alike 3.0 License</a>.</p>
|
||||||
|
|
||||||
<h2 id="free_culture">Free Culture<a href="#free_culture">.</a></h2>
|
<h2 id="free_culture">Free Culture<a href="#free_culture">.</a></h2>
|
||||||
<p>Hacker Public Radio is dedicated to sharing knowledge. We do not accept donations so please consider supporting our patrons. If you listen to HPR, then we would love you to <a target="_blank" href="contribute.php">contribute</a> one show a year. Our shows are by default released under a <a target="_blank" href="https://creativecommons.org/licenses/by-sa/4.0/" target="_blank">Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)</a> license. All the software we use is <a target="_blank" href="https://en.wikipedia.org/wiki/Free_software" target="_blank">Free software</a>. All the code we develop is published in our <a target="_blank" href="http://gitlab.anhonesthost.com/HPR/HPR_Public_Code/" target="_blank">gitlab</a> repository. All the media is available via the feeds. We are going through an audit process to release the website code as well.</p>
|
<p>Hacker Public Radio is dedicated to sharing knowledge. We do not accept donations so please consider supporting our patrons. If you listen to HPR, then we would love you to <a target="_blank" href="contribute.html">contribute</a> one show a year. Our shows are by default released under a <a target="_blank" href="https://creativecommons.org/licenses/by-sa/4.0/" target="_blank">Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)</a> license. All the software we use is <a target="_blank" href="https://en.wikipedia.org/wiki/Free_software" target="_blank">Free software</a>. All the code we develop is published in our <a target="_blank" href="http://gitlab.anhonesthost.com/HPR/HPR_Public_Code/" target="_blank">gitlab</a> repository. All the media is available via the feeds. We are going through an audit process to release the website code as well.</p>
|
||||||
|
|
||||||
<h2 id ="governance" >Governance<a href="#governance">.</a></h2>
|
<h2 id ="governance" >Governance<a href="#governance">.</a></h2>
|
||||||
<p>HPR is entirely community driven. Policy decisions are proposed and discussed on the <a target="_blank" href="http://www.hackerpublicradio.org/maillist" target="_blank">Mailing list</a>, which is open to anyone to join. Mailing list discussions are brought to the attention of the listening community on the first Monday of the month in the <a target="_blank" href="http://www.hackerpublicradio.org/series.php?id=47" target="_blank">HPR Community News</a> show. This show is also <a target="_blank" href="http://www.hackerpublicradio.org/recording.php#round_table" target="_blank">open to anyone</a> to participate in. The schedule for the Community News shows can be downloaded as an <a href="http://www.hackerpublicradio.org/HPR_Community_News_schedule.ics">iCal calendar</a> containing recording dates for the next 12 months. A reminder is also sent to the mailing list in the week before the recording.</p>
|
<p>HPR is entirely community driven. Policy decisions are proposed and discussed on the <a target="_blank" href="http://www.hackerpublicradio.org/maillist" target="_blank">Mailing list</a>, which is open to anyone to join. Mailing list discussions are brought to the attention of the listening community on the first Monday of the month in the <a target="_blank" href="<!--% absolute_url(baseurl) %-->series/0047.html" target="_blank">HPR Community News</a> show. This show is also <a target="_blank" href="<!--% absolute_url(baseurl) %-->recording.html#round_table" target="_blank">open to anyone</a> to participate in. The schedule for the Community News shows can be downloaded as an <a href="<!--% absolute_url(baseurl) %-->HPR_Community_News_schedule.ics">iCal calendar</a> containing recording dates for the next 12 months. A reminder is also sent to the mailing list in the week before the recording.</p>
|
||||||
<p>Our hosting is kindly provided to us by <a target="_blank" href="http://www.hackerpublicradio.org/correspondents.php?hostid=174">Josh Knapp</a> from <a target="_blank" href="https://anhonesthost.com/hosting/shared-hosting">AnHonestHost.com</a>, and he has the last word in issues related to site security. A changing team of volunteers called the "admins" or "Janitors", deal with the day to day operation of HPR. Acting as the first point of contact, processing the shows, coordinating policy discussions, removing spam, updating the website, etc. They are contactable via the email account admin @ HPR. They have no more say over policy than anyone else. Anyone who has shown a long term dedication to the project and is trusted by the community, can become an admin.
|
<p>Our hosting is kindly provided to us by <a target="_blank" href="<!--% absolute_url(baseurl) %-->correspondents/0174.html">Josh Knapp</a> from <a target="_blank" href="https://anhonesthost.com/hosting/shared-hosting">AnHonestHost.com</a>, and he has the last word in issues related to site security. A changing team of volunteers called the "admins" or "Janitors", deal with the day to day operation of HPR. Acting as the first point of contact, processing the shows, coordinating policy discussions, removing spam, updating the website, etc. They are contactable via the email account admin @ HPR. They have no more say over policy than anyone else. Anyone who has shown a long term dedication to the project and is trusted by the community, can become an admin.
|
||||||
</p>
|
</p>
|
||||||
<p>Click <a target="_blank" href="http://www.hackerpublicradio.org/stuff_you_need_to_know.php" target="_blank">here</a> for more information.</p>
|
<p>Click <a target="_blank" href="<!--% absolute_url(baseurl) %-->stuff_you_need_to_know.html" target="_blank">here</a> for more information.</p>
|
||||||
<h3 id="recent_policy_changes">Recent Policy Changes</h3>
|
<h3 id="recent_policy_changes">Recent Policy Changes</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="http://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2021-July/014969.html">HPR will move #oggcastplanet on libera, and we will also include links to the matrix, and mastodon channel</a></li>
|
<li><a href="http://hackerpublicradio.org/pipermail/hpr_hackerpublicradio.org/2021-July/014969.html">HPR will move #oggcastplanet on libera, and we will also include links to the matrix, and mastodon channel</a></li>
|
||||||
@ -24,7 +24,7 @@
|
|||||||
</ul>
|
</ul>
|
||||||
<h2 id ="patrons" >Please support our Patrons<a href="#patrons">.</a></h2>
|
<h2 id ="patrons" >Please support our Patrons<a href="#patrons">.</a></h2>
|
||||||
<p>
|
<p>
|
||||||
Our hosting is kindly provided by <a href="http://hackerpublicradio.org/correspondents.php?hostid=174">Josh</a> from <a href="https://anhonesthost.com/shared-hosting/">AnHonestHost.com</a>. We would appreciate it if you could <a href="https://secure.anhonesthost.com/cart.php?gid=17">donate</a> to help reduce his costs in funding the hosting. He is also accepting bitcoins to <em>1KsxJr9HtsdaUeU7yaV9bk9bQi21UPBtUq</em>
|
Our hosting is kindly provided by <a href="http://hackerpublicradio.org/correspondents/0174.html">Josh</a> from <a href="https://anhonesthost.com/shared-hosting/">AnHonestHost.com</a>. We would appreciate it if you could <a href="https://secure.anhonesthost.com/cart.php?gid=17">donate</a> to help reduce his costs in funding the hosting. He is also accepting bitcoins to <em>1KsxJr9HtsdaUeU7yaV9bk9bQi21UPBtUq</em>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Please also consider supporting the <a href="https://archive.org/donate/">https://archive.org/donate/</a> who are now hosting our media files.
|
Please also consider supporting the <a href="https://archive.org/donate/">https://archive.org/donate/</a> who are now hosting our media files.
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
<!--% PROCESS 'shared-episode-summary.tpl.html' %-->
|
<!--% PROCESS 'shared-episode-summary.tpl.html' %-->
|
||||||
<!--% PROCESS 'shared-avatar.tpl.html' %-->
|
<!--% PROCESS 'shared-avatar.tpl.html' %-->
|
||||||
|
<!--% PROCESS 'shared-utils.tpl.html' %-->
|
||||||
<!--% USE DBI(constants.driver, constants.user, constants.password) %-->
|
<!--% USE DBI(constants.driver, constants.user, constants.password) %-->
|
||||||
<!--% query_show_count = DBI.prepare('
|
<!--% query_show_count = DBI.prepare('
|
||||||
SELECT id
|
SELECT id
|
||||||
@ -16,7 +17,7 @@
|
|||||||
hosts.local_image,
|
hosts.local_image,
|
||||||
hosts.hostid,
|
hosts.hostid,
|
||||||
hosts.host, hosts.email,
|
hosts.host, hosts.email,
|
||||||
miniseries.name AS series
|
miniseries.name AS series, miniseries.id AS seriesid
|
||||||
FROM eps
|
FROM eps
|
||||||
INNER JOIN hosts ON eps.hostid = hosts.hostid
|
INNER JOIN hosts ON eps.hostid = hosts.hostid
|
||||||
INNER JOIN miniseries ON eps.series = miniseries.id
|
INNER JOIN miniseries ON eps.series = miniseries.id
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!--% PROCESS 'shared-utils.tpl.html' %-->
|
<!--% PROCESS 'shared-utils.tpl.html' %-->
|
||||||
<article>
|
<article>
|
||||||
<p>
|
<h2 class="title">Correspondents</h2>
|
||||||
<h2 class="title">Correspondents</h2><p>For more information on how to become a Correspondent see our <a href="contribute.php">contribute</a></center> page. To add a logo here, either email one to admin at hpr or setup your email on <a href="https://en.gravatar.com/">Gravatar</a>. To protect your browsing privacy we gather the images every hour and serve them directly from HPR.<p />
|
<p>For more information on how to become a Correspondent see our <a href="contribute.php">contribute</a></center> page. To add a logo here, either email one to admin at hpr or setup your email on <a href="https://en.gravatar.com/">Gravatar</a>. To protect your browsing privacy we gather the images every hour and serve them directly from HPR.<p />
|
||||||
<!--% USE DBI(constants.driver, constants.user, constants.password) %-->
|
<!--% USE DBI(constants.driver, constants.user, constants.password) %-->
|
||||||
<!--% PROCESS 'shared-avatar.tpl.html' %-->
|
<!--% PROCESS 'shared-avatar.tpl.html' %-->
|
||||||
<table>
|
<table>
|
||||||
@ -19,9 +19,9 @@
|
|||||||
<tr height="80" bgcolor="#CCCCCC">
|
<tr height="80" bgcolor="#CCCCCC">
|
||||||
<td><img src="<!--% absolute_path(baseurl) %-->images/<!--% get_avatar(host.hostid) %-->" height="80" width="80" alt="avatar" /></td>
|
<td><img src="<!--% absolute_path(baseurl) %-->images/<!--% get_avatar(host.hostid) %-->" height="80" width="80" alt="avatar" /></td>
|
||||||
|
|
||||||
<td><strong><!--% host.host %--></strong><br />
|
<td><strong><!--% host.host %--></strong><br>
|
||||||
|
|
||||||
Host ID: <a href="<!--% absolute_path(baseurl) %-->correspondents/<!--% zero_pad_left(host.hostid) %-->/index.html"><!--% host.hostid %--></a></td>
|
Host ID: <a href="<!--% absolute_path(baseurl) %-->correspondents/<!--% zero_pad_left(host.hostid) %-->.html"><!--% host.hostid %--></a></td>
|
||||||
<td><!--% host.license %--></td>
|
<td><!--% host.license %--></td>
|
||||||
<td><!--% host.date %--></td>
|
<td><!--% host.date %--></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
60
templates/content-episode.tpl.html
Normal file
60
templates/content-episode.tpl.html
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
<!--% PROCESS 'shared-episode-summary.tpl.html' %-->
|
||||||
|
<!--% PROCESS 'shared-avatar.tpl.html' %-->
|
||||||
|
<!--% PROCESS 'shared-utils.tpl.html' %-->
|
||||||
|
<!--% USE DBI(constants.driver, constants.user, constants.password) %-->
|
||||||
|
<!--% query_episodes = DBI.prepare('
|
||||||
|
WITH episode_maxmin AS (
|
||||||
|
SELECT MAX(id) AS \'latest\', MIN(id) AS \'earliest\', ? AS \'id\'
|
||||||
|
FROM eps
|
||||||
|
WHERE eps.date < date (\'now\', \'+1 days\')
|
||||||
|
),
|
||||||
|
episode_date AS (
|
||||||
|
SELECT eps.date
|
||||||
|
FROM eps
|
||||||
|
WHERE eps.id = ?
|
||||||
|
),
|
||||||
|
episode_previous AS (
|
||||||
|
SELECT MAX(id) AS \'previous\', ? AS \'id\'
|
||||||
|
FROM eps
|
||||||
|
INNER JOIN episode_date
|
||||||
|
ON eps.date < episode_date.date
|
||||||
|
WHERE eps.id > 1
|
||||||
|
),
|
||||||
|
episode_next AS (
|
||||||
|
SELECT MIN(id) AS \'next\', ? AS \'id\'
|
||||||
|
FROM eps
|
||||||
|
INNER JOIN episode_date
|
||||||
|
ON eps.date > episode_date.date
|
||||||
|
WHERE eps.date < date (\'now\')
|
||||||
|
)
|
||||||
|
SELECT eps.id, eps.date, eps.title, eps.duration,
|
||||||
|
eps.summary, eps.notes, eps.explicit, eps.license,
|
||||||
|
eps.tags, eps.version, eps.downloads, eps.valid,
|
||||||
|
episode_maxmin.latest, episode_maxmin.earliest,
|
||||||
|
episode_previous.previous, episode_next.next,
|
||||||
|
hosts.hostid, hosts.host,
|
||||||
|
miniseries.name AS \'series\', miniseries.id AS \'seriesid\'
|
||||||
|
FROM eps
|
||||||
|
INNER JOIN hosts ON eps.hostid = hosts.hostid
|
||||||
|
INNER JOIN miniseries ON eps.series = miniseries.id
|
||||||
|
INNER JOIN episode_maxmin ON eps.id = episode_maxmin.id
|
||||||
|
INNER JOIN episode_previous ON eps.id = episode_previous.id
|
||||||
|
INNER JOIN episode_next ON eps.id = episode_next.id
|
||||||
|
WHERE eps.id = ?
|
||||||
|
')
|
||||||
|
%-->
|
||||||
|
<!--% episode_result = query_episodes.execute(id, id, id, id, id) %-->
|
||||||
|
<!--% FOREACH episode IN episode_result %-->
|
||||||
|
<article>
|
||||||
|
<header>
|
||||||
|
<h1>hpr<!--% episode.id %--> :: <!--% episode.title %--></h1>
|
||||||
|
<h3><!--% episode.summary %--></h3>
|
||||||
|
<p class="meta"><!--% step_navigation(episode) %-->
|
||||||
|
</p>
|
||||||
|
<p><!--% IF get_avatar(episode.hostid) != 'hpr_logo.png' %-->
|
||||||
|
<img src="<!--% absolute_path(baseurl) %-->images/<!--% get_avatar(episode.hostid) %-->" height="80" width="80" alt="" /></a><br><!--% END %-->
|
||||||
|
Hosted by <a href="correspondents/host<!--% episode.hostid %-->.html"><!--% episode.host %--></a>. <!--% show_meta(episode) %--></p>
|
||||||
|
</header>
|
||||||
|
<div><!--% episode.notes %--></div>
|
||||||
|
</article>
|
||||||
|
<!--% END %-->
|
28
templates/content-episodes.tpl.html
Normal file
28
templates/content-episodes.tpl.html
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
<!--% PROCESS 'shared-episode-summary.tpl.html' %-->
|
||||||
|
<article>
|
||||||
|
<header>
|
||||||
|
<h1>Complete Archive of Shows.</h1>
|
||||||
|
<p>
|
||||||
|
All this information is available to the public. Scrape if you wish but if we can format the data for you then we're happy to help.
|
||||||
|
</p>
|
||||||
|
</header>
|
||||||
|
<!--% USE DBI(constants.driver, constants.user, constants.password) %-->
|
||||||
|
<!--% FOREACH episodes IN DBI.query('
|
||||||
|
SELECT
|
||||||
|
eps.id,
|
||||||
|
CASE eps.explicit WHEN 1 THEN \'Explicit\' ELSE \'Clean\' END AS explicit ,
|
||||||
|
eps.date, eps.license, eps.title, eps.summary,
|
||||||
|
eps.duration, eps.notes, eps.tags,
|
||||||
|
hosts.hostid,
|
||||||
|
hosts.host, hosts.email, hosts.local_image,
|
||||||
|
miniseries.name AS series, miniseries.id AS seriesid
|
||||||
|
FROM eps
|
||||||
|
INNER JOIN hosts ON eps.hostid = hosts.hostid
|
||||||
|
INNER JOIN miniseries ON eps.series = miniseries.id
|
||||||
|
WHERE eps.date < date(\'now\', \'+1 days\')
|
||||||
|
ORDER BY date DESC
|
||||||
|
')
|
||||||
|
%-->
|
||||||
|
<!--% show_summary(episodes) %-->
|
||||||
|
<!--% END %-->
|
||||||
|
</article>
|
@ -7,7 +7,7 @@
|
|||||||
</header>
|
</header>
|
||||||
<!--% USE date %-->
|
<!--% USE date %-->
|
||||||
<!--% delta = date.calc.N_Delta_YMD(2005,9,19, date.format(date.now, '%Y'),date.format(date.now, '%m'),date.format(date.now, '%d')) %-->
|
<!--% 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="/twat.php"><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="/correspondents.php">listeners</a> like you and can be on any <a href="/index_full.php">topic</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="/contribute.php">record</a> your show now it could be <a href="/calendar.php">released</a> in <strong>13</strong> days.</p>
|
<p>we started producing shows as <a href="/twat.php"><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">topic</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_path(baseurl) %-->contribute.html">record</a> your show now it could be <a href="/calendar.php">released</a> in <strong>13</strong> days.</p>
|
||||||
<h4>meet the team</h4>
|
<h4>meet the team</h4>
|
||||||
<p>
|
<p>
|
||||||
<audio controls preload="none">";
|
<audio controls preload="none">";
|
||||||
@ -25,15 +25,15 @@
|
|||||||
<!--% USE DBI(constants.driver, constants.user, constants.password) %-->
|
<!--% USE DBI(constants.driver, constants.user, constants.password) %-->
|
||||||
<!--% FOREACH latest_episodes IN DBI.query('
|
<!--% FOREACH latest_episodes IN DBI.query('
|
||||||
SELECT
|
SELECT
|
||||||
substr(\'0000\' || eps.id, -4, 4) AS [id],
|
eps.id,
|
||||||
CASE eps.explicit WHEN 1 THEN \'Explicit\' ELSE \'Clean\' END AS explicit ,
|
eps.explicit,
|
||||||
eps.date, eps.license, eps.duration,
|
eps.date, eps.license, eps.duration,
|
||||||
eps.title, eps.summary, eps.tags,
|
eps.title, eps.summary, eps.tags,
|
||||||
eps.notes,
|
eps.notes,
|
||||||
hosts.local_image,
|
hosts.local_image,
|
||||||
hosts.hostid,
|
hosts.hostid,
|
||||||
hosts.host, hosts.email,
|
hosts.host, hosts.email,
|
||||||
miniseries.name AS series
|
miniseries.name AS series, miniseries.id AS seriesid
|
||||||
FROM eps
|
FROM eps
|
||||||
INNER JOIN hosts ON eps.hostid = hosts.hostid
|
INNER JOIN hosts ON eps.hostid = hosts.hostid
|
||||||
INNER JOIN miniseries ON eps.series = miniseries.id
|
INNER JOIN miniseries ON eps.series = miniseries.id
|
||||||
@ -45,13 +45,13 @@
|
|||||||
<hr>
|
<hr>
|
||||||
<article>
|
<article>
|
||||||
<header>
|
<header>
|
||||||
<h1><a href="episodes/hpr<!--% latest_episodes.id %-->.html">hpr<!--% latest_episodes.id %--> :: <!--% latest_episodes.title %--></a></h1>
|
<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>
|
<h3><!--% latest_episodes.summary%--></h3>
|
||||||
<p class="meta"$><!--% IF get_avatar(latest_episodes.hostid) != 'hpr_logo.png' %-->
|
<p class="meta"$><!--% IF get_avatar(latest_episodes.hostid) != 'hpr_logo.png' %-->
|
||||||
<img src="./images/<!--% get_avatar(latest_episodes.hostid) %-->" height="80" width="80" alt="" /></a><!--% END %-->
|
<img src="<!--% absolute_path(baseurl) %-->images/<!--% get_avatar(latest_episodes.hostid) %-->" height="80" width="80" alt="" /></a><!--% END %-->
|
||||||
<br>Hosted by <a href="correspondents/<!--% zero_pad_left(latest_episodes.hostid) %-->/index.html"><!--% latest_episodes.host %--></a> on <!--% latest_episodes.date %--> is flagged as <!--% latest_episodes.explicit %--> and released under a <!--% latest_episodes.license %--> license. <br>
|
<br>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>
|
||||||
<strong>Tags:</strong> <!--% latest_episodes.tags %--><em></em>.<br>
|
<strong>Tags:</strong> <!--% latest_episodes.tags %--><em></em>.<br>
|
||||||
<small>listen in <a href="local/hpr<!--% latest_episodes.id %-->.ogg">ogg</a>, <a href="local/hpr<!--% latest_episodes.id %-->.spx">spx</a>, or <a href="local/hpr<!--% latest_episodes.id %-->.mp3">mp3</a> format. <!--% show_series(latest_episodes.series) %-->
|
<small>listen in <a href="local/hpr<!--% latest_episodes.id %-->.ogg">ogg</a>, <a href="local/hpr<!--% latest_episodes.id %-->.spx">spx</a>, or <a href="local/hpr<!--% latest_episodes.id %-->.mp3">mp3</a> format. <!--% show_series(latest_episodes.series, latest_episodes.seriesid) %-->
|
||||||
<a href="eps.php?id=3628#comments">comments (0)</a></small>
|
<a href="eps.php?id=3628#comments">comments (0)</a></small>
|
||||||
</p>
|
</p>
|
||||||
</header>
|
</header>
|
||||||
@ -78,13 +78,13 @@
|
|||||||
</header>
|
</header>
|
||||||
<!--% FOREACH last_5_weeks_episodes IN DBI.query('
|
<!--% FOREACH last_5_weeks_episodes IN DBI.query('
|
||||||
SELECT
|
SELECT
|
||||||
substr(\'0000\' || eps.id, -4, 4) AS [id],
|
eps.id,
|
||||||
CASE eps.explicit WHEN 1 THEN \'Explicit\' ELSE \'Clean\' END AS explicit ,
|
CASE eps.explicit WHEN 1 THEN \'Explicit\' ELSE \'Clean\' END AS explicit ,
|
||||||
eps.date, eps.license, eps.title, eps.summary,
|
eps.date, eps.license, eps.title, eps.summary,
|
||||||
eps.duration, eps.notes, eps.tags,
|
eps.duration, eps.notes, eps.tags,
|
||||||
substr(\'0000\' || hosts.hostid, -4, 4) AS [hostid],
|
hosts.hostid,
|
||||||
hosts.host, hosts.email, hosts.local_image,
|
hosts.host, hosts.email, hosts.local_image,
|
||||||
miniseries.name AS series
|
miniseries.name AS series, miniseries.id AS seriesid
|
||||||
FROM eps
|
FROM eps
|
||||||
INNER JOIN hosts ON eps.hostid = hosts.hostid
|
INNER JOIN hosts ON eps.hostid = hosts.hostid
|
||||||
INNER JOIN miniseries ON eps.series = miniseries.id
|
INNER JOIN miniseries ON eps.series = miniseries.id
|
||||||
@ -98,5 +98,5 @@
|
|||||||
</article>
|
</article>
|
||||||
<h1>Older Shows</h1>
|
<h1>Older Shows</h1>
|
||||||
<p>
|
<p>
|
||||||
Get a <a href="../index_full.php">full list</a> of all our shows.
|
Get a <a href="<!--% absolute_path(baseurl) %-->eps/index.html">full list</a> of all our shows.
|
||||||
</p>
|
</p>
|
||||||
|
8
templates/ids-episode.tpl.html
Normal file
8
templates/ids-episode.tpl.html
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<!--% USE DBI(constants.driver, constants.user, constants.password) %-->
|
||||||
|
<!--% FOREACH episode IN DBI.query(
|
||||||
|
'select eps.id from eps
|
||||||
|
where eps.date < date (\'now\', \'+1 days\') '
|
||||||
|
) %-->
|
||||||
|
,<!--% episode.id %-->
|
||||||
|
<!--% END %-->
|
||||||
|
|
@ -1,9 +1,10 @@
|
|||||||
|
<!--% PROCESS 'shared-utils.tpl.html' %-->
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="/calendar.php"><strong>⇧Upload⇧</strong></a></li>
|
<li><a href="<!--% absolute_path(baseurl) %-->calendar.php"><strong>⇧Upload⇧</strong></a></li>
|
||||||
<li><a href="index.html"><strong>Home</a></li>
|
<li><a href="<!--% absolute_path(baseurl) %-->index.html"><strong>Home</a></li>
|
||||||
<li><a href="about.html">About »</strong></a></li>
|
<li><a href="<!--% absolute_path(baseurl) %-->about.html">About »</strong></a></li>
|
||||||
<li><a href="correspondents/index.html">Hosts</a></li>
|
<li><a href="<!--% absolute_path(baseurl) %-->correspondents/index.html">Hosts</a></li>
|
||||||
<li><a href="contact.html">Contact</a></li>
|
<li><a href="<!--% absolute_path(baseurl) %-->contact.html">Contact</a></li>
|
||||||
<li><a href="promote.html">Promote HPR</a></li>
|
<li><a href="<!--% absolute_path(baseurl) %-->promote.html">Promote HPR</a></li>
|
||||||
<li><a href="/comments_viewer.php">Show Comments</a></li>
|
<li><a href="<!--% absolute_path(baseurl) %-->comments_viewer.php">Show Comments</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
|
<!--% PROCESS 'shared-utils.tpl.html' %-->
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="/calendar.php"><strong>⇧Upload⇧</strong></a></li>
|
<li><a href="<!--% absolute_path(baseurl) %-->calendar.php"><strong>⇧Upload⇧</strong></a></li>
|
||||||
<li><a href="/index.html"><strong>Home</a></li>
|
<li><a href="<!--% absolute_path(baseurl) %-->index.html"><strong>Home</a></li>
|
||||||
<li><a href="/help_out.html">Contribute »</strong></a></li>
|
<li><a href="<!--% absolute_path(baseurl) %-->help_out.html">Contribute »</strong></a></li>
|
||||||
<li><a href="/contribute.html">Submit Show</a></li>
|
<li><a href="<!--% absolute_path(baseurl) %-->contribute.html">Submit Show</a></li>
|
||||||
<li><a href="/report_missing_tags.html">Fix Tags</a></li>
|
<li><a href="<!--% absolute_path(baseurl) %-->report_missing_tags.html">Fix Tags</a></li>
|
||||||
<li><a href="/requested_topics.html">Topics</a></li>
|
<li><a href="<!--% absolute_path(baseurl) %-->requested_topics.html">Topics</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
|
<!--% PROCESS 'shared-utils.tpl.html' %-->
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="/calendar.php"><strong>⇧Upload⇧</strong></a></li>
|
<li><a href="<!--% absolute_path(baseurl) %-->calendar.php"><strong>⇧Upload⇧</strong></a></li>
|
||||||
<li><a href="/index.html"><strong>Home</strong></a></li>
|
<li><a href="<!--% absolute_path(baseurl) %-->index.html"><strong>Home</strong></a></li>
|
||||||
<li><a href="/syndication.html"><strong>Get Shows »</strong></a></li>
|
<li><a href="<!--% absolute_path(baseurl) %-->syndication.html"><strong>Get Shows »</strong></a></li>
|
||||||
<li><a href="/index_full.html">Full Episode Guide</a></li>
|
<li><a href="<!--% absolute_path(baseurl) %-->index_full.html">Full Episode Guide</a></li>
|
||||||
<li><a href="/series/index.html">In-Depth Series</a></li>
|
<li><a href="<!--% absolute_path(baseurl) %-->series/index.html">In-Depth Series</a></li>
|
||||||
<li><a href="/download.php">Download Options</a></li>
|
<li><a href="<!--% absolute_path(baseurl) %-->download.php">Download Options</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
|
<!--% PROCESS 'shared-utils.tpl.html' %-->
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="/calendar.php"><strong>⇧Upload⇧</strong></a></li>
|
<li><a href="<!--% absolute_path(baseurl) %-->calendar.php"><strong>⇧Upload⇧</strong></a></li>
|
||||||
<li><a href="/index.html"><strong>Home</a></li>
|
<li><a href="<!--% absolute_path(baseurl) %-->index.html"><strong>Home</a></li>
|
||||||
<li><a href="/contribute.html">Give Shows »</strong></a>
|
<li><a href="<!--% absolute_path(baseurl) %-->contribute.html">Give Shows »</strong></a>
|
||||||
<li><a href="/stuff_you_need_to_know.html">Info</a></li>
|
<li><a href="<!--% absolute_path(baseurl) %-->stuff_you_need_to_know.html">Info</a></li>
|
||||||
<li><a href="/theme.html">Theme</a></li>
|
<li><a href="<!--% absolute_path(baseurl) %-->theme.html">Theme</a></li>
|
||||||
<li><a href="/requested_topics.html">Topics</a></li>
|
<li><a href="<!--% absolute_path(baseurl) %-->requested_topics.html">Topics</a></li>
|
||||||
<li><a href="/recording.html">Recording</a></li>
|
<li><a href="<!--% absolute_path(baseurl) %-->recording.html">Recording</a></li>
|
||||||
<li><a href="/request_a_slot.php">Scheduling</a></li>
|
<li><a href="<!--% absolute_path(baseurl) %-->request_a_slot.php">Scheduling</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
|
<!--% PROCESS 'shared-utils.tpl.html' %-->
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="calendar.php"><strong>⇧Upload⇧</strong></a></li>
|
<li><a href="calendar.php"><strong>⇧Upload⇧</strong></a></li>
|
||||||
<li><a href="index.html"><strong>Home »</strong></a></li>
|
<li><a href="<!--% absolute_path(baseurl) %-->index.html"><strong>Home »</strong></a></li>
|
||||||
<li><a href="syndication.html">Get Shows</a></li>
|
<li><a href="<!--% absolute_path(baseurl) %-->syndication.html">Get Shows</a></li>
|
||||||
<li><a href="contribute.html">Give Shows</a></li>
|
<li><a href="<!--% absolute_path(baseurl) %-->contribute.html">Give Shows</a></li>
|
||||||
<li><a href="help_out.html">Contribute</a></li>
|
<li><a href="<!--% absolute_path(baseurl) %-->help_out.html">Contribute</a></li>
|
||||||
<li><a href="tags.html">Tags</a></li>
|
<li><a href="<!--% absolute_path(baseurl) %-->tags.html">Tags</a></li>
|
||||||
<li><a href="about.html">About</a></li>
|
<li><a href="<!--% absolute_path(baseurl) %-->about.html">About</a></li>
|
||||||
<li><a href="search.html">Search</a></li>
|
<li><a href="<!--% absolute_path(baseurl) %-->search.html">Search</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -1,17 +1,21 @@
|
|||||||
<!--% MACRO show_series(series) IF series != "" %-->
|
<!--% PROCESS 'shared-utils.tpl.html' %-->
|
||||||
<label>Series:</label> <a href="series.php?id=11"><!--% series %--></a>.
|
|
||||||
|
<!--% MACRO show_series(series, series_id) IF series != "" %-->
|
||||||
|
<label>Series:</label> <a href="<!--% absolute_path(baseurl) %-->series/<!--% zero_pad_left(series_id) %-->.html"><!--% series %--></a>.
|
||||||
<!--% END %-->
|
<!--% END %-->
|
||||||
|
|
||||||
|
<!--% MACRO show_meta(show) BLOCK %-->
|
||||||
|
<span><label>Released:</label> <!--% show.date %-->.</span> <span><label>Duration:</label> <!--% show.duration %-->.</span> <span><label>Flag:</label> <!--% display_explicit(show.explicit) %-->.</span> <span><!--% show_series(show.series, show.seriesid) %--></span> <br>
|
||||||
|
<span><label>Tags:</label> <em><!--% show.tags %--></em>.</span>
|
||||||
|
<!--% END %-->
|
||||||
|
|
||||||
<!--% MACRO show_summary(show, hide_host) BLOCK %-->
|
<!--% MACRO show_summary(show, hide_host) BLOCK %-->
|
||||||
|
|
||||||
<h3 class="title"><a href="episodes/hpr<!--% show.id %-->.html">hpr<!--% show.id %--> :: <!--% show.title %--></a> <!--% IF hide_host == "" %-->
|
<h3 class="title"><a href="episodes/hpr<!--% show.id %-->.html">hpr<!--% show.id %--> :: <!--% show.title %--></a> <!--% IF hide_host == "" %-->
|
||||||
hosted by <a href="correspondents/host<!--% show.id %-->.html"><!--% show.host %--></a>
|
hosted by <a href="correspondents/host<!--% show.id %-->.html"><!--% show.host %--></a>
|
||||||
<!--% END %-->
|
<!--% END %-->
|
||||||
</h3>
|
</h3>
|
||||||
<p class="meta"><span><label>Released:</label> <!--% show.date %-->.</span> <span><label>Duration:</label> <!--% show.duration %-->.</span> <span><label>Flag:</label> <!--% show.explicit %-->.</span> <span><!--% show_series(show.series) %--></span> <br>
|
<p class="meta"><!--% show_meta(show) %--><br>
|
||||||
<span><label>Tags:</label> <em><!--% show.tags %--></em>.</span><br>
|
|
||||||
<!--% show.summary %-->
|
<!--% show.summary %-->
|
||||||
</p>
|
</p>
|
||||||
<!--% END %-->
|
<!--% END %-->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -8,6 +8,25 @@
|
|||||||
<!--% ELSE %--><!--% display_when_false %--><!--% END %-->
|
<!--% ELSE %--><!--% display_when_false %--><!--% END %-->
|
||||||
<!--% END %-->
|
<!--% END %-->
|
||||||
|
|
||||||
|
<!--% MACRO display_explicit(is_explicit) BLOCK %-->
|
||||||
|
<!--% display_choice(is_explicit, 'Explicit', 'Clean') %-->
|
||||||
|
<!--% END %-->
|
||||||
|
|
||||||
<!--% MACRO absolute_path(baseurl) BLOCK %-->
|
<!--% MACRO absolute_path(baseurl) BLOCK %-->
|
||||||
<!--% IF baseurl %-->./<!--% ELSE %-->/<!--% END %-->
|
<!--% IF baseurl %-->./<!--% ELSE %-->/<!--% END %-->
|
||||||
<!--% END %-->
|
<!--% END %-->
|
||||||
|
|
||||||
|
<!--% MACRO step_navigation(links) BLOCK %-->
|
||||||
|
<small><a href="<!--% absolute_url(baseurl) %-->eps/hpr<!--% zero_pad_left(links.earliest) %-->/index.html" rel="first"><< First</a>,
|
||||||
|
<!--% IF links.previous %-->
|
||||||
|
<a href="<!--% absolute_url(baseurl) %-->eps/hpr<!--% zero_pad_left(links.previous) %-->/index.html" rel="previous">< Previous</a>,
|
||||||
|
<!--% ELSE %-->
|
||||||
|
<span><</span> Previous,
|
||||||
|
<!--% END %-->
|
||||||
|
<!--% IF links.next %-->
|
||||||
|
<a href="<!--% absolute_url(baseurl) %-->eps/hpr<!--% zero_pad_left(links.next) %-->/index.html" rel="next">Next ></a>,
|
||||||
|
<!--% ELSE %-->
|
||||||
|
Next <span>></span>
|
||||||
|
<!--% END %-->
|
||||||
|
<a href="<!--% absolute_url(baseurl) %-->eps/hpr<!--% zero_pad_left(links.latest) %-->/index.html" rel="last">Latest >></a></small>
|
||||||
|
<!--% END %-->
|
||||||
|
Reference in New Issue
Block a user