1
0
forked from HPR/hpr_generator

Compare commits

...

73 Commits

Author SHA1 Message Date
808386bccc Merge pull request 'fix entity escape for xml data' (#252) from rho_n/hpr_generator_dev:i232_Comments-feed-not-producing-valid-xml into main
Reviewed-on: HPR/hpr_generator#252
2025-01-29 08:10:53 +00:00
28af8900a3 fix entity escape for xml data
For title and other xml data replace &, <, >, ', and " with
corresponding escape entities. Also use http_baseurl so
complete urls will be generated.
2025-01-27 22:26:32 -05:00
54ed57fd1a RadCom article 2025-01-27 11:39:28 +01:00
71f1a8b8c3 Merge pull request 'Remove the spx and adding the opus feed.' (#244) from I41_New_opus_feed into main
Reviewed-on: HPR/hpr_generator#244
2025-01-26 15:42:49 +00:00
37c45e0384 Remove the spx and adding the opus feed. 2025-01-26 16:40:19 +01:00
e750e33301 Merge pull request '[i237] Remove Show Transcrip from after show notes to before show notes' (#243) from i237_Remove-Show-Transcript-from-end-of-ep-pages into main
Reviewed-on: HPR/hpr_generator#243
2025-01-24 09:54:43 +00:00
45dd69d855
Replace spx file reference with opus 2025-01-23 22:45:06 -05:00
f58e25a685
Move location of transcription text
Move from after the show notes to after the show duration.
2025-01-23 22:42:40 -05:00
1cec6b45f0
Simplify transcription text 2025-01-23 22:36:18 -05:00
17b3416dd2 Merge pull request 'i240_Rename-Today-with-a-Techie-folder' (#241) from i240_Rename-Today-with-a-Techie-folder into main
Reviewed-on: HPR/hpr_generator#241
2025-01-22 12:12:15 +00:00
f135b1119a
Change Today with a Techie href id 2025-01-21 23:59:23 -05:00
15547a2e87
Change Today with a Techie folder name
Change name to twt$eps_id
Fix media_path to call Today with a Techie shows from the CCDN.
2025-01-21 23:58:23 -05:00
b572673c93 Upload files to "public_html/press"
Dutch Radio Society Veron members magazine Elector Jaargang79 has a reference to Spectrum24 and the Interview on HPR
2025-01-11 19:00:34 +00:00
6642e9adae Update templates/content-index-announcement.tpl.html 2025-01-01 19:13:33 +00:00
334d60f179 Update templates/content-index-announcement.tpl.html 2024-12-31 10:29:44 +00:00
3b692f8926 Update templates/content-index-announcement.tpl.html 2024-12-30 21:43:42 +00:00
c3ee7200c3 Update templates/content-index-announcement.tpl.html 2024-12-30 21:42:31 +00:00
d898849cd8 Update templates/content-index-announcement.tpl.html 2024-12-30 21:10:22 +00:00
59725eae4e Update templates/content-index-announcement.tpl.html 2024-12-30 20:51:36 +00:00
77c694b3e8 Merge pull request 'Removed the baseurl setting and forced css to be from root' (#236) from I235_Using_a_base_uri_is_breaking_linking_to_local_images into main
Reviewed-on: HPR/hpr_generator#236
2024-12-30 20:42:45 +00:00
280ece7a52 Removed the baseurl setting and forced css to be from root 2024-12-30 14:40:47 +01:00
70dbb06122 Adding host image for Al 2024-12-27 16:24:01 +01:00
2c8845ceb9 Added additional host images 2024-12-27 11:41:53 +01:00
f34f762fef Updated link to hpr sourcecode 2024-12-26 17:37:55 +00:00
54f6f6a365 2024-12-23_12-01-05Z_Monday 2024-12-23 13:01:05 +01:00
def745b564 2024-12-23_10-11-28Z_Monday 2024-12-23 11:11:28 +01:00
97487216c8 2024-12-23_08-50-51Z_Monday 2024-12-23 09:50:51 +01:00
3409cff8be 2024-12-23_08-43-32Z_Monday 2024-12-23 09:43:33 +01:00
a8b52d49fe Merge pull request 'Remove show reference to Internet Archive' (#231) from i228-remove-show-references-to-ia into main
Reviewed-on: HPR/hpr_generator#231
2024-12-04 08:25:11 +00:00
146107b122
Remove show reference to Internet Archive 2024-12-03 22:47:34 -05:00
35e58959ea Merge pull request 'Fixed a redirect to eps page' (#230) from I229_Full_Episode_Guide_typo into main
Reviewed-on: HPR/hpr_generator#230
2024-11-30 16:51:50 +00:00
b3617bf6ed Fixed a redirect to eps page 2024-11-30 17:50:10 +01:00
b881afa4e9 Update templates/content-about.tpl.html
Changed formatting
2024-11-27 10:00:47 +00:00
794cf5cade Update templates/content-about.tpl.html
Updates and clarifications to the comment page
2024-11-27 09:49:40 +00:00
0aab4c22bb Changes necessary to point people to the new HPR Mastodon home 2024-11-25 16:54:42 +01:00
73740b8ffb Merge pull request '[i223] add day of week to each episode' (#227) from i223-add-day-of-week-to-each-episode into main
Reviewed-on: HPR/hpr_generator#227
2024-10-27 19:29:37 +00:00
c1078d9b9c
Replace day_from_date MACRO with day_and_date MACRO
Refactor content templates to use day_and_date MACRO
2024-10-27 13:04:19 -04:00
27caa97c7d
Add MACRO day_and_date
Formats a string date to <day of week>, <YYYY-mm-dd>
2024-10-27 13:01:14 -04:00
c32a343728
Simplify MACRO day_from_date 2024-10-27 12:56:47 -04:00
7d07b8b814
Add weekday of episode to release information displayed 2024-10-27 09:48:45 -04:00
a38c8e2705
Add MACRO day_from_date 2024-10-23 07:29:58 -04:00
d456de5663 Update site.cfg
Changed the mediaurl to point to the CCDN.
2024-10-22 12:10:21 +00:00
3ba76e8cd3 Update templates/content-about.tpl.html 2024-10-22 11:05:01 +00:00
c1be07780f Merge pull request '[i222] fix css' (#224) from i222-fix-css into main
Reviewed-on: HPR/hpr_generator#224
2024-10-20 15:26:27 +00:00
dcea8a374b
Set minimum height of host table avatar column 2024-10-20 10:33:10 -04:00
5cfb37cae2
Allow horizontal scroll on small screens for tables
This is applied to the .hosts and #t01 tables only
2024-10-20 10:18:20 -04:00
85258d03ba
Alternate background color for rows of table#t01 2024-10-20 10:14:47 -04:00
270b4c0584 Merge pull request 'Add Promote HPR page' (#221) from i217-implement-promote-hpr-page into main
Reviewed-on: HPR/hpr_generator#221
2024-10-15 01:36:26 +00:00
ef17c94d58
Merge branch 'main' into i217-implement-promote-hpr-page 2024-10-14 21:31:44 -04:00
c19030787a Merge pull request '[I216] Add contact page' (#220) from i216-implement-contact-page into main
Reviewed-on: HPR/hpr_generator#220
2024-10-15 01:24:22 +00:00
8884a8517a Merge branch 'main' into i216-implement-contact-page 2024-10-15 01:23:43 +00:00
f68375dd5f Merge pull request 'Add Download Options page' (#219) from i215-implement-download-page into main
Reviewed-on: HPR/hpr_generator#219
2024-10-15 01:22:02 +00:00
7f604025e9 Merge branch 'main' into i215-implement-download-page 2024-10-15 01:20:36 +00:00
61de606208 Merge pull request '[I45-website] Refresh HPR layout with a light touch' (#218) from I45-website-refresh-light-touch into main
Reviewed-on: HPR/hpr_generator#218
2024-10-15 01:19:34 +00:00
a58934acbf Merge branch 'main' into I45-website-refresh-light-touch 2024-10-15 01:19:07 +00:00
9a83c13daf
Add Promote HPR page
Implement the template file and add reference to site.cfg.
2024-10-13 17:39:10 -04:00
e4e1813bc0
Fix URL for hackerpublicradio.org 2024-10-13 17:25:34 -04:00
b802a8a7b2
Add Contact page
Implement template file and add reference in site.cfg
2024-10-13 17:22:18 -04:00
84d868cf25
Add Download Options page
Implement template file and add download page to site.cfg
2024-10-13 17:02:05 -04:00
8f31864b83
Add id attribute to previous five weeks section 2024-10-12 11:06:41 -04:00
2b0b02ecb7
Remove uneeded in-line styling and tag attributes 2024-10-12 11:05:52 -04:00
9655c56ee6
Format CSS for consistency 2024-10-12 11:02:06 -04:00
87b7f7bde6
Create media breakpoint that matches original wide screen setting
For larger screens constrain viewing width and growth of font-size, and margins to approximately corresponding sizes of the original layout. Prevent things from getting too large.
2024-10-12 10:53:07 -04:00
69f19976fd
Use fluid responsive design for hr tag 2024-10-12 10:49:16 -04:00
6062cfd6b4
Clean up look of comment form 2024-10-12 10:47:29 -04:00
51adbcd938
Add fluid responsive design to page footer 2024-10-12 10:46:32 -04:00
7cd0cc3056
Add fluid responsive design to hosts table 2024-10-12 10:45:23 -04:00
d1539a3ca2
Add fluid responsive design to comment and code tags 2024-10-12 10:43:51 -04:00
ad89f1fb4f
Modify white space of main menu
Add some accessiblility touches: change cursor to pointer on hover, change link color on active event.
2024-10-12 10:42:18 -04:00
6b2a324730
Modify whitespace and sizing of headers in banner 2024-10-12 10:38:19 -04:00
e8f01ba5c5
Use fluid design for main container margins and padding 2024-10-12 10:24:27 -04:00
68e51c0a32
Initial reset of tags to use fluid responsive design
Use the clamping function to change the base font size as the size of the screen varies. Modify font-size, padding, and margin sizes to rely on the base font size (use rem units). In addition improve usage of white space by modifying line-height, margins, and padding of various tags.
2024-10-12 09:30:40 -04:00
a3e722589f Merge pull request '[I212] Fix general series page generation' (#213) from i212-fix-general-series-page-generation into main
Reviewed-on: HPR/hpr_generator#213
2024-10-09 11:15:33 +00:00
27 changed files with 22586 additions and 294 deletions

View File

@ -4,275 +4,515 @@
https://creativecommons.org/publicdomain/ https://creativecommons.org/publicdomain/
*/ */
/*
* See the following for the modern CSS responsive design techniques used in this file:
* - MDN web docs: Responsive design
* -- https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Responsive_Design
* - Matthew James Tayler: Responsive Font Size (Optimal Text at Every Breakpoint)
* -- https://matthewjamestaylor.com/responsive-font-size
* - CSS-Tricks: Linearly Scale font-size with CSS clamp() Based on the Viewport
* -- https://css-tricks.com/linearly-scale-font-size-with-css-clamp-based-on-the-viewport/
*/
p.meta span label { font-weight: bold; } html {
@media only screen and (min-width: 479px) { margin: 0;
padding: 0;
body {background: #dfdfdf;} display: block;
div, h1, h2, h3, h4, h5, h6, p, ul, ol, li, dl, dt, dd, img, form, fieldset, input, textarea, blockquote {
font-family: Verdana, Arial, Helvetica, sans-serif;/* 1em/1.5 OpenDyslexic, */
color: #4D4D4D; /* HPR Grey */
background: white;
} }
body {
display: block;
background: #dfdfdf;
font-size: 1rem; /* fallback for browsers that don't support the clamp function) */
font-size: clamp(1rem, 15px + 0.3vw, 1.07rem);
margin: 0;
padding: 0;
}
#container { div,
width: 100%; h1,
max-width: 58em; h2,
margin: auto; h3,
overflow: hidden; h4,
padding: .5em; h5,
border: thin solid; h6,
p,
ul,
ol,
li,
dl,
dt,
dd,
img,
form,
fieldset,
input,
textarea,
blockquote {
font-family: Verdana, Arial, Helvetica, sans-serif; /* 1em/1.5 OpenDyslexic, */
color: #4D4D4D; /* HPR Grey */
background: white; background: white;
} }
.shadow { h1 {
-moz-box-shadow: 2px 3px 6px 3px #675958; font-size: 1.5rem;
-webkit-box-shadow: 2px 3px 6px 3px #675958; margin: 1.25rem 0 0.75rem 0;
box-shadow: 2px 3px 6px 3px #675958;}
#hprlogo {
display: block;
position: relative;
top: 0;
left: 0;
border: 0;
margin: 0.75em;
float:left;
} }
#hpr_banner { h2,
display: block; article * h1 {
position: relative; font-size: 1.45rem;
border: 0; margin: 1.25rem 0 0.75rem 0;
margin: 0.75em;
float: left;
} }
#hpr_banner h1 {margin: -.25em 0em -.5em 0em;} h3,
#hpr_banner h2 {font-size: 100%; font-weight: lighter; } article * h2 {
#hpr_banner h3 {font-size: 90%; font-weight: lighter; } font-size: 1.25rem;
margin: 1.25rem 0 0.75rem 0;
#accessible_menu {
font-size: small;
} }
/* The main navigation menu */ h4,
.menu { article * h3 {
background: #4D4D4D; /* HPR Grey */ font-size: 1.15rem;
text-align: Left; margin: 1.25rem 0 0.75rem 0;
clear:both; /* Forces the menu to appear after the HPR Header block */
padding: 0em 0em;
margin: 0em 0em;
} }
.menu ul ul { /* Causes the sub menus not to be displayed, until hover shows them */ img {
display: none; max-width: 100%;
height: auto;
} }
#main_menu li a {display: block;} ul {
padding-left: 1.15rem;
.menu ul li { padding: .25em 0em;}
} }
.menu ul { /* The menu bar background across screen */ li {
background: #4D4D4D; /* HPR Grey */ line-height: 1.25;
color: white;
padding: 0 10px; /* Keeps sub menus to the left */
list-style: none;
position: relative;
margin: 0;
display: inline-table;
} }
.menu ul:after { /* Forces the dropdown to be a block with non float */ a {
content: ""; text-decoration: none;
clear: both;
display: block;
} }
.menu ul li { a:hover {
background: #4D4D4D; /* HPR Grey */ cursor: pointer;
color: white;
float: left;
padding: .5em 1em;
} }
.menu ul li a {
background: #4D4D4D; /* HPR Grey */
color: white;
display: block;
text-decoration: none;
}
.menu ul ul {
background: #4D4D4D; /* HPR Grey */
color: white;
padding: 0;
position: absolute;
top: 100%;
}
.menu ul ul li {
background: #4D4D4D; /* HPR Grey */
color: white;
float: none;
position: relative;
}
.menu ul ul ul {
position: absolute;
left: 100%;
top:0;
}
hr { hr {
background: #4D4D4D; /* HPR Grey */ background: #4D4D4D;
border: 0; border: 0;
height: 0.25em; height: 0.25em;
} }
/* The multi colum footer layout */ audio {
padding: .7em 0em .5em 0em;
#footer_page { clear: both;
width:100%; position: relative;
z-index: auto;
} }
.column { .audcredit {
width:12%; font-size: 75%;
background-color: white; margin-bottom: 1em;
color: #4D4D4D; /* HPR Grey */
float:left;
margin:0 10px;
display: block;
} }
.column li { p.meta {
list-style:none; line-height: 1.25;
padding: .25em 0em; }
font-size: 85%;
p.meta span label {
font-weight: bold;
}
article>p,
#maincontent>p {
line-height: 1.45;
}
article#previous_five_weeks>* {
line-height: 1.35;
margin: 0;
padding: 0;
}
article#previous_five_weeks>h3 {
margin: 1.5rem 0 0.5rem 0;
}
#container {
max-width: 58rem;
margin: 0.25rem;
padding: 0.75rem; /* fallback for browsers that don't support the clamp function) */
padding: clamp(0.75rem, -0.25rem + 3vw, 2.0rem);
overflow: hidden;
background: white;
border: thin solid #4D4D4D;
}
.shadow {
-moz-box-shadow: 2px 3px 6px 3px #675958;
-webkit-box-shadow: 2px 3px 6px 3px #675958;
box-shadow: 2px 3px 6px 3px #675958;
} }
.thick_bar { .thick_bar {
width:100%; background-color: #4D4D4D;
background-color: #4D4D4D; /* HPR Grey */ color: white;
color: white; padding: 0.5rem;
float:left; margin: 1rem 0 1rem 0;
clear: both;
height:1.5em;
padding: .5em 0em .5em 0em;
font-size: 1em;
margin: 1em 0em 1em 0em;
} }
#more_info {margin: auto;} img#hprlogo {
nav.column { display: block; padding: 0em 1em 0em 1em;} max-width: 20vw;
#copyright { padding-right: clamp(0.75rem, -0.25rem + 3vw, 1.5rem);
font-size: small; float: left;
width:100%; margin-top: 1rem;
float:left; margin-bottom: clamp(0.75rem, -0.25rem + 2vw, 1.5rem);
} }
article, #copyright p { #hpr_banner {
padding: 0 10px; /* display: inline-block; */
border: 0;
margin: 0 0 0rem 0;
padding: 0;
} }
audio {padding: .7em 0em .5em 0em; clear: both; position: relative; z-index:auto;} #hpr_banner p {
.audcredit { font-size: 75%;margin-bottom: 1em;} margin: 0 0 0.5rem 0;
h1.showtitle { font-size: 125%;}
/* Full Index Page styling */
#index_full h2.title {
font-weight: lighter;
margin-bottom: -.5em;
padding: .5em 0em 0em 0em;
font-size: 110%;}
#index_full p.meta {font-size: 85%;}
#small {
font-size: small;
} }
p.author { font-size: 85%;} #hpr_banner h1#sitename {
p.shownotes { padding: .5em;} font-size: clamp(1.44rem, -1rem + 3vw, 2rem);
#maincontent footer p { /* font-size: 75%; */ margin-bottom: 1em;} letter-spacing: 0.06rem;
/* link styling */ margin: 0;
a:link {text-decoration: none;} padding: 0;
table {
width:100%;
}
table, th, td {
border-collapse: collapse;
padding: 2px;
text-align: left;
}
table#t01, table#t01 th, table#t01 td {
border: 1px solid black;
}
table#t01 th, table#t01 td {
padding: 5px;
text-align: left;
}
table#t01 tr:nth-child(even) {
background-color: #eee;
}
table#t01 tr:nth-child(odd) {
background-color:#fff;
}
table#t01 th {
background-color: #4D4D4D;
color: white;
} }
pre { /* Add background, border and scrollbar to <pre> */ #hpr_banner h2 {
background: #eee; font-size: clamp(0.74rem, -1rem + 2vw, 1rem);
border: 1px solid #ddd; font-weight: 510;
overflow: auto; margin: 0 0 1rem 0;
clear: both; padding: 0;
} }
table.hosts { #hpr_banner h3 {
background: white font-size: 1rem;
font-weight: normal;
margin: 0 0 0.5rem 0;
padding: 0;
}
header>hr {
clear: both;
}
#accessible_menu {
font-size: smaller;
}
/* The main navigation menu */
header>nav.menu {
display: block;
background-color: #4D4D4D; /* HPR Grey */
text-align: Left;
clear: both; /* Forces the menu to appear after the HPR Header block */
padding: 0;
margin: 0;
}
header>nav.menu ul {
margin: 0;
padding: 0.5rem;
background-color: inherit;
color: white;
}
header>nav.menu ul li {
display: inline-block;
background-color: inherit;
color: inherit;
line-height: 1.5;
margin: 0;
padding: 0;
padding-right: clamp(0.5rem, -0.25rem + 3vw, 2.5rem);
}
header>nav.menu ul li a {
color: white;
text-decoration: none;
display: block;
padding: 0.25rem 0;
}
header>nav.menu ul li a:hover {
border-bottom: thin solid white;
padding: 0.15rem 0;
-webkit-transition: 0.3s ease-in-out color;
-moz-transition: 0.3s ease-in-out color;
transition: 0.3s ease-in-out color;
}
header>nav.menu ul li a:visited {
color: #EDEDED;
}
a:active,
header>nav.menu ul li a:active {
color: red;
}
pre {
/* Add background, border and scrollbar to <pre> */
background: #eee;
border: 1px solid #ddd;
overflow: auto;
clear: both;
padding: 0.5rem
}
code {
background: #eee;
border-radius: 0.2rem;
font-size: 0.95rem;
}
pre code {
padding-right: 0.5rem;
font-size: 0.85rem;
line-height: 1;
} }
table.hosts tr:nth-child(even) { background-color:#cccccc; }
table.hosts tr:nth-child(odd) { background-color:white; }
table.hosts tr td img { vertical-align:middle }
pre.comment { pre.comment {
white-space: pre-wrap; white-space: pre-wrap;
padding: 2px;
line-height: 1.2rem; line-height: 1.2rem;
} }
h3.title { margin: 1.25rem 0 0.75rem 0 } table.hosts {
p.meta { margin: 0.25rem 0 } font-size: clamp(0.82rem, -0.25rem + 3vw, 1.0rem);
p.summary { margin: 0.25rem 0 } width: 100%;
p.listen-in { margin-top: 0 } background: white;
margin: 0 auto;
border-collapse: collapse;
display: inline-table;
@media only screen and (max-width: 680px) {
#container {width: 95%;}
img#hprlogo {float: left; max-width: 85px; padding: .35em;}
.column {width: 15%;}
h1 {font-size: 140%;}
h2 {font-size: 120%;}
h3 {font-size: 100%;}
nav.column { display: block; padding: 0em .25em 0em .25em;}
#footer_page li {font-size: 85%; padding: .5em .25em .5em .25em;}
footer p {font-size: 75%;}
audio {float: none; }
} }
@media only screen and (max-width: 479px) { table#t01,
body {background: #ffffff; color: #4D4D4D; font-family: Verdana, Arial, Helvetica, sans-serif;/* 1em/1.5 OpenDyslexic, */} table.hosts {
li {font-size: 100%; padding: .75em 0em .75em 0em; margin-left: -.25em;} display: block;
img#hprlogo {float: left; max-width: 65px; padding: .35em;} overflow-x: auto;
.column {width: auto;} }
h1#sitename { clear: both;}
a:link {text-decoration: none;} table#t01 tbody,
audio {padding: .7em 0em .5em 0em; width: 95%; max-width: 300px;} table.hosts tbody {
.audcredit { font-size: 65%; margin-bottom: 1em;} display: table;
}
table#t01 tr:nth-child(even),
table.hosts tr:nth-child(even) {
background-color: #cccccc;
border-bottom: thick solid white;
}
table#t01 tr:nth-child(odd),
table.hosts tr:nth-child(odd) {
background-color: white;
border-bottom: thick solid white;
}
table.hosts tr td img {
vertical-align: middle;
max-height: 80px;
}
table.hosts th:first-child,
table.hosts td:first-child {
min-width: 60px;
max-width: 80px;
text-align: left;
height: 62px;
}
table.hosts th:nth-child(2),
table.hosts td:nth-child(2) {
text-align: left;
padding-left: clamp(0.15rem, -0.25rem + 3vw, 0.5rem);
}
table.hosts th:nth-child(3),
table.hosts td:nth-child(3),
table.hosts th:nth-child(4),
table.hosts td:nth-child(4) {
width: 10%;
padding-right: clamp(0.10rem, -0.25rem + 3vw, 1rem);
}
body>div>footer {
margin-top: 2rem;
}
footer #more_info nav.column {
clear: both;
font-size: 0.9rem;
margin-left: 0.5rem;
}
footer #more_info nav.column ul li {
float: left;
margin-right: 1.5rem;
margin-bottom: 1rem;
}
footer #more_info nav.column h2 {
font-size: 1.35rem;
margin-top: 0.5rem;
}
footer h1.thick_bar {
clear: left;
font-size: 1.15rem;
}
footer #copyright {
font-size: smaller;
margin-left: 0.5rem;
margin-right: 0.5rem;
}
fieldset>table,
fieldset>table thead,
fieldset>table tbody,
fieldset>table tr,
fieldset>table th,
fieldset>table td,
fieldset>table td input,
fieldset>table td textarea {
display: block;
font-size: 1rem;
}
fieldset>table {
width: calc(100vw + -16vw + -1rem);
max-width: 100%;
}
fieldset>table td input,
fieldset>table td textarea {
width: calc(100vw + -16vw + -1.5rem);
max-width: 100%;
border: thin solid #DFDFDF;
margin-bottom: 0.5rem;
padding: 0.5rem;
}
fieldset>table td select {
margin-bottom: 0.5rem;
padding: 0.25rem;
}
fieldset>table td input[type="radio"] {
display: initial;
width: initial;
margin-bottom: 0.5rem;
}
fieldset>input {
background: #4D4D4D;
color: white;
font-weight: 600;
padding: 0.5rem;
border: thin solid #DFDFDF;
border-radius: 0.2rem;
}
@media only screen and (min-width: 58rem) {
#container {
margin: 0.5rem auto;
}
.shadow {
-moz-box-shadow: 1px 2px 5px 2px #675958;
-webkit-box-shadow: 1px 2px 5px 2px #675958;
box-shadow: 1px 2px 5px 2px #675958;
}
img#hprlogo {
margin-bottom: 1.5rem;
}
#hpr_banner {
float: left;
}
#hpr_banner h1#sitename {
font-size: 2rem;
}
#hpr_banner h2 {
font-size: 1rem;
}
header>hr {
clear: right;
}
table.hosts td:first-child {
height: 80px;
}
footer #more_info nav.column {
clear: none;
float: left;
width: 19.5%;
margin-left: 0;
}
footer #more_info nav.column:first-child {
margin-left: 0.5rem;
}
footer #more_info nav.column ul li {
float: none;
margin-bottom: 0.5rem;
}
fieldset>table,
fieldset>table thead,
fieldset>table tbody,
fieldset>table tr,
fieldset>table th,
fieldset>table td,
fieldset>table td input,
fieldset>table td textarea {
display: revert;
width: revert;
}
fieldset>table tr {
vertical-align: baseline;
}
fieldset>table tr:nth-child(3) {
vertical-align: top;
}
fieldset>table tr:nth-child(3) td:first-child {
padding-top: 0.5rem;
}
fieldset>table tr:nth-last-child(3) td:first-child {
padding-top: 1rem;
}
fieldset>table tr:nth-last-child(2) {
vertical-align: top;
}
fieldset>table tr:nth-last-child(2) td:first-child {
padding-top: 0.75rem;
}
fieldset>table td input[type="radio"] {
margin-top: 1.5rem;
}
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 185 KiB

BIN
public_html/images/hosts/374.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 383 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 KiB

Binary file not shown.

View File

@ -27,11 +27,9 @@ output_path: ./public_html
[root_template] [root_template]
content: page.tpl.html content: page.tpl.html
#baseurl: OPTIONAL [i.e. file://<full path to local website directory>] #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/ http_baseurl: http://hackerpublicradio.org/
hub_baseurl: https://hub.hackerpublicradio.org/ hub_baseurl: https://hub.hackerpublicradio.org/
media_baseurl: https://archive.org/download/hpr$eps_id/ media_baseurl: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr$eps_id/
generator_name: The HPR Robot generator_name: The HPR Robot
generator_email: robot.nospam@nospam.hackerpublicradio.org generator_email: robot.nospam@nospam.hackerpublicradio.org
@ -97,6 +95,10 @@ content: content-episode.tpl.html
multipage: true multipage: true
filename: eps/hpr[id]/index.html filename: eps/hpr[id]/index.html
[download]
navigation: navigation-get-shows.tpl.html
content: content-download.tpl.html
[syndication] [syndication]
navigation: navigation-get-shows.tpl.html navigation: navigation-get-shows.tpl.html
content: content-syndication.tpl.html content: content-syndication.tpl.html
@ -117,13 +119,20 @@ content: content-tags.tpl.html
navigation: navigation-get-shows.tpl.html navigation: navigation-get-shows.tpl.html
content: content-twat_episode.tpl.html content: content-twat_episode.tpl.html
multipage: true multipage: true
filename: eps/twat[id]/index.html filename: eps/twt[id]/index.html
media_baseurl: https://www.hackerpublicradio.org/eps/
[mumble-howto] [mumble-howto]
navigation: navigation-about.tpl.html navigation: navigation-about.tpl.html
content: content-mumble-howto.tpl.html content: content-mumble-howto.tpl.html
[contact]
navigation: navigation-about.tpl.html
content: content-contact.tpl.html
[promote]
navigation: navigation-about.tpl.html
content: content-promote.tpl.html
[comments_viewer] [comments_viewer]
navigation: navigation-about.tpl.html navigation: navigation-about.tpl.html
content: content-comments_viewer.tpl.html content: content-comments_viewer.tpl.html

View File

@ -66,8 +66,9 @@
<p>See the section <a href="<!--% absolute_url(baseurl,'about.html#stuff_you_need_to_know') %-->" >stuff you need to know</a> for more information.</p> <p>See the section <a href="<!--% absolute_url(baseurl,'about.html#stuff_you_need_to_know') %-->" >stuff you need to know</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="https://lists.hackerpublicradio.com/pipermail/hpr/2024-October/004791.html">Clarification that contributions are CC BY-SA 4.0 unless otherwise stated</a></li>
<li><a href="https://lists.hackerpublicradio.com/pipermail/hpr/2021-July/004191.html">HPR will move #oggcastplanet on libera, <li><a href="https://lists.hackerpublicradio.com/pipermail/hpr/2021-July/004191.html">HPR will move #oggcastplanet on libera,
and we will also include links to the matrix, and <a href="https://botsin.space/@hpr">Mastodon</a> channel</a></li> and we will also include links to the matrix</a>, and <a href="https://infosec.exchange/@hpr">Mastodon</a> channel</li>
<li><a href="https://lists.hackerpublicradio.com/pipermail/hpr/2021-August/004200.html">Existing shows will be <li><a href="https://lists.hackerpublicradio.com/pipermail/hpr/2021-August/004200.html">Existing shows will be
flagged with the current version and new shows will default to "Attribution 4.0 International (CC BY 4.0)"</a></li> flagged with the current version and new shows will default to "Attribution 4.0 International (CC BY 4.0)"</a></li>
<li><a href="https://lists.hackerpublicradio.com/pipermail/hpr/2021-November/004328.html">The Intro Outro will be <li><a href="https://lists.hackerpublicradio.com/pipermail/hpr/2021-November/004328.html">The Intro Outro will be
@ -89,25 +90,36 @@
<hr /> <hr />
<h1 id="contact">Contact<a href="<!--% absolute_url(baseurl,'about.html#contact') %-->">.</a></h1> <h1 id="contact">Primary Contact Points<a href="<!--% absolute_url(baseurl,'about.html#contact') %-->">.</a></h1>
<p>We are always looking for more hosts...</p>
<ul> <ul>
<li>email: <strong>admin -at- hackerpublicradio org</strong><br /> <li>email: <strong>admin -at- hackerpublicradio org</strong>, will put you in touch with the Janitors who are
<em>As an anti-spam measure you will get an error back but we do get your email.</em></li> the first point of contact for any issues related to the HPR community.
<li>Website: <a href="<!--% absolute_url(baseurl,'') %-->" ><!--% absolute_url(baseurl,'') %--></a></li> If you have any issue of concern please bring it to their attention first.
<li>Maillist: <a href="<!--% absolute_url(baseurl,'/maillist') %-->">Mailing list</a></li> <br />
<em>As an anti-spam measure you may get an error back but we do get your email.</em></li>
<li>Website: <a href="<!--% absolute_url(baseurl,'') %-->" ><!--% absolute_url(baseurl,'') %--></a>.
There is a comment link on each show where you can provide your constructive feedback.</li>
<li>Maillist: <a href="<!--% absolute_url(baseurl,'/maillist') %-->">Mailing list</a>.
While the Janitors are the first point of contact, the HPR project is
<a href="<!--% absolute_url(baseurl,'about.html#governance') %-->">governed</a> by the community.
Decisions about how Hacker Public Radio are made on the mailing list, and you can join it by going to :<br />
<a href="<!--% absolute_url(baseurl,'/maillist') %-->"><!--% absolute_url(baseurl,'/maillist') %--></a></li>
<li>Mastodon: <a href="https://infosec.exchange/@hpr">https://infosec.exchange/@hpr</a> is the official HPR Mastodon instance
and is actively monitored.</li>
<li>Matrix: <a href="https://matrix.to/#/#hpr:matrix.org" >https://matrix.to/#/#hpr:matrix.org</a> is the official HPR Matrix channel
and is actively monitored.</li>
</ul>
<h3 id="contact_secondary">Secondary Contact Points</h3>
<p>These platforms are monitored from time to time. Commenting here is less likely to get an immediate response.</p>
<ul>
<li><a href="https://t.me/+6fEhQrf5IEc4ZGU8">Telegram</a></li>
<li><a href="https://web.libera.chat/gamja/?channels=oggcastplanet" >#oggcastplanet</a></li> <li><a href="https://web.libera.chat/gamja/?channels=oggcastplanet" >#oggcastplanet</a></li>
<li><a href="https://www.facebook.com/home.php?sk=group_130169220378872¬if_t=group_r2j" >Facebook</a></li> <li><a href="https://www.facebook.com/home.php?sk=group_130169220378872¬if_t=group_r2j" >Facebook</a></li>
<li><a href="https://www.linkedin.com/company/hackerpublicradio/" >Linked-In</a></li> <li><a href="https://www.linkedin.com/company/hackerpublicradio/" >Linked-In</a></li>
<li><a href="http://itunes.apple.com/us/podcast/hacker-public-radio/id281699640" >iTunes</a></li> <li><a href="http://itunes.apple.com/us/podcast/hacker-public-radio/id281699640" >iTunes</a></li>
</ul> </ul>
<h2>Mail List</h2>
<p>
HPR is governed by the community, so decisions about how Hacker Public Radio should be run are made on the mailing list you can join it by going to :<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="<!--% absolute_url(baseurl,'/maillist') %-->"><!--% absolute_url(baseurl,'/maillist') %--></a>
</p>
<hr /> <hr />
<h1 id ="press" >In the Press<a href="<!--% absolute_url(baseurl,'about.html#press') %-->">.</a></h1> <h1 id ="press" >In the Press<a href="<!--% absolute_url(baseurl,'about.html#press') %-->">.</a></h1>
@ -276,7 +288,7 @@
and we'll get in touch with you with all you need to know about getting your show published.<br /> and we'll get in touch with you with all you need to know about getting your show published.<br />
You can chat with other podcasters using IRC in the <strong>#oggcastplanet</strong> channel on the You can chat with other podcasters using IRC in the <strong>#oggcastplanet</strong> channel on the
<a href="https://web.libera.chat/gamja/?channels=oggcastplanet">libera.chat</a> network. <a href="https://web.libera.chat/gamja/?channels=oggcastplanet">libera.chat</a> network.
Follow us on <a href="https://botsin.space/@hpr">Mastodon</a> (use the tag <strong>#hpr</strong>) Follow us on <a href="https://infosec.exchange/@hpr">Mastodon</a> (use the tag <strong>#hpr</strong>)
and on <a href="https://twitter.com/hpr">Twitter</a> (use the tag <strong>#hpr</strong>). and on <a href="https://twitter.com/hpr">Twitter</a> (use the tag <strong>#hpr</strong>).
We have a <a href="https://www.facebook.com/HenryPartickReilly">Facebook</a> and We have a <a href="https://www.facebook.com/HenryPartickReilly">Facebook</a> and
<a href="https://www.linkedin.com/groups?mostPopular=&amp;gid=3737302">LinkedIn</a> group, <a href="https://www.linkedin.com/groups?mostPopular=&amp;gid=3737302">LinkedIn</a> group,
@ -823,7 +835,7 @@
<li id="Short_Summary"><strong>Summary:</strong> <em>Mandatory</em><br /> <li id="Short_Summary"><strong>Summary:</strong> <em>Mandatory</em><br />
This is a short 100 character summary of what your show is about. This is a short 100 character summary of what your show is about.
Please fill this out as it is used once the show has gone off the main page, on the mobile site, Please fill this out as it is used once the show has gone off the main page, on the mobile site,
on printed brochures, on text to speech announcements, on twitter, <a href="https://botsin.space/@hpr">Mastodon</a> etc.</li> on printed brochures, on text to speech announcements, on twitter, <a href="https://infosec.exchange/@hpr">Mastodon</a> etc.</li>
<li id="Theme"><strong>Theme:</strong> <em>Automatic</em><br /> <li id="Theme"><strong>Theme:</strong> <em>Automatic</em><br />
The Intro, and the Outro will be added automatically. Please do not add it. The Intro, and the Outro will be added automatically. Please do not add it.
</li> </li>
@ -1148,7 +1160,7 @@
<li>You can join the <strong>#oggcastplanet</strong> channel on IRC. <li>You can join the <strong>#oggcastplanet</strong> channel on IRC.
Visit the <a href="http://webchat.freenode.net/?channels=oggcastplanet">freenode.net</a> network to sign up.</li> Visit the <a href="http://webchat.freenode.net/?channels=oggcastplanet">freenode.net</a> network to sign up.</li>
<li>A number of HPR messages may be found on Twitter and <li>A number of HPR messages may be found on Twitter and
<a href="https://botsin.space/@hpr">Mastodon</a>.</li> <a href="https://infosec.exchange/@hpr">Mastodon</a>.</li>
<li>There is a <a href="https://t.me/+6fEhQrf5IEc4ZGU8">chat group on Telegram</a></li> <li>There is a <a href="https://t.me/+6fEhQrf5IEc4ZGU8">chat group on Telegram</a></li>
<li>An HPR tradition exists where we record a 26-hour show at the turn of the year celebrating the <li>An HPR tradition exists where we record a 26-hour show at the turn of the year celebrating the
arrival of the New Year around the world. We use Mumble to record the show and anyone can connect arrival of the New Year around the world. We use Mumble to record the show and anyone can connect

View File

@ -0,0 +1,21 @@
<article>
<header>
<h1>Contact</h1>
</header>
<p>We are always looking for more hosts...</p>
<ul>
<li>email: <strong>admin -at- hackerpublicradio org</strong><br />
<em>As an anti-spam measure you will get an error back but we do get your email.</em></li>
<li>Website: <a href="http://www.hackerpublicradio.org" target="_blank">www.hackerpublicradio.org</a></li>
<li>Mailist: <a href="http://www.hackerpublicradio.org/maillist" target="_blank">Maillist</a></li>
<li><a href="https://web.libera.chat/gamja/?channels=oggcastplanet" target="_blank">#oggcastplanet</a></li>
<li><a href="https://www.facebook.com/home.php?sk=group_130169220378872¬if_t=group_r2j" target="_blank">Facebook</a></li>
<li><a href="https://www.linkedin.com/company/hackerpublicradio/" target="_blank">Linked-In</a></li>
<li><a href="http://itunes.apple.com/us/podcast/hacker-public-radio/id281699640" target="_blank">iTunes</a></li>
</ul>
<h2>Mail List</h2>
<p>
HPR is governed by the community, so decisions about how Hacker Public Radio should be run are made on the mailing list you can join it by going to :<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.hackerpublicradio.org/maillist">http://www.hackerpublicradio.org/maillist</a>
</p>
</article>

View File

@ -18,7 +18,7 @@
on h.hostid = e.hostid on h.hostid = e.hostid
order by h.host' order by h.host'
) %--> ) %-->
<tr height="80"> <tr>
<td><!--% get_avatar(host.hostid, host.host, host_cnt > 8) %--></td> <td><!--% get_avatar(host.hostid, host.host, host_cnt > 8) %--></td>
<td><strong><!--% host.host %--></strong><br> <td><strong><!--% host.host %--></strong><br>

View File

@ -0,0 +1,56 @@
<article>
<header>
<h1>Download Archive</h1>
<p>Please be aware that our Archive exceeds <strong>62Gb</strong> <em>(Ogg: 21Gb, Spx: 16Gb, mp3: 25Gb)</em>. We are happy for you to download them, but please make sure that you are not going to incur additional bandwidth charges on your side.</p>
<p>We will be happy to post you DVD's of the episodes anywhere in the world if bandwidth is an issue.</p>
</header>
<h2>Full Episode Guide</h2>
<p>
The <a href="./eps/index.html">compete episode guide</a> is available to you, and it lists all the shows on one page going right back to the very first episode.
</p>
<h2>Command line download</h2>
<p>
You can download the audio of the episodes directly from the command line using the following commands:
</p>
<ul>
<li>ogg:<br />
<span style="font-family:monospace;">curl 'https://www.hackerpublicradio.org/eps/hpr[0001-3657].ogg' -o "hpr#1.ogg"</span></li>
<li>spx:<br />
<span style="font-family:monospace;">curl 'https://www.hackerpublicradio.org/eps/hpr[0001-3657].spx' -o "hpr#1.spx"</span></li>
<li>mp3:<br />
<span style="font-family:monospace;">curl 'https://www.hackerpublicradio.org/eps/hpr[0001-3657].mp3' -o "hpr#1.mp3"</span></li>
</li>
</ul>
<h2>Full RSS feed, BitTorrent and Magnet links</h2>
<p>The full rss feed is updated daily and contains the complete show note with links to supporting articles. The torrent/magnet also contains this information and is a snaphot of the archive taken between 2007 and November 2013. </p>
<ul>
<li><span style="font-family:monospace;">ogg: <a href="hpr_total_ogg_rss.php">rss</a>, <a href="https://www.talkgeektome.us/torrents/HPR-Ogg-2007-Nov2013.torrent">torrent</a>, <a href="magnet:?xt=urn:btih:390C66903BBB2B6A067C438C70B2E90988AA8207&dn=HPR-Ogg-2007-Nov2013&tr=http%3A%2F%2Ftracker.info-underground.net%3A16880%2Fannounce">magnet</a></span></li>
<li><span style="font-family:monospace;">spx: <a href="hpr_total_spx_rss.php">rss</a>, <a href="https://www.talkgeektome.us/torrents/HPR-Mp3-2007-Nov2013.torrent">torrent</a>, <a href="magnet:?xt=urn:btih:E2573BEF0209B8C2E3C7908BAF220EC34D4A5B8E&dn=HPR-Speex-2007-Nov2013&tr=http%3A%2F%2Ftracker.info-underground.net%3A16880%2Fannounce">magnet</a></span></li>
<li><span style="font-family:monospace;">mp3: <a href="hpr_total_rss.php">rss</a>, <a href="https://www.talkgeektome.us/torrents/HPR-Mp3-2007-Nov2013.torrent">torrent</a>, <a href="magnet:?xt=urn:btih:6E9492AD78BCCA2B8D6A42C9C0BCAB0E6FA778F8&dn=HPR-Mp3-2007-Nov2013&tr=http%3A%2F%2Ftracker.info-underground.net%3A16880%2Fannounce">magnet</a></span></li>
</ul>
<h3>Direct download of the remaining shows</h3>
<p>
You can download the remaining episodes since the torrent was created directly from the command line using the following commands:
</p>
<ul>
<li>ogg:<br />
<span style="font-family:monospace;">curl 'https://www.hackerpublicradio.org/eps/hpr[1391-3657].ogg' -o "hpr#1.ogg"</span>
</li>
</li>
</ul>
<ul>
<li>spx:<br />
<span style="font-family:monospace;">curl 'https://www.hackerpublicradio.org/eps/hpr[1391-3657].spx' -o "hpr#1.spx"</span>
</li>
</li>
</ul>
<ul>
<li>mp3:<br />
<span style="font-family:monospace;">curl 'https://www.hackerpublicradio.org/eps/hpr[1391-3657].mp3' -o "hpr#1.mp3"</span>
</li>
</li>
</ul>
<footer>
<p>Big to DeepGeek and the team for providing the BitTorrent service.</p>
</footer>
</article>

View File

@ -17,11 +17,10 @@
<p class="meta"><!--% episode_navigation %--> <p class="meta"><!--% episode_navigation %-->
</p> </p>
<p><!--% show_avatar(episode.hostid, episode.host) %--> <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><!--% episode.date %--></span> is flagged as <span><!--% display_explicit(episode.explicit) %--></span> and is released under a <span><!--% episode.license %--> license</span>. <br> 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) %--> <!--% display_tags(episode.tags) %-->
<label>Comments: </label><!--% display_comments_tally(episode.id, episode.eps_tally) %--> <br> <label>Comments: </label><!--% display_comments_tally(episode.id, episode.eps_tally) %--> <br>
The show is available on the Internet Archive at: <a href="https://archive.org/details/hpr<!--% zero_pad_left(episode.id) %-->">https://archive.org/details/hpr<!--% zero_pad_left(episode.id) %--></a>
<!--% listen_now(episode, "hpr", baseurl, media_baseurl) %--> <!--% listen_now(episode, "hpr", baseurl, media_baseurl) %-->
</p> </p>
<h3><!--% show_series(episode.series, episode.seriesid, "Part of the series") %--></h3> <h3><!--% show_series(episode.series, episode.seriesid, "Part of the series") %--></h3>
@ -29,7 +28,6 @@ The show is available on the Internet Archive at: <a href="https://archive.org/d
</header> </header>
<div><!--% episode.notes %--></div> <div><!--% episode.notes %--></div>
<footer> <footer>
<!--% show_transcript(episode, "hpr", baseurl, media_baseurl) %-->
<p> <p>
<!--% episode_navigation %--> <!--% episode_navigation %-->
</p> </p>

View File

@ -13,7 +13,7 @@
<!--% show_summary(episodes) %--> <!--% show_summary(episodes) %-->
<p class="listen-in"><!--% display_listen_in(episodes.id) %--></p> <p class="listen-in"><!--% display_listen_in(episodes.id) %--></p>
<!--% END %--> <!--% END %-->
<h2 id="twat_episodes">Today With a Techie Archived Shows</h2> <h2 id="twt_episodes">Today With a Techie Archived Shows</h2>
<p> <p>
<!-- Creative Commons License --> <!-- 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> <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>

View File

@ -40,7 +40,7 @@
<!--% days_till_next_episode = calc.Delta_Days(now.0,now.1,now.2,slot_date.0,slot_date.1,slot_date.2) %--> <!--% 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')) %--> <!--% delta = date.calc.N_Delta_YMD(2005,9,19, date.format(date.now, '%Y'),date.format(date.now, '%m'),date.format(date.now, '%d')) %-->
<p>We started producing shows as <a href="<!--% absolute_path(baseurl) %-->eps/index.html#twat_episodes"><em>Today with a Techie</em></a> on 2005-09-19, <!--% delta.0 %--> years, <!--% delta.1 %--> months, <!--% delta.2 %--> days ago. Our shows are produced by <a href="<!--% absolute_path(baseurl) %-->correspondents/index.html">listeners</a> like you and can be on any <a href="<!--% absolute_path(baseurl) %-->eps/index.html">topics</a> that <strong>"are of interest to <a href="https://en.wikipedia.org/wiki/hacker_(hobbyist)">hackers</a>"</strong>. If you listen to HPR then please consider contributing one show a year. If you <a href="<!--% absolute_url(baseurl) %-->about.html#so_you_want_to_record_a_podcast">record</a> your show now it could be <a href="<!--% hub_baseurl %-->calendar.php">released</a> in <strong><!--% days_till_next_episode %--></strong> days.</p> <p>We started producing shows as <a href="<!--% absolute_path(baseurl) %-->eps/index.html#twt_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> </article>
<!--% display_call_for_shows() %--> <!--% display_call_for_shows() %-->
<hr> <hr>
@ -55,7 +55,7 @@
<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> <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"$><!--% show_avatar(latest_episodes.hostid, latest_episodes.host, host_cnt) %--> <p class="meta"$><!--% show_avatar(latest_episodes.hostid, latest_episodes.host, host_cnt) %-->
Hosted by <a href="<!--% absolute_path(baseurl) %-->correspondents/<!--% zero_pad_left(latest_episodes.hostid) %-->.html"><!--% latest_episodes.host %--></a> on <!--% latest_episodes.date %--> is flagged as <!--% display_explicit(latest_episodes.explicit) %--> and released under a <!--% latest_episodes.license %--> license. <br> Hosted by <a href="<!--% absolute_path(baseurl) %-->correspondents/<!--% zero_pad_left(latest_episodes.hostid) %-->.html"><!--% latest_episodes.host %--></a> on <!--% day_and_date(latest_episodes.date) %--> is flagged as <!--% display_explicit(latest_episodes.explicit) %--> and released under a <!--% latest_episodes.license %--> license. <br>
<!--% display_tags(latest_episodes.tags) %--> <!--% display_tags(latest_episodes.tags) %-->
<span><!--% show_series(latest_episodes.series, latest_episodes.seriesid) %--></span> <span><!--% show_series(latest_episodes.series, latest_episodes.seriesid) %--></span>
<span><label>Comments: </label><!--% display_comments_tally(latest_episodes.id, latest_episodes.eps_tally) %--></span><br> <span><label>Comments: </label><!--% display_comments_tally(latest_episodes.id, latest_episodes.eps_tally) %--></span><br>
@ -63,13 +63,10 @@
</p> </p>
</header> </header>
<!--% tidy_notes(latest_episodes.notes) %--> <!--% tidy_notes(latest_episodes.notes) %-->
<footer>
<!--% show_transcript(latest_episodes, "hpr", baseurl, media_baseurl) %-->
</footer>
</article> </article>
<!--% host_cnt = host_cnt + 1 %--> <!--% host_cnt = host_cnt + 1 %-->
<!--% END %--> <!--% END %-->
<article> <article id="previous_five_weeks">
<header> <header>
<hr> <hr>
<h1>Previous five weeks</h1> <h1>Previous five weeks</h1>

View File

@ -0,0 +1,22 @@
<article>
<header>
<h1>Please promote HPR</h1>
</header>
<p>Feel free to use the promotional material to spread the word in your podcasts, or have them played on to other shows.</p>
<h2>General HPR promotion</h2>
<ul>
<li><a href="./media/promos/HPRpromoKlaatu.ogg">Klaatu explains HPR Daily podcast by the www.hackerpublicradio.org Community for the www.hackerpublicradio.org Community</a></li>
<!--<li><a href="../media/promos/HPRpromoNewsCast.ogg">A News Caster tells us about HPR</a></li>
<li><a href="../media/promos/HPRpromoSkirlet.ogg">Skirlet tells us we need to listen to HPR</a></li>-->
</ul>
<h2>Requests for contributions</h2>
<p>
<ul>
<li><a href="./media/promos/Jude-aka-Mrs_Peter64_HPR-needs-shows.flac">Jude Mrs. Peter64 HPR needs shows</a></li>
<li><a href="./media/promos/hpr-contributor-promo-sax.ogg">slick0 basenet theme</a></li>
<li><a href="./media/promos/hpr-contributor-promo-basenettheme.ogg">slick0 sax roll</a></li>
</ul>
</p>
</article>

View File

@ -5,7 +5,7 @@
<li><a href="<!--% absolute_path(baseurl) %-->index.html"><strong>Home</strong></a> ← The HPR Homepage</li> <li><a href="<!--% absolute_path(baseurl) %-->index.html"><strong>Home</strong></a> ← The HPR Homepage</li>
<li><a href="<!--% absolute_path(baseurl) %-->syndication.html">Get Shows</a> ← The RSS Syndication Feeds</li> <li><a href="<!--% absolute_path(baseurl) %-->syndication.html">Get Shows</a> ← The RSS Syndication Feeds</li>
<ul> <ul>
<li><a href="<!--% absolute_path(baseurl) %-->correspondents/index.html">Full Episode Guide</a> ← Complete list of all the Shows.</li> <li><a href="<!--% absolute_path(baseurl) %-->eps/index.html">Full Episode Guide</a> ← Complete list of all the Shows.</li>
<li><a href="<!--% absolute_path(baseurl) %-->series/index.html">In-Depth Series</a> ← Overview of the In-Depth Series.</li> <li><a href="<!--% absolute_path(baseurl) %-->series/index.html">In-Depth Series</a> ← Overview of the In-Depth Series.</li>
<li><a href="<!--% absolute_url(baseurl) %-->about.html#download">Download Options</a> ← How to download the entire archive.</li> <li><a href="<!--% absolute_url(baseurl) %-->about.html#download">Download Options</a> ← How to download the entire archive.</li>
</ul> </ul>

View File

@ -20,9 +20,9 @@
Every month, the HPR Janitors put down their mops had have a chat about all the shows, and what else has been going on in the HPR community. This is a regular show scheduled for the first Monday of the month. Every month, the HPR Janitors put down their mops had have a chat about all the shows, and what else has been going on in the HPR community. This is a regular show scheduled for the first Monday of the month.
</p> </p>
<ul> <ul>
<li><a href="<!--% absolute_path(baseurl) %-->hpr_ogg_rss.php?series=47">ogg</a> Larger file size higher quality feed.</li> <li><a href="<!--% absolute_path(baseurl) %-->hpr_opus_rss.php?series=47">opus</a>.</li>
<li><a href="<!--% absolute_path(baseurl) %-->hpr_spx_rss.php?series=47">mp3</a> Larger file size regular quality feed in a common format.</li> <li><a href="<!--% absolute_path(baseurl) %-->hpr_ogg_rss.php?series=47">ogg</a>.</li>
<li><a href="<!--% absolute_path(baseurl) %-->hpr_mp3_rss.php?series=47">spx</a> Small file size lower quality feed. <br/>Ideal for dial-up/mobile connections.</li> <li><a href="<!--% absolute_path(baseurl) %-->hpr_mp3_rss.php?series=47">mp3</a>.</li>
</ul> </ul>
<p> <p>
We also maintain an <a href="https://archive.org/details/hackerpublicradio?and[]=subject%3A%22Community+News%22">Archive.org</a> page where you can get the shows in even more formats. We also maintain an <a href="https://archive.org/details/hackerpublicradio?and[]=subject%3A%22Community+News%22">Archive.org</a> page where you can get the shows in even more formats.
@ -37,9 +37,9 @@
Use these feeds to keep up to date with the latest HPR Episodes. Use these feeds to keep up to date with the latest HPR Episodes.
</p> </p>
<ul> <ul>
<li><a href="<!--% absolute_url(baseurl) %-->hpr_ogg_rss.php">ogg</a> Larger file size higher quality feed.</li> <li><a href="<!--% absolute_url(baseurl) %-->hpr_opus_rss.php">opus</a>.</li>
<li><a href="<!--% absolute_url(baseurl) %-->hpr_rss.php">mp3</a> Larger file size regular quality feed in a common format.</li> <li><a href="<!--% absolute_url(baseurl) %-->hpr_ogg_rss.php">ogg</a>.</li>
<li><a href="<!--% absolute_url(baseurl) %-->hpr_spx_rss.php">spx</a> Small file size lower quality feed. <br/>Ideal for dial-up/mobile connections.</li> <li><a href="<!--% absolute_url(baseurl) %-->hpr_rss.php">mp3</a>.</li>
</ul> </ul>
<p> <p>
We also maintain an <a href="https://archive.org/details/hackerpublicradio">Archive.org</a> page where you can get the shows in even more formats. For more recent shows we are now including the original upload as delivered. We also maintain an <a href="https://archive.org/details/hackerpublicradio">Archive.org</a> page where you can get the shows in even more formats. For more recent shows we are now including the original upload as delivered.
@ -53,9 +53,9 @@
Use this feed to get the archived episodes. The feed themselves run over 15Mb in size and so use them to download the archived episodes and when you are up to date switch back to the Two Week Feeds listed above. Use this feed to get the archived episodes. The feed themselves run over 15Mb in size and so use them to download the archived episodes and when you are up to date switch back to the Two Week Feeds listed above.
</p> </p>
<ul> <ul>
<li><a href="<!--% absolute_path(baseurl) %-->hpr_total_ogg_rss.php">ogg feed</a> Warning over 50G</li> <li><a href="<!--% absolute_path(baseurl) %-->hpr_total_opus_rss.php">opus feed</a> Warning over 62G</li>
<li><a href="<!--% absolute_path(baseurl) %-->hpr_total_spx_rss.php">spx feed</a> Warning over 22G</li> <li><a href="<!--% absolute_path(baseurl) %-->hpr_total_ogg_rss.php">ogg feed</a> Warning over 71G</li>
<li><a href="<!--% absolute_path(baseurl) %-->hpr_total_rss.php">mp3 feed</a> Warning over 36G</li> <li><a href="<!--% absolute_path(baseurl) %-->hpr_total_rss.php">mp3 feed</a> Warning over 70G</li>
</ul> </ul>
</article> </article>
<article> <article>
@ -112,8 +112,8 @@
<article> <article>
<header> <header>
<h1>Download Archive</h1> <h1>Download Archive</h1>
<p>Please be aware that our Archive exceeds <strong>62Gb</strong> <em>(Ogg: 21Gb, Spx: 16Gb, mp3: 25Gb)</em>. We are happy for you to download them, but please make sure that you are not going to incur additional bandwidth charges on your side.</p> <p>Please be aware that our Archive exceeds <strong>200Gb</strong></em>. We are happy for you to download them, but please make sure that you are not going to incur additional bandwidth charges on your side.</p>
<p>We will be happy to post you DVD's of the episodes anywhere in the world if bandwidth is an issue.</p> <p>We will be happy to physically send episodes anywhere in the world if bandwidth is an issue.</p>
</header> </header>
<h2>Full Episode Guide</h2> <h2>Full Episode Guide</h2>
<p> <p>

View File

@ -45,7 +45,7 @@
%--> %-->
<!--% episode_result = query_episodes.execute(id, id, id, id, id) %--> <!--% episode_result = query_episodes.execute(id, id, id, id, id) %-->
<!--% FOREACH episode IN episode_result %--> <!--% FOREACH episode IN episode_result %-->
<!--% episode_navigation = step_navigation(baseurl,episode,"twat") %--> <!--% episode_navigation = step_navigation(baseurl,episode,"twt") %-->
<article> <article>
<header> <header>
<h1><!--% episode.id %--> :: <!--% episode.title %--></h1> <h1><!--% episode.id %--> :: <!--% episode.title %--></h1>
@ -53,7 +53,7 @@
<p class="meta"><!--% episode_navigation %--> <p class="meta"><!--% episode_navigation %-->
</p> </p>
<p><!--% show_avatar(episode.hostid, episode.host) %--> <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><!--% episode.date %--></span> is flagged as <span><!--% display_explicit(episode.explicit) %--></span> and is released under a <span><!--% episode.license %--> license</span>. <br> 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> <!--% display_tags(episode.tags) %--> <br>
<!--% listen_now(episode, "twat", baseurl, media_baseurl) %--> <!--% listen_now(episode, "twat", baseurl, media_baseurl) %-->
<!--% display_listen_in(episode.id, "twat") %--> <!--% display_listen_in(episode.id, "twat") %-->

View File

@ -23,14 +23,14 @@
} }
</style> </style>
<link rel="shortcut icon" href="<!--% absolute_url(baseurl) %-->hpr.ico" > <link rel="shortcut icon" href="<!--% absolute_url(baseurl) %-->hpr.ico" >
<link rel="alternate" type="application/rss+xml" title="Hacker Public Radio Opus RSS" href="<!--% absolute_path(baseurl) %-->hpr_opus_rss.php" />
<link rel="alternate" type="application/rss+xml" title="Hacker Public Radio Ogg Vorbis RSS" href="<!--% absolute_path(baseurl) %-->hpr_ogg_rss.php" /> <link rel="alternate" type="application/rss+xml" title="Hacker Public Radio Ogg Vorbis RSS" href="<!--% absolute_path(baseurl) %-->hpr_ogg_rss.php" />
<link rel="alternate" type="application/rss+xml" title="Hacker Public Radio Speex RSS" href="<!--% absolute_path(baseurl) %-->hpr_spx_rss.php" />
<link rel="alternate" type="application/rss+xml" title="Hacker Public Radio MP3 RSS" href="<!--% absolute_path(baseurl) %-->hpr_mp3_rss.php" /> <link rel="alternate" type="application/rss+xml" title="Hacker Public Radio MP3 RSS" href="<!--% absolute_path(baseurl) %-->hpr_mp3_rss.php" />
<link rel="alternate" type="application/rss+xml" title="Hacker Public Radio Comments RSS" href="<!--% absolute_path(baseurl) %-->comments.rss" /> <link rel="alternate" type="application/rss+xml" title="Hacker Public Radio Comments RSS" href="<!--% absolute_path(baseurl) %-->comments.rss" />
<link rel="license" title="CC BY-SA 4.0" href="https://creativecommons.org/licenses/by-sa/4.0/" /> <link rel="license" title="CC BY-SA 4.0" href="https://creativecommons.org/licenses/by-sa/4.0/" />
<link href="<!--% absolute_path(baseurl) %-->css/hpr.css" rel="stylesheet" /> <link href="/css/hpr.css" rel="stylesheet" />
<!--[if IE]> <!--[if IE]>
<link rel="stylesheet" href="<!--% absolute_path(baseurl) %-->css/hpr.css" media="screen" type="text/css" /> <link rel="stylesheet" href="/css/hpr.css" media="screen" type="text/css" />
<script src="/JavaScript/html5.js"></script> <script src="/JavaScript/html5.js"></script>
<![endif]--> <![endif]-->
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.5, user-scalable=yes"/> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.5, user-scalable=yes"/>
@ -67,7 +67,7 @@
</main> </main>
<footer id="footer_page"> <footer id="footer_page">
<h1 class="thick_bar"><span style="padding-left: 1em;">More Information...</span></h1> <h1 class="thick_bar">More Information...</h1>
<div id="more_info"> <div id="more_info">
<nav class="column"> <nav class="column">
<h2>Ancestry</h2> <h2>Ancestry</h2>
@ -82,7 +82,7 @@
<h2>Social</h2> <h2>Social</h2>
<ul> <ul>
<li><a href="<!--% absolute_url(baseurl,'/maillist') %-->" >Mailing list</a></li> <li><a href="<!--% absolute_url(baseurl,'/maillist') %-->" >Mailing list</a></li>
<li><a href="https://botsin.space/@hpr" >Mastodon</a></li> <li><a rel="me" href="https://infosec.exchange/@hpr" >Mastodon</a></li>
<li><a href="https://matrix.to/#/#hpr:matrix.org" >Matrix</a></li> <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="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://web.libera.chat/gamja/?channels=oggcastplanet" target="_blank">#oggcastplanet</a></li>
@ -114,7 +114,7 @@
<ul> <ul>
<li><a href="https://freeculturepodcasts.org/">Free Culture Podcasts</a></li> <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://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://repo.anhonesthost.net/HPR/">HPR Source Code</a></li>
<li><a href="https://cchits.net/">cchits.net</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://freesound.org/">freesound.org</a></li>
<li><a href="https://librivox.org/">librivox.org</a></li> <li><a href="https://librivox.org/">librivox.org</a></li>
@ -133,7 +133,7 @@
</ul> </ul>
</nav> </nav>
</div><!-- more_info --> </div><!-- more_info -->
<h1 class="thick_bar"><span style="padding-left: 1em;">Copyright Information</span></h1> <h1 class="thick_bar">Copyright Information</h1>
<div id="copyright"> <div id="copyright">
<p> <p>
Unless otherwise stated, our shows are released under a <a rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/"> Unless otherwise stated, our shows are released under a <a rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/">
@ -141,7 +141,6 @@
<p> <p>
The <span property="dct:title">HPR Website Design</span> is released to the <a rel="license" href="https://creativecommons.org/publicdomain/mark/1.0/">Public Domain</a>. The <span property="dct:title">HPR Website Design</span> is released to the <a rel="license" href="https://creativecommons.org/publicdomain/mark/1.0/">Public Domain</a>.
</p> </p>
<hr />
</div><!-- copyright --> </div><!-- copyright -->
<hr /> <hr />
</footer> </footer>

View File

@ -3,9 +3,10 @@
<!--% PROCESS 'shared-utils.tpl.html' %--> <!--% PROCESS 'shared-utils.tpl.html' %-->
<!--% PROCESS 'shared-episode-summary.tpl.html' %--> <!--% PROCESS 'shared-episode-summary.tpl.html' %-->
<!--% USE date %--> <!--% USE date %-->
<!--% USE HTML.Strip emit_spaces = 0 %-->
<channel> <channel>
<title>Hacker Public Radio ~ Comment Feed</title> <title>Hacker Public Radio ~ Comment Feed</title>
<link><!--% baseurl %-->about.html</link> <link><!--% absolute_url(http_baseurl) %-->about.html</link>
<description>Comments Feed: 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.</description> <description>Comments Feed: 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.</description>
<language>en-us</language> <language>en-us</language>
<copyright>Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) License</copyright> <copyright>Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) License</copyright>
@ -15,14 +16,14 @@
<docs>https://www.rssboard.org/rss-specification</docs> <docs>https://www.rssboard.org/rss-specification</docs>
<ttl>600</ttl> <ttl>600</ttl>
<image> <image>
<url><!--% baseurl %-->images/hpr_feed_small.png</url> <url><!--% absolute_url(http_baseurl) %-->images/hpr_feed_small.png</url>
<title>Hacker Public Radio ~ Comment Feed</title> <title>Hacker Public Radio ~ Comment Feed</title>
<link><!--% baseurl %-->about.html</link> <link><!--% absolute_url(http_baseurl) %-->about.html</link>
<description>The Hacker Public Radio Old Microphone Logo</description> <description>The Hacker Public Radio Old Microphone Logo</description>
<height>164</height> <height>164</height>
<width>144</width> <width>144</width>
</image> </image>
<atom:link href="<!--% baseurl %-->comments.rss" rel="self" type="application/rss+xml" /> <atom:link href="<!--% absolute_url(http_baseurl) %-->comments.rss" rel="self" type="application/rss+xml" />
<!--% USE DBI(constants.driver, constants.user, constants.password) %--> <!--% USE DBI(constants.driver, constants.user, constants.password) %-->
<!--% FOREACH response IN DBI.query('SELECT max( comment_timestamp) AS latest_update FROM comments') %--> <!--% FOREACH response IN DBI.query('SELECT max( comment_timestamp) AS latest_update FROM comments') %-->
@ -49,15 +50,15 @@
%--> %-->
<item> <item>
<title><!--% item.comment_author_name %--> says: <!--% item.comment_title %--></title> <title><!--% item.comment_author_name | html_strip | xml_entity %--> says: <!--% item.comment_title | html_strip | xml_entity %--></title>
<author>feedback.nospam@nospam.hackerpublicradio.org (<!--% item.comment_author_name %-->)</author> <author>feedback.nospam@nospam.hackerpublicradio.org (<!--% item.comment_author_name | html_strip | xml_entity %-->)</author>
<link><!--% baseurl %-->eps/hpr<!--% zero_pad_left(item.eps_id) %-->/index.html#comments</link> <link><!--% absolute_url(http_baseurl) %-->eps/hpr<!--% zero_pad_left(item.eps_id) %-->/index.html#comments</link>
<description><![CDATA[<strong> <description><![CDATA[<strong>
RE: hpr<!--% zero_pad_left(item.eps_id) %-->::<!--% item.episode_date %--> <em><!--% item.episode_title %--></em> by <a href="<!--% baseurl %-->correspondents/<!--% zero_pad_left(item.host_id) %-->.html"><!--% item.host %--></a></strong><!--% rss_show_series(item.series_name, item.series_id) %--><br /> RE: hpr<!--% zero_pad_left(item.eps_id) %-->::<!--% item.episode_date %--> <em><!--% item.episode_title | html_strip | xml_entity %--></em> by <a href="<!--% absolute_url(http_baseurl) %-->correspondents/<!--% zero_pad_left(item.host_id) %-->.html"><!--% item.host %--></a></strong><!--% rss_show_series(item.series_name, item.series_id) | html_strip | xml_entity %--><br />
<!--% display_episode_duration(item.episode_duration) %--><!--% display_listen_in(item.eps_id) %--><br /><!--% item.comment_text FILTER html_line_break %--> <!--% display_episode_duration(item.episode_duration) %--><!--% display_listen_in(item.eps_id) %--><br /><!--% item.comment_text FILTER html_line_break %-->
]]></description> ]]></description>
<pubDate><!--% format_feed_date(item.comment_timestamp) %--></pubDate> <pubDate><!--% format_feed_date(item.comment_timestamp) %--></pubDate>
<guid isPermaLink="false"><!--% baseurl %-->eps/hpr<!--% zero_pad_left(item.eps_id) %-->/index.html#comment_<!--% item.id %--></guid> <guid isPermaLink="false"><!--% absolute_url(http_baseurl) %-->eps/hpr<!--% zero_pad_left(item.eps_id) %-->/index.html#comment_<!--% item.id %--></guid>
</item> </item>
<!--% END %--> <!--% END %-->
</channel> </channel>

View File

@ -1,4 +1,5 @@
<!--% PROCESS 'shared-utils.tpl.html' %--> <!--% PROCESS 'shared-utils.tpl.html' %-->
<!--% PROCESS 'shared-show-transcript.tpl.html' %-->
<!--% MACRO rss_show_series(series, series_id) IF series != "general" %--> <!--% MACRO rss_show_series(series, series_id) IF series != "general" %-->
from the series <em><a href="<!--% baseurl %-->series/<!--% zero_pad_left(series_id) %-->.html"><!--% series %--></em></a>. from the series <em><a href="<!--% baseurl %-->series/<!--% zero_pad_left(series_id) %-->.html"><!--% series %--></em></a>.
@ -24,10 +25,10 @@ from the series <em><a href="<!--% baseurl %-->series/<!--% zero_pad_left(series
Listen in Listen in
<!--% IF episode_type == 'hpr' %--> <!--% IF episode_type == 'hpr' %-->
<a href="<!--% media_path(eps_id, episode_type, 'ogg', baseurl, media_baseurl) %-->" aria-label="Download <!--% episode_type %--><!--% zero_pad_left(eps_id) %--> as">ogg</a>, <a href="<!--% media_path(eps_id, episode_type, 'ogg', baseurl, media_baseurl) %-->" aria-label="Download <!--% episode_type %--><!--% zero_pad_left(eps_id) %--> as">ogg</a>,
<a href="<!--% media_path(eps_id, episode_type, 'spx', baseurl, media_baseurl) %-->" aria-label="Download <!--% episode_type %--><!--% zero_pad_left(eps_id) %--> as">spx</a>, <a href="<!--% media_path(eps_id, episode_type, 'opus', baseurl, media_baseurl) %-->" aria-label="Download <!--% episode_type %--><!--% zero_pad_left(eps_id) %--> as">opus</a>,
or or
<!--% END %--> <!--% END %-->
<a href="<!--% media_path(eps_id, episode_type, 'mp3', baseurl, media_baseurl) %-->" aria-label="Download <!--% episode_type %--><!--% zero_pad_left(eps_id) %--> as">mp3</a> format. <a href="<!--% media_path(eps_id, episode_type, 'mp3', baseurl, media_baseurl) %-->" aria-label="Download <!--% episode_type %--><!--% zero_pad_left(eps_id) %--> as">mp3</a> format.
<!--% END %--> <!--% END %-->
<!--% MACRO display_comments_tally(eps_id, tally) BLOCK %--> <!--% MACRO display_comments_tally(eps_id, tally) BLOCK %-->
@ -35,7 +36,7 @@ or
<!--% END %--> <!--% END %-->
<!--% MACRO show_meta(show, hide_tags) BLOCK %--> <!--% MACRO show_meta(show, hide_tags) BLOCK %-->
<span><label>Released:</label> <!--% show.date %-->.</span> <span><label>Released:</label> <!--% day_and_date(show.date) %-->.</span>
<span><label>Duration:</label> <!--% display_episode_duration(show.duration) %-->.</span> <span><label>Duration:</label> <!--% display_episode_duration(show.duration) %-->.</span>
<span><label>Flag:</label> <!--% display_explicit(show.explicit) %-->.</span> <span><label>Flag:</label> <!--% display_explicit(show.explicit) %-->.</span>
<span><!--% show_series(show.series, show.seriesid) %--></span> <br> <span><!--% show_series(show.series, show.seriesid) %--></span> <br>
@ -57,7 +58,7 @@ or
<!--% MACRO twat_show_summary(show, hide_host) BLOCK %--> <!--% 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">Today with a Techie Ep.<!--% show.id %--> :: <!--% show.title %--></a> <!--% IF hide_host == "" %--> <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> hosted by <a href="<!--% absolute_path(baseurl) %-->correspondents/<!--% zero_pad_left(show.hostid) %-->.html"><!--% show.host %--></a>
<!--% END %--> <!--% END %-->
</h3> </h3>

View File

@ -1,4 +1,5 @@
<!--% PROCESS 'shared-episode-summary.tpl.html' %--> <!--% PROCESS 'shared-episode-summary.tpl.html' %-->
<!--% PROCESS 'shared-show-transcript.tpl.html' %-->
<!--% MACRO listen_now(episode, episode_type, baseurl, media_baseurl, hide_duration) BLOCK %--> <!--% MACRO listen_now(episode, episode_type, baseurl, media_baseurl, hide_duration) BLOCK %-->
<p><!--% display_listen_in(episode.id, episode_type) %--> Play now:<br> <p><!--% display_listen_in(episode.id, episode_type) %--> Play now:<br>
@ -7,6 +8,7 @@
<source src="<!--% media_path(episode.id, episode_type, 'mp3', baseurl, media_baseurl) %-->" type="audio/mpeg" > <source src="<!--% media_path(episode.id, episode_type, 'mp3', baseurl, media_baseurl) %-->" type="audio/mpeg" >
</audio> </audio>
<!--% IF !hide_duration %--><br> <!--% IF !hide_duration %--><br>
Duration: <!--% display_episode_duration(episode.duration) %--><!--% END %--></p> Duration: <!--% display_episode_duration(episode.duration) %--><!--% END %-->
<!--% IF episode_type == "hpr" %--><br><!--% show_transcript(episode, episode_type, baseurl, media_baseurl) %--><!--% END %--></p>
<!--% END %--> <!--% END %-->

View File

@ -1,14 +1,5 @@
<!--% MACRO show_transcript(episode, episode_type, baseurl, media_baseurl) BLOCK %--> <!--% MACRO show_transcript(episode, episode_type, baseurl, media_baseurl) BLOCK %-->
<h2>Show Transcript</h2> Download the <a href="<!--% media_path(episode.id, episode_type, 'txt', baseurl, media_baseurl) %-->" aria-label="Download <!--% episode_type %--><!--% zero_pad_left(episode.id) %-->">transcription</a></li> and
<p>Automatically generated using <a href="https://github.com/openai/whisper">whisper</a> <a href="<!--% media_path(episode.id, episode_type, 'srt', baseurl, media_baseurl) %-->" aria-label="Download <!--% episode_type %--><!--% zero_pad_left(episode.id) %-->">subtitles</a>.
<pre><code>whisper --model tiny --language en hpr<!--% zero_pad_left(episode.id) %-->.wav</code></pre></p>
<p>
You can save these subtitle files to the same location as the HPR Episode, and they will automatically show in players like <a href="https://mpv.io/">mpv</a>, <a href="https://www.videolan.org/vlc/">vlc</a>. Some players allow you to specify the subtitle file location.
</p>
<ul>
<li>Text: <a href="<!--% media_path(episode.id, episode_type, 'txt', baseurl, media_baseurl) %-->">hpr<!--% zero_pad_left(episode.id) %-->.txt</a></li>
<li><a href="https://en.wikipedia.org/wiki/WebVTT">WebVTT</a>: <a href="<!--% media_path(episode.id, episode_type, 'vtt', baseurl, media_baseurl) %-->">hpr<!--% zero_pad_left(episode.id) %-->.vtt</a></li>
<li><a href="https://en.wikipedia.org/wiki/SubRip">SubRip</a>: <a href="<!--% media_path(episode.id, episode_type, 'srt', baseurl, media_baseurl) %-->">hpr<!--% zero_pad_left(episode.id) %-->.srt</a></li>
</ul>
<!--% END %--> <!--% END %-->

View File

@ -49,6 +49,15 @@
<!--% iso8601_date.format(date_to_format) %--> <!--% iso8601_date.format(date_to_format) %-->
<!--% END %--> <!--% END %-->
<!--% MACRO day_from_date(eps_date) BLOCK %-->
<!--% USE eps_day = date(format => '%A', locale => 'en_US', gmt => 1) %-->
<!--% eps_day.format("$eps_date 0:0:0") %-->
<!--% END %-->
<!--% MACRO day_and_date(eps_date) BLOCK %-->
<!--% day_from_date(eps_date) %-->, <!--% eps_date %-->
<!--% END %-->
<!--% MACRO tag_to_id(tag, is_index) BLOCK %--> <!--% MACRO tag_to_id(tag, is_index) BLOCK %-->
<!--% tag = tag.replace('\s+','_') %--> <!--% tag = tag.replace('\s+','_') %-->
<!--% IF is_index %--> <!--% IF is_index %-->
@ -85,6 +94,7 @@
<!--% MACRO media_path(episode_id, episode_type, media_type, baseurl, media_baseurl) BLOCK %--> <!--% MACRO media_path(episode_id, episode_type, media_type, baseurl, media_baseurl) BLOCK %-->
<!--% IF episode_type == "twat" %--> <!--% IF episode_type == "twat" %-->
<!--% episode_type = "twt" %-->
<!--% padding = 3 %--> <!--% padding = 3 %-->
<!--% media_folder = "eps/"; padding = 3 %--> <!--% media_folder = "eps/"; padding = 3 %-->
<!--% ELSE %--> <!--% ELSE %-->
@ -98,7 +108,7 @@
<!--% media_baseurl = "${media_baseurl}hpr\$eps_id/" %--> <!--% media_baseurl = "${media_baseurl}hpr\$eps_id/" %-->
<!--% END %--> <!--% END %-->
<!--% media_folder = "" %--> <!--% media_folder = "" %-->
<!--% media_baseurl = media_baseurl.replace('\$eps_id', zero_pad_left(episode_id)) %--> <!--% media_baseurl = media_baseurl.replace('hpr\$eps_id', episode_type _ zero_pad_left(episode_id, padding)) %-->
<!--% END %--> <!--% END %-->
<!--% media_basepath(baseurl, media_baseurl) %--><!--% media_folder %--><!--% episode_type %--><!--% zero_pad_left(episode_id, padding) %-->.<!--% media_type %--> <!--% media_basepath(baseurl, media_baseurl) %--><!--% media_folder %--><!--% episode_type %--><!--% zero_pad_left(episode_id, padding) %-->.<!--% media_type %-->
<!--% END %--> <!--% END %-->

0
utils/lib_utils.sh Normal file → Executable file
View File

21933
utils/tmp.FHgFpPNT3D/hpr.sql Normal file

File diff suppressed because one or more lines are too long