forked from HPR/hpr_generator
Compare commits
66 Commits
main
...
i316_Have-
| Author | SHA1 | Date | |
|---|---|---|---|
|
0a5dea473b
|
|||
| de316e7f6b | |||
|
7161b99eb0
|
|||
| 84e89a53ad | |||
|
5004f4fe88
|
|||
|
6520bdac8b
|
|||
| 2eece012fa | |||
|
3d74b6f084
|
|||
| 24f2b5f9ee | |||
|
020d6395c1
|
|||
| a40774b1e8 | |||
|
face5e1fbe
|
|||
|
7b9e8a94f0
|
|||
| 3ca1a903df | |||
|
ae5bfc12b4
|
|||
|
21c664ecf9
|
|||
|
c17ce1bf74
|
|||
|
c922ea6281
|
|||
|
98c51ee9fe
|
|||
|
ae96d602a4
|
|||
| 904d14d083 | |||
|
7170015a0e
|
|||
| e649c09803 | |||
|
eeb955d9fe
|
|||
|
b2f5322aec
|
|||
|
23f91a0410
|
|||
|
2be718287f
|
|||
| 3bd64bf5cf | |||
|
7a59a769ed
|
|||
|
30cca2bac0
|
|||
| 3a475742e4 | |||
|
4e2ecc4efc
|
|||
|
c85a4b8c6e
|
|||
| f11106223c | |||
|
1ad43c462a
|
|||
| 3bcd385279 | |||
|
aa722bda55
|
|||
|
ed6779fa5a
|
|||
|
126e184126
|
|||
|
192d994556
|
|||
| 2f779fb9d0 | |||
|
7a02c7b1c1
|
|||
| 48fbd272e4 | |||
|
b850c51e4f
|
|||
|
3bf5769b52
|
|||
| 67e56ea102 | |||
|
2c9e75bf1a
|
|||
| ccc904c691 | |||
|
d0c371a0f9
|
|||
|
466ef289b1
|
|||
|
b5755ddedb
|
|||
|
2a119bd920
|
|||
|
a8dc69d7ad
|
|||
|
09f5c60d60
|
|||
|
b122f7c1c0
|
|||
|
70fd148928
|
|||
|
c53c6d50aa
|
|||
|
c4d94bb019
|
|||
|
1075833562
|
|||
|
fb46c13394
|
|||
| f78789fdc4 | |||
| 4327c15823 | |||
|
39c14fb3e4
|
|||
|
47e1ebf69c
|
|||
|
88f9362279
|
|||
|
96e4d9a402
|
1
_sql/sqlite/Rename_twt_table.sql
Normal file
1
_sql/sqlite/Rename_twt_table.sql
Normal file
@@ -0,0 +1 @@
|
||||
ALTER TABLE twat_eps RENAME TO twt_eps;
|
||||
@@ -47,12 +47,15 @@ https://creativecommons.org/publicdomain/
|
||||
--link-secondary: #a8f8ff;
|
||||
--link-secondary-hover: #f9e9c2;
|
||||
--link-title-color: #00003e;
|
||||
--link-navigation-hover: #030303;
|
||||
--primary-content-line-height: 1.45;
|
||||
|
||||
--font-family-hpr: Verdana, Arial, Helvetica, sans-serif; /* 1em/1.5 OpenDyslexic, */;
|
||||
--font-size-default: clamp(1rem, 15px + 0.3vw, 1.07rem);
|
||||
--font-size-emphasis: clamp(1.1rem, 15px + 0.3vw, 1.25rem);
|
||||
|
||||
--episode-nav-padding: clamp(0.15em, 15px + 0.3vw, 0.4em);
|
||||
--show-notes-pre-background: #f9e9c2;
|
||||
--logo-font-family: var(--font-family-hpr);
|
||||
--logo-font-weight: bolder;
|
||||
--logo-font-size: 7.5rem;
|
||||
@@ -349,7 +352,7 @@ article > p,
|
||||
2px 4px 4px var(--shadow-cards);
|
||||
transition: 0.3s;
|
||||
flex: 1 0 100%;
|
||||
overflow-x: scroll;
|
||||
overflow: auto;
|
||||
padding-bottom: 1rem;
|
||||
}
|
||||
.lane > article:hover,
|
||||
@@ -400,6 +403,9 @@ article > p,
|
||||
font-size: var(--default-header-4-font-size);
|
||||
margin-left: 22px;
|
||||
}
|
||||
.lane.stack > article > footer {
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
a.lane-button {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
@@ -635,7 +641,7 @@ fieldset > table td input[type="radio"] {
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
.no-css {
|
||||
display: none;
|
||||
display: none !important;
|
||||
}
|
||||
#tags .date {
|
||||
margin:0;
|
||||
@@ -669,12 +675,20 @@ fieldset > table td input[type="radio"] {
|
||||
background: var(--background-secondary);
|
||||
color: var(--background-primary);
|
||||
}
|
||||
#hosts td:nth-child(2) {
|
||||
display: inline-flex;
|
||||
}
|
||||
#hosts td:nth-child(-n+2) a {
|
||||
color: var(--link-secondary);
|
||||
flex: 1;
|
||||
}
|
||||
#hosts td:nth-child(-n+2) a:hover {
|
||||
color: var(--link-secondary-hover);
|
||||
}
|
||||
#hosts td:nth-child(-n+2) a strong {
|
||||
display: inline-block;
|
||||
line-height: 1.5rem;
|
||||
}
|
||||
#hosts td:nth-child(2) {
|
||||
padding: 0.25rem 0 0 8px;
|
||||
width: calc(100% - 90px);
|
||||
@@ -694,9 +708,15 @@ fieldset > table td input[type="radio"] {
|
||||
border-radius: 0.25rem;
|
||||
}
|
||||
#host {
|
||||
justify-content: flex-start;
|
||||
align-items: end;
|
||||
gap: 0;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
gap: 0.5rem;
|
||||
}
|
||||
#host_id {
|
||||
text-align: center;
|
||||
}
|
||||
#host_id > h2 {
|
||||
margin-top: 0;
|
||||
}
|
||||
#host_id img {
|
||||
border-radius: 0.25rem;
|
||||
@@ -716,10 +736,13 @@ fieldset > table td input[type="radio"] {
|
||||
padding: 0;
|
||||
}
|
||||
.series-description {
|
||||
margin: 0;
|
||||
margin: 0 0 1rem 0;
|
||||
padding: 0;
|
||||
font-style: italic;
|
||||
}
|
||||
.series-desciption > *:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.sr-only {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
@@ -730,6 +753,70 @@ fieldset > table td input[type="radio"] {
|
||||
clip: rect(0, 0, 0, 0);
|
||||
border: 0;
|
||||
}
|
||||
#show_notes {
|
||||
max-width: 98vw;
|
||||
}
|
||||
#show_notes pre
|
||||
{
|
||||
overflow: auto;
|
||||
}
|
||||
#show_notes code {
|
||||
display: inline-block;
|
||||
background-color: var(--show-notes-pre-background);
|
||||
border: 1px solid #ddd;
|
||||
padding: 0.1em 0;
|
||||
}
|
||||
nav.episodes {
|
||||
color: var(--background-primary);
|
||||
font-size: 0.9em;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-around;
|
||||
max-width: 100vw;
|
||||
}
|
||||
nav.episodes span {
|
||||
color: var(--text-primary);
|
||||
display: inline-block;
|
||||
text-align: center;
|
||||
border: solid thin var(--text-primary);
|
||||
}
|
||||
nav.episodes span:nth-child(-n+2),
|
||||
nav.episodes span:nth-child(-n+2) a {
|
||||
border-top-left-radius: 2rem;
|
||||
border-bottom-left-radius: 2rem;
|
||||
}
|
||||
nav.episodes span:nth-child(n+3),
|
||||
nav.episodes span:nth-child(n+3) a {
|
||||
border-top-right-radius: 2rem;
|
||||
border-bottom-right-radius: 2rem;
|
||||
}
|
||||
nav.episodes span.no-link,
|
||||
nav.episodes span a {
|
||||
padding: 0.3em var(--episode-nav-padding) 0.1em var(--episode-nav-padding);
|
||||
display: inline-block;
|
||||
min-width: 4.4em;
|
||||
min-height: 1.5em;
|
||||
}
|
||||
nav.episodes span a:hover {
|
||||
background-color: var(--link-primary-hover);
|
||||
color: var(--link-secondary-hover);
|
||||
}
|
||||
nav.episodes svg {
|
||||
margin: 0 0.2rem;
|
||||
height: 0.85em;
|
||||
max-width: 13px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
nav.episodes span a svg #arrow,
|
||||
nav.episodes span a svg #bar {
|
||||
stroke: var(--link-primary);
|
||||
fill: var(--link-primary);
|
||||
}
|
||||
nav.episodes span a:hover svg #arrow,
|
||||
nav.episodes span a:hover svg #bar {
|
||||
stroke: var(--link-secondary-hover);
|
||||
fill: var(--link-secondary-hover);
|
||||
}
|
||||
@media (min-width: 600px) {
|
||||
body > header .bounding-box {
|
||||
justify-content: space-between;
|
||||
@@ -824,7 +911,10 @@ fieldset > table td input[type="radio"] {
|
||||
max-width: 45%;
|
||||
}
|
||||
#host {
|
||||
gap: 1rem;
|
||||
gap: 2rem;
|
||||
}
|
||||
nav.episodes {
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
@media (min-width: 900px) {
|
||||
@@ -841,3 +931,54 @@ fieldset > table td input[type="radio"] {
|
||||
max-width: 30%;
|
||||
}
|
||||
}
|
||||
@media (prefers-color-scheme: dark) {
|
||||
:root {
|
||||
--link-primary: #bbdfe7;
|
||||
--link-header-hover: #b54c08; /* original --link-primary-hover */;
|
||||
--link-primary-hover: var(--link-secondary-hover);
|
||||
--background-primary: #4d4d4d; /* HPR Grey */
|
||||
--text-primary: #dfdfdf /*#fffff7#fafafa#fbfbee #dfdfdf */;
|
||||
--banner-text-primary: #b6b6b6;
|
||||
--shadow-secondary-color: hsl(0, 0%, 40%);
|
||||
--input-border-primary: var(--shadow-secondary-color);
|
||||
--lane-button-color: #d5e6ea;
|
||||
--show-notes-pre-background: #b54c08;
|
||||
}
|
||||
body > header {
|
||||
background-image: url("/images/main-header-background-dark.png");
|
||||
background-color: #22545a;
|
||||
}
|
||||
img {
|
||||
filter: brightness(0.70);
|
||||
}
|
||||
a.lane-button {
|
||||
background-image: url("/images/lane-button-background-dark.png");
|
||||
color: var(--lane-button-color);
|
||||
}
|
||||
a.lane-button img {
|
||||
filter: none;
|
||||
}
|
||||
.lane > article > header {
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
#title a:hover {
|
||||
color: var(--link-header-hover);
|
||||
}
|
||||
#hosts td:nth-child(-n+2) {
|
||||
color: var(--text-primary);
|
||||
}
|
||||
nav.episodes span a:hover {
|
||||
background-color: var(--link-primary-hover);
|
||||
color: var(--link-navigation-hover);
|
||||
}
|
||||
nav.episodes span svg #arrow,
|
||||
nav.episodes span svg #bar {
|
||||
stroke: var(--text-primary);
|
||||
fill: var(--text-primary);
|
||||
}
|
||||
nav.episodes span a:hover svg #arrow,
|
||||
nav.episodes span a:hover svg #bar {
|
||||
stroke: var(--link-navigation-hover);
|
||||
fill: var(--link-navigation-hover);
|
||||
}
|
||||
}
|
||||
|
||||
24
public_html/images/icons/arrow-first.svg
Normal file
24
public_html/images/icons/arrow-first.svg
Normal file
@@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
<svg
|
||||
viewBox="0 0 12 12"
|
||||
version="1.1"
|
||||
id="arrow_first"
|
||||
width="12"
|
||||
height="12"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<path
|
||||
id="arrow"
|
||||
style="stroke-width:0.584448;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="M 9.9303359,11.572157 11.530286,10.119277 7.0035163,5.9964088 11.484768,1.9181465 9.8743209,0.45252151 3.7931149,5.986851 Z" />
|
||||
<rect
|
||||
style="stroke-width:0.524;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;marker-start:url(#Arrow1Lstart);paint-order:normal"
|
||||
id="bar"
|
||||
width="2.2"
|
||||
height="11.263"
|
||||
x="0.5"
|
||||
y="0.36860976"
|
||||
rx="0"
|
||||
ry="0.0015425405" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 877 B |
25
public_html/images/icons/arrow-last.svg
Normal file
25
public_html/images/icons/arrow-last.svg
Normal file
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
<svg
|
||||
viewBox="0 0 12 12"
|
||||
version="1.1"
|
||||
id="arrow_last"
|
||||
width="12"
|
||||
height="12"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<path
|
||||
id="arrow"
|
||||
style="stroke-width:0.584448;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="M 2.0731448,11.604466 0.47319466,10.151586 4.9999643,6.0287178 0.51871266,1.9504555 2.1291598,0.48483049 8.2103658,6.01916 Z" />
|
||||
<rect
|
||||
style="stroke-width:0.524;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;marker-start:url(#Arrow1Lstart);paint-order:normal"
|
||||
id="bar"
|
||||
width="2.2"
|
||||
height="11.263"
|
||||
x="-11.503481"
|
||||
y="0.40091875"
|
||||
rx="0"
|
||||
ry="0.0015425405"
|
||||
transform="scale(-1,1)" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 911 B |
15
public_html/images/icons/arrow-next.svg
Normal file
15
public_html/images/icons/arrow-next.svg
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
<svg
|
||||
viewBox="0 0 12 12"
|
||||
version="1.1"
|
||||
id="arrow_next"
|
||||
width="12"
|
||||
height="12"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<path
|
||||
id="arrow"
|
||||
style="stroke-width:0.584448;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="M 2.0731448,11.604466 0.47319466,10.151586 4.9999643,6.0287178 0.51871266,1.9504555 2.1291598,0.48483049 8.2103658,6.01916 Z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 575 B |
15
public_html/images/icons/arrow-previous.svg
Normal file
15
public_html/images/icons/arrow-previous.svg
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
<svg
|
||||
viewBox="0 0 12 12"
|
||||
version="1.1"
|
||||
id="arrow_previous"
|
||||
width="12"
|
||||
height="12"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<path
|
||||
id="arrow"
|
||||
style="stroke-width:0.584448;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="M 9.9303359,11.572157 11.530286,10.119277 7.0035163,5.9964088 11.484768,1.9181465 9.8743209,0.45252151 3.7931149,5.986851 Z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 578 B |
BIN
public_html/images/lane-button-background-dark.png
Normal file
BIN
public_html/images/lane-button-background-dark.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 25 KiB |
BIN
public_html/images/main-header-background-dark.png
Normal file
BIN
public_html/images/main-header-background-dark.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 611 KiB |
18
site.cfg
18
site.cfg
@@ -10,7 +10,7 @@ driver: dbi:SQLite:hpr.db
|
||||
|
||||
# Configure the location of the templates and the generated HTML
|
||||
[app_paths]
|
||||
templates_path: ./templates
|
||||
templates_path: ./templates:./public_html/images/icons
|
||||
output_path: ./public_html
|
||||
|
||||
# Configure the root template page which pulls in the navigation and
|
||||
@@ -108,9 +108,9 @@ content: content-sitemap.tpl.html
|
||||
navigation: navigation-main.tpl.html
|
||||
content: content-tags.tpl.html
|
||||
|
||||
[twat_episode]
|
||||
[twt_episode]
|
||||
navigation: navigation-get-shows.tpl.html
|
||||
content: content-twat_episode.tpl.html
|
||||
content: content-twt_episode.tpl.html
|
||||
multipage: true
|
||||
filename: eps/twt[id]/index.html
|
||||
|
||||
@@ -171,3 +171,15 @@ media_file_extension: spx
|
||||
[comments]
|
||||
root_template: rss-comments.tpl.xml
|
||||
filename: comments.rss
|
||||
|
||||
[correspondent_m3u]
|
||||
root_template: m3u.tpl.m3u8
|
||||
content: m3u-correspondent.tpl.m3u8
|
||||
filename: correspondents/[id]/playlist.m3u8
|
||||
multipage: true
|
||||
|
||||
[series_episodes_m3u]
|
||||
root_template: m3u.tpl.m3u8
|
||||
content: m3u-series_episodes.tpl.m3u8
|
||||
filename: series/[id].m3u8
|
||||
multipage: true
|
||||
|
||||
@@ -43,7 +43,7 @@ You can copy and redistribute the shows for free provided you adhere to the
|
||||
<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 href="https://web.archive.org/web/20230323053905/http://www.oldskoolphreak.com/" >Radio FreeK America</a>,
|
||||
<a href="https://web.archive.org/web/20220123174618/https://www.binrev.com/forums/" >Binary Revolution Radio</a> & <a href="https://web.archive.org/web/20150208172826/http://www.nomicon.info/" >Infonomicon</a>,
|
||||
and it is a rename of <a href="<!--% absolute_url(baseurl,'twat.html') %-->" >Today With a Techie</a> radio.
|
||||
and it is a rename of <a href="<!--% absolute_url(baseurl,'eps/index.html#twt_episodes') %-->" >Today With a Techie</a> radio.
|
||||
Please listen to StankDawg's "<a href="<!--% media_path(1, 'hpr', 'mp3', baseurl, media_baseurl) %-->" >
|
||||
Introduction to HPR</a>" for more information.</p>
|
||||
|
||||
|
||||
@@ -3,46 +3,17 @@
|
||||
<!--% PROCESS 'shared-utils.tpl.html' %-->
|
||||
<!--% PROCESS "queries-correspondent.tpl.html" %-->
|
||||
<!--% USE DBI(constants.driver) %-->
|
||||
<!--% results_hpr_shows = DBI.prepare(query_hpr_shows)
|
||||
%-->
|
||||
<!--% results_hpr_shows = DBI.prepare(query_hpr_shows) %-->
|
||||
<!--% results_hpr_show_count = DBI.prepare(query_hpr_show_count) %-->
|
||||
<!--% hpr_shows_to_count = results_hpr_show_count.execute(id); %-->
|
||||
<!--% hpr_result_status = results_hpr_show_count.execute(id); %-->
|
||||
<!--% hpr_shows = results_hpr_shows.execute(id); %-->
|
||||
<!--% hpr_show_count = 0 %-->
|
||||
<!--% FOREACH show IN hpr_shows_to_count %-->
|
||||
<!--% hpr_show_count = hpr_show_count +1; %-->
|
||||
<!--% END %-->
|
||||
<!--% hpr_show_count = results_hpr_show_count.fetchrow_array %-->
|
||||
|
||||
<!--% query_twat_show_count = DBI.prepare('
|
||||
SELECT id
|
||||
FROM twat_eps AS eps
|
||||
WHERE eps.hostid = ?
|
||||
')
|
||||
%-->
|
||||
<!--% query_twat_shows = DBI.prepare('
|
||||
SELECT
|
||||
eps.id,
|
||||
CASE eps.explicit WHEN 1 THEN \'Explicit\' ELSE \'Clean\' END AS 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.profile,
|
||||
miniseries.name AS series, miniseries.id AS seriesid
|
||||
FROM twat_eps AS eps
|
||||
INNER JOIN hosts ON eps.hostid = hosts.hostid
|
||||
INNER JOIN miniseries ON eps.series = miniseries.id
|
||||
WHERE hosts.hostid = ?
|
||||
ORDER BY eps.id DESC
|
||||
')
|
||||
%-->
|
||||
<!--% twat_shows_to_count = query_twat_show_count.execute(id); %-->
|
||||
<!--% twat_shows = query_twat_shows.execute(id); %-->
|
||||
<!--% twat_show_count = 0 %-->
|
||||
<!--% FOREACH show IN twat_shows_to_count %-->
|
||||
<!--% twat_show_count = twat_show_count +1; %-->
|
||||
<!--% END %-->
|
||||
<!--% results_hpr_shows = DBI.prepare(query_twt_shows) %-->
|
||||
<!--% results_twt_show_count = DBI.prepare(query_twt_show_count) %-->
|
||||
<!--% twt_result_status = results_twt_show_count.execute(id); %-->
|
||||
<!--% twt_shows = results_hpr_shows.execute(id); %-->
|
||||
<!--% twt_show_count = results_twt_show_count.fetchrow_array %-->
|
||||
|
||||
<!--% hosts = DBI.tie('hosts', 'hostid') %-->
|
||||
|
||||
@@ -57,22 +28,23 @@
|
||||
<div id="host_meta">
|
||||
<p><label>email:</label> <u><!--% this_host.email %--></u></p>
|
||||
<div><label>profile:</label> <!--% this_host.profile %--></div>
|
||||
<p><label>episodes:</label> <strong><!--% hpr_show_count + twat_show_count %--></strong></p>
|
||||
<p><label>episodes:</label> <strong><!--% hpr_show_count + twt_show_count %--></strong></p>
|
||||
<p><a href="<!--% absolute_url(baseurl,'//correspondents') %-->/<!--% zero_pad_left(this_host.hostid) %-->/playlist.m3u8">Download the M3U playlist</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="lane stack">
|
||||
<div id="episodes" class="lane stack">
|
||||
<!--% FOREACH hpr_show IN hpr_shows; %-->
|
||||
<article>
|
||||
<!--% show_summary(hpr_show, 'hide_host') %-->
|
||||
<p class="listen-in"><!--% display_listen_in(hpr_show.id) %--></p>
|
||||
</article>
|
||||
<!--% END %-->
|
||||
<!--% FOREACH twat_show IN twat_shows; %-->
|
||||
<!--% FOREACH twt_show IN twt_shows; %-->
|
||||
<article>
|
||||
|
||||
<!--% twat_show_summary(twat_show, 'hide_host') %-->
|
||||
<p class="listen-in"><!--% display_listen_in(twat_show.id,"twat") %--></p>
|
||||
<!--% twt_show_summary(twt_show, 'hide_host') %-->
|
||||
<p class="listen-in"><!--% display_listen_in(twt_show.id,"twt") %--></p>
|
||||
</article>
|
||||
<!--% END %-->
|
||||
</div>
|
||||
<p><a href="<!--% absolute_url(baseurl) %-->about.html#so_you_want_to_record_a_podcast">Become a Correspondent</a></p>
|
||||
<p><a href="<!--% absolute_url(baseurl) %-->../about.html#so_you_want_to_record_a_podcast">Become a Correspondent</a></p>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!--% PROCESS 'shared-utils.tpl.html' %-->
|
||||
<!--% PROCESS 'shared-avatar.tpl.html' %-->
|
||||
<h2 class="title">Correspondents</h2>
|
||||
<p>For more information on how to become a Correspondent see our <a href="<!--% absolute_url(baseurl) %-->about.html#so_you_want_to_record_a_podcast">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="<!--% absolute_url(baseurl) %-->../about.html#so_you_want_to_record_a_podcast">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) %-->
|
||||
<!--% host_cnt = 0 %-->
|
||||
<table id="hosts" class="hosts lane stack">
|
||||
@@ -23,13 +23,12 @@
|
||||
<tr class="lane">
|
||||
<td><!--% get_avatar(host.hostid, host.host, host_cnt > 8) %--></td>
|
||||
|
||||
<td><strong><!--% host.host %--></strong><br>
|
||||
|
||||
Host ID: <a href="<!--% absolute_path(baseurl) %-->correspondents/<!--% zero_pad_left(host.hostid) %-->.html"><!--% host.hostid %--></a></td>
|
||||
<td><a href="<!--% absolute_path(baseurl) %-->correspondents/<!--% zero_pad_left(host.hostid) %-->.html"><strong><!--% host.host %--></strong><br>
|
||||
Host ID: <!--% host.hostid %--></a></td>
|
||||
<td><!--% host.license %--></td>
|
||||
<td><!--% host.date %--></td>
|
||||
</tr><!--% host_cnt = host_cnt + 1 %-->
|
||||
<!--% END %-->
|
||||
</tbody>
|
||||
</table>
|
||||
<p><a href="<!--% absolute_url(baseurl) %-->about.html#so_you_want_to_record_a_podcast">Become a Correspondent</a></p>
|
||||
<p><a href="<!--% absolute_url(baseurl) %-->../about.html#so_you_want_to_record_a_podcast">Become a Correspondent</a></p>
|
||||
|
||||
@@ -26,7 +26,7 @@ Hosted by <a href="<!--% absolute_path(baseurl) %-->correspondents/<!--% zero_pa
|
||||
<h3><!--% show_series(episode.series, episode.seriesid, "Part of the series") %--></h3>
|
||||
<p><em><!--% episode.series_description %--></em></p>
|
||||
</header>
|
||||
<div><!--% episode.notes %--></div>
|
||||
<div id="show_notes"><!--% episode.notes %--></div>
|
||||
<footer>
|
||||
<p>
|
||||
<!--% episode_navigation %-->
|
||||
@@ -61,11 +61,11 @@ Subscribe to the comments <a href="<!--% absolute_path(baseurl) %-->comments.rss
|
||||
<h2>Leave Comment</h2>
|
||||
<p>
|
||||
<strong>Note to Verbose Commenters</strong><br />
|
||||
If you can't fit everything you want to say in the comment below then you really should <a href="<!--% absolute_url(baseurl) %-->about.html#so_you_want_to_record_a_podcast">record</a> a response show instead.
|
||||
If you can't fit everything you want to say in the comment below then you really should <a href="<!--% absolute_url(baseurl) %-->../../about.html#so_you_want_to_record_a_podcast">record</a> a response show instead.
|
||||
</p>
|
||||
<p>
|
||||
<strong>Note to Spammers</strong><br />
|
||||
All comments are moderated. All links are checked by humans. We strip out all html. Feel free to <a href="<!--% absolute_url(baseurl) %-->about.html#so_you_want_to_record_a_podcast">record</a> a show about yourself, or your industry, or any other topic we may find interesting. <em>We also check shows for spam :)</em>.
|
||||
All comments are moderated. All links are checked by humans. We strip out all html. Feel free to <a href="<!--% absolute_url(baseurl) %-->../../about.html#so_you_want_to_record_a_podcast">record</a> a show about yourself, or your industry, or any other topic we may find interesting. <em>We also check shows for spam :)</em>.
|
||||
</p>
|
||||
<form method="POST" action="<!--% hub_baseurl %-->comment_confirm.php">
|
||||
<fieldset>
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
<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>Today With a Techie Radio was brought to you by <a href="https://en.wikipedia.org/wiki/Infonomicon">The Infonomicon Computer Club</a></p>
|
||||
<div class="lane stack">
|
||||
<!--% FOREACH twat_episode IN DBI.query('
|
||||
<!--% FOREACH twt_episode IN DBI.query('
|
||||
SELECT
|
||||
eps.id,
|
||||
eps.explicit,
|
||||
@@ -29,14 +29,14 @@
|
||||
hosts.hostid,
|
||||
hosts.host, hosts.email, hosts.local_image,
|
||||
miniseries.name AS series, miniseries.id AS seriesid
|
||||
FROM twat_eps as eps
|
||||
FROM twt_eps as eps
|
||||
INNER JOIN hosts ON eps.hostid = hosts.hostid
|
||||
INNER JOIN miniseries ON eps.series = miniseries.id
|
||||
ORDER BY eps.id DESC
|
||||
')
|
||||
%-->
|
||||
<article>
|
||||
<!--% twat_show_summary(twat_episode) %-->
|
||||
<!--% twt_show_summary(twt_episode) %-->
|
||||
</article>
|
||||
<!--% END %-->
|
||||
</div>
|
||||
|
||||
@@ -97,13 +97,14 @@
|
||||
<dl>
|
||||
<!--% FOREACH latest_episodes IN DBI.query(query_latest_episodes)
|
||||
%-->
|
||||
<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 <!--% latest_episodes.host %--></dt>
|
||||
<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>
|
||||
<dd>
|
||||
<!--% latest_episodes.summary %-->
|
||||
</dd>
|
||||
<!--% host_cnt = host_cnt + 1 %-->
|
||||
<!--% END %-->
|
||||
</dl>
|
||||
<p><a href="<!--% absolute_path(baseurl) %-->eps/index.html">More Episodes…</a></p>
|
||||
</section>
|
||||
<section id="latest_comments">
|
||||
<header><h2>Latest Comments</h2></header>
|
||||
@@ -138,5 +139,6 @@
|
||||
<dd>on hpr<!--% item.eps_id %--> (<!--% item.episode_date %-->) "<!--% item.episode_title %-->" by <!--% item.host %--></dd>
|
||||
<!--% END %-->
|
||||
</dl>
|
||||
<p><a href="<!--% absolute_path(baseurl) %-->comments_viewer.html">More Comments…</a></p>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
<li>Date of earliest show: <!--% series.earliest_show %--></li>
|
||||
<li>Date of latest show: <!--% series.latest_show %--></li>
|
||||
<li>Series RSS feeds: <a href="<!--% absolute_path(baseurl) %-->hpr_ogg_rss.php?series=<!--% series.id %-->">ogg</a>, <a href="<!--% absolute_path(baseurl) %-->hpr_spx_rss.php?series=<!--% series.id %-->">spx</a>, <a href="<!--% absolute_path(baseurl) %-->hpr_mp3_rss.php?series=<!--% series.id %-->">mp3</a></li>
|
||||
<li><a href="<!--% absolute_url(baseurl,'//series') %-->/<!--% zero_pad_left(series.id) %-->.m3u8">Download the M3U playlist</a></li>
|
||||
</ul>
|
||||
<div class="series-description"><!--% series.description %--></div>
|
||||
</article>
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
<li>Date of earliest show: <!--% series.earliest_show %--></li>
|
||||
<li>Date of latest show: <!--% series.latest_show %--></li>
|
||||
<li>Series RSS feeds: <a href="<!--% absolute_path(baseurl) %-->hpr_ogg_rss.php?series=<!--% series.id %-->&full=1&gomax=1">ogg</a>, <a href="<!--% absolute_path(baseurl) %-->hpr_spx_rss.php?series=<!--% series.id %-->&full=1&gomax=1">spx</a>, <a href="<!--% absolute_path(baseurl) %-->hpr_mp3_rss.php?series=<!--% series.id %-->&full=1&gomax=1">mp3</a></li>
|
||||
<li><a href="<!--% absolute_url(baseurl,'//series') %-->/<!--% zero_pad_left(series.id) %-->.m3u8">Download the M3U playlist</a></li>
|
||||
</ul>
|
||||
<p><em><!--% series.description %--></em></p>
|
||||
<section id="series_episodes" class="lane stack">
|
||||
|
||||
@@ -6,23 +6,23 @@
|
||||
<!--% query_episodes = DBI.prepare('
|
||||
WITH episode_maxmin AS (
|
||||
SELECT MAX(id) AS \'latest\', MIN(id) AS \'earliest\', ? AS \'id\'
|
||||
FROM twat_eps AS eps
|
||||
FROM twt_eps AS eps
|
||||
),
|
||||
episode_date AS (
|
||||
SELECT eps.date
|
||||
FROM twat_eps AS eps
|
||||
FROM twt_eps AS eps
|
||||
WHERE eps.id = ?
|
||||
),
|
||||
episode_previous AS (
|
||||
SELECT MAX(id) AS \'previous\', ? AS \'id\'
|
||||
FROM twat_eps AS eps
|
||||
FROM twt_eps AS 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 twat_eps AS eps
|
||||
FROM twt_eps AS eps
|
||||
INNER JOIN episode_date
|
||||
ON eps.date > episode_date.date
|
||||
)
|
||||
@@ -34,7 +34,7 @@
|
||||
hosts.hostid, hosts.host,
|
||||
miniseries.name AS \'series\', miniseries.id AS \'seriesid\',
|
||||
miniseries.description AS \'series_description\'
|
||||
FROM twat_eps AS eps
|
||||
FROM twt_eps AS 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
|
||||
@@ -55,8 +55,8 @@
|
||||
<p><!--% show_avatar(episode.hostid, episode.host) %-->
|
||||
Hosted by <a href="<!--% absolute_path(baseurl) %-->correspondents/<!--% zero_pad_left(episode.hostid) %-->.html"><!--% episode.host %--></a> on <span><!--% day_and_date(episode.date) %--></span> is flagged as <span><!--% display_explicit(episode.explicit) %--></span> and is released under a <span><!--% episode.license %--> license</span>. <br>
|
||||
<!--% display_tags(episode.tags) %--> <br>
|
||||
<!--% listen_now(episode, "twat", baseurl, media_baseurl) %-->
|
||||
<!--% display_listen_in(episode.id, "twat") %-->
|
||||
<!--% listen_now(episode, "twt", baseurl, media_baseurl) %-->
|
||||
<!--% display_listen_in(episode.id, "twt") %-->
|
||||
</p>
|
||||
<h3><!--% show_series(episode.series, episode.seriesid, "Part of the series") %--></h3>
|
||||
<p><em><!--% episode.series_description %--></em></p>
|
||||
7
templates/ids-correspondent_m3u.tpl.html
Normal file
7
templates/ids-correspondent_m3u.tpl.html
Normal file
@@ -0,0 +1,7 @@
|
||||
<!--% USE DBI(constants.driver) %-->
|
||||
<!--% FOREACH host IN DBI.query(
|
||||
'select h.hostid from hosts as h'
|
||||
) %-->
|
||||
,<!--% host.hostid %-->
|
||||
<!--% END %-->
|
||||
|
||||
7
templates/ids-series_episodes_m3u.tpl.html
Normal file
7
templates/ids-series_episodes_m3u.tpl.html
Normal file
@@ -0,0 +1,7 @@
|
||||
<!--% USE DBI(constants.driver, constants.user, constants.password) %-->
|
||||
<!--% FOREACH series IN DBI.query(
|
||||
'select s.id from miniseries as s'
|
||||
) %-->
|
||||
,<!--% series.id %-->
|
||||
<!--% END %-->
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<!--% USE DBI(constants.driver) %-->
|
||||
<!--% FOREACH episode IN DBI.query(
|
||||
'select eps.id from twat_eps AS eps'
|
||||
'select eps.id from twt_eps AS eps'
|
||||
) %-->
|
||||
,<!--% episode.id %-->
|
||||
<!--% END %-->
|
||||
24
templates/m3u-correspondent.tpl.m3u8
Normal file
24
templates/m3u-correspondent.tpl.m3u8
Normal file
@@ -0,0 +1,24 @@
|
||||
<!--% PROCESS 'shared-utils.tpl.html' %-->
|
||||
<!--% PROCESS 'queries-correspondent.tpl.html' %-->
|
||||
<!--% USE DBI(constants.driver) %-->
|
||||
<!--% results_hpr_shows = DBI.prepare(query_hpr_shows) %-->
|
||||
<!--% hpr_shows = results_hpr_shows.execute(id); %-->
|
||||
<!--% FOREACH hpr_show IN hpr_shows; %-->
|
||||
#EXTINF: <!--% hpr_show.duration %-->,<!--% hpr_show.host %--> - <!--% hpr_show.title %-->
|
||||
|
||||
|
||||
<!--% media_path(hpr_show.id, 'hpr', 'mp3', baseurl, media_baseurl) %-->
|
||||
|
||||
|
||||
<!--% END %-->
|
||||
<!--% results_hpr_shows = DBI.prepare(query_twt_shows) %-->
|
||||
<!--% twt_result_status = results_twt_show_count.execute(id); %-->
|
||||
<!--% twt_shows = results_hpr_shows.execute(id); %-->
|
||||
<!--% FOREACH hpr_show IN twt_shows; %-->
|
||||
#EXTINF: <!--% hpr_show.duration %-->,<!--% hpr_show.host %--> - <!--% hpr_show.title %-->
|
||||
|
||||
|
||||
<!--% media_path(hpr_show.id, 'twt', 'mp3', baseurl, media_baseurl) %-->
|
||||
|
||||
|
||||
<!--% END %-->
|
||||
13
templates/m3u-series_episodes.tpl.m3u8
Normal file
13
templates/m3u-series_episodes.tpl.m3u8
Normal file
@@ -0,0 +1,13 @@
|
||||
<!--% PROCESS 'shared-utils.tpl.html' %-->
|
||||
<!--% PROCESS 'queries-series_episodes.tpl.html' %-->
|
||||
<!--% USE DBI(constants.driver) %-->
|
||||
<!--% results_hpr_shows = DBI.prepare(query_shows_sql) %-->
|
||||
<!--% hpr_shows = results_hpr_shows.execute(id); %-->
|
||||
<!--% FOREACH hpr_show IN hpr_shows; %-->
|
||||
#EXTINF: <!--% hpr_show.duration %-->,<!--% hpr_show.host %--> - <!--% hpr_show.title %-->
|
||||
|
||||
|
||||
<!--% media_path(hpr_show.id, 'hpr', 'mp3', baseurl, media_baseurl) %-->
|
||||
|
||||
|
||||
<!--% END %-->
|
||||
2
templates/m3u.tpl.m3u8
Normal file
2
templates/m3u.tpl.m3u8
Normal file
@@ -0,0 +1,2 @@
|
||||
#EXTM3U
|
||||
<!--% INCLUDE $content %-->
|
||||
@@ -1,5 +1,12 @@
|
||||
<!--% query_hpr_shows = '
|
||||
SELECT
|
||||
<!--% query_hpr_shows = 'WITH
|
||||
comment_tallies AS (
|
||||
SELECT
|
||||
eps_id,
|
||||
COUNT(eps_id) AS eps_tally
|
||||
FROM comments
|
||||
GROUP BY eps_id
|
||||
)
|
||||
SELECT
|
||||
eps.id,
|
||||
eps.explicit,
|
||||
eps.date, eps.license, eps.duration,
|
||||
@@ -8,17 +15,44 @@
|
||||
hosts.local_image,
|
||||
hosts.hostid,
|
||||
hosts.host, hosts.email, hosts.profile,
|
||||
miniseries.name AS series, miniseries.id AS seriesid
|
||||
miniseries.name AS series, miniseries.id AS seriesid,
|
||||
COALESCE(comment_tallies.eps_tally,0) AS commentsTally
|
||||
FROM eps
|
||||
INNER JOIN hosts ON eps.hostid = hosts.hostid
|
||||
INNER JOIN miniseries ON eps.series = miniseries.id
|
||||
LEFT JOIN comment_tallies ON eps.id = comment_tallies.eps_id
|
||||
WHERE hosts.hostid = ? AND eps.date < date(\'now\', \'+1 days\')
|
||||
ORDER BY eps.id + 0 DESC
|
||||
'
|
||||
%-->
|
||||
<!--% query_hpr_show_count = '
|
||||
SELECT id
|
||||
SELECT COUNT(id) as Tally
|
||||
FROM eps
|
||||
WHERE eps.hostid = ? AND eps.date < date(\'now\', \'+1 days\')
|
||||
'
|
||||
%-->
|
||||
<!--% query_twt_show_count = '
|
||||
SELECT COUNT(id) as Tally
|
||||
FROM twt_eps AS eps
|
||||
WHERE eps.hostid = ?
|
||||
'
|
||||
%-->
|
||||
<!--% query_twt_shows = '
|
||||
SELECT
|
||||
eps.id,
|
||||
CASE eps.explicit WHEN 1 THEN \'Explicit\' ELSE \'Clean\' END AS 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.profile,
|
||||
miniseries.name AS series, miniseries.id AS seriesid
|
||||
FROM twt_eps AS eps
|
||||
INNER JOIN hosts ON eps.hostid = hosts.hostid
|
||||
INNER JOIN miniseries ON eps.series = miniseries.id
|
||||
WHERE hosts.hostid = ?
|
||||
ORDER BY eps.id DESC
|
||||
'
|
||||
%-->
|
||||
|
||||
|
||||
@@ -1,14 +1,24 @@
|
||||
<!--% query_episodes = 'SELECT
|
||||
<!--% query_episodes = 'WITH
|
||||
comment_tallies AS (
|
||||
SELECT
|
||||
eps_id,
|
||||
COUNT(eps_id) AS eps_tally
|
||||
FROM comments
|
||||
GROUP BY eps_id
|
||||
)
|
||||
SELECT
|
||||
eps.id,
|
||||
eps.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
|
||||
miniseries.name AS series, miniseries.id AS seriesid,
|
||||
COALESCE(comment_tallies.eps_tally,0) AS commentsTally
|
||||
FROM eps
|
||||
INNER JOIN hosts ON eps.hostid = hosts.hostid
|
||||
INNER JOIN miniseries ON eps.series = miniseries.id
|
||||
LEFT JOIN comment_tallies ON eps.id = comment_tallies.eps_id
|
||||
WHERE eps.date <= date(\'now\')
|
||||
ORDER BY eps.id + 0 DESC'
|
||||
%-->
|
||||
|
||||
@@ -14,14 +14,24 @@
|
||||
WHERE miniseries.id = ?
|
||||
ORDER BY name'
|
||||
%-->
|
||||
<!--% query_shows_sql = 'SELECT
|
||||
<!--% query_shows_sql = 'WITH
|
||||
comment_tallies AS (
|
||||
SELECT
|
||||
eps_id,
|
||||
COUNT(eps_id) AS eps_tally
|
||||
FROM comments
|
||||
GROUP BY eps_id
|
||||
)
|
||||
SELECT
|
||||
id, date, title,
|
||||
duration, summary, notes,
|
||||
explicit, eps.license, tags,
|
||||
hosts.host, hosts.hostid
|
||||
hosts.host, hosts.hostid,
|
||||
COALESCE(comment_tallies.eps_tally,0) AS commentsTally
|
||||
FROM eps
|
||||
INNER JOIN hosts
|
||||
ON eps.hostid = hosts.hostid
|
||||
LEFT JOIN comment_tallies ON eps.id = comment_tallies.eps_id
|
||||
WHERE series = ? AND eps.date < date(\'now\', \'+1 days\')
|
||||
ORDER BY eps.id DESC
|
||||
'
|
||||
|
||||
@@ -1 +1 @@
|
||||
<!--% query_tags = 'SELECT id, tags FROM eps' %-->
|
||||
<!--% query_tags = 'SELECT id, tags FROM eps WHERE eps.date <= date(\'now\')' %-->
|
||||
|
||||
@@ -41,7 +41,7 @@ or
|
||||
<span><label>Flag:</label> <!--% display_explicit(show.explicit) %-->.</span>
|
||||
<span><!--% show_series(show.series, show.seriesid) %--></span> <br>
|
||||
<!--% IF hide_tags == "" %--><!--% display_tags(show.tags) %--><!--% END %-->
|
||||
<!--% IF show.comentsTally || show.commentsTally == 0 %-->
|
||||
<!--% IF show.commentsTally || show.commentsTally == 0 %-->
|
||||
<span><label>Comments:</label> <!--% display_comments_tally(show.id, show.commentsTally) %--></span>
|
||||
<!--% END %-->
|
||||
<!--% END %-->
|
||||
@@ -56,7 +56,7 @@ or
|
||||
<p class="summary"><!--% show.summary %--></p>
|
||||
<!--% END %-->
|
||||
|
||||
<!--% MACRO twat_show_summary(show, hide_host) BLOCK %-->
|
||||
<!--% MACRO twt_show_summary(show, hide_host) BLOCK %-->
|
||||
|
||||
<h3 class="title"><a href="<!--% absolute_path(baseurl) %-->eps/twt<!--% 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>
|
||||
|
||||
@@ -93,7 +93,7 @@
|
||||
<!--% END %-->
|
||||
|
||||
<!--% MACRO media_path(episode_id, episode_type, media_type, baseurl, media_baseurl) BLOCK %-->
|
||||
<!--% IF episode_type == "twat" %-->
|
||||
<!--% IF episode_type == "twt" %-->
|
||||
<!--% episode_type = "twt" %-->
|
||||
<!--% padding = 3 %-->
|
||||
<!--% media_folder = "eps/"; padding = 3 %-->
|
||||
@@ -117,16 +117,20 @@
|
||||
<!--% IF folder %-->
|
||||
<!--% folder = folder %--><!--% ELSE %--><!--% folder = "hpr" %-->
|
||||
<!--% END %-->
|
||||
<small><a href="<!--% absolute_path(baseurl) %-->eps/<!--% folder %--><!--% zero_pad_left(links.earliest) %-->/index.html" rel="first"><< First</a>,
|
||||
<!--% arrow_first = "arrow-first.svg" %-->
|
||||
<!--% arrow_prev = "arrow-previous.svg" %-->
|
||||
<!--% arrow_next = "arrow-next.svg" %-->
|
||||
<!--% arrow_last = "arrow-last.svg" %-->
|
||||
<nav class="episodes" aria-description="Navigation to other episodes"><span><a href="<!--% absolute_path(baseurl) %-->eps/<!--% folder %--><!--% zero_pad_left(links.earliest) %-->/index.html" rel="first" aria-label="first episode"><!--% INSERT $arrow_first %--><span class="no-css"><< </span>First</a></span>,
|
||||
<!--% IF links.previous %-->
|
||||
<a href="<!--% absolute_path(baseurl) %-->eps/<!--% folder %--><!--% zero_pad_left(links.previous) %-->/index.html" rel="previous">< Previous</a>,
|
||||
<span><a href="<!--% absolute_path(baseurl) %-->eps/<!--% folder %--><!--% zero_pad_left(links.previous) %-->/index.html" rel="previous" aria-label="previous episode"><!--% INSERT $arrow_prev %--><span class="no-css">< </span>Previous</a></span>,
|
||||
<!--% ELSE %-->
|
||||
<span><</span> Previous,
|
||||
<span class="no-link"><!--% INSERT $arrow_prev %--><span class="no-css">< </span>Previous</span>,
|
||||
<!--% END %-->
|
||||
<!--% IF links.next %-->
|
||||
<a href="<!--% absolute_path(baseurl) %-->eps/<!--% folder %--><!--% zero_pad_left(links.next) %-->/index.html" rel="next">Next ></a>,
|
||||
<span><a href="<!--% absolute_path(baseurl) %-->eps/<!--% folder %--><!--% zero_pad_left(links.next) %-->/index.html" rel="next" aria-label="next episode">Next<span class="no-css"> ></span><!--% INSERT $arrow_next %--></a></span>,
|
||||
<!--% ELSE %-->
|
||||
Next <span>></span>
|
||||
<span class="no-link">Next<span class="no-css"> ></span><!--% INSERT $arrow_next %--></span>,
|
||||
<!--% END %-->
|
||||
<a href="<!--% absolute_path(baseurl) %-->eps/<!--% folder %--><!--% zero_pad_left(links.latest) %-->/index.html" rel="last">Latest >></a></small>
|
||||
<span><a href="<!--% absolute_path(baseurl) %-->eps/<!--% folder %--><!--% zero_pad_left(links.latest) %-->/index.html" rel="last" aria-label="latest episode">Latest<span class="no-css"> >></span><!--% INSERT $arrow_last %--></a></span></nav>
|
||||
<!--% END %-->
|
||||
|
||||
Reference in New Issue
Block a user