1
0
forked from HPR/hpr_generator

12 Commits

Author SHA1 Message Date
b122f7c1c0 Make episode navigation links more button like 2025-10-26 00:45:34 -04:00
70fd148928 Clean up arrow icons 2025-10-26 00:44:10 -04:00
c53c6d50aa Tweak display of episode navigation on small displays 2025-10-25 19:48:41 -04:00
c4d94bb019 Add aria labels to episode navigation 2025-10-25 19:44:10 -04:00
1075833562 Add arrow icons for episode navigation 2025-10-25 16:44:09 -04:00
fb46c13394 First cut at navigation button style 2025-10-25 16:21:55 -04:00
f78789fdc4 Merge pull request 'First cut at dark theme' (#287) from i275_User-desiresa-Dark-Theme into main
Reviewed-on: HPR/hpr_generator#287
2025-10-25 18:05:44 +00:00
4327c15823 Merge branch 'main' into i275_User-desiresa-Dark-Theme 2025-10-25 18:05:17 +00:00
39c14fb3e4 Fix scrollbar issue on chrome based browsers 2025-10-25 13:44:39 -04:00
47e1ebf69c Improve contrast of header and link text for dark theme 2025-10-25 13:06:22 -04:00
88f9362279 Reduce brightness of images for dark theme 2025-10-25 13:04:15 -04:00
96e4d9a402 First cut at dark theme
Add reduced brightness background images for main header and lane
buttons. Use CSS filters to reduce brightness of host page images.
Redefine text and background color variables.
2025-10-23 22:07:30 -04:00
8 changed files with 208 additions and 7 deletions

View File

@@ -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,
@@ -730,6 +731,50 @@ 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: inset 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.17em;
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-navigation-hover);
}
nav.episodes span a img {
filter: none;
}
nav.episodes img {
margin: 0 0.2rem;
height: 0.85em;
max-width: 13px;
vertical-align: middle;
}
@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 +871,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,
@@ -841,3 +889,43 @@ fieldset > table td input[type="radio"] {
max-width: 30%; max-width: 30%;
} }
} }
@media (prefers-color-scheme: dark) {
:root {
--link-primary: #bbdfe7;
--link-header-hover: #b54c08; /* original --link-primary-hover */;
--link-primary-hover: var(--link-secondary-hover);
--background-primary: #4d4d4d; /* HPR Grey */
--text-primary: #dfdfdf /*#fffff7#fafafa#fbfbee #dfdfdf */;
--banner-text-primary: #b6b6b6;
--shadow-secondary-color: hsl(0, 0%, 40%);
--input-border-primary: var(--shadow-secondary-color);
--lane-button-color: #d5e6ea;
}
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);
}
}

View File

@@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
viewBox="0 0 8.0716972 9.7589998"
version="1.1"
id="svg1106"
width="8.0716972"
height="9.7589998"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1103" />
<g
id="layer1"
transform="translate(-92.715063,-46.059054)">
<g
id="g5606">
<path
id="arrow"
style="stroke-width:0.463;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;"
d="m 99.346123,55.549619 1.209147,-1.2065 -3.421063,-3.423708 3.386663,-3.386667 -1.21708,-1.217083 -4.595813,4.595813 z" />
<rect
style="stroke-width:0.406177;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:fill markers stroke"
id="bar"
width="1.5938228"
height="9.3528233"
x="92.918152"
y="46.262142"
rx="0"
ry="0.11228061" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
viewBox="0 0 8.0039654 9.7589998"
version="1.1"
id="svg1106"
width="8.0039654"
height="9.7589998"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1103" />
<g
id="layer1"
transform="translate(-92.782792,-46.059054)">
<g
id="g5606"
transform="matrix(-1,0,0,1,193.50182,0)">
<path
id="path9831"
style="color:#000000;fill:#000000;fill-opacity:0.984314;stroke:#000000;stroke-width:0.463;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 99.346123,55.549619 1.209147,-1.2065 -3.421063,-3.423708 3.386663,-3.386667 -1.21708,-1.217083 -4.595813,4.595813 z" />
<rect
style="opacity:0.985023;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.406177;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
id="rect3544"
width="1.5938228"
height="9.3528233"
x="92.918152"
y="46.262142"
rx="0"
ry="0.11228061" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
viewBox="0 0 6.3102736 9.6969385"
version="1.1"
id="arrow_next"
width="6.3102736"
height="9.6969385"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1103" />
<g
id="next"
transform="translate(-92.71506,-46.084171)">
<path
id="arrow"
style="color:#000000;fill:#000000;fill-opacity:0.984314;stroke:#000000;stroke-width:0.463;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 94.155697,55.549619 -1.209147,-1.2065 3.421063,-3.423708 -3.386663,-3.386667 1.21708,-1.217083 4.595813,4.595813 z" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 789 B

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
viewBox="0 0 6.3102736 9.6969385"
version="1.1"
id="arrow_first"
width="6.3102736"
height="9.6969385"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1103" />
<g
id="arrow"
transform="translate(-92.71506,-46.084171)">
<path
id="path9831"
style="color:#000000;fill:#000000;fill-opacity:0.984314;stroke:#000000;stroke-width:0.463;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 97.584696,55.549619 1.209147,-1.2065 -3.421063,-3.423708 3.386663,-3.386667 -1.21708,-1.217083 -4.595813,4.595813 z" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 795 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 611 KiB

View File

@@ -117,16 +117,16 @@
<!--% 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">&lt;&lt; First</a>, <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"><img src="/images/icons/arrow-first-plain.svg" alt="<<">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">&lt; Previous</a>, <span><a href="<!--% absolute_path(baseurl) %-->eps/<!--% folder %--><!--% zero_pad_left(links.previous) %-->/index.html" rel="previous" aria-label="previous episode"><img src="/images/icons/arrow-previous-plain.svg" alt="<">Previous</a></span>,
<!--% ELSE %--> <!--% ELSE %-->
<span>&lt;</span> Previous, <span class="no-link"><img src="/images/icons/arrow-previous-plain.svg" alt="<">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 &gt;</a>, <span><a href="<!--% absolute_path(baseurl) %-->eps/<!--% folder %--><!--% zero_pad_left(links.next) %-->/index.html" rel="next" aria-label="next episode">Next<img src="/images/icons/arrow-next-plain.svg" alt=">"></a></span>,
<!--% ELSE %--> <!--% ELSE %-->
Next <span>&gt;</span> <span class="no-link">Next<img src="/images/icons/arrow-next-plain.svg" alt=">"></span>,
<!--% END %--> <!--% END %-->
<a href="<!--% absolute_path(baseurl) %-->eps/<!--% folder %--><!--% zero_pad_left(links.latest) %-->/index.html" rel="last">Latest &gt;&gt;</a></small> <span><a href="<!--% absolute_path(baseurl) %-->eps/<!--% folder %--><!--% zero_pad_left(links.latest) %-->/index.html" rel="last" aria-label="latest episode">Latest<img src="/images/icons/arrow-last-plain.svg" alt=">>"></a></span></nav>
<!--% END %--> <!--% END %-->