Compare commits
27 Commits
231a50957f
...
2023-03
Author | SHA1 | Date | |
---|---|---|---|
|
4fa79187a9 | ||
|
d5406f3cce | ||
|
5369bea657 | ||
|
0e9ad6ba65 | ||
|
610e91ea9f | ||
|
860ce671f8 | ||
|
51d6188542 | ||
c9278c0dd6
|
|||
aabeca44f5
|
|||
3a8b6db348
|
|||
7a6ace156f
|
|||
dee924e6a8
|
|||
5b4421071f
|
|||
|
61311b30dd | ||
7406a9baa4
|
|||
|
ce4aefe828 | ||
|
ebcd906300 | ||
|
3b144ecaf5 | ||
fc7975379e
|
|||
207eabec86
|
|||
c9af4fbde8
|
|||
|
e557f103b9 | ||
ea8403c7b6
|
|||
b16a1c3a5f
|
|||
|
8783ca5099 | ||
f65e892182
|
|||
14bafbc3ab
|
@@ -3,7 +3,8 @@
|
|||||||
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:
|
||||||
|
|
||||||
`git clone https://repo.anhonesthost.net/rho_n/hpr_generator.git`
|
`git clone https://repo.anhonesthost.net/rho_n/hpr_generator.git`
|
||||||
|
|
||||||
@@ -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:
|
||||||
|
@@ -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
|
@@ -9,6 +9,7 @@
|
|||||||
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
|
||||||
|
-c, --configure path to configuration file
|
||||||
-l, --list print list of configured pages
|
-l, --list print list of configured pages
|
||||||
-p, --preview print generated pages to standard out
|
-p, --preview print generated pages to standard out
|
||||||
-q, --quiet suppress progress information while generating pages
|
-q, --quiet suppress progress information while generating pages
|
||||||
@@ -109,11 +110,13 @@ 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,
|
||||||
|
'configuration=s' => \$configuration_path,
|
||||||
'list' => \&print_available_pages,
|
'list' => \&print_available_pages,
|
||||||
'preview' => \$preview,
|
'preview' => \$preview,
|
||||||
'verbose' => \$verbose,
|
'verbose' => \$verbose,
|
||||||
@@ -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
site.cfg
5
site.cfg
@@ -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" %-->
|
||||||
|
@@ -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>
|
||||||
|
@@ -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 & Host ID</th>
|
<th >Name & 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>
|
||||||
|
@@ -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>
|
||||||
|
@@ -1,11 +1,28 @@
|
|||||||
<!--% PROCESS 'shared-avatar.tpl.html' %-->
|
<!--% PROCESS 'shared-avatar.tpl.html' %-->
|
||||||
<!--% PROCESS 'host-thumbnail.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 'shared-show-transcript.tpl.html' %-->
|
<!--% PROCESS 'shared-show-transcript.tpl.html' %-->
|
||||||
<!--% 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>
|
||||||
@@ -44,21 +61,17 @@
|
|||||||
<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) %-->
|
||||||
<a href="<!--% absolute_path(baseurl) %-->correspondents/<!--% zero_pad_left(latest_episodes.hostid) %-->.html">
|
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>
|
||||||
<!--% host_thumb(get_avatar(latest_episodes.hostid), latest_episodes.host, host_cnt) %-->
|
|
||||||
</a><!--% END %-->
|
|
||||||
<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 %-->
|
<!--% host_cnt = host_cnt + 1 %-->
|
||||||
|
@@ -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,3 +0,0 @@
|
|||||||
<!--% MACRO host_thumb(avatar, host_name, host_cnt) BLOCK %-->
|
|
||||||
<img src="<!--% absolute_path(baseurl) %-->images/<!--% avatar %-->" height="80" width="80" alt="Thumbnail of <!--% host_name | html %-->" <!--% IF host_cnt %-->loading="lazy"<!--% END %--> />
|
|
||||||
<!--% END %-->
|
|
@@ -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>
|
||||||
|
@@ -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 %-->
|
||||||
|
Reference in New Issue
Block a user