Archived
4
2

32 Commits

Author SHA1 Message Date
Roan Horning 4fa79187a9 Update 'README.md'
Add Ken Fallon
2023-03-31 21:00:50 +00:00
Roan Horning d5406f3cce Merge pull request '[I101] This reflects the change to move the "play" button to the top of the episode' (#102) from I101_Move_play_button_to_the_top into main
Reviewed-on: #102
2023-03-31 20:56:32 +00:00
Ken Fallon 5369bea657 This reflects the change to move the "play" button to the top of the episode 2023-03-31 14:02:49 +02:00
Roan Horning 0e9ad6ba65 Merge pull request 'Added lazy loading attribute to images in show notes.' (#100) from I99_Lazy_load_notes_images into main
Reviewed-on: #100
2023-03-28 02:19:47 +00:00
Gordon Stanton 610e91ea9f Added lazy loading attribute to images in show notes. 2023-03-19 22:51:21 +11:00
Roan Horning 860ce671f8 Merge pull request 'Moved thumbnail image tag to Block with conditional lazy load.' (#95) from I90_Lazy_load_host_avatars into main
Reviewed-on: #95
2023-03-16 16:13:48 +00:00
Roan Horning 51d6188542 Merge branch 'main' into I90_Lazy_load_host_avatars 2023-03-14 03:20:35 +00:00
rho_n c9278c0dd6 Remove unused PROCESS directive 2023-03-13 23:16:37 -04:00
rho_n aabeca44f5 Refactor templates to use show_avatar MACRO 2023-03-13 23:15:46 -04:00
rho_n 3a8b6db348 Add show_avatar MACRO 2023-03-13 23:14:35 -04:00
rho_n 7a6ace156f Refactor template to use get_avatar MACRO 2023-03-13 23:13:25 -04:00
rho_n dee924e6a8 Rename MACRO host_thumb to get_avatar
Update to use lazy_load MACRO and minimize number of
arguments needed.
2023-03-13 23:10:36 -04:00
rho_n 5b4421071f Add MACRO lazy_load
Macro which allows programatically setting the HTML5 img
loading attribute.
2023-03-13 23:03:15 -04:00
Roan Horning 61311b30dd Merge pull request '[I96] Add acknowledgement of gordons' (#98) from I96-updated_list_of_acknowledgements into main
Reviewed-on: #98
2023-03-14 00:50:52 +00:00
rho_n 7406a9baa4 Add acknowledgement of gordons 2023-03-13 20:47:59 -04:00
Gordon Stanton ce4aefe828 Renamed macro get_avatar to get_avatar_src as per suggestion.
Moved host_thumb macro into shared avatar template file.
Made condition of lazy loading a parameter.
2023-03-12 18:48:51 +11:00
Gordon Stanton ebcd906300 Moved thumbnail image tag to Block with conditional lazy load. 2023-03-11 01:57:51 +11:00
Roan Horning 3b144ecaf5 Merge pull request '[I87] Getting Started tutorial' (#89) from I87-Getting_Started_tutorial into main
Reviewed-on: #89
2023-03-10 02:44:53 +00:00
rho_n fc7975379e Fix grammer issues 2023-03-09 21:42:36 -05:00
rho_n 207eabec86 Add reference to the file GETTING_STARTED.md
Update the Installation instructions to include reference
to the Getting Started tutorial.
2023-03-09 21:39:53 -05:00
rho_n c9af4fbde8 Merge branch 'main' into I87-Getting_Started_tutorial 2023-03-09 21:04:02 -05:00
Roan Horning e557f103b9 Merge pull request '[I91] Fix link to comments viewer in about navigation menu' (#94) from I91-Fix_comments_viewer_link into main
Reviewed-on: #94
2023-03-10 02:02:00 +00:00
rho_n ea8403c7b6 Fix link to comments viewer in about navigation menu 2023-03-09 20:59:26 -05:00
rho_n b16a1c3a5f Merge branch 'main' into I87-Getting_Started_tutorial 2023-03-09 20:38:48 -05:00
Roan Horning 8783ca5099 Merge pull request '[I92] paramertize paths for configuration, templates, and HTML files' (#93) from I92-templates_and_output_directory_options into main
Reviewed-on: #93
2023-03-10 01:34:21 +00:00
rho_n f65e892182 Add template and HTML folder configuration options
Allow user to set the path for the website templates and
output folders in the site.cfg file.
2023-03-09 20:25:25 -05:00
rho_n 14bafbc3ab Add command line option for path to configuration file
Allow user to pass the path to the configuration file into the
site-generator.
2023-03-08 22:23:56 -05:00
rho_n 231a50957f Fix clone command of repositories 2023-03-07 19:33:09 -05:00
Roan Horning bdc28d21c4 Merge branch 'main' into I87-Getting_Started_tutorial 2023-03-08 00:22:37 +00:00
Roan Horning 0f4fdc2d46 Merge pull request 'Add lazy loading to host image' (#88) from I83_Lazy_load_host_images into main
Reviewed-on: #88
2023-03-04 22:00:52 +00:00
Roan Horning d3c2401e28 Merge branch 'main' into I83_Lazy_load_host_images 2023-03-04 22:00:21 +00:00
Gordon Stanton c744bdf175 Moved host thumbnail image tag to separate template file.
Added loading="lazy" to image tag.
Changed alt text to show host username.
2023-03-05 02:07:03 +11:00
12 changed files with 93 additions and 46 deletions
+7 -6
View File
@@ -3,13 +3,14 @@
If git is not installed on the operating system, please install it now If git is not installed on the operating system, please install it now
(see the git documentation for [instructions on installing git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)). (see the git documentation for [instructions on installing git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)).
To retrieve the code from the repository on anhonesthost.net, run: To retrieve the code from the repository on anhonesthost.net (a username and
password are required), run:
`clone https://repo.anhonesthost.net/rho_n/hpr_generator.git` `git clone https://repo.anhonesthost.net/rho_n/hpr_generator.git`
To retrieve the code from the repository on gitlab.com, run: To retrieve the code from the repository on gitlab.com, run:
`https://gitlab.com/roan.horning/hpr_generator.git` `git clone https://gitlab.com/roan.horning/hpr_generator.git`
On success, an "hpr_generator" directory will be created in the folder from On success, an "hpr_generator" directory will be created in the folder from
which the clone command was executed containing a local copy of the git repository. which the clone command was executed containing a local copy of the git repository.
@@ -17,7 +18,7 @@ which the clone command was executed containing a local copy of the git reposito
# Install required Perl modules # Install required Perl modules
Installing the Perl modules is the most finicky part of the installation process. Installing the Perl modules is the most finicky part of the installation process.
The needed Perl modules can be found using the operating systems's package The needed Perl modules can be found using the operating system's package
manager or using the modules found in the manager or using the modules found in the
[Comprehensive Perl Archive Network (CPAN)](https://www.cpan.org/). [Comprehensive Perl Archive Network (CPAN)](https://www.cpan.org/).
@@ -35,7 +36,7 @@ apt install libconfig-std-perl \
## Using CPAN to install the modules ## Using CPAN to install the modules
A cross platform method to install the needed modules is Perl CPAN application. A cross platform method to install the needed modules is the Perl CPAN application.
Make sure both the [make](https://www.gnu.org/software/make/manual/make.html) Make sure both the [make](https://www.gnu.org/software/make/manual/make.html)
command and the [cpan](https://perldoc.perl.org/CPAN) command are available. command and the [cpan](https://perldoc.perl.org/CPAN) command are available.
Install them using the operating system's package manager, or from source. Install them using the operating system's package manager, or from source.
@@ -56,7 +57,7 @@ cpan Tie::DBI
The hpr_generator relies on information from a database to generate many of the The hpr_generator relies on information from a database to generate many of the
files for the website (for example: index.html, series/index.html, files for the website (for example: index.html, series/index.html,
hpr_mp3.rss, etc). This data is available from a MySQL dump file found on hpr_mp3.rss, etc). This data is available from a MySQL dump file found on
hackerpublicradio.org at "https://www.hackerpublicradio.org/hpr.sql". hackerpublicradio.org at URL "https://www.hackerpublicradio.org/hpr.sql".
The first step is to download the hpr.sql file. This can be done using your The first step is to download the hpr.sql file. This can be done using your
browser, or by running one of the following commands: browser, or by running one of the following commands:
+4 -1
View File
@@ -35,7 +35,8 @@ Static web page generator for the Hacker Public Radio website.
* Tie::DBI * Tie::DBI
* DBD::SQLite or DBD:mysql * DBD::SQLite or DBD:mysql
* Date::Calc * Date::Calc
* See the Getting Started tutorial (GETTING_STARTED.md) for more details on
installing the HPR generator.
## Usage ## Usage
Generate two specific pages: Generate two specific pages:
`site-generator index about` `site-generator index about`
@@ -65,3 +66,5 @@ and add the label "**Feature Request**".
## Authors and acknowledgment ## Authors and acknowledgment
* Roan "Rho`n" Horning * Roan "Rho`n" Horning
* gordons
* Ken Fallon
+31 -17
View File
@@ -8,12 +8,13 @@
site-generator [OPTION]... PAGE|PAGE=<comma separated list of ids>... site-generator [OPTION]... PAGE|PAGE=<comma separated list of ids>...
-a, --all generate all pages defined in configuration file -a, --all generate all pages defined in configuration file
-l, --list print list of configured pages -c, --configure path to configuration file
-p, --preview print generated pages to standard out -l, --list print list of configured pages
-q, --quiet suppress progress information while generating pages -p, --preview print generated pages to standard out
-v, --verbose print extended progress information while generating pages -q, --quiet suppress progress information while generating pages
--help print this help message -v, --verbose print extended progress information while generating pages
--help print this help message
Where I<PAGE> is a file name of a web page Where I<PAGE> is a file name of a web page
or the special I<ALL> (to generate all pages). or the special I<ALL> (to generate all pages).
@@ -109,15 +110,17 @@ sub main {
# Argument parsing # Argument parsing
my $all; my $all;
my $configuration_path;
my $preview; my $preview;
my $verbose; my $verbose;
my $quiet; my $quiet;
GetOptions( GetOptions(
'all' => \$all, 'all' => \$all,
'list' => \&print_available_pages, 'configuration=s' => \$configuration_path,
'preview' => \$preview, 'list' => \&print_available_pages,
'verbose' => \$verbose, 'preview' => \$preview,
'quiet' => \$quiet, 'verbose' => \$verbose,
'quiet' => \$quiet,
) or pod2usage(1); ) or pod2usage(1);
pod2usage(1) unless @ARGV || $all; pod2usage(1) unless @ARGV || $all;
my (@page_args) = @ARGV; my (@page_args) = @ARGV;
@@ -126,10 +129,21 @@ sub main {
$verbose = 'quiet'; $verbose = 'quiet';
}; };
# Load config file if (!$configuration_path) {
read_config "site.cfg" => my %config; $configuration_path = "site.cfg";
}
my $tt = get_template_html($config{DBI}); my %config;
if ( -f $configuration_path ) {
# Load config file
read_config $configuration_path => %config;
}
else {
print STDOUT "Could not read configuration file: $configuration_path\n";
exit 1;
}
my $tt = get_template_html($config{DBI}, $config{app_paths});
# If command line option all is set, parse configuration file # If command line option all is set, parse configuration file
# for all pages # for all pages
@@ -140,7 +154,7 @@ sub main {
# from the generated list of pages. # from the generated list of pages.
@page_args= grep { $_ ne 'DBI' } @page_args; @page_args= grep { $_ ne 'DBI' } @page_args;
@page_args= grep { $_ ne 'root_template' } @page_args; @page_args= grep { $_ ne 'root_template' } @page_args;
@page_args= grep { $_ ne 'media_hostname' } @page_args; @page_args= grep { $_ ne 'app_paths' } @page_args;
}; };
foreach my $page_arg (@page_args) { foreach my $page_arg (@page_args) {
@@ -193,8 +207,8 @@ sub get_template_html (\%@) {
# HTML comments to make the template file valid HTML. # HTML comments to make the template file valid HTML.
# #
return Template->new({ return Template->new({
INCLUDE_PATH => './templates', INCLUDE_PATH => $_[1]{templates_path},
OUTPUT_PATH => './public_html', OUTPUT_PATH => $_[1]{output_path},
EVAL_PERL => 1, EVAL_PERL => 1,
START_TAG => '<!--%', START_TAG => '<!--%',
END_TAG => '%-->', END_TAG => '%-->',
+5
View File
@@ -13,6 +13,11 @@
#user: hpr-generator (Suggested user with read-only privileges) #user: hpr-generator (Suggested user with read-only privileges)
#password: ********* (Password for user) #password: ********* (Password for user)
# Configure the location of the templates and the generated HTML
[app_paths]
templates_path: ./templates
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
# content templates used by each page. An optional baseurl property may # content templates used by each page. An optional baseurl property may
# be defined. This is useful when opening files directly from local # be defined. This is useful when opening files directly from local
@@ -1,5 +1,4 @@
<!--% PROCESS 'shared-episode-summary.tpl.html' %--> <!--% PROCESS 'shared-episode-summary.tpl.html' %-->
<!--% PROCESS 'shared-avatar.tpl.html' %-->
<!--% PROCESS 'shared-utils.tpl.html' %--> <!--% PROCESS 'shared-utils.tpl.html' %-->
<!--% PROCESS 'shared-listen-now.tpl.html' %--> <!--% PROCESS 'shared-listen-now.tpl.html' %-->
<!--% PROCESS "queries-episode-${constants.database}.tpl.html" %--> <!--% PROCESS "queries-episode-${constants.database}.tpl.html" %-->
+1 -2
View File
@@ -55,8 +55,7 @@
<!--% this_host = hosts.$id %--> <!--% this_host = hosts.$id %-->
<h2 class="title">Correspondent</h2> <h2 class="title">Correspondent</h2>
<h2><!--% this_host.host %--></h2> <h2><!--% this_host.host %--></h2>
<p><img src="<!--% absolute_path(baseurl) %-->images/<!--% get_avatar(this_host.hostid) %-->" <p><!--% get_avatar(this_host.hostid, this_host.host) %--><br>
height="80" alt="Host Image" /><br>
<label>Host ID</label>: <!--% this_host.hostid %--><br><br> <label>Host ID</label>: <!--% this_host.hostid %--><br><br>
<label>email:</label> <u><!--% this_host.email %--></u><br> <label>email:</label> <u><!--% this_host.email %--></u><br>
<label>episodes:</label> <strong><!--% hpr_show_count + twat_show_count %--></strong> <label>episodes:</label> <strong><!--% hpr_show_count + twat_show_count %--></strong>
+4 -3
View File
@@ -1,9 +1,10 @@
<!--% PROCESS 'shared-utils.tpl.html' %--> <!--% PROCESS 'shared-utils.tpl.html' %-->
<!--% PROCESS 'shared-avatar.tpl.html' %-->
<article> <article>
<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_path(baseurl) %-->contribute.html">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_path(baseurl) %-->contribute.html">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, constants.user, constants.password) %--> <!--% USE DBI(constants.driver, constants.user, constants.password) %-->
<!--% PROCESS 'shared-avatar.tpl.html' %--> <!--% host_cnt = 0 %-->
<table class="hosts"> <table class="hosts">
<th >Avatar</th> <th >Avatar</th>
<th >Name &amp; Host ID</th> <th >Name &amp; Host ID</th>
@@ -17,14 +18,14 @@
on h.hostid = e.hostid ' on h.hostid = e.hostid '
) %--> ) %-->
<tr height="80"> <tr height="80">
<td><img src="<!--% absolute_path(baseurl) %-->images/<!--% get_avatar(host.hostid) %-->" height="80" width="80" alt="avatar" /></td> <td><!--% get_avatar(host.hostid, host.host, host_cnt > 8) %--></td>
<td><strong><!--% host.host %--></strong><br> <td><strong><!--% host.host %--></strong><br>
Host ID: <a href="<!--% absolute_path(baseurl) %-->correspondents/<!--% zero_pad_left(host.hostid) %-->.html"><!--% 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> </tr><!--% host_cnt = host_cnt + 1 %-->
<!--% END %--> <!--% END %-->
</table> </table>
<p><a href="<!--% absolute_path(baseurl) %-->contribute.html">Become a Correspondent</a></p> <p><a href="<!--% absolute_path(baseurl) %-->contribute.html">Become a Correspondent</a></p>
+2 -5
View File
@@ -16,10 +16,10 @@
<h3><!--% episode.summary %--></h3> <h3><!--% episode.summary %--></h3>
<p class="meta"><!--% episode_navigation %--> <p class="meta"><!--% episode_navigation %-->
</p> </p>
<p><!--% IF get_avatar(episode.hostid) != 'hpr_logo.png' %--> <p><!--% show_avatar(episode.hostid, episode.host) %-->
<img src="<!--% absolute_path(baseurl) %-->images/<!--% get_avatar(episode.hostid) %-->" height="80" width="80" alt="" /></a><br><!--% END %-->
Hosted by <a href="<!--% absolute_path(baseurl) %-->correspondents/<!--% zero_pad_left(episode.hostid) %-->.html"><!--% episode.host %--></a> on <span><!--% 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><!--% 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, "hpr", baseurl, media_baseurl) %-->
<!--% display_listen_in(episode.id) %--> | <!--% display_listen_in(episode.id) %--> |
<!--% display_comments_tally(episode.id, episode.eps_tally) %--> <!--% display_comments_tally(episode.id, episode.eps_tally) %-->
</p> </p>
@@ -28,10 +28,7 @@ Hosted by <a href="<!--% absolute_path(baseurl) %-->correspondents/<!--% zero_pa
</header> </header>
<div><!--% episode.notes %--></div> <div><!--% episode.notes %--></div>
<footer> <footer>
<!--% show_transcript(episode, "hpr", baseurl, media_baseurl) %--> <!--% show_transcript(episode, "hpr", baseurl, media_baseurl) %-->
<!--% listen_now(episode, "hpr", baseurl, media_baseurl) %-->
<p> <p>
<!--% episode_navigation %--> <!--% episode_navigation %-->
</p> </p>
+24 -6
View File
@@ -5,6 +5,24 @@
<!--% PROCESS 'shared-call_for_shows.tpl.html' %--> <!--% PROCESS 'shared-call_for_shows.tpl.html' %-->
<!--% INCLUDE 'content-index-announcement.tpl.html' %--> <!--% INCLUDE 'content-index-announcement.tpl.html' %-->
<!--% PROCESS "queries-index-${constants.database}.tpl.html" %--> <!--% PROCESS "queries-index-${constants.database}.tpl.html" %-->
<!--% MACRO tidy_notes(all_lines) BLOCK %-->
<!--% lines = all_lines %-->
<!--% after_html = all_lines %-->
<!--% img_re = '(?six)^(.*?)\<img ([^\>]+\>)(.+)$' %-->
<!--% lazy_re = '(?i)loading="lazy"' %-->
<!--% WHILE (matches = lines.match(img_re)) %-->
<!--% img_tag = matches.1 %-->
<!--% after_html = matches.2 %-->
<!--% matches.0 %-->
<!--% IF (img_tag.search(lazy_re)) %-->
<img <!--% img_tag %-->
<!--% ELSE %-->
<img loading="lazy" <!--% img_tag %-->
<!--% END %-->
<!--% lines = after_html %-->
<!--% END %-->
<!--% after_html %-->
<!--% END %-->
<hr> <hr>
<article> <article>
<header> <header>
@@ -35,6 +53,7 @@
<hr> <hr>
<!--% PROCESS 'shared-episode-summary.tpl.html' %--> <!--% PROCESS 'shared-episode-summary.tpl.html' %-->
<h1>Latest Shows</h1> <h1>Latest Shows</h1>
<!--% host_cnt = 0 %-->
<!--% FOREACH latest_episodes IN DBI.query(query_latest_episodes) <!--% FOREACH latest_episodes IN DBI.query(query_latest_episodes)
%--> %-->
<hr> <hr>
@@ -42,21 +61,20 @@
<header> <header>
<h1><a href="<!--% absolute_path(baseurl) %-->eps/hpr<!--% zero_pad_left(latest_episodes.id) %-->/index.html">hpr<!--% latest_episodes.id %--> :: <!--% latest_episodes.title %--></a></h1> <h1><a href="<!--% absolute_path(baseurl) %-->eps/hpr<!--% zero_pad_left(latest_episodes.id) %-->/index.html">hpr<!--% latest_episodes.id %--> :: <!--% latest_episodes.title %--></a></h1>
<h3><!--% latest_episodes.summary%--></h3> <h3><!--% latest_episodes.summary%--></h3>
<p class="meta"$><!--% IF get_avatar(latest_episodes.hostid) != 'hpr_logo.png' %--> <p class="meta"$><!--% show_avatar(latest_episodes.hostid, latest_episodes.host, host_cnt) %-->
<img src="<!--% absolute_path(baseurl) %-->images/<!--% get_avatar(latest_episodes.hostid) %-->" height="80" width="80" alt="" /></a><!--% END %--> Hosted by <a href="<!--% absolute_path(baseurl) %-->correspondents/<!--% zero_pad_left(latest_episodes.hostid) %-->.html"><!--% latest_episodes.host %--></a> on <!--% latest_episodes.date %--> is flagged as <!--% display_explicit(latest_episodes.explicit) %--> and released under a <!--% latest_episodes.license %--> license. <br>
<br>Hosted by <a href="<!--% absolute_path(baseurl) %-->correspondents/<!--% zero_pad_left(latest_episodes.hostid) %-->.html"><!--% latest_episodes.host %--></a> on <!--% latest_episodes.date %--> is flagged as <!--% display_explicit(latest_episodes.explicit) %--> and released under a <!--% latest_episodes.license %--> license. <br>
<!--% display_tags(latest_episodes.tags) %--><br> <!--% display_tags(latest_episodes.tags) %--><br>
<!--% listen_now(latest_episodes, "hpr", baseurl, media_baseurl) %-->
<small><!--% display_listen_in(latest_episodes.id) %--> <!--% show_series(latest_episodes.series, latest_episodes.seriesid) %--> | <small><!--% display_listen_in(latest_episodes.id) %--> <!--% show_series(latest_episodes.series, latest_episodes.seriesid) %--> |
<!--% display_comments_tally(latest_episodes.id, latest_episodes.eps_tally) %--></small> <!--% display_comments_tally(latest_episodes.id, latest_episodes.eps_tally) %--></small>
</p> </p>
</header> </header>
<!--% latest_episodes.notes %--> <!--% tidy_notes(latest_episodes.notes) %-->
<footer> <footer>
<!--% show_transcript(latest_episodes, "hpr", baseurl, media_baseurl) %--> <!--% show_transcript(latest_episodes, "hpr", baseurl, media_baseurl) %-->
<!--% listen_now(latest_episodes, "hpr", baseurl, media_baseurl) %-->
</footer> </footer>
</article> </article>
<!--% host_cnt = host_cnt + 1 %-->
<!--% END %--> <!--% END %-->
<article> <article>
<header> <header>
+2 -3
View File
@@ -52,10 +52,10 @@
<h3><!--% episode.summary %--></h3> <h3><!--% episode.summary %--></h3>
<p class="meta"><!--% episode_navigation %--> <p class="meta"><!--% episode_navigation %-->
</p> </p>
<p><!--% IF get_avatar(episode.hostid) != 'hpr_logo.png' %--> <p><!--% show_avatar(episode.hostid, episode.host) %-->
<img src="<!--% absolute_path(baseurl) %-->images/<!--% get_avatar(episode.hostid) %-->" height="80" width="80" alt="" /></a><br><!--% END %-->
Hosted by <a href="<!--% absolute_path(baseurl) %-->correspondents/<!--% zero_pad_left(episode.hostid) %-->.html"><!--% episode.host %--></a> on <span><!--% 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><!--% 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) %-->
<!--% display_listen_in(episode.id, "twat") %--> <!--% display_listen_in(episode.id, "twat") %-->
</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>
@@ -63,7 +63,6 @@ Hosted by <a href="<!--% absolute_path(baseurl) %-->correspondents/<!--% zero_pa
</header> </header>
<div><!--% episode.notes %--></div> <div><!--% episode.notes %--></div>
<footer> <footer>
<!--% listen_now(episode, "twat", baseurl, media_baseurl) %-->
<p> <p>
<!--% episode_navigation %--> <!--% episode_navigation %-->
</p> </p>
+1 -1
View File
@@ -6,5 +6,5 @@
<li><a href="<!--% absolute_path(baseurl) %-->correspondents/index.html">Hosts</a></li> <li><a href="<!--% absolute_path(baseurl) %-->correspondents/index.html">Hosts</a></li>
<li><a href="<!--% absolute_path(baseurl) %-->contact.html">Contact</a></li> <li><a href="<!--% absolute_path(baseurl) %-->contact.html">Contact</a></li>
<li><a href="<!--% absolute_path(baseurl) %-->promote.html">Promote HPR</a></li> <li><a href="<!--% absolute_path(baseurl) %-->promote.html">Promote HPR</a></li>
<li><a href="<!--% absolute_path(baseurl) %-->comments_viewer.php">Show Comments</a></li> <li><a href="<!--% absolute_path(baseurl) %-->comments_viewer.html">Show Comments</a></li>
</ul> </ul>
+12 -1
View File
@@ -1,5 +1,16 @@
<!--% MACRO get_avatar(host_id) BLOCK %--> <!--% MACRO lazy_load(is_lazy) BLOCK %-->
<!--% IF is_lazy %-->loading="lazy"<!--% END %-->
<!--% END %-->
<!--% MACRO get_avatar_src(host_id) BLOCK %-->
<!--% TRY %--> <!--% TRY %-->
<!--% USE File ("./public_html/images/hosts/${host_id}.png") %-->hosts/<!--% File.name %--> <!--% USE File ("./public_html/images/hosts/${host_id}.png") %-->hosts/<!--% File.name %-->
<!--% CATCH File %-->hpr_logo.png<!--% END %--> <!--% CATCH File %-->hpr_logo.png<!--% END %-->
<!--% END %--> <!--% END %-->
<!--% MACRO get_avatar(host_id, host_name, is_lazy_loaded) BLOCK %-->
<img src="<!--% absolute_path(baseurl) %-->images/<!--% get_avatar_src(host_id) %-->" height="80" width="80" alt="Thumbnail of <!--% host_name | html %-->" <!--% lazy_load(is_lazy_loaded) %--> />
<!--% END %-->
<!--% MACRO show_avatar(host_id, host_name, is_lazy_loaded) BLOCK %-->
<!--% IF get_avatar_src(host_id) != 'hpr_logo.png' %-->
<a href="<!--% absolute_path(baseurl) %-->correspondents/<!--% zero_pad_left(host_id) %-->.html"><!--% get_avatar(host_id, host_name, is_lazy_loaded) %--></a><br>
<!--% END %-->
<!--% END %-->