Archived
4
2
HPR static site generator (this repository is obsolete, please use HPR/hpr_generator)
This repository has been archived on 2024-09-28. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
Roan Horning add92ef20d
Add utility script to refresh the local website
This script  will download latest MySQL dump file from
hacckerpublicradio.org. Generate a new hpr.db SQLite file,
and then regenerate all of the website files.
2023-03-03 23:32:35 -05:00
_sql/sqlite Fix test data insertion script 2022-07-12 22:41:12 -04:00
public_html Implement comments_viewer page 2023-02-24 20:42:01 -05:00
templates Fix URL's to series RSS feeds 2023-02-25 23:06:41 -05:00
utils Add utility script to refresh the local website 2023-03-03 23:32:35 -05:00
LICENSE Change license to AGPLV3 2022-07-13 23:16:44 -04:00
README.md Update installation instruction to include details for MySQL 2022-10-22 21:11:57 -04:00
site-generator Add database type constant for use in templates 2022-11-27 13:11:14 -05:00
site.cfg Fix database instructions in configuration file 2023-03-03 22:44:05 -05: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 files in the _sql directory. 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.
    • Two sql helper scripts are available to generate an empty database or a database filled with test data.
      • For an empty database: cat Create_Database_Empty.sql | sqlite3 hpr.db
      • For a database with test data: cat Create_Database_Test.sql | sqlite3 hpr.db
    • 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

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