Compare commits
66 Commits
a49bd6b08d
...
main
Author | SHA1 | Date | |
---|---|---|---|
|
1dc0046fce | ||
|
92dce90753 | ||
|
65e4e1af5e | ||
|
b5384408db | ||
|
1a84becd8d | ||
|
d74c23bace | ||
|
f1817e6820 | ||
|
493bae282b | ||
|
dbc557d4c5 | ||
|
2099f0e130 | ||
|
29c9c827a4 | ||
|
c72c813b02 | ||
|
966a94647d | ||
e090bf8498 | |||
|
4d1d4c8c1d | ||
99aee89698 | |||
|
f6f2c01202 | ||
797039d182 | |||
|
93f22fb266 | ||
|
eb0b752841 | ||
4c19b56643 | |||
9766ec2c36 | |||
392f9ba9e5 | |||
41979786eb | |||
|
a61f2a5222 | ||
|
ccba560ee3 | ||
|
a2c69ec898 | ||
|
1382fe5e2a | ||
54ba2dc318 | |||
c2c2cb0cc2 | |||
|
5ec9fd21e9 | ||
|
d053ec253a | ||
|
db6c0bedaa | ||
0c000b17b9 | |||
1853af5521 | |||
f4530a3f48 | |||
|
5b2b2ce6d0 | ||
6d8bdaa7a9 | |||
2713664f86 | |||
eacd1e8425 | |||
|
138c1e2d2b | ||
|
b69cb913ea | ||
|
467a14a72a | ||
|
69dcb66d05 | ||
|
1e451e156d | ||
|
7c98273236 | ||
|
fcf624dc22 | ||
|
fc096c6fa6 | ||
|
d34064d787 | ||
|
4287028e25 | ||
|
67f28d43e3 | ||
|
dc36d9de86 | ||
|
96642bc69f | ||
|
f432954891 | ||
|
3f32a39301 | ||
|
7d8af97f7d | ||
130f603748 | |||
|
eba235c503 | ||
|
8bcf6bd0e8 | ||
|
15cd9018b0 | ||
|
e5b5aac104 | ||
|
0ef92840c8 | ||
|
79a788bda9 | ||
|
2e151ebae9 | ||
|
097b50b30b | ||
|
8325b2c0d1 |
@@ -1,3 +1,6 @@
|
||||
The repository is deprecated, please use: https://repo.anhonesthost.net/HPR/hpr_generator
|
||||
|
||||
|
||||
# hpr_generator
|
||||
Static web page generator for the Hacker Public Radio website.
|
||||
|
||||
@@ -72,6 +75,8 @@ and add the label "**Feature Request**".
|
||||
|
||||
## Authors and acknowledgment
|
||||
* Roan "Rho`n" Horning
|
||||
* Dave Morriss
|
||||
* gordons
|
||||
* Ken Fallon
|
||||
* norrist
|
||||
|
||||
|
BIN
public_html/images/hosts/149.png
Normal file
BIN
public_html/images/hosts/149.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 7.1 KiB |
BIN
public_html/images/hosts/421.png
Normal file
BIN
public_html/images/hosts/421.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 7.5 KiB |
BIN
public_html/images/hosts/425.png
Normal file
BIN
public_html/images/hosts/425.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 16 KiB |
BIN
public_html/images/hosts/433.png
Normal file
BIN
public_html/images/hosts/433.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 8.0 KiB |
@@ -67,18 +67,21 @@ Perl Template Toolkit.
|
||||
- GRANT EXECUTE ON `hpr_hpr`.* TO 'hpr-generator'@'localhost';
|
||||
|
||||
Install the needed Perl modules using preferred method (distribution packages, CPAN, etc.)
|
||||
* GetOpt
|
||||
* Pod::Usage
|
||||
* Config::Std
|
||||
* Template
|
||||
* Template::Plugin::File
|
||||
* Template::Plugin::DBI
|
||||
* Template::Plugin::HTML::Strip
|
||||
* DBI
|
||||
* Tie::DBI
|
||||
* DBD::SQLite or DBD:mysql
|
||||
* DBI
|
||||
* Data::Dumper
|
||||
* Date::Calc
|
||||
* GetOpt::Long
|
||||
* HTML::Entities
|
||||
* Pod::Usage
|
||||
* Template
|
||||
* Template::Plugin::DBI
|
||||
* Template::Plugin::Date
|
||||
* Template::Plugin::File
|
||||
* Template::Plugin::HTML::Strip
|
||||
* Text::CSV_XS
|
||||
* Tie::DBI
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
@@ -115,7 +118,8 @@ use Getopt::Long qw(:config auto_help);
|
||||
use Pod::Usage;
|
||||
use Config::Std;
|
||||
use Text::CSV_XS;
|
||||
use HTML::Entities qw(encode_entities_numeric);
|
||||
#use HTML::Entities qw(encode_entities_numeric);
|
||||
use HTML::Entities qw(encode_entities);
|
||||
use Date::Calc;
|
||||
use DBI;
|
||||
use DBD::SQLite;
|
||||
@@ -425,7 +429,8 @@ sub parse_csv {
|
||||
sub xml_entity {
|
||||
my ($text) = @_;
|
||||
|
||||
encode_entities_numeric( $text );
|
||||
# encode_entities_numeric( $text );
|
||||
encode_entities( $text );
|
||||
|
||||
return $text;
|
||||
}
|
||||
|
1
site.cfg
1
site.cfg
@@ -29,6 +29,7 @@ content: page.tpl.html
|
||||
#baseurl: OPTIONAL [i.e. file://<full path to local website directory>]
|
||||
#baseurl: file:///home/roan/Development/hpr/website/hpr_generator/public_html/
|
||||
baseurl: https://hackerpublicradio.org/
|
||||
http_baseurl: http://hackerpublicradio.org/
|
||||
hub_baseurl: https://hub.hackerpublicradio.org/
|
||||
media_baseurl: https://archive.org/download/hpr$eps_id/
|
||||
generator_name: The HPR Robot
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -33,7 +33,7 @@
|
||||
eps.notes,
|
||||
hosts.local_image,
|
||||
hosts.hostid,
|
||||
hosts.host, hosts.email,
|
||||
hosts.host, hosts.email, hosts.profile,
|
||||
miniseries.name AS series, miniseries.id AS seriesid
|
||||
FROM twat_eps AS eps
|
||||
INNER JOIN hosts ON eps.hostid = hosts.hostid
|
||||
@@ -58,6 +58,7 @@
|
||||
<p><!--% get_avatar(this_host.hostid, this_host.host) %--><br>
|
||||
<label>Host ID</label>: <!--% this_host.hostid %--><br><br>
|
||||
<label>email:</label> <u><!--% this_host.email %--></u><br>
|
||||
<label>profile:</label> <!--% this_host.profile %--><br><br>
|
||||
<label>episodes:</label> <strong><!--% hpr_show_count + twat_show_count %--></strong>
|
||||
</p>
|
||||
<!--% FOREACH hpr_show IN hpr_shows; %-->
|
||||
|
@@ -54,7 +54,7 @@ Subscribe to the comments <a href="<!--% absolute_path(baseurl) %-->comments.rss
|
||||
<!--% comment_index = 1 %-->
|
||||
<!--% comments_result = query_comments.execute(id) %-->
|
||||
<!--% FOREACH comment IN comments_result %-->
|
||||
<h5 id="comment_<!--% comment.id %-->">Comment #<!--% comment_index %--> posted on <!--% comment.comment_timestamp %--> by <!--% comment.comment_author_name %--></h5>
|
||||
<h5 id="comment_<!--% comment.id %-->"><a href="/eps/hpr<!--% zero_pad_left(episode.id) %-->/index.html#comment_<!--% comment.id %-->">Comment #<!--% comment_index %--></a> posted on <!--% comment.comment_timestamp %--> by <!--% comment.comment_author_name %--></h5>
|
||||
<h4><!--% comment.comment_title %--></h4>
|
||||
<!--% comment.comment_text FILTER html_para %-->
|
||||
<!--% comment_index = comment_index + 1 %-->
|
||||
@@ -110,9 +110,18 @@ Subscribe to the comments <a href="<!--% absolute_path(baseurl) %-->comments.rss
|
||||
</tr>
|
||||
<!-- . -->
|
||||
<tr>
|
||||
<td>Who hosted this show?</td>
|
||||
<td>Who is the <strong>host</strong> of this show?</td>
|
||||
<td>
|
||||
<select required name="hostid" id="hostid">
|
||||
<option value="Spammer" selected="selected">Spammer</option>
|
||||
<option value="Spammer">Linus Torvalds</option>
|
||||
<option value="Spammer">Marie Curie</option>
|
||||
<option value="<!--% episode.hostid %-->"><!--% episode.host %--></option>
|
||||
<option value="Spammer">Alan Turing</option>
|
||||
<option value="Spammer">Terry Pratchett</option>
|
||||
<option value="Spammer">Yuri Gagarin</option>
|
||||
</select>
|
||||
<td>
|
||||
<input required type="text" name="hostid" size="20" maxlength="5" placeholder="Type the host number"></td>
|
||||
<td>
|
||||
<!-- . -->
|
||||
<tr>
|
||||
|
@@ -17,7 +17,7 @@
|
||||
<p>
|
||||
<!-- Creative Commons License -->
|
||||
<a rel="license" href="https://creativecommons.org/licenses/by-nc-sa/2.5/"><img alt="Creative Commons License" border="0" src="https://creativecommons.org/images/public/somerights20.png" width="88" height="31" /></a><br>The following work is licensed under a <a rel="license" href="https://creativecommons.org/licenses/by-nc-sa/2.5/">Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License</a>.</p>
|
||||
<p>T.W.A.T. Radio was brought to you by <a href="https://en.wikipedia.org/wiki/Infonomicon">The Infonomicon Computer Club</a></p>
|
||||
<p>Today With a Techie Radio was brought to you by <a href="https://en.wikipedia.org/wiki/Infonomicon">The Infonomicon Computer Club</a></p>
|
||||
<!--% FOREACH twat_episode IN DBI.query('
|
||||
SELECT
|
||||
eps.id,
|
||||
|
@@ -1,2 +1 @@
|
||||
<!--% PROCESS 'shared-utils.tpl.html' %-->
|
||||
|
||||
|
@@ -30,13 +30,17 @@
|
||||
</header>
|
||||
<!--% days_till_next_episode = 0 %-->
|
||||
<!--% USE DBI(constants.driver, constants.user, constants.password) %-->
|
||||
<!--% FOREACH next_available_episode_result IN DBI.query(query_next_available_episode) %-->
|
||||
<!--% days_till_next_episode = next_available_episode_result.delta_days %-->
|
||||
<!--% END %-->
|
||||
<!--% USE date %-->
|
||||
<!--% calc = date.calc %-->
|
||||
<!--% episodes = DBI.query(query_next_available_episode).get_all() %-->
|
||||
<!--% last_date = episodes.0.date.split('-') %-->
|
||||
<!--% 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">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_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>
|
||||
<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>
|
||||
|
@@ -16,7 +16,7 @@
|
||||
<li>Installing a VPN to your home network</li>
|
||||
<li>Init and System.d</li>
|
||||
<li>Episodes for the <a href="<!--% absolute_url(baseurl,'series/0007.html') %-->">LPI</a>, or the Networking series.</li>
|
||||
<li><a href="http://opensourcemusician.com/index.php/Beginning_Audio_Series_for_HPR_and_OSMP_Release">Beginning Audio Series for HPR and OSMP Release</a></li>
|
||||
<li><a href="https://web.archive.org/web/20160629174556/opensourcemusician.com/index.php/Beginning_Audio_Series_for_HPR_and_OSMP_Release">Beginning Audio Series for HPR and OSMP Release</a></li>
|
||||
<li>Hackintosh computers - what are they, why would you want one.</li>
|
||||
<li>Grub 2.0 introduction and customization.</li>
|
||||
<li>FM Transmitter hack to listen into internet streams</li>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<h1>RSS Syndication</h1>
|
||||
<p><small><em><a href="<!--% absolute_path(baseurl) %-->syndication.html">Advanced Settings</a>.</em></small></p>
|
||||
|
||||
<article>
|
||||
<header>
|
||||
@@ -78,12 +77,16 @@
|
||||
<li><a href="<!--% absolute_path(baseurl) %-->comments.rss">Listener contributed comments to the episodes</a></li>
|
||||
</ul>
|
||||
</article>
|
||||
<hr />
|
||||
<h1>Other Download Options</h1>
|
||||
<article>
|
||||
<header>
|
||||
<h2>Site Replication Sources</h2>
|
||||
</header>
|
||||
<ul>
|
||||
<li><a href="<!--% absolute_path(baseurl) %-->hpr.sql">Daily Database Dump in SQL Format</a></li>
|
||||
<li><a href="https://repo.anhonesthost.net/explore/repos">All the HPR Source Code is on GitTea</a></li>
|
||||
<li><a href="https://hub.hackerpublicradio.org/stats.json">Current Statistics on the HPR Project (updated every 15 mins)</a></li>
|
||||
<ul>
|
||||
</article>
|
||||
<article>
|
||||
|
@@ -4,7 +4,7 @@
|
||||
<li><a href="<!--% absolute_path(baseurl) %-->index.html"><strong>Home »</strong></a></li>
|
||||
<li><a href="<!--% absolute_path(baseurl) %-->syndication.html">Get Shows</a></li>
|
||||
<li><a href="<!--% absolute_url(baseurl) %-->about.html#so_you_want_to_record_a_podcast">Give Shows</a></li>
|
||||
<li><a href="<!--% absolute_path(baseurl) %-->help_out.html">Contribute</a></li>
|
||||
<li><a href="<!--% absolute_path(baseurl) %-->about.html#how_to_help">Contribute</a></li>
|
||||
<li><a href="<!--% absolute_path(baseurl) %-->tags.html">Tags</a></li>
|
||||
<li><a href="<!--% absolute_path(baseurl) %-->about.html">About</a></li>
|
||||
<li><a href="<!--% absolute_path(baseurl) %-->search.html">Search</a></li>
|
||||
|
@@ -75,7 +75,7 @@
|
||||
<li><a href="http://audio.textfiles.com/shows/radiofreekamerica/">Radio Freek America</a></li>
|
||||
<li><a href="http://audio.textfiles.com/shows/binrev/">BinRev Radio</a></li>
|
||||
<li><a href="http://audio.textfiles.com/shows/infonomicon/">Infonomicon</a></li>
|
||||
<li><a href="http://audio.textfiles.com/shows/twat/">Talk With a Techie</a></li>
|
||||
<li><a href="http://audio.textfiles.com/shows/twat/">Today With a Techie</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
<nav class="column">
|
||||
@@ -86,6 +86,7 @@
|
||||
<li><a href="https://matrix.to/#/#hpr:matrix.org" >Matrix</a></li>
|
||||
<li><a href="mumble://chatter.skyehaven.net:64738/Hacker%20Public%20Radio?version=1.2.0" >Mumble</a></li>
|
||||
<li><a href="https://web.libera.chat/gamja/?channels=oggcastplanet" target="_blank">#oggcastplanet</a></li>
|
||||
<li><a href="https://t.me/+6fEhQrf5IEc4ZGU8">Telegram</a></li>
|
||||
<li><a href="https://twitter.com/HPR">Twitter.com</a></li>
|
||||
<li><a href="https://www.facebook.com/HenryPartickReilly" target="_blank">Facebook</a></li>
|
||||
<li><a href="https://www.linkedin.com/company/hackerpublicradio/" target="_blank">Linked-In</a></li>
|
||||
@@ -113,6 +114,7 @@
|
||||
<ul>
|
||||
<li><a href="https://freeculturepodcasts.org/">Free Culture Podcasts</a></li>
|
||||
<li><a href="https://archive.org/details/hackerpublicradio">archive.org</a></li>
|
||||
<li><a href="https://repo.anhonesthost.net/explore/repos" >HPR Source Code</a></li>
|
||||
<li><a href="https://cchits.net/">cchits.net</a></li>
|
||||
<li><a href="https://freesound.org/">freesound.org</a></li>
|
||||
<li><a href="https://librivox.org/">librivox.org</a></li>
|
||||
|
@@ -1,13 +1,13 @@
|
||||
<!--% query_hpr_shows = '
|
||||
SELECT
|
||||
eps.id,
|
||||
CASE eps.explicit WHEN 1 THEN \'Explicit\' ELSE \'Clean\' END AS explicit ,
|
||||
eps.explicit,
|
||||
eps.date, eps.license, eps.duration,
|
||||
eps.title, eps.summary, eps.tags,
|
||||
eps.notes,
|
||||
hosts.local_image,
|
||||
hosts.hostid,
|
||||
hosts.host, hosts.email,
|
||||
hosts.host, hosts.email, hosts.profile,
|
||||
miniseries.name AS series, miniseries.id AS seriesid
|
||||
FROM eps
|
||||
INNER JOIN hosts ON eps.hostid = hosts.hostid
|
||||
|
@@ -1,13 +1,13 @@
|
||||
<!--% query_hpr_shows = '
|
||||
SELECT
|
||||
eps.id,
|
||||
CASE eps.explicit WHEN 1 THEN \'Explicit\' ELSE \'Clean\' END AS explicit ,
|
||||
eps.explicit,
|
||||
eps.date, eps.license, eps.duration,
|
||||
eps.title, eps.summary, eps.tags,
|
||||
eps.notes,
|
||||
hosts.local_image,
|
||||
hosts.hostid,
|
||||
hosts.host, hosts.email,
|
||||
hosts.host, hosts.email, hosts.profile,
|
||||
miniseries.name AS series, miniseries.id AS seriesid
|
||||
FROM eps
|
||||
INNER JOIN hosts ON eps.hostid = hosts.hostid
|
||||
|
@@ -1,31 +1,13 @@
|
||||
<!--% query_next_available_episode = '
|
||||
WITH RECURSIVE
|
||||
min_id AS (
|
||||
SELECT max(id) AS start_id FROM eps WHERE date <= NOW()
|
||||
),
|
||||
max_id AS (
|
||||
SELECT max(id) AS end_id FROM eps
|
||||
),
|
||||
cnt(x) AS (
|
||||
SELECT start_id from min_id
|
||||
UNION ALL
|
||||
SELECT x+1 FROM cnt
|
||||
WHERE x+1 <= (SELECT end_id FROM max_id)
|
||||
),
|
||||
first_empty AS (
|
||||
SELECT
|
||||
cnt.x AS id
|
||||
FROM cnt
|
||||
LEFT JOIN eps e ON cnt.x = e.id
|
||||
WHERE e.id IS NULL
|
||||
SELECT id, date FROM eps e WHERE id = (
|
||||
SELECT id + 1 FROM eps mo
|
||||
WHERE NOT EXISTS (
|
||||
SELECT NULL
|
||||
FROM eps mi
|
||||
WHERE mi.id = mo.id + 1
|
||||
)
|
||||
SELECT
|
||||
fe.id as next_id,
|
||||
(SELECT DATE(ADDDATE(e2.date,1)) from eps e2 where e2.id = fe.id-1) as next_date,
|
||||
DATEDIFF((SELECT ADDDATE(e3.date,1) from eps e3 where e3.id = fe.id-1),now()) AS delta_days
|
||||
FROM first_empty AS fe
|
||||
LEFT JOIN eps e1 ON fe.id = e1.id
|
||||
LIMIT 1
|
||||
ORDER BY id
|
||||
LIMIT 1) - 1
|
||||
'
|
||||
%-->
|
||||
<!--% query_latest_episodes = '
|
||||
@@ -59,7 +41,7 @@
|
||||
<!--% query_last_5_weeks_episodes = '
|
||||
SELECT
|
||||
eps.id,
|
||||
CASE eps.explicit WHEN 1 THEN \'Explicit\' ELSE \'Clean\' END AS explicit ,
|
||||
eps.explicit,
|
||||
eps.date, eps.license, eps.title, eps.summary,
|
||||
eps.duration, eps.notes, eps.tags,
|
||||
hosts.hostid,
|
||||
|
@@ -1,31 +1,13 @@
|
||||
<!--% query_next_available_episode = '
|
||||
WITH RECURSIVE
|
||||
min_id AS (
|
||||
SELECT max(id) AS start_id FROM eps WHERE date <= date(\'now\')
|
||||
),
|
||||
max_id AS (
|
||||
SELECT max(id) AS end_id FROM eps
|
||||
),
|
||||
cnt(x) AS (
|
||||
SELECT start_id from min_id
|
||||
UNION ALL
|
||||
SELECT x+1 FROM cnt
|
||||
WHERE x+1 <= (SELECT end_id FROM max_id)
|
||||
),
|
||||
first_empty AS (
|
||||
SELECT
|
||||
cnt.x AS id
|
||||
FROM cnt
|
||||
LEFT JOIN eps e ON cnt.x = e.id
|
||||
WHERE e.id IS NULL
|
||||
SELECT id, date FROM eps e WHERE id = (
|
||||
SELECT id + 1 FROM eps mo
|
||||
WHERE NOT EXISTS (
|
||||
SELECT NULL
|
||||
FROM eps mi
|
||||
WHERE mi.id = mo.id + 1
|
||||
)
|
||||
SELECT
|
||||
fe.id as next_id,
|
||||
(SELECT date(eps.date,\'+1 day\') from eps where id = fe.id-1) as next_date,
|
||||
printf(\'%i\',abs(julianday((SELECT date(eps.date,\'+1 day\') from eps where id = fe.id-1)) - julianday(\'now\') + 1)) AS delta_days
|
||||
FROM first_empty AS fe
|
||||
LEFT JOIN eps e ON fe.id = e.id
|
||||
LIMIT 1
|
||||
ORDER BY id
|
||||
LIMIT 1) - 1
|
||||
'
|
||||
%-->
|
||||
<!--% query_latest_episodes = '
|
||||
@@ -59,7 +41,7 @@
|
||||
<!--% query_last_5_weeks_episodes = '
|
||||
SELECT
|
||||
eps.id,
|
||||
CASE eps.explicit WHEN 1 THEN \'Explicit\' ELSE \'Clean\' END AS explicit ,
|
||||
eps.explicit,
|
||||
eps.date, eps.license, eps.title, eps.summary,
|
||||
eps.duration, eps.notes, eps.tags,
|
||||
hosts.hostid,
|
||||
|
@@ -2,8 +2,8 @@
|
||||
<!--% PROCESS 'shared-utils.tpl.html' %-->
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<rss version="2.0"
|
||||
xmlns:googleplay="https://www.google.com/schemas/play-podcasts/1.0"
|
||||
xmlns:atom="https://www.w3.org/2005/Atom"
|
||||
xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"
|
||||
xmlns:atom="http://www.w3.org/2005/Atom"
|
||||
xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" >
|
||||
<channel>
|
||||
<title>Hacker Public Radio</title>
|
||||
@@ -17,7 +17,7 @@
|
||||
<itunes:category text="Education">
|
||||
<itunes:category text="Training"/>
|
||||
</itunes:category>
|
||||
<itunes:image href="<!--% absolute_url(baseurl) %-->images/hpr_feed_itunes.png"/>
|
||||
<itunes:image href="<!--% absolute_url(http_baseurl) %-->images/hpr_feed_itunes.png"/>
|
||||
<itunes:explicit>yes</itunes:explicit>
|
||||
<itunes:author>Hacker Public Radio</itunes:author>
|
||||
<itunes:keywords>Community Radio, Tech Interviews, Linux, Open, Hobby, Software Freedom</itunes:keywords>
|
||||
@@ -30,8 +30,8 @@
|
||||
</itunes:owner>
|
||||
<webMaster>admin@hackerpublicradio.org (HPR Volunteer)</webMaster>
|
||||
<generator>site-generator</generator>
|
||||
<docs>https://www.rssboard.org/rss-specification</docs>
|
||||
<ttl>43200</ttl>
|
||||
<docs>http://www.rssboard.org/rss-specification</docs>
|
||||
<ttl>720</ttl>
|
||||
<skipDays>
|
||||
<day>Saturday</day>
|
||||
<day>Sunday</day>
|
||||
@@ -47,9 +47,9 @@
|
||||
<googleplay:author>HPR Volunteer</googleplay:author>
|
||||
<googleplay:description>Hacker Public Radio is a podcast that releases shows every weekday Monday through Friday. Our shows are produced by the community (you) and can be on any topic that is of interest to hackers and hobbyists.</googleplay:description>
|
||||
<googleplay:email>admin@hackerpublicradio.org</googleplay:email>
|
||||
<googleplay:image href="<!--% absolute_url(baseurl) %-->images/hpr_feed_itunes.png"/>
|
||||
<googleplay:image href="<!--% absolute_url(http_baseurl) %-->images/hpr_feed_itunes.png"/>
|
||||
<googleplay:category text="Technology"/>
|
||||
<atom:link href="<!--% absolute_url(baseurl) %--><!--% filename %-->" rel="self" type="application/rss+xml" />
|
||||
<atom:link href="<!--% absolute_url(http_baseurl) %--><!--% filename %-->" rel="self" type="application/rss+xml" />
|
||||
<pubDate><!--% format_feed_date(date.now) %--></pubDate>
|
||||
|
||||
<!--% INCLUDE $content %-->
|
||||
|
@@ -57,7 +57,7 @@ or
|
||||
|
||||
<!--% MACRO twat_show_summary(show, hide_host) BLOCK %-->
|
||||
|
||||
<h3 class="title"><a href="<!--% absolute_path(baseurl) %-->eps/twat<!--% zero_pad_left(show.id) %-->/index.html">twat<!--% show.id %--> :: <!--% show.title %--></a> <!--% IF hide_host == "" %-->
|
||||
<h3 class="title"><a href="<!--% absolute_path(baseurl) %-->eps/twat<!--% zero_pad_left(show.id) %-->/index.html">Today with a Techie Ep.<!--% show.id %--> :: <!--% show.title %--></a> <!--% IF hide_host == "" %-->
|
||||
hosted by <a href="<!--% absolute_path(baseurl) %-->correspondents/<!--% zero_pad_left(show.hostid) %-->.html"><!--% show.host %--></a>
|
||||
<!--% END %-->
|
||||
</h3>
|
||||
|
@@ -1,24 +1,25 @@
|
||||
<!--% PROCESS 'shared-utils.tpl.html' %-->
|
||||
<!--% MACRO display_item(episode, file_extension, audio_mime_type) BLOCK %-->
|
||||
<!--% USE HTML.Strip %-->
|
||||
<!--% USE HTML.Strip emit_spaces = 0 %-->
|
||||
<!--% IF audio_mime_type == "" %-->
|
||||
<!--% audio_mime_type = 'ogg' %-->
|
||||
<!--% END %-->
|
||||
<item>
|
||||
<itunes:explicit><!--% display_explicit_feed(episode.explicit) %--></itunes:explicit>
|
||||
<googleplay:explicit><!--% display_explicit_feed(episode.explicit) %--></googleplay:explicit>
|
||||
<title>HPR<!--% zero_pad_left(episode.id) %-->: <!--% episode.title %--></title>
|
||||
<googleplay:explicit><!--% display_explicit_feed_2(episode.explicit) %--></googleplay:explicit>
|
||||
<title>HPR<!--% zero_pad_left(episode.id) %-->: <!--% episode.title | html_strip | xml_entity %--></title>
|
||||
<author><!--% episode.email %--> (<!--% episode.host %-->)</author>
|
||||
<googleplay:author><!--% episode.email %--> (<!--% episode.host %-->)</googleplay:author>
|
||||
<itunes:author><!--% episode.email %--> (<!--% episode.host %-->)</itunes:author>
|
||||
<googleplay:image href="<!--% absolute_url(baseurl) %-->images/hpr_feed_itunes.png"/>
|
||||
<googleplay:image href="<!--% absolute_url(http_baseurl) %-->images/hpr_feed_itunes.png"/>
|
||||
<link><!--% absolute_url(baseurl) %-->eps/hpr<!--% zero_pad_left(episode.id) %-->/index.html</link>
|
||||
<description><![CDATA[<!--% episode.notes %-->]]>
|
||||
</description>
|
||||
<itunes:summary><![CDATA[<!--% episode.notes.substr(0, 4000) | html_strip | xml_entity %-->]]>
|
||||
</itunes:summary>
|
||||
<pubDate><!--% format_feed_date(episode.date) %--></pubDate>
|
||||
<enclosure url="<!--% baseurl %-->eps/hpr<!--% zero_pad_left(episode.id) %-->.<!--% file_extension %-->" length="<!--% episode.length %-->" type="audio/<!--% audio_mime_type %-->"/>
|
||||
<guid><!--% baseurl %-->eps/hpr<!--% zero_pad_left(episode.id) %-->.<!--% file_extension %--></guid>
|
||||
<enclosure url="<!--% http_baseurl %-->eps/hpr<!--% zero_pad_left(episode.id) %-->.<!--% file_extension %-->" length="<!--% episode.length %-->" type="audio/<!--% audio_mime_type %-->"/>
|
||||
<guid><!--% http_baseurl %-->eps/hpr<!--% zero_pad_left(episode.id) %-->.<!--% file_extension %--></guid>
|
||||
</item>
|
||||
|
||||
<!--% END %-->
|
||||
|
@@ -35,6 +35,10 @@
|
||||
<!--% display_choice(is_explicit, 'yes', 'no') %-->
|
||||
<!--% END %-->
|
||||
|
||||
<!--% MACRO display_explicit_feed_2(is_explicit) BLOCK %-->
|
||||
<!--% display_choice(is_explicit, 'Yes', 'No') %-->
|
||||
<!--% END %-->
|
||||
|
||||
<!--% MACRO format_feed_date(date_to_format) BLOCK %-->
|
||||
<!--% USE feed_date = date(format = '%a, %d %b %Y %H:%M:%S +0000', gmt=1) %-->
|
||||
<!--% feed_date.format(date_to_format) %-->
|
||||
|
Reference in New Issue
Block a user