25 Commits

Author SHA1 Message Date
rho_n 1d3fc94629 Merge pull request '[I338] tighter layout of page navigation' (#339) from i338-tighter-layout-of-page-navigation into main
Reviewed-on: #339
2026-07-09 16:45:10 +00:00
rho_n 10b2074631 Merge branch 'main' into i338-tighter-layout-of-page-navigation 2026-07-09 16:44:46 +00:00
ken_fallon fc7dc12e05 Update templates/shared-call_for_shows.tpl.html
Changed heading from h3 to h2
2026-06-23 16:28:16 +00:00
ken_fallon b4902aefe2 Merge pull request 'Updated text to be less urgent and to include text about reserve pool and kill switch' (#341) from I340_Change_Call_for_shows_to_reflect_less_urgency into main
Reviewed-on: #341
2026-06-23 16:06:14 +00:00
ken_fallon 86014bb40b Updated text to be less urgent and to include text about reserve pool and kill switch 2026-06-23 18:04:23 +02:00
rho_n 4a14351d19 Merge branch 'main' into i338-tighter-layout-of-page-navigation 2026-06-21 01:29:14 +00:00
rho_n 41eeacd5d8 Clean up layout of details content 2026-06-20 20:46:00 -04:00
rho_n f70a8b1779 Use horizontal layout for page navigation links 2026-06-13 21:56:11 -04:00
rho_n d49f6f33fd Fix nested list structure 2026-06-13 21:24:07 -04:00
ken_fallon a677a777f3 T-DOSE presentation 2026-06-08 19:54:26 +02:00
ken_fallon b62197a95f Add T_DOSE presentation 2026-06-05 14:14:15 +02:00
ken_fallon 431ec2b946 Documentation Update 2026-06-02 22:22:19 +02:00
ken_fallon 130588bad9 Documentation update 2026-06-02 20:50:55 +02:00
ken_fallon 4648710079 update about 2026-06-02 18:24:24 +02:00
ken_fallon 756151908d Documentation Update 2026-06-01 21:52:04 +02:00
ken_fallon cc0c422350 Documentation Update 2026-06-01 09:51:15 +02:00
ken_fallon dc6c96f5bb Documentation update 2026-05-31 21:12:13 +02:00
rho_n 0eefb633a5 Merge pull request '[i335] docker image for site generator' (#336) from i335_docker-image-for-site-generator into main
Reviewed-on: #336
Reviewed-by: norrist <norrist@josh@dao-mail.com>
2026-05-28 12:32:50 +00:00
rho_n b246f2c70f Merge branch 'main' into i335_docker-image-for-site-generator 2026-05-28 12:32:09 +00:00
rho_n e1be81a4ad Fix Docker build instruction example 2026-05-19 13:57:26 -04:00
rho_n fd577942e6 Update Docker build instructions 2026-05-17 19:31:49 -04:00
rho_n 3cc4a6b5d3 Fix cpanm call in run layer 2026-05-17 12:01:40 -04:00
rho_n 47b2c588b8 Add instructions for building and running Docker images 2026-05-17 11:39:40 -04:00
rho_n 5bdda3c1ef Set env to perl
Instead of calling perl directly from /usr/bin, set environment so that the current
default perl program is called.
2026-05-17 10:32:04 -04:00
rho_n 7cea36879c Add a Dockerfile which builds a site-generator app
This builds the container with the needed Perl modules, templates,
and a default configuration file.
2026-05-17 10:09:33 -04:00
10 changed files with 815 additions and 732 deletions
+24
View File
@@ -0,0 +1,24 @@
FROM perl:stable
RUN cpanm Config::Std \
&& cpanm Template \
&& cpanm Template::Plugin::DBI \
&& cpanm Template::Plugin::HTML::Strip \
&& cpanm DBD::SQLite \
&& cpanm Tie::DBI \
&& cpanm Date::Calc \
&& cpanm Text::CSV_XS \
&& cpanm HTML::Entities \
&& mkdir -p /usr/src/app
WORKDIR /usr/src/app
ADD site-generator /usr/src/app/site-generator
ADD site.cfg /usr/src/app/site.cfg
ADD templates /usr/src/app/templates
ADD LICENSE /usr/src/app/LICENSE
# Tell Perl where to find the local modules
ENV PERL5LIB=/usr/local/lib/perl5/site_perl
ENTRYPOINT ["/usr/src/app/site-generator"]
+38 -3
View File
@@ -11,7 +11,9 @@ password are required), run:
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.
# Install required Perl modules # Building on local system
## 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 system's package The needed Perl modules can be found using the operating system's package
@@ -34,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 the Perl CPAN application. A cross platform method to install the needed modules is the Perl CPAN application.
Make sure that the [gcc](https://www.gnu.org/software/gcc/), Make sure that the [gcc](https://www.gnu.org/software/gcc/),
@@ -55,7 +57,7 @@ cpan Tie::DBI
cpan Text:CSV_XS cpan Text:CSV_XS
``` ```
## Testing for Perl module dependencies ### Testing for Perl module dependencies
A bash script is included in the utils directory that will list the Perl modules used by the site-generator and report whether the modules are installed on the current OS. A bash script is included in the utils directory that will list the Perl modules used by the site-generator and report whether the modules are installed on the current OS.
@@ -65,6 +67,39 @@ It can be run from any directory. To run from the utils directory:
./check-dependencies.sh ./check-dependencies.sh
``` ```
# Building with Docker
The docker file will copy the local version of the site-generator program, the templates directory, the LICENSE file,
and the site.cfg file into the Docker image. For the docker image to run correctly it needs access to your local
hpr.db file and the output directory (defaults to "public_html"). The default site.cfg assumes the hpr.db is located
in the directory from which the site-generator is run. There are two ways to make the db available to the container:
* Put the hpr.db file in the public_html folder and modify the driver option under the [DBI] section of the site.cfg to:<br>
```driver: dbi:SQLite:public_html/hpr.db```
* mount the hpr.db file into the container when starting up the container with the -v option: <br>
```-v <path to db directory>/hpr.db:/usr/src/app/hpr.db```
Build the image by running the following command from the hpr_generator directory:
```docker build -t hpr/site-generator .```
The first build will take a while. It must pull down the base container, perl-latest, and then pull down and build the
various Perl modules from CPAN. After the initial build, if you have modified your site.cfg file, templates dir, or the
site-generator program itself, builds will be very quick.
If the build fails, it is often from a CPAN module failing to download and install. Try running the Docker build command again.
## Running the container
When runing the Docker image, your local output directory (typically public_html) must be mounted into the container using
the -v option. If you are using the default path for the hpr.db, then the local hpr.db file must also be mounted into the image.
The following is an example of running the site-generator with default locations from the hpr_generator directory:
```
docker run \
-v "$(pwd)/public_html":/usr/src/app/public_html \
-v "$(pwd)/hpr.db":/usr/src/app/hpr.db \
hpr/site-generator --help
```
# Create the HPR database # Create the HPR database
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
+7
View File
@@ -2,6 +2,9 @@
Static web page generator for the Hacker Public Radio website. Static web page generator for the Hacker Public Radio website.
## Installation ## Installation
### On local system
* Clone or download this repository * Clone or download this repository
* With SQLite * With SQLite
* Create the sqlite3 database from the hpr.sql MySQL dump file available on * Create the sqlite3 database from the hpr.sql MySQL dump file available on
@@ -31,6 +34,10 @@ Static web page generator for the Hacker Public Radio website.
* Text::CSV_XS * Text::CSV_XS
* HTML::Entities * HTML::Entities
### Using Docker
* run: `docker build -t hpr/site-generator .`
* See the [Getting Started](GETTING_STARTED.md) tutorial for more details on * See the [Getting Started](GETTING_STARTED.md) tutorial for more details on
installing the HPR generator. installing the HPR generator.
+27
View File
@@ -766,6 +766,11 @@ fieldset > table td input[type="radio"] {
border: 1px solid #ddd; border: 1px solid #ddd;
padding: 0.1em 0; padding: 0.1em 0;
} }
nav > ul > li::marker {
content: "✽ ";
font-size: 1.05rem;
color: var(--background-secondary);
}
nav.episodes { nav.episodes {
color: var(--background-primary); color: var(--background-primary);
font-size: 0.9em; font-size: 0.9em;
@@ -817,6 +822,17 @@ nav.episodes span a:hover svg #bar {
stroke: var(--link-secondary-hover); stroke: var(--link-secondary-hover);
fill: var(--link-secondary-hover); fill: var(--link-secondary-hover);
} }
details[open] > * {
margin-left: 1.35rem;
padding-right: 1.35rem;
}
details[open] > summary {
margin-left: 0;
padding-right: 0;
}
details > summary:hover {
cursor: pointer;
}
@media (min-width: 600px) { @media (min-width: 600px) {
body > header .bounding-box { body > header .bounding-box {
justify-content: space-between; justify-content: space-between;
@@ -913,6 +929,17 @@ nav.episodes span a:hover svg #bar {
#host { #host {
gap: 2rem; gap: 2rem;
} }
nav > ul {
display: flex;
flex-direction: row;
justify-content: space-between;
flex-flow: wrap;
gap: 0.5rem 1rem;
}
nav > ul > li {
flex: 1 0 max-content;
max-width: 50%;
}
nav.episodes { nav.episodes {
display: inline-block; display: inline-block;
} }
+1 -1
View File
@@ -1,4 +1,4 @@
#!/usr/bin/perl #!/usr/bin/env perl
# {{{ POD documentation # {{{ POD documentation
+35 -29
View File
@@ -1,24 +1,24 @@
<!--% page_title = "HPR ~ About this community podcast" %--> <!--% page_title = "HPR ~ About this community podcast" %-->
<h1 id="welcome">Welcome to HPR<a href="<!--% absolute_url(baseurl,'about.html#about') %-->">.</a></h1> <h1 id="welcome">Welcome to HPR<a href="<!--% absolute_url(baseurl,'about.html#about') %-->">.</a></h1>
<nav>
<ul> <ul>
<li><a href="<!--% absolute_url(baseurl,'about.html#about') %-->">About HPR.</a></li> <li><a href="<!--% absolute_url(baseurl,'about.html#about') %-->">About HPR.</a>
<ul> <ul>
<li><a href="<!--% absolute_url(baseurl,'about.html#community') %-->">The HPR Community</a></li> <li><a href="<!--% absolute_url(baseurl,'about.html#community') %-->">The HPR Community</a></li>
<li><a href="<!--% absolute_url(baseurl,'about.html#history') %-->">Our History</a></li> <li><a href="<!--% absolute_url(baseurl,'about.html#history') %-->">Our History</a></li>
<li><a href="<!--% absolute_url(baseurl,'about.html#free_culture') %-->">Free Culture</a></li> <li><a href="<!--% absolute_url(baseurl,'about.html#free_culture') %-->">Free Culture</a></li>
<li><a href="<!--% absolute_url(baseurl,'about.html#do_no_harm') %-->">Do No Harm</a></li> <li><a href="<!--% absolute_url(baseurl,'about.html#do_no_harm') %-->">Do No Harm</a></li>
<li><a href="<!--% absolute_url(baseurl,'about.html#governance') %-->">Governance</a></li> <li><a href="<!--% absolute_url(baseurl,'about.html#governance') %-->">Governance</a>
<ul> <ul>
<li><a href="<!--% absolute_url(baseurl,'about.html#maillist') %-->">HPR Mail List</a></li> <li><a href="<!--% absolute_url(baseurl,'about.html#maillist') %-->">HPR Mail List</a></li>
<li><a href="<!--% absolute_url(baseurl,'about.html#hosting_providers') %-->">Hosting Providers</a></li> <li><a href="<!--% absolute_url(baseurl,'about.html#hosting_providers') %-->">Hosting Providers</a></li>
<li><a href="<!--% absolute_url(baseurl,'about.html#janitors') %-->">Janitors</a></li> <li><a href="<!--% absolute_url(baseurl,'about.html#janitors') %-->">Janitors</a></li>
<li><a href="<!--% absolute_url(baseurl,'about.html#auditors') %-->">Auditors</a></li> <li><a href="<!--% absolute_url(baseurl,'about.html#auditors') %-->">Auditors</a></li>
</ul> </ul></li>
<li><a href="<!--% absolute_url(baseurl,'about.html#kill_switch') %-->">Kill Switch</a></li> <li><a href="<!--% absolute_url(baseurl,'about.html#kill_switch') %-->">Kill Switch</a></li>
<li><a href="<!--% absolute_url(baseurl,'about.html#recent_policy_changes') %-->">Recent Policy Changes</a></li> <li><a href="<!--% absolute_url(baseurl,'about.html#recent_policy_changes') %-->">Recent Policy Changes</a></li>
</ul> </ul></li>
<li><a href="<!--% absolute_url(baseurl,'about.html#how_to_help') %-->">How to Help</a></li> <li><a href="<!--% absolute_url(baseurl,'about.html#how_to_help') %-->">How to Help</a>
<ul> <ul>
<li><a href="<!--% absolute_url(baseurl,'about.html#submit_a_show') %-->">Submit a show</a></li> <li><a href="<!--% absolute_url(baseurl,'about.html#submit_a_show') %-->">Submit a show</a></li>
<li><a href="<!--% absolute_url(baseurl,'about.html#comment') %-->">Comment on a show</a></li> <li><a href="<!--% absolute_url(baseurl,'about.html#comment') %-->">Comment on a show</a></li>
@@ -29,16 +29,17 @@
<li><a href="<!--% absolute_url(baseurl,'about.html#ccdn') %-->">Community Content Distribution Network</a></li> <li><a href="<!--% absolute_url(baseurl,'about.html#ccdn') %-->">Community Content Distribution Network</a></li>
<li><a href="<!--% absolute_url(baseurl,'about.html#developer') %-->">Developer team</a></li> <li><a href="<!--% absolute_url(baseurl,'about.html#developer') %-->">Developer team</a></li>
<li><a href="<!--% absolute_url(baseurl,'about.html#hpr_wikipedia_page') %-->">(Re)Creating a HPR page on wikipedia</a></li> <li><a href="<!--% absolute_url(baseurl,'about.html#hpr_wikipedia_page') %-->">(Re)Creating a HPR page on wikipedia</a></li>
<li><a href="<!--% absolute_url(baseurl,'about.html#free_culture_podcasts') %-->">Help the Free Culture Podcasts Project</a></li>
<li><a href="<!--% absolute_url(baseurl,'about.html#supporters') %-->">Please support our Supporters</a></li> <li><a href="<!--% absolute_url(baseurl,'about.html#supporters') %-->">Please support our Supporters</a></li>
</ul> </ul></li>
<li><a href="<!--% absolute_url(baseurl,'about.html#contact') %-->">Contact</a></li> <li><a href="<!--% absolute_url(baseurl,'about.html#contact') %-->">Contact</a>
<ul> <ul>
<li><a href="<!--% absolute_url(baseurl,'about.html#contact_primary') %-->">Primary Contact Points</a></li> <li><a href="<!--% absolute_url(baseurl,'about.html#contact_primary') %-->">Primary Contact Points</a></li>
<li><a href="<!--% absolute_url(baseurl,'about.html#contact_secondary') %-->">Secondary Contact Points</a></li> <li><a href="<!--% absolute_url(baseurl,'about.html#contact_secondary') %-->">Secondary Contact Points</a></li>
</ul> </ul></li>
<li><a href="<!--% absolute_url(baseurl,'about.html#press') %-->">In the Press</a></li> <li><a href="<!--% absolute_url(baseurl,'about.html#press') %-->">In the Press</a></li>
</ul> </ul>
</nav>
<div class="lane stack"> <div class="lane stack">
<article> <article>
<header> <header>
@@ -50,10 +51,11 @@
<p> <p>
Hacker Public Radio is a technology focused podcast that releases shows every weekday Monday to Friday. Hacker Public Radio is a technology focused podcast that releases shows every weekday Monday to Friday.
We are a welcoming community that offers positive feedback and encourages respectful debate. We are a welcoming community that offers positive feedback and encourages respectful debate.
Our shows are produced by listeners like you and can be on any topic that is of interest to hackers, hobbyists, makers, etc.
</p> </p>
<p>What differentiates HPR from other podcasts is that the shows are <strong>crowd sourced</strong> from the community - <p>
fellow listeners like <strong><a href="<!--% absolute_url(baseurl,'correspondents/index.html') %-->">you</a></strong>. What differentiates HPR from other podcasts is that the shows are <strong>crowd sourced</strong> from the community -
fellow listeners, hackers, hobbyists, makers - like <strong><a href="<!--% absolute_url(baseurl,'correspondents/index.html') %-->">you</a></strong>.</p>
<p>
There is no restriction on how long the show can be, nor on the topic you can cover as long as they are not spam There is no restriction on how long the show can be, nor on the topic you can cover as long as they are not spam
and <em>&quot;are of interest to <a href="http://en.wikipedia.org/wiki/Hacker_(hobbyist)" ><!--% make_sfw(is_sfw, "Hobbyists", "Hackers") %--></a>&quot;</em>. and <em>&quot;are of interest to <a href="http://en.wikipedia.org/wiki/Hacker_(hobbyist)" ><!--% make_sfw(is_sfw, "Hobbyists", "Hackers") %--></a>&quot;</em>.
If you want to see what topics have been covered so far just have a look at our If you want to see what topics have been covered so far just have a look at our
@@ -65,12 +67,10 @@ hosts can go into more detail on a topic.<p>
or you can <a href="<!--% absolute_url(baseurl,'syndication.html') %-->">subscribe</a> to the show in your favorite <a href="https://repo.anhonesthost.net/HPR/hpr_documentation/src/branch/main/podcatchers">podcatching client</a> or you can <a href="<!--% absolute_url(baseurl,'syndication.html') %-->">subscribe</a> to the show in your favorite <a href="https://repo.anhonesthost.net/HPR/hpr_documentation/src/branch/main/podcatchers">podcatching client</a>
to automatically get our new shows as soon as they are available. to automatically get our new shows as soon as they are available.
You can copy and redistribute the shows for free provided you adhere to the You can copy and redistribute the shows for free provided you adhere to the
<a href="https://creativecommons.org/licenses/by-sa/4.0/" >Creative Commons Attribution<WBR> <a href="https://creativecommons.org/licenses/by-sa/4.0/" >Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) License</a>.</p>
Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) License</a>.</p>
<h2 id="history">Our History<a href="<!--% absolute_url(baseurl,'about.html#history') %-->">.</a></h2> <h2 id="history">Our History<a href="<!--% absolute_url(baseurl,'about.html#history') %-->">.</a></h2>
<p><!--% make_sfw(is_sfw, "Hobby", "Hacker") %--> Public Radio (HPR) is an Internet Radio show (podcast) that releases shows every weekday Monday through Friday. <p><!--% make_sfw(is_sfw, "Hobby", "Hacker") %--> Public Radio (HPR) is an Internet Radio show (podcast) that has a long lineage going back to <a href="https://web.archive.org/web/20230323053905/http://www.oldskoolphreak.com/" >Radio FreeK America</a>,
HPR has a long lineage going back to <a href="https://web.archive.org/web/20230323053905/http://www.oldskoolphreak.com/" >Radio FreeK America</a>,
<a href="https://web.archive.org/web/20220123174618/https://www.binrev.com/forums/" >Binary Revolution Radio</a> &amp; <a href="https://web.archive.org/web/20220123174618/https://www.binrev.com/forums/" >Binary Revolution Radio</a> &amp;
<a href="https://web.archive.org/web/20150208172826/http://www.nomicon.info/" >Infonomicon</a>, <a href="https://web.archive.org/web/20150208172826/http://www.nomicon.info/" >Infonomicon</a>,
and it is a rename of <a href="<!--% absolute_url(baseurl,'eps/index.html#twt_episodes') %-->" >Today With a Techie</a> radio. and it is a rename of <a href="<!--% absolute_url(baseurl,'eps/index.html#twt_episodes') %-->" >Today With a Techie</a> radio.
@@ -95,7 +95,7 @@ If you listen to HPR, then we would love you to <a href="about.html">contribute<
<p>We trust you not to do anything that will harm HPR. <p>We trust you not to do anything that will harm HPR.
We don't tolerate Harassment, Trolling, etc. We don't tolerate Harassment, Trolling, etc.
If you notice anything of concern, If you notice anything of concern,
first see if a <a href="<!--% absolute_url(baseurl,'about.html#response_episode') %-->">response episode</a> is sufficient to address the grievance. first see if a <a href="https://lists.hackerpublicradio.com/pipermail/hpr/2021-September/004250.html">response episode</a> is sufficient to address the grievance.
If not then please bring it to the attention of <a href="<!--% absolute_url(baseurl,'about.html#contact') %-->">the janitors</a>. If not then please bring it to the attention of <a href="<!--% absolute_url(baseurl,'about.html#contact') %-->">the janitors</a>.
Any material that is reported as harming HPR may be unlisted until such a time as the situation can be resolved.</p> Any material that is reported as harming HPR may be unlisted until such a time as the situation can be resolved.</p>
@@ -116,7 +116,8 @@ and he has the last word in issues related to site security.
</p> </p>
<h3 id="janitors" >Janitors<a href="<!--% absolute_url(baseurl,'about.html#janitors') %-->">.</a></h3> <h3 id="janitors" >Janitors<a href="<!--% absolute_url(baseurl,'about.html#janitors') %-->">.</a></h3>
<p>Janitors are responsible for the day to day operation of HPR, but they have no more say over policy than anyone else. <p>Janitors are responsible for the day to day operation of HPR.
They implement the decisions made by the Mail List.
This team changes over time and were previously known as the "HPR admins". This team changes over time and were previously known as the "HPR admins".
They act as the first point of contact, processing the shows, coordinating <a href="https://repo.anhonesthost.net/HPR/hpr_documentation/src/branch/main/policies.md">policy discussions</a>, They act as the first point of contact, processing the shows, coordinating <a href="https://repo.anhonesthost.net/HPR/hpr_documentation/src/branch/main/policies.md">policy discussions</a>,
removing spam, updating the website, etc. removing spam, updating the website, etc.
@@ -145,11 +146,11 @@ Here are the people who have volunteered their time to keep HPR running.
</p> </p>
<h3 id="auditors" >Auditors<a href="<!--% absolute_url(baseurl,'about.html#auditors') %-->">.</a></h3> <h3 id="auditors" >Auditors<a href="<!--% absolute_url(baseurl,'about.html#auditors') %-->">.</a></h3>
<p>If the janitors need to contact you related to the implementation of policies, they will also include the <a href="<!--% absolute_url(baseurl,'about.html#auditors') %-->">Auditors</a>. The Auditors role is to observe, and report if necessary that the Janitors are been faithful in their communication.</p> <p>If the janitors need to contact you related to the implementation of policies, they will also include the <a href="<!--% absolute_url(baseurl,'about.html#auditors') %-->">Auditors</a>. The Auditors role is to observe and report if necessary that the Janitors are been faithful in their communication.</p>
<h2 id="kill_switch">Kill Switch<a href="<!--% absolute_url(baseurl,'about.html#kill_switch') %-->">.</a></h2> <h2 id="kill_switch">Kill Switch<a href="<!--% absolute_url(baseurl,'about.html#kill_switch') %-->">.</a></h2>
<p>HPR will stop as a project if there are not enough Shows. <p>HPR will stop as a project if there are not enough Shows.
Once that all the reserve shows have been used up and there are no more shows in the queue, Once all the reserve shows have been used up and there are no more shows in the queue,
<a href="https://repo.anhonesthost.net/HPR/hpr-tools/src/branch/main/workflow/hpr-prepare-reserve.bash#L112-L124">HPR as a project will stop</a>. <a href="https://repo.anhonesthost.net/HPR/hpr-tools/src/branch/main/workflow/hpr-prepare-reserve.bash#L112-L124">HPR as a project will stop</a>.
This is by design, and is inspired by the episode <a href="<!--% media_path(560, 'hpr', 'mp3', baseurl, media_baseurl) %-->" >hpr0560 :: Old soldiers</a>, hosted by This is by design, and is inspired by the episode <a href="<!--% media_path(560, 'hpr', 'mp3', baseurl, media_baseurl) %-->" >hpr0560 :: Old soldiers</a>, hosted by
<a href="<!--% absolute_url(baseurl,'correspondents/0107.html') %-->">lostnbronx</a> "<em>A discussion of "podfading" - the fading away of once-active podcasts</em>". <a href="<!--% absolute_url(baseurl,'correspondents/0107.html') %-->">lostnbronx</a> "<em>A discussion of "podfading" - the fading away of once-active podcasts</em>".
@@ -197,7 +198,7 @@ You can find out <a href="<!--% absolute_url(baseurl,'contribute.html#stuff_you_
<p> <p>
By adding constructive comments to shows, you welcome new hosts, and encourage submissions. By adding constructive comments to shows, you welcome new hosts, and encourage submissions.
Don't be afraid to ask for more information on a particular topic, or share your own experiences. Don't be afraid to ask for more information on a particular topic, or share your own experiences.
That way we can ask <em>you</em> for a show.</p> That way we can also ask <em>you</em> for a show.</p>
<p>Your comments will be read out on the <a href="<!--% absolute_url(baseurl,'series/0047.html') %-->" >HPR Community News</a> show.</p> <p>Your comments will be read out on the <a href="<!--% absolute_url(baseurl,'series/0047.html') %-->" >HPR Community News</a> show.</p>
<h2 id="social_media">Social Media<a href="<!--% absolute_url(baseurl,'about.html#social_media') %-->">.</a></h2> <h2 id="social_media">Social Media<a href="<!--% absolute_url(baseurl,'about.html#social_media') %-->">.</a></h2>
@@ -220,7 +221,7 @@ then look no further than our <a href="<!--% absolute_url(baseurl,'about.html#re
You can report any issues with our feeds via <a href="<!--% absolute_url(baseurl,'about.html#contact') %-->">the contact channels</a>, You can report any issues with our feeds via <a href="<!--% absolute_url(baseurl,'about.html#contact') %-->">the contact channels</a>,
or directly on our <a href="https://repo.anhonesthost.net/HPR/hpr_documentation/issues">GitTea repo</a>. or directly on our <a href="https://repo.anhonesthost.net/HPR/hpr_documentation/issues">GitTea repo</a>.
We are also looking for people to <a href="https://repo.anhonesthost.net/HPR/hpr_documentation/src/branch/main/podcatchers">adopt a podcatcher</a>. We are also looking for people to <a href="https://repo.anhonesthost.net/HPR/hpr_documentation/src/branch/main/podcatchers">adopt a podcatcher</a>.
Ideally we will work with you to test changes to improve the user experience on your podcatcher, for the benefit of all.</p> We will work with you to test changes to improve the user experience on your podcatcher, for the benefit of all.</p>
<h2 id="outreach">Outreach<a href="<!--% absolute_url(baseurl,'about.html#outreach') %-->">.</a></h2> <h2 id="outreach">Outreach<a href="<!--% absolute_url(baseurl,'about.html#outreach') %-->">.</a></h2>
<p> <p>
@@ -250,26 +251,31 @@ We also appreciate help improving the documentation.
<a href="https://repo.anhonesthost.net/HPR/hpr_documentation/src/branch/main/developer_information.md">Developer Information</a> page. <a href="https://repo.anhonesthost.net/HPR/hpr_documentation/src/branch/main/developer_information.md">Developer Information</a> page.
</p> </p>
<h2 id="hpr_wikipedia_page">(Re)Creating a HPR page on wikipedia<a href="<!--% absolute_url(baseurl,'about.html#hpr_wikipedia_page') %-->">.</a></h2> <h2 id="hpr_wikipedia_page">(Re)Creating a HPR page on wikipedia<a href="<!--% absolute_url(baseurl,'about.html#hpr_wikipedia_page') %-->">.</a></h2>
<p> <p>
Once someone contributes to <!--% make_sfw(is_sfw, "Hobby", "Hacker") %--> Public Radio, the Wikipedia rules prevent us from editing a page. Once someone contributes to <!--% make_sfw(is_sfw, "Hobby", "Hacker") %--> Public Radio, the Wikipedia rules prevent us from editing a page.
You can of course create one prior to contributing a show, or ask for one to be created. You are allowed to create one prior to contributing a show, or ask for one to be created once you have.
</p> </p>
<p> <p>
We do of course believe that <!--% make_sfw(is_sfw, "Hobby", "Hacker") %--> Public Radio should have a Wikipedia entry. We do believe that <!--% make_sfw(is_sfw, "Hobby", "Hacker") %--> Public Radio should have a Wikipedia entry.
We are one of the longest running podcasts having started as Today with a Techie on 2005-09-19. We are one of the longest running podcasts having started as Today with a Techie on 2005-09-19.
We also are unique in our community driven approach to producing shows. We also are unique in our community driven approach to producing shows.
And of course the fact that Wikipedia itself references us as a source And of course there is the fact that Wikipedia itself references us as a source
[<a href="https://es.wikipedia.org/wiki/Klaatu_(podcaster)">1</a>], [<a href="https://es.wikipedia.org/wiki/Klaatu_(podcaster)">1</a>],
[<a href="https://en.wikipedia.org/wiki/Patrick_Volkerding">2</a>], [<a href="https://en.wikipedia.org/wiki/Patrick_Volkerding">2</a>],
[<a href="https://en.wikipedia.org/wiki/StankDawg">3</a>], [<a href="https://en.wikipedia.org/wiki/StankDawg">3</a>],
[<a href="https://en.wikipedia.org/wiki/Summits_On_The_Air">4</a>], [<a href="https://en.wikipedia.org/wiki/Summits_On_The_Air">4</a>],
[<a href="https://en.wikipedia.org/wiki/Jonas_%C3%96berg">5</a>] [<a href="https://en.wikipedia.org/wiki/Jonas_%C3%96berg">5</a>]
</p> </p>
<p>We have also Interviewed may influential people, had presences at many conferences. <p>We have also Interviewed may influential people in the FLOSS Community.
We have given many talks at conferences, and have been interviewed on other podcasts. We have given many talks at conferences,
We also have been featured in the <a href="<!--% absolute_url(baseurl,'about.html#press') %-->">press</a>.</p> have been interviewed on other podcasts,
and have been featured in the <a href="<!--% absolute_url(baseurl,'about.html#press') %-->">press</a>
on multiple occasions.</p>
<h2 id="free_culture_podcasts">Help the Free Culture Podcasts Project<a href="<!--% absolute_url(baseurl,'about.html#free_culture_podcasts') %-->">.</a></h2>
<p>The <a href="https://FreeCulturePodcasts.org">Free Culture Podcasts Project</a> is a umbrella site run by the Hacker Public Radio community. We prefer to attend booths as the Free Culture Podcasts project so we can not only highlight HPR, but also other podcasts that release their shows under the Creative Commons deed.</p>
<h2 id="supporters" >Please support our Supporters<a href="<!--% absolute_url(baseurl,'about.html#supporters') %-->">.</a></h2> <h2 id="supporters" >Please support our Supporters<a href="<!--% absolute_url(baseurl,'about.html#supporters') %-->">.</a></h2>
<p> <p>
File diff suppressed because it is too large Load Diff
+12 -12
View File
@@ -1,6 +1,6 @@
<!--% page_title = "HPR ~ Subscribe to our feeds" %--> <!--% page_title = "HPR ~ Subscribe to our feeds" %-->
<h1>RSS Syndication</h1> <h1>RSS Syndication<a href="<!--% absolute_path(baseurl) %-->syndication.html">.</a></h1>
<h2>Subscribe to our Feeds</h2> <h2 id="subscribe">Subscribe to our Feeds<a href="<!--% absolute_path(baseurl) %-->syndication.html">.</a></h2>
<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>
@@ -8,7 +8,7 @@
<article> <article>
<header> <header>
<hgroup> <hgroup>
<h2><img src="<!--% absolute_path(baseurl) %-->images/feed.png" alt="rss logo"> The Community News Summary</h2> <h2 id="feed_community_news"><img src="<!--% absolute_path(baseurl) %-->images/feed.png" alt="rss logo"> The Community News Summary<a href="<!--% absolute_path(baseurl) %-->syndication.html#feed_community_news">.</a></h2>
<p>One show a month</p> <p>One show a month</p>
</hgroup> </hgroup>
</header> </header>
@@ -28,7 +28,7 @@
<article> <article>
<header> <header>
<hgroup> <hgroup>
<h2><img src="<!--% absolute_path(baseurl) %-->images/feed.png" alt="rss logo"> Two week Audio feed</h2> <h2 id="feed_regular"><img src="<!--% absolute_path(baseurl) %-->images/feed.png" alt="rss logo"> Two week Audio feed<a href="<!--% absolute_path(baseurl) %-->syndication.html#feed_regular">.</a></h2>
<p>5 shows a week</p> <p>5 shows a week</p>
</hgroup> </hgroup>
</header> </header>
@@ -46,7 +46,7 @@
</article> </article>
<article> <article>
<header> <header>
<h2><img src="<!--% absolute_path(baseurl) %-->images/feed.png" alt="rss logo"> Entire Archive Audio feed</h2> <h2 id="feed_full"><img src="<!--% absolute_path(baseurl) %-->images/feed.png" alt="rss logo"> Entire Archive Audio feed<a href="<!--% absolute_path(baseurl) %-->syndication.html#feed_full">.</a></h2>
</header> </header>
<p> <p>
Use this feed to get the archived episodes. The feed themselves run over 15Mb in size and so use them to download the archived episodes and when you are up to date switch back to the Two Week Feeds listed above. Use this feed to get the archived episodes. The feed themselves run over 15Mb in size and so use them to download the archived episodes and when you are up to date switch back to the Two Week Feeds listed above.
@@ -59,7 +59,7 @@
</article> </article>
<article> <article>
<header> <header>
<h2><img src="<!--% absolute_path(baseurl) %-->images/feed.png" alt="rss logo"> Future feed</h2> <h2 id="feed_future"><img src="<!--% absolute_path(baseurl) %-->images/feed.png" alt="rss logo"> Future Feed<a href="<!--% absolute_path(baseurl) %-->syndication.html#feed_future">.</a></h2>
</header> </header>
<p> <p>
Use this feed to get the shows as they are posted. The shows will be posted out of order as they come in and may be replaced/reposted if errors are found. This is intended as a means to provide find issues with metadata or the audio quality of new shows before they hit the main feed. Use this feed to get the shows as they are posted. The shows will be posted out of order as they come in and may be replaced/reposted if errors are found. This is intended as a means to provide find issues with metadata or the audio quality of new shows before they hit the main feed.
@@ -70,7 +70,7 @@
</article> </article>
<article> <article>
<header> <header>
<h2><img src="<!--% absolute_path(baseurl) %-->images/feed.png" alt="rss logo"> Comment feed</h2> <h2 id="feed_comment"><img src="<!--% absolute_path(baseurl) %-->images/feed.png" alt="rss logo"> Comment Feed<a href="<!--% absolute_path(baseurl) %-->syndication.html#feed_comment">.</a></h2>
</header> </header>
<ul> <ul>
<li><a href="<!--% absolute_path(baseurl) %-->comments.rss">Listener contributed comments to the episodes</a></li> <li><a href="<!--% absolute_path(baseurl) %-->comments.rss">Listener contributed comments to the episodes</a></li>
@@ -82,7 +82,7 @@
<div class="lane stack"> <div class="lane stack">
<article> <article>
<header> <header>
<h2>Site Replication Sources</h2> <h2 id="site_replication">Site Replication Sources<a href="<!--% absolute_path(baseurl) %-->syndication.html#site_replication">.</a></h2>
</header> </header>
<ul> <ul>
<li><a href="<!--% absolute_path(baseurl) %-->hpr.sql">Daily Database Dump in SQL Format</a></li> <li><a href="<!--% absolute_path(baseurl) %-->hpr.sql">Daily Database Dump in SQL Format</a></li>
@@ -92,7 +92,7 @@
</article> </article>
<article> <article>
<header> <header>
<h2>External Sources</h2> <h2 id="external_sources">External Sources<a href="<!--% absolute_path(baseurl) %-->syndication.html#external_sources">.</a></h2>
</header> </header>
<ul> <ul>
<li><a href="https://archive.org/details/hackerpublicradio">Archive.org</a></li> <li><a href="https://archive.org/details/hackerpublicradio">Archive.org</a></li>
@@ -112,19 +112,19 @@
<article> <article>
<header> <header>
<h2>Download Archive</h2> <h2 id="download_archive">Download Archive<a href="<!--% absolute_path(baseurl) %-->syndication.html#download_archive">.</a></h2>
</header> </header>
<p>Please be aware that our Archive exceeds <strong>200Gb</strong></em>. We are happy for you to download them, but please make sure that you are not going to incur additional bandwidth charges on your side.</p> <p>Please be aware that our Archive exceeds <strong>200Gb</strong></em>. We are happy for you to download them, but please make sure that you are not going to incur additional bandwidth charges on your side.</p>
<p>We will be happy to physically send episodes anywhere in the world if bandwidth is an issue.</p> <p>We will be happy to physically send episodes anywhere in the world if bandwidth is an issue.</p>
</article> </article>
<article> <article>
<header><h2>Full Episode Guide</h2></header> <header><h2 id="full_episode_guide">Full Episode Guide<a href="<!--% absolute_path(baseurl) %-->syndication.html#full_episode_guide">.</a></h2></header>
<p>The <a href="<!--% absolute_path(baseurl) %-->eps/index.html">compete episode guide</a> is available to you, and it lists all the shows on one page going right back to the very first episode.</p> <p>The <a href="<!--% absolute_path(baseurl) %-->eps/index.html">compete episode guide</a> is available to you, and it lists all the shows on one page going right back to the very first episode.</p>
</article> </article>
<article> <article>
<header><h2>Command line download</h2></header> <header><h2 id="cli_download">Command line download<a href="<!--% absolute_path(baseurl) %-->syndication.html#cli_download">.</a></h2></header>
<p>You can download the audio of the episodes directly from the command line using the following commands:</p> <p>You can download the audio of the episodes directly from the command line using the following commands:</p>
<ul> <ul>
<li>ogg:<br> <li>ogg:<br>
+8 -3
View File
@@ -7,10 +7,15 @@
<!--% USE date %--> <!--% USE date %-->
<article> <article>
<header> <header>
<h3>Call for shows</h3> <h2>Free Slots Available</h2>
</header> </header>
<p><strong><em>We are running very low on shows</em></strong> at the moment. Have a look at the <a href="<!--% absolute_path(baseurl) %-->correspondents/index.html">hosts</a> page and if you don't see "<!--% date.format(date.now, '%Y') %-->-??-??" next to your name, or if your name is not listed, you might consider sending us in something.</p> <p>
<!-- <img src="/images/hprstats.png" alt="hpr queue showing an graph showing how few shows we have" /> --> Now would be a great opportunity to get your show to the top of the queue!
We ask each listener to send in <strong>just one show a year</strong>.
Check the <a href="<!--% absolute_path(baseurl) %-->correspondents/index.html">hosts page</a>, and if you don't see "<!--% date.format(date.now, '%Y') %-->-??-??" next to your name, or if your name is not listed, then you should send in a show.
Any unfilled slots for next week will be filled from the <a href="<!--% absolute_path(baseurl) %-->contribute.html#reserve_pool">Reserve Pool</a>.
Remember that HPR will stop as a project if there are <a href="<!--% absolute_path(baseurl) %-->about.html#kill_switch">not enough shows</a>.</p>
</article> </article>
<!--% END %--> <!--% END %-->
<!--% END %--> <!--% END %-->