diff --git a/NEWSITE_CONTRIBUTERS.md b/NEWSITE_CONTRIBUTERS.md
new file mode 100644
index 0000000..d7fb84c
--- /dev/null
+++ b/NEWSITE_CONTRIBUTERS.md
@@ -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!
diff --git a/README.md b/README.md
index 0250196..623d13c 100644
--- a/README.md
+++ b/README.md
@@ -68,5 +68,5 @@ and add the label "**Feature Request**".
* Ken Fallon
* norrist
* Paul Jewell
-
+* Lee Hanken
diff --git a/_sql/sqlite/Rename_twt_table.sql b/_sql/sqlite/Rename_twt_table.sql
new file mode 100644
index 0000000..ff28ec3
--- /dev/null
+++ b/_sql/sqlite/Rename_twt_table.sql
@@ -0,0 +1 @@
+ALTER TABLE twat_eps RENAME TO twt_eps;
diff --git a/public_html/css/bebas/BebasNeue.otf b/public_html/css/bebas/BebasNeue.otf
new file mode 100644
index 0000000..214e007
Binary files /dev/null and b/public_html/css/bebas/BebasNeue.otf differ
diff --git a/public_html/css/bebas/BebasNeue.woff b/public_html/css/bebas/BebasNeue.woff
new file mode 100644
index 0000000..ff28949
Binary files /dev/null and b/public_html/css/bebas/BebasNeue.woff differ
diff --git a/public_html/css/bebas/BebasNeue.woff2 b/public_html/css/bebas/BebasNeue.woff2
new file mode 100644
index 0000000..1e9e13c
Binary files /dev/null and b/public_html/css/bebas/BebasNeue.woff2 differ
diff --git a/public_html/css/bebas/BebasNeueLight.otf b/public_html/css/bebas/BebasNeueLight.otf
new file mode 100644
index 0000000..01429c4
Binary files /dev/null and b/public_html/css/bebas/BebasNeueLight.otf differ
diff --git a/public_html/css/bebas/OFL.txt b/public_html/css/bebas/OFL.txt
new file mode 100644
index 0000000..2df4406
--- /dev/null
+++ b/public_html/css/bebas/OFL.txt
@@ -0,0 +1,93 @@
+Copyright (c) 2010-2012 Patrick Wagesreiter (mail@patrickwagesreiter.at)
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+https://openfontlicense.org
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/public_html/css/hpr.css b/public_html/css/hpr.css
index d979989..017aa42 100644
--- a/public_html/css/hpr.css
+++ b/public_html/css/hpr.css
@@ -10,25 +10,192 @@ https://creativecommons.org/publicdomain/
* -- https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Responsive_Design
* - Matthew James Tayler: Responsive Font Size (Optimal Text at Every Breakpoint)
* -- https://matthewjamestaylor.com/responsive-font-size
- * - CSS-Tricks: Linearly Scale font-size with CSS clamp() Based on the Viewport
+ * - CSS-Tricks: Linearly Scale font-size with CSS c
+ * #welcome > p {
+ * font-size: 1.25rem;
+ * font-weight: 450;
+ * }lamp() Based on the Viewport
* -- https://css-tricks.com/linearly-scale-font-size-with-css-clamp-based-on-the-viewport/
*/
+@font-face {
+ font-family: "BebasNeue";
+ src:
+ local("BEBAS NEUE"),
+ url("/css/bebas/BebasNeue.woff2") format("woff2"),
+ url("/css/bebas/BebasNeue.woff") format("woff"),
+ url("/css/bebas/BebasNeue.otf") format("opentype");
+}
+@font-face {
+ font-family: "PatrickHand";
+ src:
+ local("Patrick Hand"),
+ url("/css/patrickhand/PatrickHand-Regular.woff2") format("woff2"),
+ url("/css/patrickhand/PatrickHand-Regular.woff") format("woff"),
+ url("/css/patrickhand/PatrickHand-Regular.ttf") format("truetype");
+}
+:root {
+ --background-primary: #fffff7/*#fafafa#fbfbee #dfdfdf */;
+ --text-primary: #4d4d4d; /* HPR Grey */
+ --banner-text-primary: #000000;
+ --banner-background-color: #40a5b9;
+ /* --background-secondary: #4d4d4d; */
+ --background-secondary: #00003e;
+ --text-secondary: #dfdfdf;
+ --link-primary: #004852 /*#154a60*/;
+ --link-primary-hover: #b54c08/*#f8961e*/;
+ --link-secondary: #a8f8ff;
+ --link-secondary-hover: #f9e9c2;
+ --link-title-color: #00003e;
+ --link-navigation-hover: #030303;
+ --primary-content-line-height: 1.45;
+
+ --font-family-hpr: Verdana, Arial, Helvetica, sans-serif; /* 1em/1.5 OpenDyslexic, */;
+ --font-size-default: clamp(1rem, 15px + 0.3vw, 1.07rem);
+ --font-size-emphasis: clamp(1.1rem, 15px + 0.3vw, 1.25rem);
+
+ --episode-nav-padding: clamp(0.15em, 15px + 0.3vw, 0.4em);
+ --show-notes-pre-background: #f9e9c2;
+ --logo-font-family: var(--font-family-hpr);
+ --logo-font-weight: bolder;
+ --logo-font-size: 7.5rem;
+ --logo-letter-spacing: -0.65rem;
+ --logo-line-height: 0.75;
+ --logo-margin: 0 0 0.25rem 0;
+
+ --tagline-font-family:"BebasNeue", sans-serif;
+ --lane-button-font-family: "PatrickHand", var(--font-family-hpr);
+ --lane-button-border: #80b4c0;
+ --input-border-primary: #4d4d4d;
+
+ --link-spacing-horizontal: clamp(0.5rem, -0.25rem + 3vw, 2.5rem);
+
+
+ --shadow-main-header-color: hsl(190deg 48% 49% / 0.2);
+ --shadow-secondary-color: hsl(0, 0%, 30.2%);
+ --shadow-cards: var(--shadow-secondary-color);
+
+ --content-max-width: 1080pt;
+
+ /* screen breakpoints */
+ --for-phone-only: 599px;
+ --for-tablet-portrait-up: 600px;
+ --for-tablet-landscape-up: 900px;
+ --for-desktop-up: 1200px;
+ --for-big-desktop-up: 1800px;
+
+ --default-header-x-font-weight: bold;
+ --default-header-x-margin: 1.25rem 0 0.75rem 0;
+ --default-header-1-font-size: 1.5rem;
+ --default-header-2-font-size: 1.45rem;
+ --default-header-3-font-size: 1.25rem;
+ --default-header-4-font-size: 1.15rem;
+}
+
html {
margin: 0;
padding: 0;
- display: block;
+ display: flex;
+ flex-direction: column;
}
-
body {
- display: block;
- background: #dfdfdf;
+ display: flex;
+ flex-direction: column;
+ justify-content: flex-start;
+ background-color: var(--background-primary);
+ color: var(--text-primary);
font-size: 1rem; /* fallback for browsers that don't support the clamp function) */
- font-size: clamp(1rem, 15px + 0.3vw, 1.07rem);
+ font-size: var(--font-size-default);
+ font-family: var(--font-family-hpr);
margin: 0;
padding: 0;
+ min-height: 100vh;
+}
+#top_navigation {
+ display: flex;
+ flex-direction: row-reverse;
+ justify-content: space-between;
+ background-color: var(--background-secondary);
+ color: var(--text-secondary);
+ padding: 0.5rem;
+}
+#top_navigation > nav a {
+ color: var(--link-secondary);
+}
+#top_navigation > nav a:hover {
+ color: var(--link-secondary-hover);
+}
+#top_navigation > nav menu {
+ background-color: inherit;
+ color: inherit;
+ margin: 0;
+ padding: 0.25rem;
+}
+#top_navigation > nav menu li {
+ display: inline-block;
+ background-color: inherit;
+ color: inherit;
+ line-height: 1.0;
+ margin: 0;
+ padding: 0;
+ padding-right: var(--link-spacing-horizontal);
+}
+#top_navigation > nav menu li a {
+ padding: 0.25rem 0;
+}
+body > header {
+ padding: clamp(0.5rem, -0.25rem + 3vw, 1rem) 0.25rem;
+ background-color: var(--banner-background-color);
+ background-image: url("/images/main-header-background.png");
+ background-size: cover;
+ background-repeat: no-repeat;
+ background-position: left top;
+ color: var(--banner-text-primary);
+ align-items: center;
+ border-top: var(--background-secondary) solid 1rem;
+}
+body > header .bounding-box {
+ background: none;
+ display: flex;
+ flex-direction: row;
+ flex-flow: wrap;
+ justify-content: space-between;
+ max-width: var(--content-max-width);
+ margin: 0 auto;
+}
+body > header .bounding-box > * {
+ margin: 0;
+ padding: 0;
+ flex: 1 1 auto;
+ padding: 0.5rem;
+ background-image: none;
+}
+body > main {
+ flex: 1 0 auto;
+ padding: 0.25rem;
+ max-width: var(--content-max-width);
+ margin-left: auto;
+ margin-right: auto;
+}
+body > footer {
+ flex: 0 1 auto;
+ background-color: var(--background-secondary);
+ color: var(--text-secondary);
+ padding: clamp(0.25rem, calc(100vw - var(--for-tablet-portrait-up) + 0.5rem), 0.5rem);
+ margin-top: 0.5rem;
+ text-align: center;
+ line-height: 1.25;
+}
+body > footer #copyright {
+ max-width: var(--content-max-width);
+ margin: 0 auto;
+}
+body > footer a {
+ color: var(--link-secondary);
+}
+body > footer a:hover {
+ color: var(--link-secondary-hover);
}
-
div,
h1,
h2,
@@ -49,32 +216,33 @@ fieldset,
input,
textarea,
blockquote {
- font-family: Verdana, Arial, Helvetica, sans-serif; /* 1em/1.5 OpenDyslexic, */
- color: #4D4D4D; /* HPR Grey */
- background: white;
+ font-family: inherit;
+ color: inherit;
+ background: inherit;
}
h1 {
- font-size: 1.5rem;
- margin: 1.25rem 0 0.75rem 0;
+ font-size: var(--default-header-1-font-size);
+ margin: var(--default-header-x-margin);
}
h2,
-article * h1 {
- font-size: 1.45rem;
- margin: 1.25rem 0 0.75rem 0;
+article * h1,
+section > header:first-child {
+ font-size: var(--default-header-2-font-size);
+ margin: var(--default-header-x-margin);
}
h3,
article * h2 {
- font-size: 1.25rem;
- margin: 1.25rem 0 0.75rem 0;
+ font-size: var(--default-header-3-font-size);
+ margin: var(--default-header-x-margin);
}
h4,
article * h3 {
- font-size: 1.15rem;
- margin: 1.25rem 0 0.75rem 0;
+ font-size: var(--default-header-4-font-size);
+ margin: var(--default-header-x-margin);
}
img {
@@ -82,22 +250,44 @@ img {
height: auto;
}
-ul {
+dl, ul {
padding-left: 1.15rem;
}
li {
line-height: 1.25;
+ margin-bottom: 0.25rem;
+}
+li:last-child {
+ margin-bottom: 0.25rem;
+}
+
+dt, dd {
+ line-height: 1.25;
+}
+
+dt {
+ display: list-item;
+ list-style-type: disc;
+ margin-bottom: 0.15rem;
+}
+
+dd {
+ margin-bottom: 0.35rem;
+ margin-left: 1rem;
}
a {
- text-decoration: none;
+ color: var(--link-primary);
+ text-decoration-style: dotted;
+ text-decoration-color: inherit;
+ text-decoration-thickness: .125rem;
+ text-underline-offset: 0.2rem;
}
-
a:hover {
cursor: pointer;
+ color: var(--link-primary-hover);
}
-
hr {
background: #4D4D4D;
border: 0;
@@ -105,7 +295,7 @@ hr {
}
audio {
- padding: .7em 0em .5em 0em;
+ padding: 0.7em 0em 0.5em 0em;
clear: both;
position: relative;
z-index: auto;
@@ -123,359 +313,538 @@ p.meta {
p.meta span label {
font-weight: bold;
}
-
-article>p,
-#maincontent>p {
- line-height: 1.45;
+article > p,
+#main_content > p,
+#main_content > section > p {
+ line-height: var(--primary-content-line-height);
}
-
-article#previous_five_weeks>* {
- line-height: 1.35;
- margin: 0;
- padding: 0;
+.lane {
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ gap: 1.0rem;
+ justify-content: space-around;
}
-
-article#previous_five_weeks>h3 {
- margin: 1.5rem 0 0.5rem 0;
+.lane.stack {
+ flex-direction: column;
+ justify-content: flex-start;
}
-
-#container {
- max-width: 58rem;
- margin: 0.25rem;
- padding: 0.75rem; /* fallback for browsers that don't support the clamp function) */
- padding: clamp(0.75rem, -0.25rem + 3vw, 2.0rem);
- overflow: hidden;
- background: white;
- border: thin solid #4D4D4D;
+.lane.stack > * {
+ flex: 1 0 100%;
}
-
-.shadow {
- -moz-box-shadow: 2px 3px 6px 3px #675958;
- -webkit-box-shadow: 2px 3px 6px 3px #675958;
- box-shadow: 2px 3px 6px 3px #675958;
+#podcast_lane > .lane,
+#project_lane > .lane,
+#latest_lane.lane {
+ justify-content: space-around;
}
-
-.thick_bar {
- background-color: #4D4D4D;
- color: white;
- padding: 0.5rem;
- margin: 1rem 0 1rem 0;
+.lane > article,
+#welcome > p {
+ font-size: var(--font-size-emphasis);
+ font-weight: 450;
}
-
-img#hprlogo {
- max-width: 20vw;
- padding-right: clamp(0.75rem, -0.25rem + 3vw, 1.5rem);
- float: left;
- margin-top: 1rem;
- margin-bottom: clamp(0.75rem, -0.25rem + 2vw, 1.5rem);
-}
-
-#hpr_banner {
- /* display: inline-block; */
- border: 0;
- margin: 0 0 0rem 0;
- padding: 0;
-}
-
-#hpr_banner p {
- margin: 0 0 0.5rem 0;
-}
-
-#hpr_banner h1#sitename {
- font-size: clamp(1.44rem, -1rem + 3vw, 2rem);
- letter-spacing: 0.06rem;
- margin: 0;
- padding: 0;
-}
-
-#hpr_banner h2 {
- font-size: clamp(0.74rem, -1rem + 2vw, 1rem);
- font-weight: 510;
- margin: 0 0 1rem 0;
- padding: 0;
-}
-
-#hpr_banner h3 {
- font-size: 1rem;
- font-weight: normal;
- margin: 0 0 0.5rem 0;
- padding: 0;
-}
-
-header>hr {
- clear: both;
-}
-
-#accessible_menu {
- font-size: smaller;
-}
-
-/* The main navigation menu */
-header>nav.menu {
- display: block;
- background-color: #4D4D4D; /* HPR Grey */
- text-align: Left;
- clear: both; /* Forces the menu to appear after the HPR Header block */
- padding: 0;
- margin: 0;
-}
-
-header>nav.menu ul {
- margin: 0;
- padding: 0.5rem;
- background-color: inherit;
- color: white;
-}
-
-header>nav.menu ul li {
- display: inline-block;
- background-color: inherit;
- color: inherit;
- line-height: 1.5;
- margin: 0;
- padding: 0;
- padding-right: clamp(0.5rem, -0.25rem + 3vw, 2.5rem);
-}
-
-header>nav.menu ul li a {
- color: white;
- text-decoration: none;
- display: block;
- padding: 0.25rem 0;
-}
-
-header>nav.menu ul li a:hover {
- border-bottom: thin solid white;
- padding: 0.15rem 0;
- -webkit-transition: 0.3s ease-in-out color;
- -moz-transition: 0.3s ease-in-out color;
- transition: 0.3s ease-in-out color;
-}
-
-header>nav.menu ul li a:visited {
- color: #EDEDED;
-}
-
-a:active,
-header>nav.menu ul li a:active {
- color: red;
-}
-
-pre {
- /* Add background, border and scrollbar to
*/
- background: #eee;
- border: 1px solid #ddd;
+#hosts tr {
+ /* Add shadows to create the "card" effect */
+ border-top: thin solid var(--shadow-cards);
+ border-left: thin solid var(--shadow-cards);
+ border-radius: 0.5rem;
+ box-shadow:
+ 1px 2px 2px var(--shadow-cards),
+ 2px 4px 4px var(--shadow-cards);
+ transition: 0.3s;
+ flex: 1 0 100%;
overflow: auto;
- clear: both;
- padding: 0.5rem
+ padding-bottom: 1rem;
}
-
-code {
- background: #eee;
- border-radius: 0.2rem;
- font-size: 0.95rem;
+.lane > article:hover,
+#hosts tr:hover {
+ box-shadow:
+ 4px 8px 8px var(--shadow-cards),
+ 8px 16px 16px var(--shadow-cards);
}
-
-pre code {
- padding-right: 0.5rem;
- font-size: 0.85rem;
- line-height: 1;
+.lane > article > * {
+ margin-left: 1rem;
+ margin-right: 1rem;
}
-
-pre.comment {
- white-space: pre-wrap;
- line-height: 1.2rem;
+.lane > article > header,
+.lane > article > h3:first-child {
+ background: var(--background-secondary);
+ padding: 1.5rem 1rem 1rem 1rem;
+ margin: 0;
+ font-weight: bold;
+ font-size: 1.45rem;
+ color: var(--background-primary);
}
-
-table.hosts {
- font-size: clamp(0.82rem, -0.25rem + 3vw, 1.0rem);
- width: 100%;
- background: white;
- margin: 0 auto;
- border-collapse: collapse;
- display: inline-table;
-
+.lane > article > header > .index-link {
+ float: right;
}
-
-table#t01,
-table.hosts {
- display: block;
- overflow-x: auto;
+.lane.stack > article {
+ border-radius: 0.5rem;
+ border: thin solid var(--background-secondary);
+ max-width: calc(100vw - 12px);
}
-
-table#t01 tbody,
-table.hosts tbody {
- display: table;
+.lane.stack > article > header,
+.lane.stack > article > h3:first-child {
+ border-top-left-radius: 0.5rem;
+ border-top-right-radius: 0.5rem;
}
-
-table#t01 tr:nth-child(even),
-table.hosts tr:nth-child(even) {
- background-color: #cccccc;
- border-bottom: thick solid white;
+.lane > article > header a,
+.lane > article > h3:first-child a {
+ color: var(--link-secondary);
}
-
-table#t01 tr:nth-child(odd),
-table.hosts tr:nth-child(odd) {
- background-color: white;
- border-bottom: thick solid white;
+.lane > article > header a:hover,
+.lane > article > h3:first-child:hover {
+ color: var(--link-secondary-hover);
}
-
-table.hosts tr td img {
- vertical-align: middle;
- max-height: 80px;
+.lane.stack> * > header * {
+ margin-top: 0;
+ margin-bottom: 0;
}
-
-table.hosts th:first-child,
-table.hosts td:first-child {
- min-width: 60px;
- max-width: 80px;
- text-align: left;
- height: 62px;
+.lane.stack > * > header p {
+ font-size: var(--default-header-4-font-size);
+ margin-left: 22px;
}
-
-table.hosts th:nth-child(2),
-table.hosts td:nth-child(2) {
- text-align: left;
- padding-left: clamp(0.15rem, -0.25rem + 3vw, 0.5rem);
-}
-
-table.hosts th:nth-child(3),
-table.hosts td:nth-child(3),
-table.hosts th:nth-child(4),
-table.hosts td:nth-child(4) {
- width: 10%;
- padding-right: clamp(0.10rem, -0.25rem + 3vw, 1rem);
-}
-
-body>div>footer {
- margin-top: 2rem;
-}
-
-footer #more_info nav.column {
- clear: both;
- font-size: 0.9rem;
- margin-left: 0.5rem;
-}
-
-footer #more_info nav.column ul li {
- float: left;
- margin-right: 1.5rem;
+.lane.stack > article > footer {
margin-bottom: 1rem;
}
+a.lane-button {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ margin: 0.5rem var(--link-spacing-horizontal);
+ padding: 0.5rem 0.25rem;
+ border-width: 3.5px;
+ border-color: var(--lane-button-border);
+ border-style: solid;
+ border-radius: 10px;
+ text-align: center;
+ background-image: url("../images/lane-button-background.png");
-footer #more_info nav.column h2 {
- font-size: 1.35rem;
- margin-top: 0.5rem;
}
-
-footer h1.thick_bar {
- clear: left;
- font-size: 1.15rem;
+a.lane-button p {
+ font-family: var(--lane-button-font-family);
+ text-transform: lowercase;
+ font-size: 1.4em;
+ mask-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.1)), url("../images/charcoal.png");
+ mask-repeat: repeat;
+ mask-size: 10%;
+ background-clip: text;
+ margin: -0.25rem;
+ letter-spacing: 1px;
+ padding: 0.25rem;
}
-
-footer #copyright {
- font-size: smaller;
- margin-left: 0.5rem;
- margin-right: 0.5rem;
+a.lane-button:hover {
+ box-shadow:
+ 1px 2px 2px var(--link-primary-hover),
+ 2px 4px 4px var(--link-primary-hover);
}
-
-fieldset>table,
-fieldset>table thead,
-fieldset>table tbody,
-fieldset>table tr,
-fieldset>table th,
-fieldset>table td,
-fieldset>table td input,
-fieldset>table td textarea {
+a.lane-button img {
+ height: clamp(100px, calc(100vw - var(--for-tablet-portrait-up)), 110px);
+ transform: scaleX(0.9);
+ mask-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.1)), url("../images/charcoal.png");
+ mask-repeat: repeat;
+ mask-size: 70%;
+ padding: 0.5rem;
+ box-sizing: border-box;
+}
+#podcast_lane a.lane-button:first-of-type img {
+ mask-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0.1)), url("../images/charcoal.png");
+ mask-repeat: repeat;
+ mask-size: 60%;
+ padding: 0.1rem;
+}
+#podcast_lane a.lane-button:first-of-type p {
+ font-size: 1.5rem;
+}
+section:nth-of-type(odd) .lane a:nth-of-type(1) {
+ border-radius: 20px 15px 25px 15px;
+}
+section:nth-of-type(odd) .lane a:nth-of-type(2) {
+ border-radius: 20px 15px 25px 15px;
+}
+section:nth-of-type(odd) .lane a:nth-of-type(3) {
+ border-radius: 10px 25px 15px 20px;
+}
+section:nth-of-type(odd) .lane a:nth-of-type(4) {
+ border-radius: 15px 15px 10px 20px;
+}
+section:nth-of-type(even) .lane a:nth-of-type(1) {
+ border-radius: 25px 10px 15px 15px;
+}
+section:nth-of-type(even) .lane a:nth-of-type(2) {
+ border-radius: 20px 10px 15px 10px;
+}
+section:nth-of-type(even) .lane a:nth-of-type(3) {
+ border-radius: 10px 20px 10px 15px;
+}
+section:nth-of-type(even) .lane a:nth-of-type(4) {
+ border-radius: 15px 10px 25px 30px;
+}
+#tag_line,
+#title {
+ text-transform: uppercase;
+}
+#tag_line {
+ line-height: 1.1;
+}
+#tag_line *,
+#title * {
+ margin: 0;
+ padding: 0;
+ flex: 1 1 auto;
+ background: none;
+}
+#title {
+ background-image: url("/images/hpr-splatter-logo.svg");
+ background-repeat: no-repeat;
+ background-size: 15rem;
+ background-position: left 8.5em top -2em;
+}
+#title a {
+ color: var(--link-title-color);
+}
+#title a:hover {
+ color: var(--link-primary-hover);
+}
+#title #site_acronym {
+ font-family: var(--logo-font-family);
+ font-size: var(--logo-font-size);
+ font-weight: var(--logo-font-weight);
+ letter-spacing: var(--logo-letter-spacing);
+ line-height: var(--logo-line-height);
+ margin: var(--logo-margin);
+ color: transparent;
+}
+#title #site_acronym a {
+ text-decoration: none;
+ text-shadow: 0 1px var(--link-secondary);
+}
+#title #site_name {
+ font-size: var(--default-header-2-font-size);
+ font-weight: bold;
+}
+#tag_line {
+ text-align: center;
+}
+#tag_line #tag1,
+#tag_line #tag2 {
+ text-transform: uppercase;
+ font-family: var(--tagline-font-family);
+ font-size: clamp(1.03rem, -0.25rem + 3vw, var(--default-header-4-font-size));
+ font-weight: var(--default-header-x-font-weight);
+ letter-spacing: 0.05rem;
+}
+#tag_line #tag1 {
+ font-size: clamp(2.1rem, calc(100vw - 360px + 1rem), 2.3rem);;
+}
+#tag_line #tag3 {
+ text-align: center;
+ text-transform: capitalize;
+ font-weight: var(--default-header-x-font-weight);
+}
+#site_url {
+ font-family: "GNUTypewriter", monospace;
+ text-transform: none;
+}
+fieldset {
+ border: thin solid var(--input-border-primary);
+ border-radius: 0.2rem;
+}
+fieldset > table,
+fieldset > table thead,
+fieldset > table tbody,
+fieldset > table tr,
+fieldset > table th,
+fieldset > table td,
+fieldset > table td input,
+fieldset > table td textarea,
+fieldset > table td select {
display: block;
font-size: 1rem;
}
-
-fieldset>table {
+fieldset > table {
width: calc(100vw + -16vw + -1rem);
max-width: 100%;
}
-
-fieldset>table td input,
-fieldset>table td textarea {
- width: calc(100vw + -16vw + -1.5rem);
- max-width: 100%;
- border: thin solid #DFDFDF;
+input {
+ border: thin solid var(--input-border-primary);
+ border-radius: 0.2rem;
margin-bottom: 0.5rem;
padding: 0.5rem;
}
-
-fieldset>table td select {
- margin-bottom: 0.5rem;
- padding: 0.25rem;
+input[type="submit"] {
+ background-color: var(--background-secondary);
+ color: var(--text-secondary);
+ font-weight: 400;
+ width: fit-content;
}
-
-fieldset>table td input[type="radio"] {
+input[type="submit"]:hover {
+ background-color: var(--link-primary-hover);
+ color: var(--background-primary);
+}
+select {
+ appearance: auto;
+ background: var(--background-primary);
+ color: var(--text-primary);
+ border: 1px solid var(--input-border-primary);
+ border-radius: 0.25rem;
+ cursor: pointer;
+ margin-bottom: 0.5rem;
+ padding: 0.5rem;
+}
+select:focus{
+ background: var(--background-secondary);
+ color: var(--text-secondary);
+}select:active {
+ background: var(--background-secondary);
+ color: var(--text-primary);
+}
+fieldset > input,
+fieldset > table td input,
+fieldset > table td textarea {
+ width: calc(100vw + -16vw + -1.5rem);
+ max-width: 100%;
+}
+fieldset > table td select {
+ width: calc(100vw + -16vw + -0.40rem);
+}
+fieldset > table td input[type="radio"] {
display: initial;
width: initial;
margin-bottom: 0.5rem;
}
-
-fieldset>input {
- background: #4D4D4D;
- color: white;
- font-weight: 600;
- padding: 0.5rem;
- border: thin solid #DFDFDF;
- border-radius: 0.2rem;
+#youtube {
+ --video-ratio: calc(390 / 640);
+ width: min(calc(89vw + 0px), 640px);
+ height: min(calc(calc(89vw + 0px) * var(--video-ratio)), 390px);
+}
+#upload_method pre {
+ max-width: 80vw;
+ overflow-x: scroll;
+}
+#search form {
+ flex: 1 1 100%;
+}
+#search fieldset {
+ padding-top: 1rem;
+}
+#search fieldset > legend {
+ font-weight: var(--default-header-x-font-weight);
+}
+#search fieldset > input {
+ width: 94%;
+}
+#search fieldset > input[type="submit"] {
+ width: 100%;
+}
+#search fieldset > p {
+ margin-top: 0.5rem;
+ margin-bottom: 0.5rem;
+}
+.no-css {
+ display: none !important;
+}
+#tags .date {
+ margin:0;
+ font-size: 1rem;
+}
+#tags #tag_initial_letter_index {
+ columns: 3 auto;
+}
+#tags #tag_initial_letter_index li {
+ font-weight: bold;
+ list-style: none;
+}
+#tags .tag-index {
+ columns: 3 calc(var(--for-tablet-landscape-up) /3 );
+ column-gap: 1rem;
+}
+#tags .index-link {
+ text-align: right;
+}
+#comments > article > .show-meta {
+ font-size: smaller;
+}
+#hosts tr {
+ gap: 0;
+ justify-content: flex-start;
+}
+#hosts td {
+ display: inline-block;
+}
+#hosts td:nth-child(-n+2) {
+ background: var(--background-secondary);
+ color: var(--background-primary);
+}
+#hosts td:nth-child(2) {
+ display: inline-flex;
+}
+#hosts td:nth-child(-n+2) a {
+ color: var(--link-secondary);
+ flex: 1;
+}
+#hosts td:nth-child(-n+2) a:hover {
+ color: var(--link-secondary-hover);
+}
+#hosts td:nth-child(-n+2) a strong {
+ display: inline-block;
+ line-height: 1.5rem;
+}
+#hosts td:nth-child(2) {
+ padding: 0.25rem 0 0 8px;
+ width: calc(100% - 90px);
}
-@media only screen and (min-width: 58rem) {
- #container {
- margin: 0.5rem auto;
+#hosts td:nth-last-child(-n+2) {
+ padding: 0.5rem 0 0 95px;
+}
+#hosts td:nth-last-child(2)::before {
+ content: ;
+ content: "License: ";
+}
+#hosts td:nth-last-child(1)::before {
+ content: "Last Show: ";
+}
+#hosts td > img {
+ border-radius: 0.25rem;
+}
+#host {
+ justify-content: center;
+ align-items: center;
+ gap: 0.5rem;
+}
+#host_id {
+ text-align: center;
+}
+#host_id > h2 {
+ margin-top: 0;
+}
+#host_id img {
+ border-radius: 0.25rem;
+}
+#host_meta {
+ flex: 1;
+ padding: 0 0 0.75rem 0;
+}
+#host_meta > div,
+#host_meta > p {
+ margin: 0.25rem 0;
+ line-height: var(--primary-content-line-height);
+}
+#host_meta > div > p {
+ display: inline-block;
+ margin: 0;
+ padding: 0;
+}
+.series-description {
+ margin: 0 0 1rem 0;
+ padding: 0;
+ font-style: italic;
+}
+.series-desciption > *:last-child {
+ margin-bottom: 0;
+}
+.sr-only {
+ position: absolute;
+ width: 1px;
+ height: 1px;
+ padding: 0;
+ margin: -1px;
+ overflow: hidden;
+ clip: rect(0, 0, 0, 0);
+ border: 0;
+}
+#show_notes {
+ max-width: 98vw;
+}
+#show_notes pre
+{
+ overflow: auto;
+}
+#show_notes code {
+ display: inline-block;
+ background-color: var(--show-notes-pre-background);
+ border: 1px solid #ddd;
+ padding: 0.1em 0;
+}
+nav.episodes {
+ color: var(--background-primary);
+ font-size: 0.9em;
+ display: flex;
+ flex-direction: row;
+ justify-content: space-around;
+ max-width: 100vw;
+}
+nav.episodes span {
+ color: var(--text-primary);
+ display: inline-block;
+ text-align: center;
+ border: solid thin var(--text-primary);
+}
+nav.episodes span:nth-child(-n+2),
+nav.episodes span:nth-child(-n+2) a {
+ border-top-left-radius: 2rem;
+ border-bottom-left-radius: 2rem;
+}
+nav.episodes span:nth-child(n+3),
+nav.episodes span:nth-child(n+3) a {
+ border-top-right-radius: 2rem;
+ border-bottom-right-radius: 2rem;
+}
+nav.episodes span.no-link,
+nav.episodes span a {
+ padding: 0.3em var(--episode-nav-padding) 0.1em var(--episode-nav-padding);
+ display: inline-block;
+ min-width: 4.4em;
+ min-height: 1.5em;
+}
+nav.episodes span a:hover {
+ background-color: var(--link-primary-hover);
+ color: var(--link-secondary-hover);
+}
+nav.episodes svg {
+ margin: 0 0.2rem;
+ height: 0.85em;
+ max-width: 13px;
+ vertical-align: middle;
+}
+nav.episodes span a svg #arrow,
+nav.episodes span a svg #bar {
+ stroke: var(--link-primary);
+ fill: var(--link-primary);
+}
+nav.episodes span a:hover svg #arrow,
+nav.episodes span a:hover svg #bar {
+ stroke: var(--link-secondary-hover);
+ fill: var(--link-secondary-hover);
+}
+@media (min-width: 600px) {
+ body > header .bounding-box {
+ justify-content: space-between;
}
-
- .shadow {
- -moz-box-shadow: 1px 2px 5px 2px #675958;
- -webkit-box-shadow: 1px 2px 5px 2px #675958;
- box-shadow: 1px 2px 5px 2px #675958;
+ #tag_line {
+ line-height: 1;
}
-
- img#hprlogo {
- margin-bottom: 1.5rem;
+ #title #tag1 {
+ font-size: 7.5rem;
+ letter-spacing: -0.65rem;
+ line-height: 0.75;
}
-
- #hpr_banner {
- float: left;
+ #tag_line #tag2 {
+ font-size: 1.82rem;
+ letter-spacing: 0.05rem;
}
-
- #hpr_banner h1#sitename {
- font-size: 2rem;
+ #tag_line #tag1 {
+ font-size: 4rem;
}
-
- #hpr_banner h2 {
- font-size: 1rem;
+ #tag_line #tag3 {
+ font-size: 1.85rem;
+ letter-spacing: 0.05rem;
+ margin-left: 5rem;
}
-
- header>hr {
- clear: right;
+ #qr_code {
+ text-align: center;
+ max-width: 195px;
}
-
- table.hosts td:first-child {
- height: 80px;
- }
-
- footer #more_info nav.column {
- clear: none;
- float: left;
- width: 19.5%;
- margin-left: 0;
- }
-
- footer #more_info nav.column:first-child {
- margin-left: 0.5rem;
- }
-
- footer #more_info nav.column ul li {
- float: none;
- margin-bottom: 0.5rem;
- }
-
fieldset>table,
fieldset>table thead,
fieldset>table tbody,
@@ -483,7 +852,8 @@ fieldset>input {
fieldset>table th,
fieldset>table td,
fieldset>table td input,
- fieldset>table td textarea {
+ fieldset>table td textarea,
+ fieldset>table td select {
display: revert;
width: revert;
}
@@ -515,4 +885,100 @@ fieldset>input {
fieldset>table td input[type="radio"] {
margin-top: 1.5rem;
}
+ fieldset>table td select {
+ margin-bottom: 1.0rem;
+ width: 100%;
+ }
+ #search fieldset > input {
+ width: 55%;
+ }
+ #search fieldset > input[type="submit"] {
+ width: 40%;
+ }
+ body > main {
+ padding: 0.25rem 2rem;
+ }
+ #latest_lane.lane section > ul {
+ margin: 0.5rem 3rem 0 1rem;
+ }
+ #hosts tbody.lane.stack {
+ flex-direction: row;
+ justify-content: space-between;
+ gap: 1rem
+ }
+ #hosts tr {
+ flex: 1 1 45%;
+ max-width: 45%;
+ }
+ #host {
+ gap: 2rem;
+ }
+ nav.episodes {
+ display: inline-block;
+ }
+}
+@media (min-width: 900px) {
+ #podcast_lane > .lane,
+ #project_lane > .lane {
+ justify-content: flex-start;
+ gap: 2rem;
+ }
+ #latest_lane.lane section {
+ flex: 1;
+ }
+ #hosts tr {
+ flex: 1 1 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);
+ }
}
diff --git a/public_html/css/patrickhand/BebasNeue.woff b/public_html/css/patrickhand/BebasNeue.woff
new file mode 100644
index 0000000..f81d0db
Binary files /dev/null and b/public_html/css/patrickhand/BebasNeue.woff differ
diff --git a/public_html/css/patrickhand/OFL.txt b/public_html/css/patrickhand/OFL.txt
new file mode 100644
index 0000000..2df4406
--- /dev/null
+++ b/public_html/css/patrickhand/OFL.txt
@@ -0,0 +1,93 @@
+Copyright (c) 2010-2012 Patrick Wagesreiter (mail@patrickwagesreiter.at)
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+https://openfontlicense.org
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/public_html/css/patrickhand/PatrickHand-Regular.ttf b/public_html/css/patrickhand/PatrickHand-Regular.ttf
new file mode 100644
index 0000000..a1b90ba
Binary files /dev/null and b/public_html/css/patrickhand/PatrickHand-Regular.ttf differ
diff --git a/public_html/css/patrickhand/PatrickHand-Regular.woff b/public_html/css/patrickhand/PatrickHand-Regular.woff
new file mode 100644
index 0000000..a904383
Binary files /dev/null and b/public_html/css/patrickhand/PatrickHand-Regular.woff differ
diff --git a/public_html/css/patrickhand/PatrickHand-Regular.woff2 b/public_html/css/patrickhand/PatrickHand-Regular.woff2
new file mode 100644
index 0000000..8e76102
Binary files /dev/null and b/public_html/css/patrickhand/PatrickHand-Regular.woff2 differ
diff --git a/public_html/images/Richard_Querin_atomic-plain.svg b/public_html/images/Richard_Querin_atomic-plain.svg
new file mode 100644
index 0000000..2313474
--- /dev/null
+++ b/public_html/images/Richard_Querin_atomic-plain.svg
@@ -0,0 +1,122 @@
+
+
+
+
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/public_html/images/charcoal.png b/public_html/images/charcoal.png
new file mode 100644
index 0000000..ec933af
Binary files /dev/null and b/public_html/images/charcoal.png differ
diff --git a/public_html/images/contribute-audacity-export-sm.png b/public_html/images/contribute-audacity-export-sm.png
new file mode 100644
index 0000000..1c50f8e
Binary files /dev/null and b/public_html/images/contribute-audacity-export-sm.png differ
diff --git a/public_html/images/contribute-audacity-record-sm.png b/public_html/images/contribute-audacity-record-sm.png
new file mode 100644
index 0000000..2f0912c
Binary files /dev/null and b/public_html/images/contribute-audacity-record-sm.png differ
diff --git a/public_html/images/contribute-mumble-record-sm.png b/public_html/images/contribute-mumble-record-sm.png
new file mode 100644
index 0000000..b6525e6
Binary files /dev/null and b/public_html/images/contribute-mumble-record-sm.png differ
diff --git a/public_html/images/hpr-splatter-logo.svg b/public_html/images/hpr-splatter-logo.svg
new file mode 100644
index 0000000..cfbb59f
--- /dev/null
+++ b/public_html/images/hpr-splatter-logo.svg
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/public_html/images/hpr_feed_small.png b/public_html/images/hpr_feed_small.png
new file mode 100644
index 0000000..66ee472
Binary files /dev/null and b/public_html/images/hpr_feed_small.png differ
diff --git a/public_html/images/icons/arrow-first.svg b/public_html/images/icons/arrow-first.svg
new file mode 100644
index 0000000..4d67727
--- /dev/null
+++ b/public_html/images/icons/arrow-first.svg
@@ -0,0 +1,24 @@
+
+
+
+
+
+
diff --git a/public_html/images/icons/arrow-last.svg b/public_html/images/icons/arrow-last.svg
new file mode 100644
index 0000000..00a3f28
--- /dev/null
+++ b/public_html/images/icons/arrow-last.svg
@@ -0,0 +1,25 @@
+
+
+
+
+
+
diff --git a/public_html/images/icons/arrow-next.svg b/public_html/images/icons/arrow-next.svg
new file mode 100644
index 0000000..e5ca5f9
--- /dev/null
+++ b/public_html/images/icons/arrow-next.svg
@@ -0,0 +1,15 @@
+
+
+
+
+
diff --git a/public_html/images/icons/arrow-previous.svg b/public_html/images/icons/arrow-previous.svg
new file mode 100644
index 0000000..6fe8101
--- /dev/null
+++ b/public_html/images/icons/arrow-previous.svg
@@ -0,0 +1,15 @@
+
+
+
+
+
diff --git a/public_html/images/icons/calendar-2-line.svg b/public_html/images/icons/calendar-2-line.svg
new file mode 100644
index 0000000..b3bcbb5
--- /dev/null
+++ b/public_html/images/icons/calendar-2-line.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/public_html/images/icons/mic-fill.svg b/public_html/images/icons/mic-fill.svg
new file mode 100644
index 0000000..7ce728f
--- /dev/null
+++ b/public_html/images/icons/mic-fill.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/public_html/images/icons/question-mark.svg b/public_html/images/icons/question-mark.svg
new file mode 100644
index 0000000..a270cb0
--- /dev/null
+++ b/public_html/images/icons/question-mark.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/public_html/images/icons/rss-fill.svg b/public_html/images/icons/rss-fill.svg
new file mode 100644
index 0000000..3aa81eb
--- /dev/null
+++ b/public_html/images/icons/rss-fill.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/public_html/images/icons/search.svg b/public_html/images/icons/search.svg
new file mode 100644
index 0000000..aa55efe
--- /dev/null
+++ b/public_html/images/icons/search.svg
@@ -0,0 +1,57 @@
+
+
+ Search Icon
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Search Icon
+ 2025-08-05
+
+
+ Roan Horning
+
+
+
+
+
+
diff --git a/public_html/images/icons/stack-fill.svg b/public_html/images/icons/stack-fill.svg
new file mode 100644
index 0000000..e5c9737
--- /dev/null
+++ b/public_html/images/icons/stack-fill.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/public_html/images/icons/user-fill.svg b/public_html/images/icons/user-fill.svg
new file mode 100644
index 0000000..1bbcd53
--- /dev/null
+++ b/public_html/images/icons/user-fill.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/public_html/images/icons/volume-up-fill.svg b/public_html/images/icons/volume-up-fill.svg
new file mode 100644
index 0000000..0d3a945
--- /dev/null
+++ b/public_html/images/icons/volume-up-fill.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/public_html/images/lane-button-background-dark.png b/public_html/images/lane-button-background-dark.png
new file mode 100644
index 0000000..191f05a
Binary files /dev/null and b/public_html/images/lane-button-background-dark.png differ
diff --git a/public_html/images/lane-button-background.png b/public_html/images/lane-button-background.png
new file mode 100644
index 0000000..3109e63
Binary files /dev/null and b/public_html/images/lane-button-background.png differ
diff --git a/public_html/images/main-header-background-dark.png b/public_html/images/main-header-background-dark.png
new file mode 100644
index 0000000..73a93aa
Binary files /dev/null and b/public_html/images/main-header-background-dark.png differ
diff --git a/public_html/images/main-header-background.png b/public_html/images/main-header-background.png
new file mode 100644
index 0000000..d9268b6
Binary files /dev/null and b/public_html/images/main-header-background.png differ
diff --git a/public_html/images/qr_code_logo.png b/public_html/images/qr_code_logo.png
new file mode 100644
index 0000000..47f291b
Binary files /dev/null and b/public_html/images/qr_code_logo.png differ
diff --git a/site.cfg b/site.cfg
index 36b2596..170532b 100644
--- a/site.cfg
+++ b/site.cfg
@@ -10,7 +10,7 @@ driver: dbi:SQLite:hpr.db
# Configure the location of the templates and the generated HTML
[app_paths]
-templates_path: ./templates
+templates_path: ./templates:./public_html/images/icons
output_path: ./public_html
# Configure the root template page which pulls in the navigation and
@@ -112,9 +112,9 @@ content: content-sitemap.tpl.html
navigation: navigation-main.tpl.html
content: content-tags.tpl.html
-[twat_episode]
+[twt_episode]
navigation: navigation-get-shows.tpl.html
-content: content-twat_episode.tpl.html
+content: content-twt_episode.tpl.html
multipage: true
filename: eps/twt[id]/index.html
@@ -134,6 +134,10 @@ content: content-promote.tpl.html
navigation: navigation-about.tpl.html
content: content-comments_viewer.tpl.html
+[new_year]
+navigation: navigation-about.tpl.html
+content: content-new_year.tpl.html
+
[hpr_ogg]
root_template: rss.tpl.xml
content: rss-hpr.tpl.xml
@@ -175,3 +179,15 @@ media_file_extension: spx
[comments]
root_template: rss-comments.tpl.xml
filename: comments.rss
+
+[correspondent_m3u]
+root_template: m3u.tpl.m3u8
+content: m3u-correspondent.tpl.m3u8
+filename: correspondents/[id]/playlist.m3u8
+multipage: true
+
+[series_episodes_m3u]
+root_template: m3u.tpl.m3u8
+content: m3u-series_episodes.tpl.m3u8
+filename: series/[id].m3u8
+multipage: true
diff --git a/templates/content-comments_viewer.tpl.html b/templates/content-comments_viewer.tpl.html
index 2794925..28d40f6 100644
--- a/templates/content-comments_viewer.tpl.html
+++ b/templates/content-comments_viewer.tpl.html
@@ -7,7 +7,8 @@
Comment Viewer
Because of the spammers we have had to turn on comment moderation. Sorry about the delay this will cause.
Subscribe to the comment feed.
-
+
+
diff --git a/templates/content-correspondent.tpl.html b/templates/content-correspondent.tpl.html
index e534255..d4144d9 100644
--- a/templates/content-correspondent.tpl.html
+++ b/templates/content-correspondent.tpl.html
@@ -3,68 +3,48 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
-
+
-
-
- Correspondent
-
-
- Host ID :
- email:
- profile:
- episodes:
-
-
+
+ Correspondent
+
+
+ Become a Correspondent
diff --git a/templates/content-correspondents.tpl.html b/templates/content-correspondents.tpl.html
index f4923be..a7a47fd 100644
--- a/templates/content-correspondents.tpl.html
+++ b/templates/content-correspondents.tpl.html
@@ -1,33 +1,34 @@
-
Correspondents
- For more information on how to become a Correspondent see our contribute page. To add a logo here, either email one to admin at hpr or setup your email on Gravatar . To protect your browsing privacy we gather the images every hour and serve them directly from HPR.
+ For more information on how to become a Correspondent see our contribute page. To add a logo here, either email one to admin at hpr or setup your email on Gravatar . To protect your browsing privacy we gather the images every hour and serve them directly from HPR.
-
- Avatar
- Name & Host ID
- License
- Last Show
+
+
+
+ Avatar
+ Name & Host ID
+ License
+ Last Show
+
-
+
-
-
- Host ID:
+
+ Host ID:
+
- Become a Correspondent
-
+ Become a Correspondent
diff --git a/templates/content-episode.tpl.html b/templates/content-episode.tpl.html
index 4fc71f1..d28ac3c 100644
--- a/templates/content-episode.tpl.html
+++ b/templates/content-episode.tpl.html
@@ -26,7 +26,7 @@ Hosted by
-
+
@@ -61,11 +61,11 @@ Subscribe to the comments about.html#so_you_want_to_record_a_podcast">record a response show instead.
+ If you can't fit everything you want to say in the comment below then you really should record a response show instead.
Note to Spammers
- All comments are moderated. All links are checked by humans. We strip out all html. Feel free to record a show about yourself, or your industry, or any other topic we may find interesting. We also check shows for spam :) .
+ All comments are moderated. All links are checked by humans. We strip out all html. Feel free to record a show about yourself, or your industry, or any other topic we may find interesting. We also check shows for spam :) .
+
+
+
diff --git a/templates/content-new_year.tpl.html b/templates/content-new_year.tpl.html
new file mode 100644
index 0000000..62c3bdf
--- /dev/null
+++ b/templates/content-new_year.tpl.html
@@ -0,0 +1,106 @@
+
+
+The Annual 26 Hour New Year's Eve Show
+
+
+If you keep talking, we'll keep recording.
+
+For those who don't know, on New Year's Eve , 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 , and keep recording until the conversation stops.
+
+So please stop in. Say "Hi" and maybe join in the conversation with other HPR listeners and contributors. It's always a good time!!
+
+
+Listen to the live stream
+
+
+
+
+
+
+https://files.shownotes.ooguy.com/stream
+https://hackerpublicradio.org/live
+
+
+Join the conversation on Mumble
+
+Ground Rules
+Use Push to Talk, and a Headset
+
+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.
+
+Be Polite
+
+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.
+
+Do not announce the Time Zones
+
+As there are so many Time Zones 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.
+
+Don't Fill Dead Air
+
+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 silences will be truncated .
+
+Do not monopolise the conversation
+
+Please be mindful that you (or your beverage of choice) may be speaking too much ;-).
+
+You are a Guest
+
+Be respectful, and remember that attendance on the New Year Show does not constitute a show .
+
+CC-BY-SA
+
+The recording will be released as a podcast on HPR under a Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.
+The recordings will be released mid year, when there is a lull in submissions.
+
+Mumble Setup
+
+Already have Mumble installed, then this link will bring you to the HPR Room .
+Get the PC Client https://wiki.mumble.info/wiki/Main_Page
+
Get the Android Client Mumla https://f-droid.org/packages/se.lublin.mumla
+Then join the Server: chatter.skyehaven.net
+Port: 64738
+Channel: HPR
+Use Push to Talk . With so many people hands free is not an option.
+For those who have never used Mumble before, see this how-to explaining the setup of the desktop Mumble client ,
+or listen to hpr3503 :: Configuring Mumble .
+
+Video Only (no audio) server
+
+
+For those who wish to see the video of some of the participants we have a jitsi server.
+https://jitsi.minnix.dev/hprnye
+Please make sure your mic is muted!
+
+
+Add to the Show-notes
+
+Please help fill out the show notes
+https://shownotes.lugcast.mywire.org/p/hpr-nye-2026
+We are using Etherpad for people to share links and info to things they are discussing.
+The Etherpad will be used for the HPR audio shownotes so please feel free to add to it.
+The entire event will be broken into 2 to 3 hour segments and made available as HPR episodes.
+This really, really helps us out to post the show faster !
+
+
+History
+
+Suggested by pokey 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 38 Timezones , over 26 Hours.
+
+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 LinuxLugCast , with the Mumble Server been provided by Delwin .
+
diff --git a/templates/content-new_year_show_announcement.tpl.html b/templates/content-new_year_show_announcement.tpl.html
new file mode 100644
index 0000000..197d536
--- /dev/null
+++ b/templates/content-new_year_show_announcement.tpl.html
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+ If you keep talking, we'll keep recording.
+
+ For those who don't know, on New Year's Eve , 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 , and keep recording until the conversation stops.
+
+ So please stop in. Say "Hi" and maybe join in the conversation with other HPR listeners and contributors. It's always a good time!!
+
+
Listen to the live stream
+
+
+
+
+
+
+ https://files.shownotes.ooguy.com/stream
+ https://hackerpublicradio.org/live
+
+
+ More information…
+
+
diff --git a/templates/content-search.tpl.html b/templates/content-search.tpl.html
index 53e7a61..53fd39f 100644
--- a/templates/content-search.tpl.html
+++ b/templates/content-search.tpl.html
@@ -1,45 +1,123 @@
-
-
-
-Search Show Tags
-
-Complete list of all the Tags
-
-Google
-
-
-privacy policy
-
-
-DuckDuckGo
-
-
-privacy policy
-
-
-Bing
-
-
-
-privacy policy
-
-
+
+
diff --git a/templates/content-series.tpl.html b/templates/content-series.tpl.html
index 797ce9d..6f84881 100644
--- a/templates/content-series.tpl.html
+++ b/templates/content-series.tpl.html
@@ -1,17 +1,21 @@
-
In-Depth Series
+
-
-
- Number of episodes:
- Open/closed:
- Date of earliest show:
- Date of latest show:
- Series RSS feeds: ogg , spx , mp3
-
-
-
+
+
+
+
+
+
+
diff --git a/templates/content-series_episode.tpl.html b/templates/content-series_episode.tpl.html
index eea11de..9a44d0c 100644
--- a/templates/content-series_episode.tpl.html
+++ b/templates/content-series_episode.tpl.html
@@ -5,7 +5,6 @@
-
In-Depth Series:
-
-
+
+
+
diff --git a/templates/content-syndication.tpl.html b/templates/content-syndication.tpl.html
index d07ea99..c8afc11 100644
--- a/templates/content-syndication.tpl.html
+++ b/templates/content-syndication.tpl.html
@@ -1,24 +1,20 @@
RSS Syndication
-
-
-
Great that you want to listen. Have a look below at the feeds that best suite your listening habits.
-
-
+
+
+
The Community News Summary
- One show a month
+ One show a month
+
-
- If you get overwhelmend by the amount of shows we produce, then this is a good place to start.
-
-
- Every month, the HPR Janitors put down their mops had have a chat about all the shows, and what else has been going on in the HPR community. This is a regular show scheduled for the first Monday of the month.
-
+ If you get overwhelmend by the amount of shows we produce, then this is a good place to start.
+
+ Every month, the HPR Janitors put down their mops had have a chat about all the shows, and what else has been going on in the HPR community. This is a regular show scheduled for the first Monday of the month.
+
+
Two week Audio feed
- 5 shows a week
+ 5 shows a week
+
Use these feeds to keep up to date with the latest HPR Episodes.
@@ -77,8 +75,10 @@
Listener contributed comments to the episodes
-
+
+
Other Download Options
+
- Full Episode Guide
-
- The compete episode guide is available to you, and it lists all the shows on one page going right back to the very first episode.
-
- Command line download
-
- You can download the audio of the episodes directly from the command line using the following commands:
-
-
- ogg:
- curl 'eps/hpr[0001-].ogg' -o "hpr#1.ogg"
- spx:
- curl 'eps/hpr[0001-].spx' -o "hpr#1.spx"
- mp3:
- curl 'eps/hpr[0001-].mp3' -o "hpr#1.mp3"
-
-
+
+
+
+ The compete episode guide is available to you, and it lists all the shows on one page going right back to the very first episode.
+
+
+
+
+ You can download the audio of the episodes directly from the command line using the following commands:
+
+ ogg:
+ curl 'eps/hpr[0001-].ogg' -o "hpr#1.ogg"
+ spx:
+ curl 'eps/hpr[0001-].spx' -o "hpr#1.spx"
+ mp3:
+ curl 'eps/hpr[0001-].mp3' -o "hpr#1.mp3"
+
+
+
diff --git a/templates/content-tags.tpl.html b/templates/content-tags.tpl.html
index 13a9dd3..170da33 100644
--- a/templates/content-tags.tpl.html
+++ b/templates/content-tags.tpl.html
@@ -1,3 +1,4 @@
+
\ No newline at end of file
diff --git a/templates/content-twat_episode.tpl.html b/templates/content-twt_episode.tpl.html
similarity index 91%
rename from templates/content-twat_episode.tpl.html
rename to templates/content-twt_episode.tpl.html
index a560740..209f158 100644
--- a/templates/content-twat_episode.tpl.html
+++ b/templates/content-twt_episode.tpl.html
@@ -6,23 +6,23 @@
Hosted by
on
is flagged as
and is released under a
license .
-
-
+
+
diff --git a/templates/ids-correspondent_m3u.tpl.html b/templates/ids-correspondent_m3u.tpl.html
new file mode 100644
index 0000000..af06681
--- /dev/null
+++ b/templates/ids-correspondent_m3u.tpl.html
@@ -0,0 +1,7 @@
+
+
+,
+
+
diff --git a/templates/ids-series_episodes_m3u.tpl.html b/templates/ids-series_episodes_m3u.tpl.html
new file mode 100644
index 0000000..e3f89d9
--- /dev/null
+++ b/templates/ids-series_episodes_m3u.tpl.html
@@ -0,0 +1,7 @@
+
+
+,
+
+
diff --git a/templates/ids-twat_episode.tpl.html b/templates/ids-twt_episode.tpl.html
similarity index 75%
rename from templates/ids-twat_episode.tpl.html
rename to templates/ids-twt_episode.tpl.html
index 9616fe6..4dc9cbb 100644
--- a/templates/ids-twat_episode.tpl.html
+++ b/templates/ids-twt_episode.tpl.html
@@ -1,6 +1,6 @@
,
diff --git a/templates/m3u-correspondent.tpl.m3u8 b/templates/m3u-correspondent.tpl.m3u8
new file mode 100644
index 0000000..5b093b1
--- /dev/null
+++ b/templates/m3u-correspondent.tpl.m3u8
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+#EXTINF: , -
+
+
+
+
+
+
+
+
+
+
+#EXTINF: , -
+
+
+
+
+
+
diff --git a/templates/m3u-series_episodes.tpl.m3u8 b/templates/m3u-series_episodes.tpl.m3u8
new file mode 100644
index 0000000..4bbd429
--- /dev/null
+++ b/templates/m3u-series_episodes.tpl.m3u8
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+#EXTINF: , -
+
+
+
+
+
+
diff --git a/templates/m3u.tpl.m3u8 b/templates/m3u.tpl.m3u8
new file mode 100644
index 0000000..1c61389
--- /dev/null
+++ b/templates/m3u.tpl.m3u8
@@ -0,0 +1,2 @@
+#EXTM3U
+
diff --git a/templates/navigation-main.tpl.html b/templates/navigation-main.tpl.html
index 68a0033..7bc54e3 100644
--- a/templates/navigation-main.tpl.html
+++ b/templates/navigation-main.tpl.html
@@ -1,11 +1,7 @@
-
+
diff --git a/templates/page.tpl.html b/templates/page.tpl.html
index 7fe781c..8c62065 100644
--- a/templates/page.tpl.html
+++ b/templates/page.tpl.html
@@ -12,16 +12,6 @@
Public Radio is a podcast that releases shows every weekday Monday through Friday. Our shows are produced by the community (you) and can be on any topic that is of interest to and hobbyists." />
-
-
-
Public Radio Opus RSS" href="hpr_opus_rss.php" />
Public Radio Ogg Vorbis RSS" href="hpr_ogg_rss.php" />
@@ -33,116 +23,50 @@
-
+
-
-
-
-
-
-
-
+
-
-
+
-
-
+
+
diff --git a/templates/queries-correspondent.tpl.html b/templates/queries-correspondent.tpl.html
index 3363afe..27e9f9c 100644
--- a/templates/queries-correspondent.tpl.html
+++ b/templates/queries-correspondent.tpl.html
@@ -1,5 +1,12 @@
-
+
+
+
diff --git a/templates/queries-episodes.tpl.html b/templates/queries-episodes.tpl.html
index d2f846b..9905fb1 100644
--- a/templates/queries-episodes.tpl.html
+++ b/templates/queries-episodes.tpl.html
@@ -1,14 +1,24 @@
-
diff --git a/templates/queries-series_episodes.tpl.html b/templates/queries-series_episodes.tpl.html
index 22fdd81..e2d4571 100644
--- a/templates/queries-series_episodes.tpl.html
+++ b/templates/queries-series_episodes.tpl.html
@@ -14,14 +14,24 @@
WHERE miniseries.id = ?
ORDER BY name'
%-->
-
+
diff --git a/templates/rss-comments.tpl.xml b/templates/rss-comments.tpl.xml
index 6bbd0de..5865382 100644
--- a/templates/rss-comments.tpl.xml
+++ b/templates/rss-comments.tpl.xml
@@ -50,11 +50,11 @@
%-->
-
-
says:
- feedback.nospam@nospam.hackerpublicradio.org ()
+ says:
+ feedback.nospam@nospam.hackerpublicradio.org ()
eps/hpr/index.html#comments
- RE: hpr:: by
+ RE: hpr:: by
]]>
diff --git a/templates/shared-episode-summary.tpl.html b/templates/shared-episode-summary.tpl.html
index 2dcf07b..0216323 100644
--- a/templates/shared-episode-summary.tpl.html
+++ b/templates/shared-episode-summary.tpl.html
@@ -41,7 +41,7 @@ or
Flag: .
-
+
Comments:
@@ -56,7 +56,7 @@ or
-
+
Today with a Techie Ep. ::
hosted by
diff --git a/templates/shared-utils.tpl.html b/templates/shared-utils.tpl.html
index 4185dde..6081ba8 100644
--- a/templates/shared-utils.tpl.html
+++ b/templates/shared-utils.tpl.html
@@ -93,7 +93,7 @@
-
+
@@ -117,18 +117,71 @@
-<< First ,
+
+
+
+
+<< First ,
- < Previous ,
+ < Previous ,
- < Previous,
+ < Previous ,
- Next > ,
+ Next > ,
- Next >
+ Next > ,
- Latest >>
+ Latest >>
+
+
+
+
+
+
+
+ -12-31 10:00 UTC (5:00 AM EST)
+
+
+
+
+
+
+
+ -01-01 12:00 UTC (7:00 AM EST)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
says:
-Posted at relating to the show hpr which was released on by entitled -
-- -
- +says:
+Posted at relating to the show hpr which was released on by entitled +
++ +
++
+