Compare commits
87 Commits
b694a6f547
...
i324_New-Y
| Author | SHA1 | Date | |
|---|---|---|---|
|
ad21bb045c
|
|||
|
1cc9211e95
|
|||
|
fc12c7ae5c
|
|||
|
6a64ebd95e
|
|||
|
c349abfded
|
|||
| 30e4f6a4d8 | |||
| e43386ac95 | |||
|
2f273d61dd
|
|||
|
57d5989b29
|
|||
| 292e501f69 | |||
|
824c2d77c7
|
|||
| 5464725b7d | |||
|
f61fe7c6c8
|
|||
| 611a022aab | |||
|
9ecb30f51f
|
|||
| e885c78fb5 | |||
|
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
|
|||
|
b3e9ccc546
|
|||
| 5f601251db | |||
|
af2da91d7c
|
|||
|
3c7f02a09c
|
|||
|
81c8220e30
|
17
NEWSITE_CONTRIBUTERS.md
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
# Basic Concept, Design and Guiding Light
|
||||||
|
|
||||||
|
* Ken Fallon
|
||||||
|
|
||||||
|
# Implementaion and Design Touches
|
||||||
|
|
||||||
|
* Lee Hanken
|
||||||
|
* Roan Horning
|
||||||
|
|
||||||
|
# Constructive Feedback and Forward Looks
|
||||||
|
|
||||||
|
* Archer72 (Mark Rice)
|
||||||
|
* Dave Morris
|
||||||
|
* kwoot
|
||||||
|
|
||||||
|
Thanks to all the contributers who helped give HPR
|
||||||
|
its 2025 facelift!
|
||||||
@@ -68,5 +68,5 @@ and add the label "**Feature Request**".
|
|||||||
* Ken Fallon
|
* Ken Fallon
|
||||||
* norrist
|
* norrist
|
||||||
* Paul Jewell
|
* Paul Jewell
|
||||||
|
* Lee Hanken
|
||||||
|
|
||||||
|
|||||||
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: #a8f8ff;
|
||||||
--link-secondary-hover: #f9e9c2;
|
--link-secondary-hover: #f9e9c2;
|
||||||
--link-title-color: #00003e;
|
--link-title-color: #00003e;
|
||||||
|
--link-navigation-hover: #030303;
|
||||||
--primary-content-line-height: 1.45;
|
--primary-content-line-height: 1.45;
|
||||||
|
|
||||||
--font-family-hpr: Verdana, Arial, Helvetica, sans-serif; /* 1em/1.5 OpenDyslexic, */;
|
--font-family-hpr: Verdana, Arial, Helvetica, sans-serif; /* 1em/1.5 OpenDyslexic, */;
|
||||||
--font-size-default: clamp(1rem, 15px + 0.3vw, 1.07rem);
|
--font-size-default: clamp(1rem, 15px + 0.3vw, 1.07rem);
|
||||||
--font-size-emphasis: clamp(1.1rem, 15px + 0.3vw, 1.25rem);
|
--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-family: var(--font-family-hpr);
|
||||||
--logo-font-weight: bolder;
|
--logo-font-weight: bolder;
|
||||||
--logo-font-size: 7.5rem;
|
--logo-font-size: 7.5rem;
|
||||||
@@ -349,7 +352,7 @@ article > p,
|
|||||||
2px 4px 4px var(--shadow-cards);
|
2px 4px 4px var(--shadow-cards);
|
||||||
transition: 0.3s;
|
transition: 0.3s;
|
||||||
flex: 1 0 100%;
|
flex: 1 0 100%;
|
||||||
overflow-x: scroll;
|
overflow: auto;
|
||||||
padding-bottom: 1rem;
|
padding-bottom: 1rem;
|
||||||
}
|
}
|
||||||
.lane > article:hover,
|
.lane > article:hover,
|
||||||
@@ -363,7 +366,7 @@ article > p,
|
|||||||
margin-right: 1rem;
|
margin-right: 1rem;
|
||||||
}
|
}
|
||||||
.lane > article > header,
|
.lane > article > header,
|
||||||
.lane > article > h3 {
|
.lane > article > h3:first-child {
|
||||||
background: var(--background-secondary);
|
background: var(--background-secondary);
|
||||||
padding: 1.5rem 1rem 1rem 1rem;
|
padding: 1.5rem 1rem 1rem 1rem;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
@@ -371,22 +374,25 @@ article > p,
|
|||||||
font-size: 1.45rem;
|
font-size: 1.45rem;
|
||||||
color: var(--background-primary);
|
color: var(--background-primary);
|
||||||
}
|
}
|
||||||
|
.lane > article > header > .index-link {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
.lane.stack > article {
|
.lane.stack > article {
|
||||||
border-radius: 0.5rem;
|
border-radius: 0.5rem;
|
||||||
border: thin solid var(--background-secondary);
|
border: thin solid var(--background-secondary);
|
||||||
max-width: calc(100vw - 12px);
|
max-width: calc(100vw - 12px);
|
||||||
}
|
}
|
||||||
.lane.stack > article > header,
|
.lane.stack > article > header,
|
||||||
.lane.stack > article > h3 {
|
.lane.stack > article > h3:first-child {
|
||||||
border-top-left-radius: 0.5rem;
|
border-top-left-radius: 0.5rem;
|
||||||
border-top-right-radius: 0.5rem;
|
border-top-right-radius: 0.5rem;
|
||||||
}
|
}
|
||||||
.lane > article > header a,
|
.lane > article > header a,
|
||||||
.lane > article > h3 a {
|
.lane > article > h3:first-child a {
|
||||||
color: var(--link-secondary);
|
color: var(--link-secondary);
|
||||||
}
|
}
|
||||||
.lane > article > header a:hover,
|
.lane > article > header a:hover,
|
||||||
.lane > article > h3:hover {
|
.lane > article > h3:first-child:hover {
|
||||||
color: var(--link-secondary-hover);
|
color: var(--link-secondary-hover);
|
||||||
}
|
}
|
||||||
.lane.stack> * > header * {
|
.lane.stack> * > header * {
|
||||||
@@ -397,6 +403,9 @@ article > p,
|
|||||||
font-size: var(--default-header-4-font-size);
|
font-size: var(--default-header-4-font-size);
|
||||||
margin-left: 22px;
|
margin-left: 22px;
|
||||||
}
|
}
|
||||||
|
.lane.stack > article > footer {
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
}
|
||||||
a.lane-button {
|
a.lane-button {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
@@ -605,8 +614,8 @@ fieldset > table td input[type="radio"] {
|
|||||||
}
|
}
|
||||||
#youtube {
|
#youtube {
|
||||||
--video-ratio: calc(390 / 640);
|
--video-ratio: calc(390 / 640);
|
||||||
width: min(calc(95vw + 0px), 640px);
|
width: min(calc(89vw + 0px), 640px);
|
||||||
height: min(calc(calc(95vw + 0px) * var(--video-ratio)), 320px);
|
height: min(calc(calc(89vw + 0px) * var(--video-ratio)), 390px);
|
||||||
}
|
}
|
||||||
#upload_method pre {
|
#upload_method pre {
|
||||||
max-width: 80vw;
|
max-width: 80vw;
|
||||||
@@ -632,7 +641,7 @@ fieldset > table td input[type="radio"] {
|
|||||||
margin-bottom: 0.5rem;
|
margin-bottom: 0.5rem;
|
||||||
}
|
}
|
||||||
.no-css {
|
.no-css {
|
||||||
display: none;
|
display: none !important;
|
||||||
}
|
}
|
||||||
#tags .date {
|
#tags .date {
|
||||||
margin:0;
|
margin:0;
|
||||||
@@ -666,12 +675,20 @@ fieldset > table td input[type="radio"] {
|
|||||||
background: var(--background-secondary);
|
background: var(--background-secondary);
|
||||||
color: var(--background-primary);
|
color: var(--background-primary);
|
||||||
}
|
}
|
||||||
|
#hosts td:nth-child(2) {
|
||||||
|
display: inline-flex;
|
||||||
|
}
|
||||||
#hosts td:nth-child(-n+2) a {
|
#hosts td:nth-child(-n+2) a {
|
||||||
color: var(--link-secondary);
|
color: var(--link-secondary);
|
||||||
|
flex: 1;
|
||||||
}
|
}
|
||||||
#hosts td:nth-child(-n+2) a:hover {
|
#hosts td:nth-child(-n+2) a:hover {
|
||||||
color: var(--link-secondary-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) {
|
#hosts td:nth-child(2) {
|
||||||
padding: 0.25rem 0 0 8px;
|
padding: 0.25rem 0 0 8px;
|
||||||
width: calc(100% - 90px);
|
width: calc(100% - 90px);
|
||||||
@@ -691,9 +708,15 @@ fieldset > table td input[type="radio"] {
|
|||||||
border-radius: 0.25rem;
|
border-radius: 0.25rem;
|
||||||
}
|
}
|
||||||
#host {
|
#host {
|
||||||
justify-content: flex-start;
|
justify-content: center;
|
||||||
align-items: end;
|
align-items: center;
|
||||||
gap: 0;
|
gap: 0.5rem;
|
||||||
|
}
|
||||||
|
#host_id {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
#host_id > h2 {
|
||||||
|
margin-top: 0;
|
||||||
}
|
}
|
||||||
#host_id img {
|
#host_id img {
|
||||||
border-radius: 0.25rem;
|
border-radius: 0.25rem;
|
||||||
@@ -713,10 +736,13 @@ fieldset > table td input[type="radio"] {
|
|||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
.series-description {
|
.series-description {
|
||||||
margin: 0;
|
margin: 0 0 1rem 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
}
|
}
|
||||||
|
.series-desciption > *:last-child {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
.sr-only {
|
.sr-only {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
width: 1px;
|
width: 1px;
|
||||||
@@ -727,6 +753,70 @@ fieldset > table td input[type="radio"] {
|
|||||||
clip: rect(0, 0, 0, 0);
|
clip: rect(0, 0, 0, 0);
|
||||||
border: 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) {
|
@media (min-width: 600px) {
|
||||||
body > header .bounding-box {
|
body > header .bounding-box {
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
@@ -821,7 +911,10 @@ fieldset > table td input[type="radio"] {
|
|||||||
max-width: 45%;
|
max-width: 45%;
|
||||||
}
|
}
|
||||||
#host {
|
#host {
|
||||||
gap: 1rem;
|
gap: 2rem;
|
||||||
|
}
|
||||||
|
nav.episodes {
|
||||||
|
display: inline-block;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@media (min-width: 900px) {
|
@media (min-width: 900px) {
|
||||||
@@ -838,3 +931,54 @@ fieldset > table td input[type="radio"] {
|
|||||||
max-width: 30%;
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
BIN
public_html/images/hpr_feed_small.png
Normal file
|
After Width: | Height: | Size: 23 KiB |
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
@@ -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
@@ -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
@@ -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
|
After Width: | Height: | Size: 25 KiB |
BIN
public_html/images/main-header-background-dark.png
Normal file
|
After Width: | Height: | Size: 611 KiB |
22
site.cfg
@@ -10,7 +10,7 @@ driver: dbi:SQLite:hpr.db
|
|||||||
|
|
||||||
# Configure the location of the templates and the generated HTML
|
# Configure the location of the templates and the generated HTML
|
||||||
[app_paths]
|
[app_paths]
|
||||||
templates_path: ./templates
|
templates_path: ./templates:./public_html/images/icons
|
||||||
output_path: ./public_html
|
output_path: ./public_html
|
||||||
|
|
||||||
# Configure the root template page which pulls in the navigation and
|
# 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
|
navigation: navigation-main.tpl.html
|
||||||
content: content-tags.tpl.html
|
content: content-tags.tpl.html
|
||||||
|
|
||||||
[twat_episode]
|
[twt_episode]
|
||||||
navigation: navigation-get-shows.tpl.html
|
navigation: navigation-get-shows.tpl.html
|
||||||
content: content-twat_episode.tpl.html
|
content: content-twt_episode.tpl.html
|
||||||
multipage: true
|
multipage: true
|
||||||
filename: eps/twt[id]/index.html
|
filename: eps/twt[id]/index.html
|
||||||
|
|
||||||
@@ -130,6 +130,10 @@ content: content-promote.tpl.html
|
|||||||
navigation: navigation-about.tpl.html
|
navigation: navigation-about.tpl.html
|
||||||
content: content-comments_viewer.tpl.html
|
content: content-comments_viewer.tpl.html
|
||||||
|
|
||||||
|
[new_year]
|
||||||
|
navigation: navigation-about.tpl.html
|
||||||
|
content: content-new_year.tpl.html
|
||||||
|
|
||||||
[hpr_ogg]
|
[hpr_ogg]
|
||||||
root_template: rss.tpl.xml
|
root_template: rss.tpl.xml
|
||||||
content: rss-hpr.tpl.xml
|
content: rss-hpr.tpl.xml
|
||||||
@@ -171,3 +175,15 @@ media_file_extension: spx
|
|||||||
[comments]
|
[comments]
|
||||||
root_template: rss-comments.tpl.xml
|
root_template: rss-comments.tpl.xml
|
||||||
filename: comments.rss
|
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
|
||||||
|
|||||||
@@ -16,9 +16,12 @@
|
|||||||
<li><a href="<!--% absolute_url(baseurl,'about.html#workflow') %-->">Workflow.</a></li>
|
<li><a href="<!--% absolute_url(baseurl,'about.html#workflow') %-->">Workflow.</a></li>
|
||||||
<li><a href="<!--% absolute_url(baseurl,'about.html#faq') %-->">Frequently Asked Questions.</a></li>
|
<li><a href="<!--% absolute_url(baseurl,'about.html#faq') %-->">Frequently Asked Questions.</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
<div class="lane stack">
|
||||||
<h1 id="about">About HPR<a href="<!--% absolute_url(baseurl,'about.html#about') %-->">.</a></h1>
|
<article>
|
||||||
|
<header>
|
||||||
|
<p class="index-link"><a href="/about.html#TOP">↑ Go to top</a></p>
|
||||||
|
<h1 id="about">About HPR<a href="<!--% absolute_url(baseurl,'about.html#about') %-->">.</a></h1>
|
||||||
|
</header>
|
||||||
<h2 id="community">The HPR Community<a href="<!--% absolute_url(baseurl,'about.html#community') %-->">.</a></h2>
|
<h2 id="community">The HPR Community<a href="<!--% absolute_url(baseurl,'about.html#community') %-->">.</a></h2>
|
||||||
<p>What differentiates HPR from other podcasts is that the shows are crowd sourced from the community -
|
<p>What differentiates HPR from other podcasts is that the shows are crowd sourced from the community -
|
||||||
fellow listeners like <strong><a href="<!--% absolute_url(baseurl,'about.html#contact') %-->">you</a></strong>.
|
fellow listeners like <strong><a href="<!--% absolute_url(baseurl,'about.html#contact') %-->">you</a></strong>.
|
||||||
@@ -40,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.
|
<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>,
|
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>,
|
<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) %-->" >
|
Please listen to StankDawg's "<a href="<!--% media_path(1, 'hpr', 'mp3', baseurl, media_baseurl) %-->" >
|
||||||
Introduction to HPR</a>" for more information.</p>
|
Introduction to HPR</a>" for more information.</p>
|
||||||
|
|
||||||
@@ -64,6 +67,7 @@ The schedule for the Community News shows can be downloaded as an <a href="<!--%
|
|||||||
<p>Our hosting is kindly provided to us by <a href="<!--% absolute_url(baseurl,'correspondents/0174.html') %-->">Josh Knapp</a> from <a href="https://anhonesthost.com/hosting/shared-hosting">AnHonestHost.com</a>, and he has the last word in issues related to site security. A changing team of volunteers called the "admins" or "Janitors", deal with the day to day operation of HPR. Acting as the first point of contact, processing the shows, coordinating policy discussions, removing spam, updating the website, etc. They are contactable via the email account admin @ HPR. They have no more say over policy than anyone else. Anyone who has shown a long term dedication to the project and is trusted by the community, can become an admin.
|
<p>Our hosting is kindly provided to us by <a href="<!--% absolute_url(baseurl,'correspondents/0174.html') %-->">Josh Knapp</a> from <a href="https://anhonesthost.com/hosting/shared-hosting">AnHonestHost.com</a>, and he has the last word in issues related to site security. A changing team of volunteers called the "admins" or "Janitors", deal with the day to day operation of HPR. Acting as the first point of contact, processing the shows, coordinating policy discussions, removing spam, updating the website, etc. They are contactable via the email account admin @ HPR. They have no more say over policy than anyone else. Anyone who has shown a long term dedication to the project and is trusted by the community, can become an admin.
|
||||||
</p>
|
</p>
|
||||||
<p>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/2024-October/004791.html">Clarification that contributions are CC BY-SA 4.0 unless otherwise stated</a></li>
|
||||||
@@ -76,6 +80,7 @@ The schedule for the Community News shows can be downloaded as an <a href="<!--%
|
|||||||
<li><a href="https://lists.hackerpublicradio.com/pipermail/hpr/2021-December/004341.html">Removal of "by arranged permission"
|
<li><a href="https://lists.hackerpublicradio.com/pipermail/hpr/2021-December/004341.html">Removal of "by arranged permission"
|
||||||
when posting to HPR</a></li>
|
when posting to HPR</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<h2 id ="patrons" >Please support our Patrons<a href="<!--% absolute_url(baseurl,'about.html#patrons') %-->">.</a></h2>
|
<h2 id ="patrons" >Please support our Patrons<a href="<!--% absolute_url(baseurl,'about.html#patrons') %-->">.</a></h2>
|
||||||
<p>
|
<p>
|
||||||
Our hosting is kindly provided by <a href="<!--% absolute_url(baseurl) %-->correspondents/0174.html">Josh</a> from
|
Our hosting is kindly provided by <a href="<!--% absolute_url(baseurl) %-->correspondents/0174.html">Josh</a> from
|
||||||
@@ -87,11 +92,14 @@ reduce his costs in funding the hosting. He is also accepting bitcoins to <em>1K
|
|||||||
Please also consider supporting the <a href="https://archive.org/donate/">https://archive.org/donate/</a> who are
|
Please also consider supporting the <a href="https://archive.org/donate/">https://archive.org/donate/</a> who are
|
||||||
now hosting our media files.
|
now hosting our media files.
|
||||||
</p>
|
</p>
|
||||||
|
</article>
|
||||||
<hr>
|
<hr class="no-css">
|
||||||
|
<article>
|
||||||
<h1 id="contact">Primary Contact Points<a href="<!--% absolute_url(baseurl,'about.html#contact') %-->">.</a></h1>
|
<header>
|
||||||
|
<p class="index-link"><a href="/about.html#TOP">↑ Go to top</a></p>
|
||||||
|
<h1 id="contact">Contact<a href="<!--% absolute_url(baseurl,'about.html#contact') %-->">.</a></h1>
|
||||||
|
</header>
|
||||||
|
<h2 id="contact_primary">Primary Contact Points</h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li>email: <strong>admin -at- hackerpublicradio org</strong>, will put you in touch with the Janitors who are
|
<li>email: <strong>admin -at- hackerpublicradio org</strong>, will put you in touch with the Janitors who are
|
||||||
the first point of contact for any issues related to the HPR community.
|
the first point of contact for any issues related to the HPR community.
|
||||||
@@ -110,7 +118,7 @@ now hosting our media files.
|
|||||||
<li>Matrix: <a href="https://matrix.to/#/#hpr:matrix.org" >https://matrix.to/#/#hpr:matrix.org</a> is the official HPR Matrix channel
|
<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>
|
and is actively monitored.</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3 id="contact_secondary">Secondary Contact Points</h3>
|
<h2 id="contact_secondary">Secondary Contact Points</h2>
|
||||||
<p>These platforms are monitored from time to time. Commenting here is less likely to get an immediate response.</p>
|
<p>These platforms are monitored from time to time. Commenting here is less likely to get an immediate response.</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="https://t.me/+6fEhQrf5IEc4ZGU8">Telegram</a></li>
|
<li><a href="https://t.me/+6fEhQrf5IEc4ZGU8">Telegram</a></li>
|
||||||
@@ -119,10 +127,13 @@ now hosting our media files.
|
|||||||
<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>
|
||||||
|
</article>
|
||||||
<hr>
|
<hr class="no-css">
|
||||||
|
<article>
|
||||||
<h1 id ="press" >In the Press<a href="<!--% absolute_url(baseurl,'about.html#press') %-->">.</a></h1>
|
<header>
|
||||||
|
<p class="index-link"><a href="/about.html#TOP">↑ Go to top</a></p>
|
||||||
|
<h1 id ="press" >In the Press<a href="<!--% absolute_url(baseurl,'about.html#press') %-->">.</a></h1>
|
||||||
|
</header>
|
||||||
<ul>
|
<ul>
|
||||||
<li>2019-10-18: <a href="https://blog.feedspot.com/hacker_podcasts/">Top 10 Hacker Podcasts You Must Follow in 2019</a> (<a href="<!--% absolute_url(baseurl,'press/2019-10-18_blog.feedspot.com-hacker_podcasts-Top_10_Hacker_Podcasts_You_Must_Follow_in_2019.pdf') %-->">Archived</a>)</li>
|
<li>2019-10-18: <a href="https://blog.feedspot.com/hacker_podcasts/">Top 10 Hacker Podcasts You Must Follow in 2019</a> (<a href="<!--% absolute_url(baseurl,'press/2019-10-18_blog.feedspot.com-hacker_podcasts-Top_10_Hacker_Podcasts_You_Must_Follow_in_2019.pdf') %-->">Archived</a>)</li>
|
||||||
<li>2018-08-01: <a href="https://www.linuxlinks.com/review-hacker-public-radio-podcasts-hacker-community/">Review: The Linux Podcast Scene - all the movers and shakers</a> (<a href="<!--% absolute_url(baseurl,'press/2018-08-01_linuxlinks.com_review-linux-podcast-scene-movers-shakers.pdf') %-->">Archived</a>)</li>
|
<li>2018-08-01: <a href="https://www.linuxlinks.com/review-hacker-public-radio-podcasts-hacker-community/">Review: The Linux Podcast Scene - all the movers and shakers</a> (<a href="<!--% absolute_url(baseurl,'press/2018-08-01_linuxlinks.com_review-linux-podcast-scene-movers-shakers.pdf') %-->">Archived</a>)</li>
|
||||||
@@ -137,10 +148,13 @@ now hosting our media files.
|
|||||||
<li>2012-12-24: <a href="http://www.maketecheasier.com/10-great-podcasts-for-linux-open-source-geeks/">10 Great Podcasts for Linux & Open Source Geeks</a> by Rebecca "Ruji" Chapnik (<a href="<!--% absolute_url(baseurl,'press/2012-12-24_10-great-podcasts-for-linux-open-source-geeks.pdf') %-->">Archived</a>)</li>
|
<li>2012-12-24: <a href="http://www.maketecheasier.com/10-great-podcasts-for-linux-open-source-geeks/">10 Great Podcasts for Linux & Open Source Geeks</a> by Rebecca "Ruji" Chapnik (<a href="<!--% absolute_url(baseurl,'press/2012-12-24_10-great-podcasts-for-linux-open-source-geeks.pdf') %-->">Archived</a>)</li>
|
||||||
<li>2011-08-01: <a href="http://www.linuxformat.com/archives?issue=147">Linux Format: Pick the perfect geek podcast in our roundup</a> by Mayank Sharma in Linux Format Magazine(<a href="<!--% absolute_url(baseurl,'press/2011-08-01_hpr-linux-format.png') %-->">Archive</a>)</li>
|
<li>2011-08-01: <a href="http://www.linuxformat.com/archives?issue=147">Linux Format: Pick the perfect geek podcast in our roundup</a> by Mayank Sharma in Linux Format Magazine(<a href="<!--% absolute_url(baseurl,'press/2011-08-01_hpr-linux-format.png') %-->">Archive</a>)</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
</article>
|
||||||
<hr>
|
<hr class="no-css">
|
||||||
<h1 id="how_to_help">How to Help<a href="<!--% absolute_url(baseurl,'about.html#how_to_help') %-->">.</a></h1>
|
<article>
|
||||||
|
<header>
|
||||||
|
<p class="index-link"><a href="/about.html#TOP">↑ Go to top</a></p>
|
||||||
|
<h1 id="how_to_help">How to Help<a href="<!--% absolute_url(baseurl,'about.html#how_to_help') %-->">.</a></h1>
|
||||||
|
</header>
|
||||||
<p>
|
<p>
|
||||||
Hacker Public Radio is a communty podcast where the shows are provided by the community, and is also
|
Hacker Public Radio is a communty podcast where the shows are provided by the community, and is also
|
||||||
<a href="<!--% absolute_url(baseurl,'about.html#governance') %-->">governed</a> by the community,
|
<a href="<!--% absolute_url(baseurl,'about.html#governance') %-->">governed</a> by the community,
|
||||||
@@ -182,10 +196,13 @@ You can help by:
|
|||||||
<li>Improving the documentation on our gittea repo</li>
|
<li>Improving the documentation on our gittea repo</li>
|
||||||
<li><a href="<!--% absolute_url(baseurl,'about.html#patrons') %-->">Support our Patrons</a></li>
|
<li><a href="<!--% absolute_url(baseurl,'about.html#patrons') %-->">Support our Patrons</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
</article>
|
||||||
<hr>
|
<hr class="no-css">
|
||||||
<h1 id="download">Download Archive<a href="<!--% absolute_url(baseurl,'about.html#download') %-->">.</a></h1>
|
<article>
|
||||||
|
<header>
|
||||||
|
<p class="index-link"><a href="/about.html#TOP">↑ Go to top</a></p>
|
||||||
|
<h1 id="download">Download Archive<a href="<!--% absolute_url(baseurl,'about.html#download') %-->">.</a></h1>
|
||||||
|
</header>
|
||||||
<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>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 the episodes on physical media anywhere in the world if bandwidth is an issue.</p>
|
<p>We will be happy to post you the episodes on physical media anywhere in the world if bandwidth is an issue.</p>
|
||||||
@@ -206,11 +223,13 @@ You can download the audio of the episodes directly from the command line using
|
|||||||
<li>mp3:<br>
|
<li>mp3:<br>
|
||||||
<span style="font-family:monospace;">curl '<!--% absolute_path(baseurl) %-->eps/hpr[0001-<!--% episode.latest %-->].mp3' -o "hpr#1.mp3"</span></li>
|
<span style="font-family:monospace;">curl '<!--% absolute_path(baseurl) %-->eps/hpr[0001-<!--% episode.latest %-->].mp3' -o "hpr#1.mp3"</span></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
</article>
|
||||||
<hr>
|
<hr class="no-css">
|
||||||
|
<article>
|
||||||
<h1 id="so_you_want_to_record_a_podcast">So you want to record a podcast<a href="<!--% absolute_url(baseurl,'about.html#so_you_want_to_record_a_podcast') %-->">.</a></h1>
|
<header>
|
||||||
|
<p class="index-link"><a href="/about.html#TOP">↑ Go to top</a></p>
|
||||||
|
<h1 id="so_you_want_to_record_a_podcast">So you want to record a podcast<a href="<!--% absolute_url(baseurl,'about.html#so_you_want_to_record_a_podcast') %-->">.</a></h1>
|
||||||
|
</header>
|
||||||
<p>Well you've come to the right place. Our goal here at HPR is to make it as easy as possible for you to get a podcast released. We take care of the hard bits so you don't need to. Recording your first show is always a daunting prospect but <a href="<!--% absolute_url(baseurl) %-->correspondents/index.html">hundreds of people</a> like yourself have done it and so can you.
|
<p>Well you've come to the right place. Our goal here at HPR is to make it as easy as possible for you to get a podcast released. We take care of the hard bits so you don't need to. Recording your first show is always a daunting prospect but <a href="<!--% absolute_url(baseurl) %-->correspondents/index.html">hundreds of people</a> like yourself have done it and so can you.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
@@ -321,11 +340,13 @@ people who will help.
|
|||||||
<a href="https://web.libera.chat/gamja/?channels=oggcastplanet">#oggcastplanet</a> channel on libera.chat
|
<a href="https://web.libera.chat/gamja/?channels=oggcastplanet">#oggcastplanet</a> channel on libera.chat
|
||||||
and chat with a live person 24/7.
|
and chat with a live person 24/7.
|
||||||
</p>
|
</p>
|
||||||
|
</article>
|
||||||
<hr>
|
<hr class="no-css">
|
||||||
|
<article>
|
||||||
<h1 id="requested_topics">Requested topics<a href="<!--% absolute_url(baseurl,'about.html#requested_topics') %-->">.</a></h1>
|
<header>
|
||||||
|
<p class="index-link"><a href="/about.html#TOP">↑ Go to top</a></p>
|
||||||
|
<h1 id="requested_topics">Requested topics<a href="<!--% absolute_url(baseurl,'about.html#requested_topics') %-->">.</a></h1>
|
||||||
|
</header>
|
||||||
<p>This is a list of topics that have been requested by the community.
|
<p>This is a list of topics that have been requested by the community.
|
||||||
Feel free to add it to the list by emailing admin at hpr or by tweeting us on <a href="https://twitter.com/hpr">@HPR</a>.</p>
|
Feel free to add it to the list by emailing admin at hpr or by tweeting us on <a href="https://twitter.com/hpr">@HPR</a>.</p>
|
||||||
<ul>
|
<ul>
|
||||||
@@ -393,10 +414,13 @@ Feel free to add it to the list by emailing admin at hpr or by tweeting us on <a
|
|||||||
<li>#IPFS (and don't leave out IPNS!). I'd really like to get a better understanding of practical use of this.</li>
|
<li>#IPFS (and don't leave out IPNS!). I'd really like to get a better understanding of practical use of this.</li>
|
||||||
<li>Any experiences integrating Dell/Wyse thin- and zero- clients into linux networks.</li>
|
<li>Any experiences integrating Dell/Wyse thin- and zero- clients into linux networks.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
</article>
|
||||||
<hr>
|
<hr class="no-css">
|
||||||
|
<article>
|
||||||
<h1 id="agreement">Stuff you need to know<a href="<!--% absolute_url(baseurl,'about.html#agreement') %-->">.</a></h1>
|
<header>
|
||||||
|
<p class="index-link"><a href="/about.html#TOP">↑ Go to top</a></p>
|
||||||
|
<h1 id="agreement">Stuff you need to know<a href="<!--% absolute_url(baseurl,'about.html#agreement') %-->">.</a></h1>
|
||||||
|
</header>
|
||||||
<p>
|
<p>
|
||||||
This is some important information that you will need to know before uploading to HPR.
|
This is some important information that you will need to know before uploading to HPR.
|
||||||
</p>
|
</p>
|
||||||
@@ -597,8 +621,6 @@ They will be used on a first come first go basis, when there is no conflict with
|
|||||||
These shows contain a message alerting listeners to the fact that we had free slots that were not filled.
|
These shows contain a message alerting listeners to the fact that we had free slots that were not filled.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<hr>
|
|
||||||
|
|
||||||
<h1 id="scheduling_guidelines">Scheduling Guidelines</h1>
|
<h1 id="scheduling_guidelines">Scheduling Guidelines</h1>
|
||||||
<ol>
|
<ol>
|
||||||
<li>You must have your audio recording ready to upload <strong>before</strong> you pick a slot.</li>
|
<li>You must have your audio recording ready to upload <strong>before</strong> you pick a slot.</li>
|
||||||
@@ -609,10 +631,13 @@ These shows contain a message alerting listeners to the fact that we had free sl
|
|||||||
<li>If you are uploading a series of shows then post them one every two weeks.</li>
|
<li>If you are uploading a series of shows then post them one every two weeks.</li>
|
||||||
<li>If you have a non urgent show that is timeless, then add it to the <a href="<!--% absolute_url(baseurl,'about.html#reserve_queue') %-->">Reserve Queue</a>.</li>
|
<li>If you have a non urgent show that is timeless, then add it to the <a href="<!--% absolute_url(baseurl,'about.html#reserve_queue') %-->">Reserve Queue</a>.</li>
|
||||||
</ol>
|
</ol>
|
||||||
|
</article>
|
||||||
<hr>
|
<hr class="no-css">
|
||||||
|
<article>
|
||||||
<h1 id="recording_a_podcast">Recording a Podcast</h1>
|
<header>
|
||||||
|
<p class="index-link"><a href="/about.html#TOP">↑ Go to top</a></p>
|
||||||
|
<h1 id="recording_a_podcast">Recording a Podcast</h1>
|
||||||
|
</header>
|
||||||
<p>
|
<p>
|
||||||
On this page you will find information on how to record a podcast. Our golden rule is <strong>Any audio is better than no audio.</strong>
|
On this page you will find information on how to record a podcast. Our golden rule is <strong>Any audio is better than no audio.</strong>
|
||||||
so keep that in mind. Don't forget to <strong>introduce yourself</strong> in your show.
|
so keep that in mind. Don't forget to <strong>introduce yourself</strong> in your show.
|
||||||
@@ -725,12 +750,13 @@ We will by default mix down your show to one channel mono and we will
|
|||||||
<p>
|
<p>
|
||||||
There is no need to add any information to the file as that will be inserted based on the information you fill in when you upload the show.
|
There is no need to add any information to the file as that will be inserted based on the information you fill in when you upload the show.
|
||||||
</p>
|
</p>
|
||||||
|
</article>
|
||||||
|
<hr class="no-css">
|
||||||
<hr>
|
<article>
|
||||||
|
<header>
|
||||||
<h1 id="promote_hpr">Please promote HPR<a href="<!--% absolute_url(baseurl,'about.html#promote_hpr') %-->') %-->">.</a></h1>
|
<p class="index-link"><a href="/about.html#TOP">↑ Go to top</a></p>
|
||||||
|
<h1 id="promote_hpr">Please promote HPR<a href="<!--% absolute_url(baseurl,'about.html#promote_hpr') %-->') %-->">.</a></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>
|
<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>
|
<h2>General HPR promotion</h2>
|
||||||
<ul>
|
<ul>
|
||||||
@@ -746,10 +772,13 @@ There is no need to add any information to the file as that will be inserted bas
|
|||||||
<ul>
|
<ul>
|
||||||
<li><a href="<!--% absolute_url(baseurl) %-->promos/hpr-nye-promo.ogg">HPR New Years Promo</a></li>
|
<li><a href="<!--% absolute_url(baseurl) %-->promos/hpr-nye-promo.ogg">HPR New Years Promo</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
</article>
|
||||||
<hr>
|
<hr class="no-css">
|
||||||
|
<article>
|
||||||
<h1 id="requesting_slot">Picking a slot for your show</h1>
|
<header>
|
||||||
|
<p class="index-link"><a href="/about.html#TOP">↑ Go to top</a></p>
|
||||||
|
<h1 id="requesting_slot">Picking a slot for your show</h1>
|
||||||
|
</header>
|
||||||
<p>
|
<p>
|
||||||
Any host can select any free slot a up to year in advance, by recording their show and uploading it to the desired slot.
|
Any host can select any free slot a up to year in advance, by recording their show and uploading it to the desired slot.
|
||||||
In exceptional circumstances it may be necessary to reserve a slot while not having the audio available,
|
In exceptional circumstances it may be necessary to reserve a slot while not having the audio available,
|
||||||
@@ -792,10 +821,13 @@ Once you open the link, you can fill in the information at your leisure.
|
|||||||
The upload form works on the assumption you will be posting one show at a time, from the same IP address.
|
The upload form works on the assumption you will be posting one show at a time, from the same IP address.
|
||||||
Once you have pressed submit you will not be able to edit any of the information.
|
Once you have pressed submit you will not be able to edit any of the information.
|
||||||
</p>
|
</p>
|
||||||
|
</article>
|
||||||
<hr>
|
<hr class="no-css">
|
||||||
|
<article>
|
||||||
<h1 id="adding_an_episode">Adding an Episode</h1>
|
<header>
|
||||||
|
<p class="index-link"><a href="/about.html#TOP">↑ Go to top</a></p>
|
||||||
|
<h1 id="adding_an_episode">Adding an Episode</h1>
|
||||||
|
</header>
|
||||||
<p>
|
<p>
|
||||||
The unique link sent by email will allow you to manage both the episode and information about yourself that is displayed on HPR.
|
The unique link sent by email will allow you to manage both the episode and information about yourself that is displayed on HPR.
|
||||||
The following information will be requested:
|
The following information will be requested:
|
||||||
@@ -929,11 +961,13 @@ Press submit and your show will be sent to the HPR Volunteers to be processed.
|
|||||||
Keep an eye on the <a href="<!--% hub_baseurl %-->calendar.php">calendar</a> for when it is posted.
|
Keep an eye on the <a href="<!--% hub_baseurl %-->calendar.php">calendar</a> for when it is posted.
|
||||||
Your show information is used to process the media files, on the website, in the RSS feeds, and on social media sites.
|
Your show information is used to process the media files, on the website, in the RSS feeds, and on social media sites.
|
||||||
</p>
|
</p>
|
||||||
|
</article>
|
||||||
<hr>
|
<hr class="no-css">
|
||||||
|
<article>
|
||||||
<h1 id="workflow">Workflow</h1>
|
<header>
|
||||||
|
<p class="index-link"><a href="/about.html#TOP">↑ Go to top</a></p>
|
||||||
|
<h1 id="workflow">Workflow</h1>
|
||||||
|
</header>
|
||||||
<ol>
|
<ol>
|
||||||
<li>REQUEST_UNVERIFIED - </li>
|
<li>REQUEST_UNVERIFIED - </li>
|
||||||
<li>REQUEST_EMAIL_SENT - email sent</li>
|
<li>REQUEST_EMAIL_SENT - email sent</li>
|
||||||
@@ -945,10 +979,13 @@ Your show information is used to process the media files, on the website, in the
|
|||||||
<li>UPLOADED_TO_IA - on the IA and visible</li>
|
<li>UPLOADED_TO_IA - on the IA and visible</li>
|
||||||
<li>UPLOADED_TO_RSYNC_NET - archived on rsync.net</li>
|
<li>UPLOADED_TO_RSYNC_NET - archived on rsync.net</li>
|
||||||
</ol>
|
</ol>
|
||||||
|
</article>
|
||||||
<hr>
|
<hr class="no-css">
|
||||||
|
<article>
|
||||||
<h1 id="faq">Frequently Asked Questions</h1>
|
<header>
|
||||||
|
<p class="index-link"><a href="/about.html#TOP">↑ Go to top</a></p>
|
||||||
|
<h1 id="faq">Frequently Asked Questions</h1>
|
||||||
|
</header>
|
||||||
<h2 data-number="0.1" id="what-is-hacker-public-radio"><span class="header-section-number">0.1</span> What is Hacker Public Radio?</h2>
|
<h2 data-number="0.1" id="what-is-hacker-public-radio"><span class="header-section-number">0.1</span> What is Hacker Public Radio?</h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li><p>Hacker Public Radio (HPR) is an Internet Radio show (podcast) that releases shows (episodes)
|
<li><p>Hacker Public Radio (HPR) is an Internet Radio show (podcast) that releases shows (episodes)
|
||||||
@@ -1183,3 +1220,5 @@ for your show. This will be up for enough time to get the key necessary for to p
|
|||||||
However keep in mind that we will be very suspicious of any submission done this way and will be checking it in detail,
|
However keep in mind that we will be very suspicious of any submission done this way and will be checking it in detail,
|
||||||
so expect delays in processing.
|
so expect delays in processing.
|
||||||
</p>
|
</p>
|
||||||
|
</article>
|
||||||
|
</div>
|
||||||
|
|||||||
@@ -3,46 +3,17 @@
|
|||||||
<!--% PROCESS 'shared-utils.tpl.html' %-->
|
<!--% PROCESS 'shared-utils.tpl.html' %-->
|
||||||
<!--% PROCESS "queries-correspondent.tpl.html" %-->
|
<!--% PROCESS "queries-correspondent.tpl.html" %-->
|
||||||
<!--% USE DBI(constants.driver) %-->
|
<!--% 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) %-->
|
<!--% 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_shows = results_hpr_shows.execute(id); %-->
|
||||||
<!--% hpr_show_count = 0 %-->
|
<!--% hpr_show_count = results_hpr_show_count.fetchrow_array %-->
|
||||||
<!--% FOREACH show IN hpr_shows_to_count %-->
|
|
||||||
<!--% hpr_show_count = hpr_show_count +1; %-->
|
|
||||||
<!--% END %-->
|
|
||||||
|
|
||||||
<!--% query_twat_show_count = DBI.prepare('
|
<!--% results_hpr_shows = DBI.prepare(query_twt_shows) %-->
|
||||||
SELECT id
|
<!--% results_twt_show_count = DBI.prepare(query_twt_show_count) %-->
|
||||||
FROM twat_eps AS eps
|
<!--% twt_result_status = results_twt_show_count.execute(id); %-->
|
||||||
WHERE eps.hostid = ?
|
<!--% twt_shows = results_hpr_shows.execute(id); %-->
|
||||||
')
|
<!--% twt_show_count = results_twt_show_count.fetchrow_array %-->
|
||||||
%-->
|
|
||||||
<!--% 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 %-->
|
|
||||||
|
|
||||||
<!--% hosts = DBI.tie('hosts', 'hostid') %-->
|
<!--% hosts = DBI.tie('hosts', 'hostid') %-->
|
||||||
|
|
||||||
@@ -57,22 +28,23 @@
|
|||||||
<div id="host_meta">
|
<div id="host_meta">
|
||||||
<p><label>email:</label> <u><!--% this_host.email %--></u></p>
|
<p><label>email:</label> <u><!--% this_host.email %--></u></p>
|
||||||
<div><label>profile:</label> <!--% this_host.profile %--></div>
|
<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>
|
</div>
|
||||||
<div class="lane stack">
|
<div id="episodes" class="lane stack">
|
||||||
<!--% FOREACH hpr_show IN hpr_shows; %-->
|
<!--% FOREACH hpr_show IN hpr_shows; %-->
|
||||||
<article>
|
<article>
|
||||||
<!--% show_summary(hpr_show, 'hide_host') %-->
|
<!--% show_summary(hpr_show, 'hide_host') %-->
|
||||||
<p class="listen-in"><!--% display_listen_in(hpr_show.id) %--></p>
|
<p class="listen-in"><!--% display_listen_in(hpr_show.id) %--></p>
|
||||||
</article>
|
</article>
|
||||||
<!--% END %-->
|
<!--% END %-->
|
||||||
<!--% FOREACH twat_show IN twat_shows; %-->
|
<!--% FOREACH twt_show IN twt_shows; %-->
|
||||||
<article>
|
<article>
|
||||||
|
|
||||||
<!--% twat_show_summary(twat_show, 'hide_host') %-->
|
<!--% twt_show_summary(twt_show, 'hide_host') %-->
|
||||||
<p class="listen-in"><!--% display_listen_in(twat_show.id,"twat") %--></p>
|
<p class="listen-in"><!--% display_listen_in(twt_show.id,"twt") %--></p>
|
||||||
</article>
|
</article>
|
||||||
<!--% END %-->
|
<!--% END %-->
|
||||||
</div>
|
</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-utils.tpl.html' %-->
|
||||||
<!--% PROCESS 'shared-avatar.tpl.html' %-->
|
<!--% PROCESS 'shared-avatar.tpl.html' %-->
|
||||||
<h2 class="title">Correspondents</h2>
|
<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) %-->
|
<!--% USE DBI(constants.driver) %-->
|
||||||
<!--% host_cnt = 0 %-->
|
<!--% host_cnt = 0 %-->
|
||||||
<table id="hosts" class="hosts lane stack">
|
<table id="hosts" class="hosts lane stack">
|
||||||
@@ -18,18 +18,17 @@
|
|||||||
from hosts as h
|
from hosts as h
|
||||||
inner join (select hostid, max(date) as date from eps group by hostid) as e
|
inner join (select hostid, max(date) as date from eps group by hostid) as e
|
||||||
on h.hostid = e.hostid
|
on h.hostid = e.hostid
|
||||||
order by h.host'
|
order by h.host COLLATE NOCASE asc'
|
||||||
) %-->
|
) %-->
|
||||||
<tr class="lane">
|
<tr class="lane">
|
||||||
<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><a href="<!--% absolute_path(baseurl) %-->correspondents/<!--% zero_pad_left(host.hostid) %-->.html"><strong><!--% host.host %--></strong><br>
|
||||||
|
Host ID: <!--% host.hostid %--></a></td>
|
||||||
Host ID: <a href="<!--% absolute_path(baseurl) %-->correspondents/<!--% zero_pad_left(host.hostid) %-->.html"><!--% host.hostid %--></a></td>
|
|
||||||
<td><!--% host.license %--></td>
|
<td><!--% host.license %--></td>
|
||||||
<td><!--% host.date %--></td>
|
<td><!--% host.date %--></td>
|
||||||
</tr><!--% host_cnt = host_cnt + 1 %-->
|
</tr><!--% host_cnt = host_cnt + 1 %-->
|
||||||
<!--% END %-->
|
<!--% END %-->
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</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>
|
<h3><!--% show_series(episode.series, episode.seriesid, "Part of the series") %--></h3>
|
||||||
<p><em><!--% episode.series_description %--></em></p>
|
<p><em><!--% episode.series_description %--></em></p>
|
||||||
</header>
|
</header>
|
||||||
<div><!--% episode.notes %--></div>
|
<div id="show_notes"><!--% episode.notes %--></div>
|
||||||
<footer>
|
<footer>
|
||||||
<p>
|
<p>
|
||||||
<!--% episode_navigation %-->
|
<!--% episode_navigation %-->
|
||||||
@@ -61,11 +61,11 @@ Subscribe to the comments <a href="<!--% absolute_path(baseurl) %-->comments.rss
|
|||||||
<h2>Leave Comment</h2>
|
<h2>Leave Comment</h2>
|
||||||
<p>
|
<p>
|
||||||
<strong>Note to Verbose Commenters</strong><br />
|
<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>
|
||||||
<p>
|
<p>
|
||||||
<strong>Note to Spammers</strong><br />
|
<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>
|
</p>
|
||||||
<form method="POST" action="<!--% hub_baseurl %-->comment_confirm.php">
|
<form method="POST" action="<!--% hub_baseurl %-->comment_confirm.php">
|
||||||
<fieldset>
|
<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>
|
<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>
|
<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">
|
<div class="lane stack">
|
||||||
<!--% FOREACH twat_episode IN DBI.query('
|
<!--% FOREACH twt_episode IN DBI.query('
|
||||||
SELECT
|
SELECT
|
||||||
eps.id,
|
eps.id,
|
||||||
eps.explicit,
|
eps.explicit,
|
||||||
@@ -29,14 +29,14 @@
|
|||||||
hosts.hostid,
|
hosts.hostid,
|
||||||
hosts.host, hosts.email, hosts.local_image,
|
hosts.host, hosts.email, hosts.local_image,
|
||||||
miniseries.name AS series, miniseries.id AS seriesid
|
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 hosts ON eps.hostid = hosts.hostid
|
||||||
INNER JOIN miniseries ON eps.series = miniseries.id
|
INNER JOIN miniseries ON eps.series = miniseries.id
|
||||||
ORDER BY eps.id DESC
|
ORDER BY eps.id DESC
|
||||||
')
|
')
|
||||||
%-->
|
%-->
|
||||||
<article>
|
<article>
|
||||||
<!--% twat_show_summary(twat_episode) %-->
|
<!--% twt_show_summary(twt_episode) %-->
|
||||||
</article>
|
</article>
|
||||||
<!--% END %-->
|
<!--% END %-->
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1 +1,4 @@
|
|||||||
<!--% PROCESS 'shared-utils.tpl.html' %-->
|
<!--% PROCESS 'shared-utils.tpl.html' %-->
|
||||||
|
<!--% IF date.format(date.now, '%m') == 12 || date.format(date.now, '%j') == 1 %-->
|
||||||
|
<!--% PROCESS 'content-new_year_show_announcement.tpl.html' %-->
|
||||||
|
<!--% END %-->
|
||||||
|
|||||||
@@ -3,7 +3,6 @@
|
|||||||
<!--% PROCESS 'shared-listen-now.tpl.html' %-->
|
<!--% PROCESS 'shared-listen-now.tpl.html' %-->
|
||||||
<!--% PROCESS 'shared-show-transcript.tpl.html' %-->
|
<!--% PROCESS 'shared-show-transcript.tpl.html' %-->
|
||||||
<!--% PROCESS 'shared-call_for_shows.tpl.html' %-->
|
<!--% PROCESS 'shared-call_for_shows.tpl.html' %-->
|
||||||
<!--% INCLUDE 'content-index-announcement.tpl.html' %-->
|
|
||||||
<!--% PROCESS "queries-index.tpl.html" %-->
|
<!--% PROCESS "queries-index.tpl.html" %-->
|
||||||
<!--% MACRO tidy_notes(all_lines) BLOCK %-->
|
<!--% MACRO tidy_notes(all_lines) BLOCK %-->
|
||||||
<!--% lines = all_lines %-->
|
<!--% lines = all_lines %-->
|
||||||
@@ -37,6 +36,7 @@
|
|||||||
<!--% 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')) %-->
|
||||||
<section id="welcome">
|
<section id="welcome">
|
||||||
<p>Hacker Public Radio is a technology focused podcast that releases shows every weekday Monday to Friday. Our shows are produced by listeners like you and can be on any topic that is of interest to hackers, makers, hobbyists, etc. We are a welcoming community that offers positive feedback and encourages respectful debate.</p>
|
<p>Hacker Public Radio is a technology focused podcast that releases shows every weekday Monday to Friday. Our shows are produced by listeners like you and can be on any topic that is of interest to hackers, makers, hobbyists, etc. We are a welcoming community that offers positive feedback and encourages respectful debate.</p>
|
||||||
|
<!--% PROCESS 'content-index-announcement.tpl.html' %-->
|
||||||
<div id="call_for_shows">
|
<div id="call_for_shows">
|
||||||
<!--% display_call_for_shows() %-->
|
<!--% display_call_for_shows() %-->
|
||||||
</div>
|
</div>
|
||||||
@@ -97,13 +97,14 @@
|
|||||||
<dl>
|
<dl>
|
||||||
<!--% FOREACH latest_episodes IN DBI.query(query_latest_episodes)
|
<!--% 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>
|
<dd>
|
||||||
<!--% latest_episodes.summary %-->
|
<!--% latest_episodes.summary %-->
|
||||||
</dd>
|
</dd>
|
||||||
<!--% host_cnt = host_cnt + 1 %-->
|
<!--% host_cnt = host_cnt + 1 %-->
|
||||||
<!--% END %-->
|
<!--% END %-->
|
||||||
</dl>
|
</dl>
|
||||||
|
<p><a href="<!--% absolute_path(baseurl) %-->eps/index.html">More Episodes…</a></p>
|
||||||
</section>
|
</section>
|
||||||
<section id="latest_comments">
|
<section id="latest_comments">
|
||||||
<header><h2>Latest Comments</h2></header>
|
<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>
|
<dd>on hpr<!--% item.eps_id %--> (<!--% item.episode_date %-->) "<!--% item.episode_title %-->" by <!--% item.host %--></dd>
|
||||||
<!--% END %-->
|
<!--% END %-->
|
||||||
</dl>
|
</dl>
|
||||||
|
<p><a href="<!--% absolute_path(baseurl) %-->comments_viewer.html">More Comments…</a></p>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
|||||||
64
templates/content-new_year.tpl.html
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
<!--% PROCESS 'shared-utils.tpl.html' %-->
|
||||||
|
|
||||||
|
<h1><u>The <!--% get_new_year_show_ordinal_year %--> Annual 26 Hour New Year's Eve Show</u></h1>
|
||||||
|
<h2>Welcome every <a href="https://www.timeanddate.com/counters/multicountdown.html">TimeZone</a>!</h2>
|
||||||
|
<p>
|
||||||
|
<em>If you keep talking, we'll keep recording.</em>
|
||||||
|
</p>
|
||||||
|
<p>For those who don't know, on New Year's Eve <!--% get_new_year_show_start() %-->, we will have a recording going on the HPR Mumble server for anyone to come on and say "Happy New Year" and talk about whatever they want.
|
||||||
|
We will leave the recording going until at least <!--% get_new_year_show_end() %-->, and keep recording until the conversation stops.</p>
|
||||||
|
<p>
|
||||||
|
So please stop in. Say "Hi" and maybe join in the conversation with other HPR listeners and contributors. It's always a good time!!<br />
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2>History</h2>
|
||||||
|
|
||||||
|
<p>Suggested by <a href="https://hackerpublicradio.org/correspondents/0128.html">pokey</a> in 2011.
|
||||||
|
As podcasting tends to be a one way conversation, he thought it would be nice to get all the FLOSS, Linux, Free Culture, podcasters and Listeners in one place to get together and chat in person.
|
||||||
|
Initially it was planned to be just a few hours, but we kept missing members from other parts of the world.
|
||||||
|
The show was extended to welcome ever time zone to the New Year, which actually turns out to be <a href="https://en.wikipedia.org/wiki/List_of_UTC_offsets">38 Timezones</a>, over 26 Hours.</p>
|
||||||
|
|
||||||
|
<p>So we will record for at least 26 Hours, but will keep the recording going for an "After Show".
|
||||||
|
Some years the after show has been even longer than the show itself.
|
||||||
|
While this is on the HPR Site, it is entirely a community initiative which is supported heavily by the fine folks over at the <a href="https://linuxlugcast.com/">LinuxLugCast</a>, with the Mumble Server been provided by <a href="https://hackerpublicradio.org/correspondents/0228.html">Delwin</a>.</p>
|
||||||
|
|
||||||
|
<h2>Ground Rules</h2>
|
||||||
|
<h3>Use Push to Talk, and a Headset</h3>
|
||||||
|
|
||||||
|
<p>With so many people on the chat, you must use push to talk.
|
||||||
|
You also need to use a Headset so the audio of the room is not fed back.
|
||||||
|
If there is a problem with your setup, then please drop and listen to the stream.
|
||||||
|
Trying to correct poor audio in post is a lot of work, that someone else will have to do.</p>
|
||||||
|
|
||||||
|
<h3>Be Polite</h3>
|
||||||
|
|
||||||
|
<p>When you enter the room please do not interrupt ongoing conversations.
|
||||||
|
Wait for a pause in the conversation and say Hi.
|
||||||
|
It's quite common for people you might not know to join as they wish to speak with other people in the room.
|
||||||
|
They may have been waiting all year for the chance to meet, so please give people the space to have these conversations.</p>
|
||||||
|
|
||||||
|
<h3>Do not announce the Time Zones</h3>
|
||||||
|
|
||||||
|
<p>As there are so <a moz-do-not-send="true" href="https://en.wikipedia.org/wiki/Time_zone">many Time Zones</a> there is no need to interrupt the conversation to announce every one.
|
||||||
|
If you are joining from a time zone that is currently switching to the New Year, then please wait for a pause and wish people Happy New Year.</p>
|
||||||
|
|
||||||
|
<h3>Don't Fill Dead Air</h3>
|
||||||
|
|
||||||
|
<p>This is a relaxed meet-up, and not a traditional "Radio Broadcast".
|
||||||
|
If there are no conversations going on at a given time, don't feel the need to "fill dead air".
|
||||||
|
Before the recording is posted as a podcast the <a href="https://manual.audacityteam.org/man/truncate_silence.html">silences will be truncated</a>.</p>
|
||||||
|
|
||||||
|
<h3>Do not monopolise the conversation</h3>
|
||||||
|
|
||||||
|
<p>Please be mindful that you (or your beverage of choice) may be speaking too much ;-).</p>
|
||||||
|
|
||||||
|
<h3>You are a Guest</h3>
|
||||||
|
|
||||||
|
<p>Be respectful, and remember that attendance on the New Year Show does not <a href="https://hub.hackerpublicradio.org/calendar.php">constitute a show</a>.</p>
|
||||||
|
|
||||||
|
<h3>CC-BY-SA</h3>
|
||||||
|
|
||||||
|
<p>The recording will be released as a podcast on HPR under a <a rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/"> Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)</a> license.
|
||||||
|
The recordings will be released mid year, when there is a lull in submissions.</p>
|
||||||
|
|
||||||
|
|
||||||
22
templates/content-new_year_show_announcement.tpl.html
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
<!--% PROCESS 'shared-utils.tpl.html' %-->
|
||||||
|
<div class="lane stack">
|
||||||
|
<article>
|
||||||
|
<header>
|
||||||
|
<h2 class="title"><a href="<!--% absolute_path(baseurl) %-->new_year.html">The <!--% get_new_year_show_ordinal_year %--> Annual 26 Hour New Year's Eve Show</a></h2>
|
||||||
|
</header>
|
||||||
|
<h3>Welcome every <a href="https://www.timeanddate.com/counters/multicountdown.html">TimeZone</a>!</h3>
|
||||||
|
<p>
|
||||||
|
<em>If you keep talking, we'll keep recording.</em>
|
||||||
|
</p>
|
||||||
|
<p>For those who don't know, on New Year's Eve <!--% get_new_year_show_start() %-->, we will have a recording going on the HPR Mumble server for anyone to come on and say "Happy New Year" and talk about whatever they want.
|
||||||
|
We will leave the recording going until at least <!--% get_new_year_show_end() %-->, and keep recording until the conversation stops.</p>
|
||||||
|
<p>
|
||||||
|
So please stop in. Say "Hi" and maybe join in the conversation with other HPR listeners and contributors. It's always a good time!!<br>
|
||||||
|
<audio controls preload="none">
|
||||||
|
<source src="<!--% absolute_path(baseurl) %-->promos/hpr-nye-promo.ogg" type="audio/ogg">
|
||||||
|
</audio>
|
||||||
|
</p>
|
||||||
|
<p><a href="<!--% absolute_path(baseurl) %-->new_year.html">More information…</a></p>
|
||||||
|
|
||||||
|
</article>
|
||||||
|
</div>
|
||||||
@@ -13,6 +13,7 @@
|
|||||||
<li>Date of earliest show: <!--% series.earliest_show %--></li>
|
<li>Date of earliest show: <!--% series.earliest_show %--></li>
|
||||||
<li>Date of latest show: <!--% series.latest_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>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>
|
</ul>
|
||||||
<div class="series-description"><!--% series.description %--></div>
|
<div class="series-description"><!--% series.description %--></div>
|
||||||
</article>
|
</article>
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
<li>Date of earliest show: <!--% series.earliest_show %--></li>
|
<li>Date of earliest show: <!--% series.earliest_show %--></li>
|
||||||
<li>Date of latest show: <!--% series.latest_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>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>
|
</ul>
|
||||||
<p><em><!--% series.description %--></em></p>
|
<p><em><!--% series.description %--></em></p>
|
||||||
<section id="series_episodes" class="lane stack">
|
<section id="series_episodes" class="lane stack">
|
||||||
|
|||||||
@@ -6,23 +6,23 @@
|
|||||||
<!--% query_episodes = DBI.prepare('
|
<!--% query_episodes = DBI.prepare('
|
||||||
WITH episode_maxmin AS (
|
WITH episode_maxmin AS (
|
||||||
SELECT MAX(id) AS \'latest\', MIN(id) AS \'earliest\', ? AS \'id\'
|
SELECT MAX(id) AS \'latest\', MIN(id) AS \'earliest\', ? AS \'id\'
|
||||||
FROM twat_eps AS eps
|
FROM twt_eps AS eps
|
||||||
),
|
),
|
||||||
episode_date AS (
|
episode_date AS (
|
||||||
SELECT eps.date
|
SELECT eps.date
|
||||||
FROM twat_eps AS eps
|
FROM twt_eps AS eps
|
||||||
WHERE eps.id = ?
|
WHERE eps.id = ?
|
||||||
),
|
),
|
||||||
episode_previous AS (
|
episode_previous AS (
|
||||||
SELECT MAX(id) AS \'previous\', ? AS \'id\'
|
SELECT MAX(id) AS \'previous\', ? AS \'id\'
|
||||||
FROM twat_eps AS eps
|
FROM twt_eps AS eps
|
||||||
INNER JOIN episode_date
|
INNER JOIN episode_date
|
||||||
ON eps.date < episode_date.date
|
ON eps.date < episode_date.date
|
||||||
WHERE eps.id > 1
|
WHERE eps.id > 1
|
||||||
),
|
),
|
||||||
episode_next AS (
|
episode_next AS (
|
||||||
SELECT MIN(id) AS \'next\', ? AS \'id\'
|
SELECT MIN(id) AS \'next\', ? AS \'id\'
|
||||||
FROM twat_eps AS eps
|
FROM twt_eps AS eps
|
||||||
INNER JOIN episode_date
|
INNER JOIN episode_date
|
||||||
ON eps.date > episode_date.date
|
ON eps.date > episode_date.date
|
||||||
)
|
)
|
||||||
@@ -34,7 +34,7 @@
|
|||||||
hosts.hostid, hosts.host,
|
hosts.hostid, hosts.host,
|
||||||
miniseries.name AS \'series\', miniseries.id AS \'seriesid\',
|
miniseries.name AS \'series\', miniseries.id AS \'seriesid\',
|
||||||
miniseries.description AS \'series_description\'
|
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 hosts ON eps.hostid = hosts.hostid
|
||||||
INNER JOIN miniseries ON eps.series = miniseries.id
|
INNER JOIN miniseries ON eps.series = miniseries.id
|
||||||
INNER JOIN episode_maxmin ON eps.id = episode_maxmin.id
|
INNER JOIN episode_maxmin ON eps.id = episode_maxmin.id
|
||||||
@@ -55,8 +55,8 @@
|
|||||||
<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><!--% 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>
|
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, "twt", baseurl, media_baseurl) %-->
|
||||||
<!--% display_listen_in(episode.id, "twat") %-->
|
<!--% display_listen_in(episode.id, "twt") %-->
|
||||||
</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>
|
||||||
<p><em><!--% episode.series_description %--></em></p>
|
<p><em><!--% episode.series_description %--></em></p>
|
||||||
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
@@ -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) %-->
|
<!--% USE DBI(constants.driver) %-->
|
||||||
<!--% FOREACH episode IN DBI.query(
|
<!--% FOREACH episode IN DBI.query(
|
||||||
'select eps.id from twat_eps AS eps'
|
'select eps.id from twt_eps AS eps'
|
||||||
) %-->
|
) %-->
|
||||||
,<!--% episode.id %-->
|
,<!--% episode.id %-->
|
||||||
<!--% END %-->
|
<!--% END %-->
|
||||||
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
@@ -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
@@ -0,0 +1,2 @@
|
|||||||
|
#EXTM3U
|
||||||
|
<!--% INCLUDE $content %-->
|
||||||
@@ -1,5 +1,12 @@
|
|||||||
<!--% query_hpr_shows = '
|
<!--% query_hpr_shows = 'WITH
|
||||||
|
comment_tallies AS (
|
||||||
SELECT
|
SELECT
|
||||||
|
eps_id,
|
||||||
|
COUNT(eps_id) AS eps_tally
|
||||||
|
FROM comments
|
||||||
|
GROUP BY eps_id
|
||||||
|
)
|
||||||
|
SELECT
|
||||||
eps.id,
|
eps.id,
|
||||||
eps.explicit,
|
eps.explicit,
|
||||||
eps.date, eps.license, eps.duration,
|
eps.date, eps.license, eps.duration,
|
||||||
@@ -8,17 +15,44 @@
|
|||||||
hosts.local_image,
|
hosts.local_image,
|
||||||
hosts.hostid,
|
hosts.hostid,
|
||||||
hosts.host, hosts.email, hosts.profile,
|
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
|
FROM eps
|
||||||
INNER JOIN hosts ON eps.hostid = hosts.hostid
|
INNER JOIN hosts ON eps.hostid = hosts.hostid
|
||||||
INNER JOIN miniseries ON eps.series = miniseries.id
|
INNER JOIN miniseries ON eps.series = miniseries.id
|
||||||
|
LEFT JOIN comment_tallies ON eps.id = comment_tallies.eps_id
|
||||||
WHERE hosts.hostid = ? AND eps.date < date(\'now\', \'+1 days\')
|
WHERE hosts.hostid = ? AND eps.date < date(\'now\', \'+1 days\')
|
||||||
ORDER BY eps.id + 0 DESC
|
ORDER BY eps.id + 0 DESC
|
||||||
'
|
'
|
||||||
%-->
|
%-->
|
||||||
<!--% query_hpr_show_count = '
|
<!--% query_hpr_show_count = '
|
||||||
SELECT id
|
SELECT COUNT(id) as Tally
|
||||||
FROM eps
|
FROM eps
|
||||||
WHERE eps.hostid = ? AND eps.date < date(\'now\', \'+1 days\')
|
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.id,
|
||||||
eps.explicit,
|
eps.explicit,
|
||||||
eps.date, eps.license, eps.title, eps.summary,
|
eps.date, eps.license, eps.title, eps.summary,
|
||||||
eps.duration, eps.notes, eps.tags,
|
eps.duration, eps.notes, eps.tags,
|
||||||
hosts.hostid,
|
hosts.hostid,
|
||||||
hosts.host, hosts.email, hosts.local_image,
|
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
|
FROM eps
|
||||||
INNER JOIN hosts ON eps.hostid = hosts.hostid
|
INNER JOIN hosts ON eps.hostid = hosts.hostid
|
||||||
INNER JOIN miniseries ON eps.series = miniseries.id
|
INNER JOIN miniseries ON eps.series = miniseries.id
|
||||||
|
LEFT JOIN comment_tallies ON eps.id = comment_tallies.eps_id
|
||||||
WHERE eps.date <= date(\'now\')
|
WHERE eps.date <= date(\'now\')
|
||||||
ORDER BY eps.id + 0 DESC'
|
ORDER BY eps.id + 0 DESC'
|
||||||
%-->
|
%-->
|
||||||
|
|||||||
@@ -14,14 +14,24 @@
|
|||||||
WHERE miniseries.id = ?
|
WHERE miniseries.id = ?
|
||||||
ORDER BY name'
|
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,
|
id, date, title,
|
||||||
duration, summary, notes,
|
duration, summary, notes,
|
||||||
explicit, eps.license, tags,
|
explicit, eps.license, tags,
|
||||||
hosts.host, hosts.hostid
|
hosts.host, hosts.hostid,
|
||||||
|
COALESCE(comment_tallies.eps_tally,0) AS commentsTally
|
||||||
FROM eps
|
FROM eps
|
||||||
INNER JOIN hosts
|
INNER JOIN hosts
|
||||||
ON eps.hostid = hosts.hostid
|
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\')
|
WHERE series = ? AND eps.date < date(\'now\', \'+1 days\')
|
||||||
ORDER BY eps.id DESC
|
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><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>
|
||||||
<!--% IF hide_tags == "" %--><!--% display_tags(show.tags) %--><!--% END %-->
|
<!--% 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>
|
<span><label>Comments:</label> <!--% display_comments_tally(show.id, show.commentsTally) %--></span>
|
||||||
<!--% END %-->
|
<!--% END %-->
|
||||||
<!--% END %-->
|
<!--% END %-->
|
||||||
@@ -56,7 +56,7 @@ or
|
|||||||
<p class="summary"><!--% show.summary %--></p>
|
<p class="summary"><!--% show.summary %--></p>
|
||||||
<!--% END %-->
|
<!--% 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 == "" %-->
|
<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>
|
||||||
|
|||||||
@@ -93,7 +93,7 @@
|
|||||||
<!--% END %-->
|
<!--% END %-->
|
||||||
|
|
||||||
<!--% 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 == "twt" %-->
|
||||||
<!--% episode_type = "twt" %-->
|
<!--% episode_type = "twt" %-->
|
||||||
<!--% padding = 3 %-->
|
<!--% padding = 3 %-->
|
||||||
<!--% media_folder = "eps/"; padding = 3 %-->
|
<!--% media_folder = "eps/"; padding = 3 %-->
|
||||||
@@ -117,16 +117,69 @@
|
|||||||
<!--% IF folder %-->
|
<!--% IF folder %-->
|
||||||
<!--% folder = folder %--><!--% ELSE %--><!--% folder = "hpr" %-->
|
<!--% folder = folder %--><!--% ELSE %--><!--% folder = "hpr" %-->
|
||||||
<!--% END %-->
|
<!--% 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 %-->
|
<!--% 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 %-->
|
<!--% ELSE %-->
|
||||||
<span><</span> Previous,
|
<span class="no-link"><!--% INSERT $arrow_prev %--><span class="no-css">< </span>Previous</span>,
|
||||||
<!--% END %-->
|
<!--% END %-->
|
||||||
<!--% IF links.next %-->
|
<!--% 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 %-->
|
<!--% ELSE %-->
|
||||||
Next <span>></span>
|
<span class="no-link">Next<span class="no-css"> ></span><!--% INSERT $arrow_next %--></span>,
|
||||||
<!--% END %-->
|
<!--% 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 %-->
|
||||||
|
|
||||||
|
<!--% MACRO get_new_year_show_start BLOCK %-->
|
||||||
|
<!--% start_year = date.format(date.now, '%Y') %-->
|
||||||
|
<!--% IF date.format(date.now, '%m') != 12 || date.format(date.now, '%j') == 1 %-->
|
||||||
|
<!--% start_year = start_year - 1 %-->
|
||||||
|
<!--% END %-->
|
||||||
|
<time datetime="<!--% start_year %-->-12-31T10:00Z"><!--% start_year %-->-12-31 10:00 UTC (5:00 AM EST)</time>
|
||||||
|
<!--% END %-->
|
||||||
|
|
||||||
|
<!--% MACRO get_new_year_show_end BLOCK %-->
|
||||||
|
<!--% end_year = date.format(date.now, '%Y') %-->
|
||||||
|
<!--% IF date.format(date.now, '%m') == 12 || date.format(date.now, '%j') == 1 %-->
|
||||||
|
<!--% end_year = end_year + 1 %-->
|
||||||
|
<!--% END %-->
|
||||||
|
<time datetime="<!--% end_year %-->-01-01T12:00Z"><!--% end_year %-->-01-01 12:00 UTC (7:00 AM EST)</time>
|
||||||
|
<!--% END %-->
|
||||||
|
|
||||||
|
<!--% MACRO get_new_year_show_ordinal_year BLOCK %-->
|
||||||
|
<!--% ordinal_year = date.format(date.now, '%Y') - 2011 %-->
|
||||||
|
<!--% IF date.format(date.now, '%m') != 12 || date.format(date.now, '%j') == 1 %-->
|
||||||
|
<!--% ordinal_year = ordinal_year - 1 %-->
|
||||||
|
<!--% END %-->
|
||||||
|
<!--% years.0 = 'th'
|
||||||
|
years.1 = 'st'
|
||||||
|
years.2 = 'nd'
|
||||||
|
years.3 = 'rd'
|
||||||
|
years.4 = 'th'
|
||||||
|
years.5 = 'th'
|
||||||
|
years.6 = 'th'
|
||||||
|
years.7 = 'th'
|
||||||
|
years.8 = 'th'
|
||||||
|
years.9 = 'th'
|
||||||
|
years.14 = 'Fourteenth'
|
||||||
|
years.15 = 'Fifteenth'
|
||||||
|
years.16 = 'Sixteenth'
|
||||||
|
years.17 = 'Seventeenth'
|
||||||
|
years.18 = 'Eighteenth'
|
||||||
|
years.19 = 'Nineteenth'
|
||||||
|
years.20 = 'Twentieth'
|
||||||
|
years.30 = 'Thirtieth'
|
||||||
|
years.40 = 'Fortieth'
|
||||||
|
years.50 = 'Fiftieth' %-->
|
||||||
|
<!--% index = ordinal_year % 10 %-->
|
||||||
|
<!--% IF ordinal_year < 21 || (index == 0 && ordinal_year < 51) %-->
|
||||||
|
<!--% years.$ordinal_year %-->
|
||||||
|
<!--% ELSE %-->
|
||||||
|
<!--% ordinal_year %--><sup><!--% years.$index %--></sup>
|
||||||
|
<!--% END %-->
|
||||||
<!--% END %-->
|
<!--% END %-->
|
||||||
|
|||||||