Compare commits
	
		
			24 Commits
		
	
	
		
			47e1ebf69c
			...
			main
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 2f779fb9d0 | |||
| 
						
						
							
						
						7a02c7b1c1
	
				 | 
					
					
						|||
| 48fbd272e4 | |||
| 
						
						
							
						
						b850c51e4f
	
				 | 
					
					
						|||
| 
						
						
							
						
						3bf5769b52
	
				 | 
					
					
						|||
| 67e56ea102 | |||
| 
						
						
							
						
						2c9e75bf1a
	
				 | 
					
					
						|||
| ccc904c691 | |||
| 
						
						
							
						
						d0c371a0f9
	
				 | 
					
					
						|||
| 
						
						
							
						
						466ef289b1
	
				 | 
					
					
						|||
| 
						
						
							
						
						b5755ddedb
	
				 | 
					
					
						|||
| 
						
						
							
						
						2a119bd920
	
				 | 
					
					
						|||
| 
						
						
							
						
						a8dc69d7ad
	
				 | 
					
					
						|||
| 
						
						
							
						
						09f5c60d60
	
				 | 
					
					
						|||
| 
						
						
							
						
						b122f7c1c0
	
				 | 
					
					
						|||
| 
						
						
							
						
						70fd148928
	
				 | 
					
					
						|||
| 
						
						
							
						
						c53c6d50aa
	
				 | 
					
					
						|||
| 
						
						
							
						
						c4d94bb019
	
				 | 
					
					
						|||
| 
						
						
							
						
						1075833562
	
				 | 
					
					
						|||
| 
						
						
							
						
						fb46c13394
	
				 | 
					
					
						|||
| f78789fdc4 | |||
| 4327c15823 | |||
| 
						
						
							
						
						39c14fb3e4
	
				 | 
					
					
						|||
| 
						
						
							
						
						b3e9ccc546
	
				 | 
					
					
						
							
								
								
									
										17
									
								
								NEWSITE_CONTRIBUTERS.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -47,6 +47,7 @@ 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, */;
 | 
				
			||||||
@@ -349,7 +350,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,
 | 
				
			||||||
@@ -635,7 +636,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;
 | 
				
			||||||
@@ -669,12 +670,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);	
 | 
				
			||||||
@@ -730,6 +739,57 @@ fieldset > table td input[type="radio"] {
 | 
				
			|||||||
	clip: rect(0, 0, 0, 0);
 | 
						clip: rect(0, 0, 0, 0);
 | 
				
			||||||
	border: 0;
 | 
						border: 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 0.4em 0.1em 0.4em;
 | 
				
			||||||
 | 
						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;
 | 
				
			||||||
@@ -826,6 +886,9 @@ fieldset > table td input[type="radio"] {
 | 
				
			|||||||
	#host {
 | 
						#host {
 | 
				
			||||||
		gap: 1rem;
 | 
							gap: 1rem;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
						nav.episodes {
 | 
				
			||||||
 | 
							display: inline-block;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@media (min-width: 900px) {
 | 
					@media (min-width: 900px) {
 | 
				
			||||||
	#podcast_lane > .lane,
 | 
						#podcast_lane > .lane,
 | 
				
			||||||
@@ -876,4 +939,18 @@ fieldset > table td input[type="radio"] {
 | 
				
			|||||||
	#hosts td:nth-child(-n+2) {
 | 
						#hosts td:nth-child(-n+2) {
 | 
				
			||||||
		color: var(--text-primary);
 | 
							color: var(--text-primary);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
						nav.episodes span a:hover {
 | 
				
			||||||
 | 
							background-color: var(--link-primary-hover);
 | 
				
			||||||
 | 
							color: var(--link-navigation-hover);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						nav.episodes span svg #arrow,
 | 
				
			||||||
 | 
						nav.episodes span svg #bar {
 | 
				
			||||||
 | 
							stroke: var(--text-primary);
 | 
				
			||||||
 | 
							fill: var(--text-primary);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						nav.episodes span a:hover svg #arrow,
 | 
				
			||||||
 | 
						nav.episodes span a:hover svg #bar {
 | 
				
			||||||
 | 
							stroke: var(--link-navigation-hover);
 | 
				
			||||||
 | 
							fill: var(--link-navigation-hover);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										24
									
								
								public_html/images/icons/arrow-first.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								public_html/images/icons/arrow-first.svg
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,24 @@
 | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 | 
				
			||||||
 | 
					<!-- Created with Inkscape (http://www.inkscape.org/) -->
 | 
				
			||||||
 | 
					<svg
 | 
				
			||||||
 | 
					   viewBox="0 0 12 12"
 | 
				
			||||||
 | 
					   version="1.1"
 | 
				
			||||||
 | 
					   id="arrow_first"
 | 
				
			||||||
 | 
					   width="12"
 | 
				
			||||||
 | 
					   height="12"
 | 
				
			||||||
 | 
					   xmlns="http://www.w3.org/2000/svg"
 | 
				
			||||||
 | 
					   xmlns:svg="http://www.w3.org/2000/svg">
 | 
				
			||||||
 | 
					    <path
 | 
				
			||||||
 | 
					     id="arrow"
 | 
				
			||||||
 | 
					     style="stroke-width:0.584448;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
 | 
				
			||||||
 | 
					     d="M 9.9303359,11.572157 11.530286,10.119277 7.0035163,5.9964088 11.484768,1.9181465 9.8743209,0.45252151 3.7931149,5.986851 Z" />
 | 
				
			||||||
 | 
					  <rect
 | 
				
			||||||
 | 
					     style="stroke-width:0.524;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;marker-start:url(#Arrow1Lstart);paint-order:normal"
 | 
				
			||||||
 | 
					     id="bar"
 | 
				
			||||||
 | 
					     width="2.2"
 | 
				
			||||||
 | 
					     height="11.263"
 | 
				
			||||||
 | 
					     x="0.5"
 | 
				
			||||||
 | 
					     y="0.36860976"
 | 
				
			||||||
 | 
					     rx="0"
 | 
				
			||||||
 | 
					     ry="0.0015425405" />
 | 
				
			||||||
 | 
					</svg>
 | 
				
			||||||
| 
		 After Width: | Height: | Size: 877 B  | 
							
								
								
									
										25
									
								
								public_html/images/icons/arrow-last.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								public_html/images/icons/arrow-last.svg
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,25 @@
 | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 | 
				
			||||||
 | 
					<!-- Created with Inkscape (http://www.inkscape.org/) -->
 | 
				
			||||||
 | 
					<svg
 | 
				
			||||||
 | 
					   viewBox="0 0 12 12"
 | 
				
			||||||
 | 
					   version="1.1"
 | 
				
			||||||
 | 
					   id="arrow_last"
 | 
				
			||||||
 | 
					   width="12"
 | 
				
			||||||
 | 
					   height="12"
 | 
				
			||||||
 | 
					   xmlns="http://www.w3.org/2000/svg"
 | 
				
			||||||
 | 
					   xmlns:svg="http://www.w3.org/2000/svg">
 | 
				
			||||||
 | 
					  <path
 | 
				
			||||||
 | 
					     id="arrow"
 | 
				
			||||||
 | 
					     style="stroke-width:0.584448;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
 | 
				
			||||||
 | 
					     d="M 2.0731448,11.604466 0.47319466,10.151586 4.9999643,6.0287178 0.51871266,1.9504555 2.1291598,0.48483049 8.2103658,6.01916 Z" />
 | 
				
			||||||
 | 
					  <rect
 | 
				
			||||||
 | 
					     style="stroke-width:0.524;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;marker-start:url(#Arrow1Lstart);paint-order:normal"
 | 
				
			||||||
 | 
					     id="bar"
 | 
				
			||||||
 | 
					     width="2.2"
 | 
				
			||||||
 | 
					     height="11.263"
 | 
				
			||||||
 | 
					     x="-11.503481"
 | 
				
			||||||
 | 
					     y="0.40091875"
 | 
				
			||||||
 | 
					     rx="0"
 | 
				
			||||||
 | 
					     ry="0.0015425405"
 | 
				
			||||||
 | 
					     transform="scale(-1,1)" />
 | 
				
			||||||
 | 
					</svg>
 | 
				
			||||||
| 
		 After Width: | Height: | Size: 911 B  | 
							
								
								
									
										15
									
								
								public_html/images/icons/arrow-next.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								public_html/images/icons/arrow-next.svg
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,15 @@
 | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 | 
				
			||||||
 | 
					<!-- Created with Inkscape (http://www.inkscape.org/) -->
 | 
				
			||||||
 | 
					<svg
 | 
				
			||||||
 | 
					   viewBox="0 0 12 12"
 | 
				
			||||||
 | 
					   version="1.1"
 | 
				
			||||||
 | 
					   id="arrow_next"
 | 
				
			||||||
 | 
					   width="12"
 | 
				
			||||||
 | 
					   height="12"
 | 
				
			||||||
 | 
					   xmlns="http://www.w3.org/2000/svg"
 | 
				
			||||||
 | 
					   xmlns:svg="http://www.w3.org/2000/svg">
 | 
				
			||||||
 | 
					  <path
 | 
				
			||||||
 | 
					     id="arrow"
 | 
				
			||||||
 | 
					     style="stroke-width:0.584448;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
 | 
				
			||||||
 | 
					     d="M 2.0731448,11.604466 0.47319466,10.151586 4.9999643,6.0287178 0.51871266,1.9504555 2.1291598,0.48483049 8.2103658,6.01916 Z" />
 | 
				
			||||||
 | 
					</svg>
 | 
				
			||||||
| 
		 After Width: | Height: | Size: 575 B  | 
							
								
								
									
										15
									
								
								public_html/images/icons/arrow-previous.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								public_html/images/icons/arrow-previous.svg
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,15 @@
 | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 | 
				
			||||||
 | 
					<!-- Created with Inkscape (http://www.inkscape.org/) -->
 | 
				
			||||||
 | 
					<svg
 | 
				
			||||||
 | 
					   viewBox="0 0 12 12"
 | 
				
			||||||
 | 
					   version="1.1"
 | 
				
			||||||
 | 
					   id="arrow_previous"
 | 
				
			||||||
 | 
					   width="12"
 | 
				
			||||||
 | 
					   height="12"
 | 
				
			||||||
 | 
					   xmlns="http://www.w3.org/2000/svg"
 | 
				
			||||||
 | 
					   xmlns:svg="http://www.w3.org/2000/svg">
 | 
				
			||||||
 | 
					  <path
 | 
				
			||||||
 | 
					     id="arrow"
 | 
				
			||||||
 | 
					     style="stroke-width:0.584448;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
 | 
				
			||||||
 | 
					     d="M 9.9303359,11.572157 11.530286,10.119277 7.0035163,5.9964088 11.484768,1.9181465 9.8743209,0.45252151 3.7931149,5.986851 Z" />
 | 
				
			||||||
 | 
					</svg>
 | 
				
			||||||
| 
		 After Width: | Height: | Size: 578 B  | 
							
								
								
									
										6
									
								
								site.cfg
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -43,7 +43,7 @@ You can copy and redistribute the shows for free provided you adhere to the
 | 
				
			|||||||
<p>Hacker Public Radio (HPR) is an Internet Radio show (podcast) that releases shows every weekday Monday through Friday. 
 | 
					<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>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,13 +13,13 @@
 | 
				
			|||||||
	<!--% hpr_show_count = hpr_show_count +1; %-->
 | 
						<!--% hpr_show_count = hpr_show_count +1; %-->
 | 
				
			||||||
	<!--% END %-->
 | 
						<!--% END %-->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	<!--% query_twat_show_count = DBI.prepare('
 | 
						<!--% query_twt_show_count = DBI.prepare('
 | 
				
			||||||
		SELECT id
 | 
							SELECT id
 | 
				
			||||||
		FROM twat_eps AS eps
 | 
							FROM twat_eps AS eps
 | 
				
			||||||
		WHERE eps.hostid = ?
 | 
							WHERE eps.hostid = ?
 | 
				
			||||||
		')
 | 
							')
 | 
				
			||||||
		%-->
 | 
							%-->
 | 
				
			||||||
		<!--% query_twat_shows = DBI.prepare('
 | 
							<!--% query_twt_shows = DBI.prepare('
 | 
				
			||||||
			SELECT
 | 
								SELECT
 | 
				
			||||||
			eps.id,
 | 
								eps.id,
 | 
				
			||||||
			CASE eps.explicit WHEN 1 THEN \'Explicit\' ELSE \'Clean\' END AS explicit ,
 | 
								CASE eps.explicit WHEN 1 THEN \'Explicit\' ELSE \'Clean\' END AS explicit ,
 | 
				
			||||||
@@ -37,11 +37,11 @@
 | 
				
			|||||||
			ORDER BY eps.id DESC
 | 
								ORDER BY eps.id DESC
 | 
				
			||||||
			')
 | 
								')
 | 
				
			||||||
			%-->
 | 
								%-->
 | 
				
			||||||
			<!--% twat_shows_to_count = query_twat_show_count.execute(id); %-->
 | 
								<!--% twt_shows_to_count = query_twt_show_count.execute(id); %-->
 | 
				
			||||||
			<!--% twat_shows = query_twat_shows.execute(id); %-->
 | 
								<!--% twt_shows = query_twt_shows.execute(id); %-->
 | 
				
			||||||
			<!--% twat_show_count = 0 %-->
 | 
								<!--% twt_show_count = 0 %-->
 | 
				
			||||||
			<!--% FOREACH show IN twat_shows_to_count %-->
 | 
								<!--% FOREACH show IN twt_shows_to_count %-->
 | 
				
			||||||
			<!--% twat_show_count = twat_show_count +1; %-->
 | 
								<!--% twt_show_count = twt_show_count +1; %-->
 | 
				
			||||||
			<!--% END %-->
 | 
								<!--% END %-->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			<!--% hosts = DBI.tie('hosts', 'hostid') %-->
 | 
								<!--% hosts = DBI.tie('hosts', 'hostid') %-->
 | 
				
			||||||
@@ -57,7 +57,7 @@
 | 
				
			|||||||
				<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>
 | 
				
			||||||
				</div>
 | 
									</div>
 | 
				
			||||||
			</div>
 | 
								</div>
 | 
				
			||||||
			<div class="lane stack">
 | 
								<div class="lane stack">
 | 
				
			||||||
@@ -67,12 +67,12 @@
 | 
				
			|||||||
					<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">
 | 
				
			||||||
@@ -23,13 +23,12 @@
 | 
				
			|||||||
	<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>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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, 
 | 
				
			||||||
@@ -36,7 +36,7 @@
 | 
				
			|||||||
	') 
 | 
						') 
 | 
				
			||||||
%-->
 | 
					%-->
 | 
				
			||||||
	<article>
 | 
						<article>
 | 
				
			||||||
	<!--% twat_show_summary(twat_episode) %-->
 | 
						<!--% twt_show_summary(twt_episode) %-->
 | 
				
			||||||
 </article>
 | 
					 </article>
 | 
				
			||||||
<!--% END %-->
 | 
					<!--% END %-->
 | 
				
			||||||
	</div>
 | 
						</div>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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>
 | 
				
			||||||
@@ -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,20 @@
 | 
				
			|||||||
<!--% 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 %-->
 | 
					<!--% END %-->
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user