Compare commits
5 Commits
47b2c588b8
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 47446fc385 | |||
| 69dc0cf8f0 | |||
| 6e6467f51b | |||
| 138c2e7946 | |||
| 8420bb75a3 |
24
Dockerfile
24
Dockerfile
@@ -1,24 +0,0 @@
|
||||
FROM perl:stable
|
||||
|
||||
RUN cpan 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"]
|
||||
@@ -11,9 +11,7 @@ password are required), run:
|
||||
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.
|
||||
|
||||
# Building on local system
|
||||
|
||||
## Install required Perl modules
|
||||
# Install required Perl modules
|
||||
|
||||
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
|
||||
@@ -36,7 +34,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.
|
||||
Make sure that the [gcc](https://www.gnu.org/software/gcc/),
|
||||
@@ -57,7 +55,7 @@ cpan Tie::DBI
|
||||
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.
|
||||
|
||||
@@ -67,37 +65,6 @@ It can be run from any directory. To run from the utils directory:
|
||||
./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 run -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.
|
||||
|
||||
## 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
|
||||
|
||||
The hpr_generator relies on information from a database to generate many of the
|
||||
|
||||
@@ -2,9 +2,6 @@
|
||||
Static web page generator for the Hacker Public Radio website.
|
||||
|
||||
## Installation
|
||||
|
||||
### On local system
|
||||
|
||||
* Clone or download this repository
|
||||
* With SQLite
|
||||
* Create the sqlite3 database from the hpr.sql MySQL dump file available on
|
||||
@@ -34,10 +31,6 @@ Static web page generator for the Hacker Public Radio website.
|
||||
* Text::CSV_XS
|
||||
* HTML::Entities
|
||||
|
||||
### Using Docker
|
||||
|
||||
* run: `docker build -t hpr/site-generator .`
|
||||
|
||||
* See the [Getting Started](GETTING_STARTED.md) tutorial for more details on
|
||||
installing the HPR generator.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env perl
|
||||
#!/usr/bin/perl
|
||||
|
||||
# {{{ POD documentation
|
||||
|
||||
|
||||
@@ -24,8 +24,9 @@
|
||||
<h1 id="about">About HPR<a href="<!--% absolute_url(baseurl,'about.html#about') %-->">.</a></h1>
|
||||
</header>
|
||||
<h2 id="community">The HPR Community<a href="<!--% absolute_url(baseurl,'about.html#community') %-->">.</a></h2>
|
||||
<p>Hacker Public Radio is dedicated to sharing knowledge in a welcoming community that offers positive feedback and encourages respectful debate.</p>
|
||||
<p>What differentiates HPR from other podcasts is that the shows are crowd sourced from the community -
|
||||
fellow listeners like <strong><a href="<!--% absolute_url(baseurl,'about.html#contact') %-->">you</a></strong>.
|
||||
fellow listeners like <strong><a href="<!--% absolute_url(baseurl,'correspondents/index.html') %-->">you</a></strong>.
|
||||
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>"are of interest to <a href="http://en.wikipedia.org/wiki/Hacker_(hobbyist)" ><!--% make_sfw(is_sfw, "Hobbyists", "Hackers") %--></a>"</em>.
|
||||
If you want to see what topics have been covered so far just have a look at our
|
||||
@@ -43,10 +44,11 @@ You can copy and redistribute the shows for free provided you adhere to the
|
||||
<h2 id="history">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.
|
||||
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> & <a href="https://web.archive.org/web/20150208172826/http://www.nomicon.info/" >Infonomicon</a>,
|
||||
<a href="https://web.archive.org/web/20220123174618/https://www.binrev.com/forums/" >Binary Revolution Radio</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.
|
||||
Please listen to StankDawg's "<a href="<!--% media_path(1, 'hpr', 'mp3', baseurl, media_baseurl) %-->" >
|
||||
Introduction to HPR</a>" for more information.</p>
|
||||
Please listen to StankDawg's "<a href="<!--% media_path(1, 'hpr', 'mp3', baseurl, media_baseurl) %-->" >Introduction to HPR</a>" ,
|
||||
and Droop's "<a href="<!--% media_path(1874, 'hpr', 'mp3', baseurl, media_baseurl) %-->" >10 year anniversary of HPR</a>" for more information.</p>
|
||||
|
||||
<h2 id="free_culture">Free Culture<a href="<!--% absolute_url(baseurl,'about.html#free_culture') %-->">.</a></h2>
|
||||
<p><!--% make_sfw(is_sfw, "Hobby", "Hacker") %--> Public Radio is dedicated to sharing knowledge. We do not accept donations so please consider supporting our patrons.
|
||||
@@ -54,20 +56,34 @@ If you listen to HPR, then we would love you to <a href="contribute.html">contri
|
||||
Our shows are by default released under a <a href="https://creativecommons.org/licenses/by-sa/4.0/" >
|
||||
Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)</a> license.
|
||||
All the software we use is <a href="https://en.wikipedia.org/wiki/Free_software" >Free software</a>.
|
||||
All the code we develop is published in our <a href="https://repo.anhonesthost.net/explore/repos" >GitTea</a> repository.
|
||||
All the code we develop is published in our <a href="https://repo.anhonesthost.net/HPR" >GitTea</a> repository.
|
||||
All the media is available via the <a href="<!--% absolute_url(baseurl,'syndication.html') %-->">feeds</a>.</p>
|
||||
|
||||
<h2 id ="do_no_harm" >Do No Harm<a href="<!--% absolute_url(baseurl,'about.html#do_no_harm') %-->">.</a></h2>
|
||||
<p>We trust you not to do anything that will harm HPR.
|
||||
We don't tolerate Harassment, Trolling, etc.
|
||||
If there is anything on the site which you feel can harm HPR,
|
||||
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.</p>
|
||||
If not then please bring it to the attention of the janitors at hpr (<strong><a href="<!--% absolute_url(baseurl,'about.html#contact') %-->">contact</a></strong>),
|
||||
they will apply the same criteria as if the show was been posted today. Any material that is reported as harming HPR may be unlisted until such a time as the situation can be resolved.</p>
|
||||
|
||||
|
||||
<h2 id ="governance" >Governance<a href="<!--% absolute_url(baseurl,'about.html#governance') %-->">.</a></h2>
|
||||
|
||||
<p>HPR is entirely community driven.
|
||||
Policy decisions are proposed and discussed on the <a href="<!--% absolute_url(baseurl,'/maillist') %-->" >Mailing list</a>,
|
||||
which is open to anyone to join.
|
||||
which is open to anyone to join.
|
||||
Mailing list discussions are brought to the attention of the listening community on the first Monday of the month in the
|
||||
<a href="<!--% absolute_url(baseurl,'series/0047.html') %-->" >HPR Community News</a> show.
|
||||
This show is also <a href="<!--% absolute_url(baseurl,'recording.html#round_table') %-->" >open to anyone</a> to participate in.
|
||||
The schedule for the Community News shows can be downloaded as an <a href="<!--% absolute_url(baseurl,'HPR_Community_News_schedule.ics') %-->">iCal calendar</a> containing recording dates for the next 12 months. A reminder is also sent to the mailing list in the week before the recording.</p>
|
||||
|
||||
<h2 id ="sponsors" >Sponsors<a href="<!--% absolute_url(baseurl,'about.html#sponsors') %-->">.</a></h2>
|
||||
|
||||
<p>Our hosting is kindly provided to us by <a href="<!--% absolute_url(baseurl,'correspondents/0174.html') %-->">Josh Knapp</a> from <a href="https://anhonesthost.com/hosting/shared-hosting">AnHonestHost.com</a>, and he has the last word in issues related to site security. A changing team of volunteers called the "admins" or "Janitors", deal with the day to day operation of HPR. Acting as the first point of contact, processing the shows, coordinating policy discussions, removing spam, updating the website, etc. They are contactable via the email account admin @ HPR. They have no more say over policy than anyone else. Anyone who has shown a long term dedication to the project and is trusted by the community, can become an admin.
|
||||
</p>
|
||||
<p>See the section <a href="<!--% absolute_url(baseurl,'about.html#stuff_you_need_to_know') %-->" >stuff you need to know</a> for more information.</p>
|
||||
|
||||
<p>See the section <a href="https://repo.anhonesthost.net/HPR/hpr_documentation/src/branch/main/policies.md" >HPR Policies</a> for more information.</p>
|
||||
|
||||
<h3 id="recent_policy_changes">Recent Policy Changes</h3>
|
||||
<ul>
|
||||
@@ -193,8 +209,8 @@ You can help by:
|
||||
<li>Producing Stickers/Banners merch</li>
|
||||
<li>Paying the domain costs</li>
|
||||
<li>Supporting Mumble hosting</li>
|
||||
<li>Locating and fixing bugs on our gittea repo</li>
|
||||
<li>Improving the documentation on our gittea repo</li>
|
||||
<li>Locating and fixing bugs on our <a href="https://repo.anhonesthost.net/HPR" >GitTea</a> repo</li>
|
||||
<li>Improving the documentation on our <a href="https://repo.anhonesthost.net/HPR" >GitTea</a> repo</li>
|
||||
<li><a href="<!--% absolute_url(baseurl,'about.html#patrons') %-->">Support our Patrons</a></li>
|
||||
</ul>
|
||||
</article>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -52,9 +52,9 @@
|
||||
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.
|
||||
</p>
|
||||
<ul>
|
||||
<li><a href="<!--% absolute_path(baseurl) %-->hpr_total_opus_rss.php">opus feed</a> Warning over 62G</li>
|
||||
<li><a href="<!--% absolute_path(baseurl) %-->hpr_total_ogg_rss.php">ogg feed</a> Warning over 71G</li>
|
||||
<li><a href="<!--% absolute_path(baseurl) %-->hpr_total_rss.php">mp3 feed</a> Warning over 70G</li>
|
||||
<li><a href="<!--% absolute_path(baseurl) %-->hpr_total_opus_rss.php">opus feed</a> Warning over 64G</li>
|
||||
<li><a href="<!--% absolute_path(baseurl) %-->hpr_total_ogg_rss.php">ogg feed</a> Warning over 68G</li>
|
||||
<li><a href="<!--% absolute_path(baseurl) %-->hpr_total_rss.php">mp3 feed</a> Warning over 72G</li>
|
||||
</ul>
|
||||
</article>
|
||||
<article>
|
||||
|
||||
Reference in New Issue
Block a user