Create single column card stack view

Apply to comments viewer, syndication, series, and series episodes pages.
This commit is contained in:
2025-09-03 21:57:28 -04:00
parent 3454bb717e
commit be17edd6ac
5 changed files with 46 additions and 35 deletions

View File

@@ -301,8 +301,12 @@ article > p,
gap: 1.0rem; gap: 1.0rem;
justify-content: space-around; justify-content: space-around;
} }
.lane.syndication { .lane.stack {
flex-direction: column; flex-direction: column;
justify-content: flex-start;
}
.lane.stack > * {
flex: 1 0 100%;
} }
#podcast_lane > .lane, #podcast_lane > .lane,
#project_lane > .lane, #project_lane > .lane,
@@ -331,7 +335,8 @@ article > p,
margin-left: 1rem; margin-left: 1rem;
margin-right: 1rem; margin-right: 1rem;
} }
.lane > article > header { .lane > article > header,
.lane > article > h3 {
background: var(--background-secondary); background: var(--background-secondary);
padding: 1.5rem 1rem 1rem 1rem; padding: 1.5rem 1rem 1rem 1rem;
margin: 0; margin: 0;
@@ -339,17 +344,19 @@ article > p,
font-size: 1.45rem; font-size: 1.45rem;
color: var(--background-primary); color: var(--background-primary);
} }
.lane > article > header a { .lane > article > header a,
.lane > article > h3 a {
color: var(--link-secondary); color: var(--link-secondary);
} }
.lane > article > header a:hover { .lane > article > header a:hover,
.lane > article > h3:hover {
color: var(--link-secondary-hover); color: var(--link-secondary-hover);
} }
.lane.syndication > article > header * { .lane.stack> * > header * {
margin-top: 0; margin-top: 0;
margin-bottom: 0; margin-bottom: 0;
} }
.lane.syndication > article > header p { .lane.stack > * > header p {
font-size: var(--default-header-4-font-size); font-size: var(--default-header-4-font-size);
margin-left: 22px; margin-left: 22px;
} }
@@ -542,6 +549,14 @@ fieldset > table td input[type="radio"] {
#tags .index-link { #tags .index-link {
text-align: right; text-align: right;
} }
#comments > article > .show-meta {
font-size: smaller;
}
.series-description {
margin: 0;
padding: 0;
font-style: italic;
}
.sr-only { .sr-only {
position: absolute; position: absolute;
width: 1px; width: 1px;
@@ -633,19 +648,11 @@ fieldset > table td input[type="radio"] {
body > main { body > main {
padding: 0.25rem 2rem; padding: 0.25rem 2rem;
} }
.lane > article {
max-height: 40vw;
overflow-y: scroll
}
#latest_lane.lane section > ul { #latest_lane.lane section > ul {
margin: 0.5rem 3rem 0 1rem; margin: 0.5rem 3rem 0 1rem;
} }
} }
@media (min-width: 900px) { @media (min-width: 900px) {
.lane > article {
flex-basis: 32%;
max-width: 32%;
}
#podcast_lane > .lane, #podcast_lane > .lane,
#project_lane > .lane { #project_lane > .lane {
justify-content: flex-start; justify-content: flex-start;

View File

@@ -7,7 +7,8 @@
<h2>Comment Viewer</h2> <h2>Comment Viewer</h2>
<p>Because of the spammers we have had to turn on comment moderation. Sorry about the delay this will cause.</p> <p>Because of the spammers we have had to turn on comment moderation. Sorry about the delay this will cause.</p>
<p><a href="<!--% absolute_path(baseurl) %-->comments.rss">Subscribe</a> to the comment feed.</p> <p><a href="<!--% absolute_path(baseurl) %-->comments.rss">Subscribe</a> to the comment feed.</p>
<hr /> <hr class="no-css">
<section id="comments" class="lane stack">
<!--% FOREACH item IN DBI.query(' <!--% FOREACH item IN DBI.query('
SELECT C.*, SELECT C.*,
H.host, H.hostid AS host_id, H.host, H.hostid AS host_id,
@@ -26,18 +27,18 @@
LIMIT 30 LIMIT 30
') ')
%--> %-->
<article> <article>
<header> <header>
<h1><!--% item.comment_author_name %--> says: <!--% item.comment_title %--></h1> <h2><!--% item.comment_author_name %--> says: <!--% item.comment_title %--></h2>
<p><small>Posted at <!--% item.comment_timestamp %--> relating to the show <a href="<!--% absolute_path(baseurl) %-->eps/hpr<!--% zero_pad_left(item.eps_id) %-->/index.html">hpr<!--% item.eps_id %--></a> which was released on <!--% item.episode_date %--> by <a href="<!--% absolute_path(baseurl) %-->correspondents/<!--% zero_pad_left(item.host_id) %-->.html"><!--% item.host %--></a> entitled <em><!--% item.episode_title %--></em></small>
</p>
</header> </header>
<p class="show-meta">Posted at <!--% item.comment_timestamp %--> relating to the show <a href="<!--% absolute_path(baseurl) %-->eps/hpr<!--% zero_pad_left(item.eps_id) %-->/index.html">hpr<!--% item.eps_id %--></a> which was released on <!--% item.episode_date %--> by <a href="<!--% absolute_path(baseurl) %-->correspondents/<!--% zero_pad_left(item.host_id) %-->.html"><!--% item.host %--></a> entitled <em><!--% item.episode_title %--></em></small>
</p>
<p class="comment"> <p class="comment">
<!--% item.comment_text FILTER html_line_break %--> <!--% item.comment_text FILTER html_line_break %-->
</p> </p>
<footer> <footer>
Listen in <a href="<!--% media_path(item.eps_id, 'hpr', 'ogg', baseurl, media_baseurl) %-->">ogg</a>, <a href="<!--% media_path(item.eps_id, 'hpr', 'spx', baseurl, media_baseurl) %-->">spx</a>, or <a href="<!--% media_path(item.eps_id, 'hpr', 'mp3', baseurl, media_baseurl) %-->">mp3</a> format.</p></footer> Listen in <a href="<!--% media_path(item.eps_id, 'hpr', 'ogg', baseurl, media_baseurl) %-->">ogg</a>, <a href="<!--% media_path(item.eps_id, 'hpr', 'spx', baseurl, media_baseurl) %-->">spx</a>, or <a href="<!--% media_path(item.eps_id, 'hpr', 'mp3', baseurl, media_baseurl) %-->">mp3</a> format.</p></footer>
</article> </article>
<hr /> <hr class="no-css">
<!--% END %--> <!--% END %-->
</section>

View File

@@ -2,8 +2,9 @@
<!--% PROCESS "queries-series.tpl.html" %--> <!--% PROCESS "queries-series.tpl.html" %-->
<!--% USE DBI(constants.driver) %--> <!--% USE DBI(constants.driver) %-->
<h1 class="title">In-Depth Series</h1> <h1 class="title">In-Depth Series</h1>
<div class="lane"> <div class="lane stack">
<!--% FOREACH series IN DBI.query(query_episodes) %--> <!--% FOREACH series IN DBI.query(query_episodes) %-->
<article> <article>
<header><a href="<!--% absolute_path(baseurl) %-->series/<!--% zero_pad_left(series.id) %-->.html"><!--% series.name %--></a></header> <header><a href="<!--% absolute_path(baseurl) %-->series/<!--% zero_pad_left(series.id) %-->.html"><!--% series.name %--></a></header>
<ul> <ul>
@@ -13,7 +14,7 @@
<li>Date of latest show: <!--% series.latest_show %--></li> <li>Date of latest show: <!--% series.latest_show %--></li>
<li>Series RSS feeds: <a href="<!--% absolute_path(baseurl) %-->hpr_ogg_rss.php?series=<!--% series.id %-->">ogg</a>, <a href="<!--% absolute_path(baseurl) %-->hpr_spx_rss.php?series=<!--% series.id %-->">spx</a>, <a href="<!--% absolute_path(baseurl) %-->hpr_mp3_rss.php?series=<!--% series.id %-->">mp3</a></li> <li>Series RSS feeds: <a href="<!--% absolute_path(baseurl) %-->hpr_ogg_rss.php?series=<!--% series.id %-->">ogg</a>, <a href="<!--% absolute_path(baseurl) %-->hpr_spx_rss.php?series=<!--% series.id %-->">spx</a>, <a href="<!--% absolute_path(baseurl) %-->hpr_mp3_rss.php?series=<!--% series.id %-->">mp3</a></li>
</ul> </ul>
<em><!--% series.description %--></em> <div class="series-description"><!--% series.description %--></div>
</article> </article>
<!--% END %--> <!--% END %-->
</div> </div>

View File

@@ -5,7 +5,6 @@
<!--% query_series = DBI.prepare(query_series_sql) <!--% query_series = DBI.prepare(query_series_sql)
%--> %-->
<!--% series_result = query_series.execute(id) %--> <!--% series_result = query_series.execute(id) %-->
<article>
<!--% FOREACH series IN series_result %--> <!--% FOREACH series IN series_result %-->
<h1 class="title">In-Depth Series: <!--% series.name %--></h1> <h1 class="title">In-Depth Series: <!--% series.name %--></h1>
<ul> <ul>
@@ -15,13 +14,16 @@
<li>Date of latest show: <!--% series.latest_show %--></li> <li>Date of latest show: <!--% series.latest_show %--></li>
<li>Series RSS feeds: <a href="<!--% absolute_path(baseurl) %-->hpr_ogg_rss.php?series=<!--% series.id %-->&full=1&gomax=1">ogg</a>, <a href="<!--% absolute_path(baseurl) %-->hpr_spx_rss.php?series=<!--% series.id %-->&full=1&gomax=1">spx</a>, <a href="<!--% absolute_path(baseurl) %-->hpr_mp3_rss.php?series=<!--% series.id %-->&full=1&gomax=1">mp3</a></li> <li>Series RSS feeds: <a href="<!--% absolute_path(baseurl) %-->hpr_ogg_rss.php?series=<!--% series.id %-->&full=1&gomax=1">ogg</a>, <a href="<!--% absolute_path(baseurl) %-->hpr_spx_rss.php?series=<!--% series.id %-->&full=1&gomax=1">spx</a>, <a href="<!--% absolute_path(baseurl) %-->hpr_mp3_rss.php?series=<!--% series.id %-->&full=1&gomax=1">mp3</a></li>
</ul> </ul>
<div><em><!--% series.description %--></em></div> <p><em><!--% series.description %--></em></p>
<!--% END %--> <section id="series_episodes" class="lane stack">
<!--% query_shows = DBI.prepare(query_shows_sql) <!--% query_shows = DBI.prepare(query_shows_sql)
%--> %-->
<!--% show_results = query_shows.execute(id) %--> <!--% show_results = query_shows.execute(id) %-->
<!--% FOREACH show IN show_results %--> <!--% FOREACH show IN show_results %-->
<article>
<!--% show_summary(show) %--> <!--% show_summary(show) %-->
<p class="listen-in"><!--% display_listen_in(show.id) %--></p> <footer class="listen-in"><!--% display_listen_in(show.id) %--></footer>
<!--% END %-->
</article> </article>
<!--% END %-->
</section>
<!--% END %-->

View File

@@ -3,7 +3,7 @@
<p> <p>
Great that you want to listen. Have a look below at the feeds that best suite your listening habits. Great that you want to listen. Have a look below at the feeds that best suite your listening habits.
</p> </p>
<div class="lane syndication"> <div class="lane stack">
<article> <article>
<header> <header>
<hgroup> <hgroup>