HPR static site generator
Go to file
Dave Morriss d519936f98 Fixing Unicode problems
site-generator:
    - Modification to the POD documentation
    - Addition of 'use 5.012' which enables various later Perl features
    - Addition of "use open ':encoding(UTF-8)'" which forces 'utf8' for
      all IO
    - Addition of 'use Template::Plugin::HTML::Strip' for consistency
    - Removal of other methods of making the default 'utf8' for IO
    - Removal of "'ENCODING => 'utf8'" when setting up a new template
      object. This allows template files to contain Unicode, but doesn't
      seem to be necessary
    - Changes to subroutine 'parse_csv': more comments, clarification of
      warning message, explicit conversion of tags which are marked as
      'utf8' to this format using 'utf8::encode' from core Perl.
2023-08-27 13:22:11 +01:00
_sql/sqlite Fix test data insertion script 2022-07-12 22:41:12 -04:00
public_html Fixes to "step navigation", etc 2023-07-31 15:27:17 +01:00
templates Merge pull request 'Fixing issue #140' (#155) from I140_Convert_the_RSS_feeds_from_php_to_the_static_site into main 2023-08-20 15:07:33 +00:00
utils Add helper script that creates the HPR SQLite file 2023-03-07 19:03:08 -05:00
GETTING_STARTED.md Fix grammer issues 2023-03-09 21:42:36 -05:00
LICENSE Change license to AGPLV3 2022-07-13 23:16:44 -04:00
README.md Update 'README.md' 2023-04-02 14:36:34 +00:00
site-generator Fixing Unicode problems 2023-08-27 13:22:11 +01:00
site.cfg Fixed the link to the mail list 2023-08-06 14:04:00 +02:00

hpr_generator

Static web page generator for the Hacker Public Radio website.

Installation

  • Clone or download this repository
  • With SQLite
    • Create the sqlite3 database from the hpr.sql MySQL dump file available on hackerpublicradio.org. The default name for the database file is "hpr.db" and should be located in the root of the project directory. The name and location can be set in the site.cfg file.
    • An "update-hpr.sh" helper script is available in the utils directory. This script will download the hpr.sql file, convert it to the SQLite hpr.db file, and regenerate the website using the site-generator.
      1. cd into the root of the project directory
      2. Run ./utils/update-hpr.sh
    • SQLite v3.8.3 or greater is recommended. CTE WITH clauses are used in some template queries. Must convert WITH clauses to sub-queries when using earlier versions of SQLite.
  • With MySQL
    • Create database hpr_hpr in the MySQL server from HPR dump file.
      • sudo mysql --host=localhost < hpr.sql
    • Create a user that will be used by the site-generator.
      • Suggested username: hpr-generator
      • CREATE USER 'hpr-generator'@'localhost' IDENTIFIED BY '<password>';
    • Limit the user's privileges to EXECUTE and SELECT
      • GRANT SELECT ON hpr_hpr.* TO 'hpr-generator'@'localhost';
      • GRANT EXECUTE ON `hpr_hpr`.* TO 'hpr-generator'@'localhost';
  • Install the needed Perl modules using preferred method (distribution packages, CPAN, etc.)
    • GetOpt
    • Pod::Usage
    • Config::Std
    • Template
    • Template::Plugin::File
    • Template::Plugin::DBI
    • DBI
    • Tie::DBI
    • DBD::SQLite or DBD:mysql
    • Date::Calc
  • See the Getting Started tutorial (GETTING_STARTED.md) for more details on installing the HPR generator.

Usage

Generate two specific pages: site-generator index about

Generate the whole site: site-generator --all

Generate pages based on the same template: site-generator correspondent=1,3,5..10

Support

Please submit an Issue, and add the label "Help Request" for help running or installing the site-generator.

For discussing HPR site generation in general, please submit an Issue and add the label "General Discussion".

Contributing

Happy to take any contributions or suggestions.

To contribute code or documentation, please create a fork of the project and submit a pull request or send a patch. If an issue exists that is related to your patch, please assign the issue to yourself, or if it is already assigned to someone else, please coordinate with them to minimize duplicated efforts.

If you have found an error in the code or the generated HTML, please submit an Issue, and add the label "Bug Found".

To make a suggestion, please submit an Issue, and add the label "Feature Request".

Authors and acknowledgment

  • Roan "Rho`n" Horning
  • gordons
  • Ken Fallon
  • norrist