Compare commits
3 Commits
main
...
recommend_
Author | SHA1 | Date | |
---|---|---|---|
01a1e72f6a | |||
d617cf01d3 | |||
713c2e6394 |
@ -81,7 +81,8 @@ or
|
||||
|
||||
`wget --directory-prefix=./ https://www.hackerpublicradio.org/hpr.sql`
|
||||
|
||||
## Creating an SQLite database file
|
||||
You can process the file using SQLite, or MySQL as you prefer. SQLite is the recommended option for local processing, but instructions are given for both options:
|
||||
## Option 1: Creating an SQLite database file
|
||||
|
||||
The SQL of the hpr.sql file must be converted from MySQL specific statements to
|
||||
SQLite specific statements. The mysql2sqlite script found in the utils directory
|
||||
@ -95,12 +96,23 @@ program which creates the hpr.db file:
|
||||
|
||||
`./utils/mysql2sqlite ./hpr-sqlite.sql | sqlite3 ./hpr.db`
|
||||
|
||||
For convenience, the update-hpr-db.sh script in the utils directory
|
||||
For convenience, the update-sqlite-db.sh script in the utils directory
|
||||
automates the above steps (including downloading the hpr.sql file).
|
||||
From the root of the local hpr_generator repository run:
|
||||
|
||||
`./utils/update-hpr-db.sh`
|
||||
`./utils/update-sqlite-db.sh`
|
||||
|
||||
## Option 2: Creating a MySQL database file
|
||||
|
||||
The SQL code in the hpr.sql file needs to be loaded into a local database:
|
||||
* 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';``
|
||||
# Configure the site-generator
|
||||
|
||||
In your favorite text editor, open the site.cfg file found in the root of the
|
||||
|
72
README.md
72
README.md
@ -1,65 +1,47 @@
|
||||
# hpr_generator
|
||||
|
||||
Static web page generator for the Hacker Public Radio website.
|
||||
|
||||
## Installation
|
||||
Steps necessary to install this generator locally:
|
||||
* 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::Long
|
||||
* Pod::Usage
|
||||
* Config::Std
|
||||
* Template
|
||||
* Template::Plugin::File
|
||||
* Template::Plugin::DBI
|
||||
* Template::Plugin::Date
|
||||
* Template::Plugin::HTML::Strip
|
||||
* DBI
|
||||
* Tie::DBI
|
||||
* DBD::SQLite or DBD::mysql
|
||||
* Date::Calc
|
||||
* Text::CSV_XS
|
||||
* HTML::Entities
|
||||
|
||||
* See the [Getting Started](GETTING_STARTED.md) tutorial for more details on
|
||||
installing the HPR generator.
|
||||
* Install the needed Perl modules using your preferred method (distribution
|
||||
packages, CPAN, etc.)
|
||||
|
||||
## Usage
|
||||
Generate two specific pages:
|
||||
`site-generator index about`
|
||||
The following utilities are provided to support the process of
|
||||
generating the website:
|
||||
* `utils/update-hpr-db.sh` - Download the database and transform it
|
||||
into the hpr.db SQLite database.
|
||||
* `utils/update-hpr.sh` - Download HPR.sql and create the SQLite database
|
||||
using `update-hpr-db.sh`, then run `site-generator` to create the
|
||||
website.
|
||||
* `./site-generator` - Using the information in the templates
|
||||
directory and the show information in the database, generate the
|
||||
website. Without parameters, the whole site will be generated.
|
||||
|
||||
Generate the whole site:
|
||||
`site-generator --all`
|
||||
If you need to generate specific pages (in this example, index and about):
|
||||
`site-generator index about`
|
||||
|
||||
Having downloaded the database, you can also regenerate the whole site:
|
||||
`site-generator --all`
|
||||
|
||||
Generate pages based on the same template:
|
||||
`site-generator correspondent=1,3,5..10`
|
||||
|
||||
## More Information
|
||||
* See the [Getting Started](GETTING_STARTED.md) tutorial for more details on
|
||||
installing and using the HPR generator.
|
||||
|
||||
## Support
|
||||
|
||||
Please [submit an Issue](https://repo.anhonesthost.net/HPR/hpr_generator/issues),
|
||||
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](https://repo.anhonesthost.net/HPR/hpr_generator/issues) 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](https://repo.anhonesthost.net/HPR/hpr_generator/pulls) 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.
|
||||
@ -71,9 +53,13 @@ To make a suggestion, please [submit an Issue](https://repo.anhonesthost.net/HPR
|
||||
and add the label "**Feature Request**".
|
||||
|
||||
## Authors and acknowledgment
|
||||
|
||||
* Roan "Rho`n" Horning
|
||||
* Dave Morriss
|
||||
* gordons
|
||||
* Ken Fallon
|
||||
* norrist
|
||||
* Paul Jewell (paulj)
|
||||
|
||||
|
||||
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 12 KiB |
Binary file not shown.
Before Width: | Height: | Size: 109 KiB |
@ -62,7 +62,7 @@
|
||||
<!--% listen_now(latest_episodes, "hpr", baseurl, media_baseurl) %-->
|
||||
</p>
|
||||
</header>
|
||||
<p>See <a href="<!--% absolute_path(baseurl) %-->eps/hpr<!--% zero_pad_left(latest_episodes.id) %-->/index.html">episode show notes</a> for more information.</p>
|
||||
<!--% tidy_notes(latest_episodes.notes) %-->
|
||||
</article>
|
||||
<!--% host_cnt = host_cnt + 1 %-->
|
||||
<!--% END %-->
|
||||
|
@ -3,10 +3,9 @@
|
||||
<!--% PROCESS 'shared-utils.tpl.html' %-->
|
||||
<!--% PROCESS 'shared-episode-summary.tpl.html' %-->
|
||||
<!--% USE date %-->
|
||||
<!--% USE HTML.Strip emit_spaces = 0 %-->
|
||||
<channel>
|
||||
<title>Hacker Public Radio ~ Comment Feed</title>
|
||||
<link><!--% absolute_url(http_baseurl) %-->about.html</link>
|
||||
<link><!--% baseurl %-->about.html</link>
|
||||
<description>Comments Feed: Hacker Public Radio is a podcast that releases shows every weekday Monday through Friday. Our shows are produced by the community (you) and can be on any topic that is of interest to hackers and hobbyists.</description>
|
||||
<language>en-us</language>
|
||||
<copyright>Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) License</copyright>
|
||||
@ -16,14 +15,14 @@
|
||||
<docs>https://www.rssboard.org/rss-specification</docs>
|
||||
<ttl>600</ttl>
|
||||
<image>
|
||||
<url><!--% absolute_url(http_baseurl) %-->images/hpr_feed_small.png</url>
|
||||
<url><!--% baseurl %-->images/hpr_feed_small.png</url>
|
||||
<title>Hacker Public Radio ~ Comment Feed</title>
|
||||
<link><!--% absolute_url(http_baseurl) %-->about.html</link>
|
||||
<link><!--% baseurl %-->about.html</link>
|
||||
<description>The Hacker Public Radio Old Microphone Logo</description>
|
||||
<height>164</height>
|
||||
<width>144</width>
|
||||
</image>
|
||||
<atom:link href="<!--% absolute_url(http_baseurl) %-->comments.rss" rel="self" type="application/rss+xml" />
|
||||
<atom:link href="<!--% baseurl %-->comments.rss" rel="self" type="application/rss+xml" />
|
||||
<!--% USE DBI(constants.driver, constants.user, constants.password) %-->
|
||||
<!--% FOREACH response IN DBI.query('SELECT max( comment_timestamp) AS latest_update FROM comments') %-->
|
||||
|
||||
@ -50,15 +49,15 @@
|
||||
%-->
|
||||
|
||||
<item>
|
||||
<title><!--% item.comment_author_name | html_strip | xml_entity %--> says: <!--% item.comment_title | html_strip | xml_entity %--></title>
|
||||
<author>feedback.nospam@nospam.hackerpublicradio.org (<!--% item.comment_author_name | html_strip | xml_entity %-->)</author>
|
||||
<link><!--% absolute_url(http_baseurl) %-->eps/hpr<!--% zero_pad_left(item.eps_id) %-->/index.html#comments</link>
|
||||
<title><!--% item.comment_author_name %--> says: <!--% item.comment_title %--></title>
|
||||
<author>feedback.nospam@nospam.hackerpublicradio.org (<!--% item.comment_author_name %-->)</author>
|
||||
<link><!--% baseurl %-->eps/hpr<!--% zero_pad_left(item.eps_id) %-->/index.html#comments</link>
|
||||
<description><![CDATA[<strong>
|
||||
RE: hpr<!--% zero_pad_left(item.eps_id) %-->::<!--% item.episode_date %--> <em><!--% item.episode_title | html_strip | xml_entity %--></em> by <a href="<!--% absolute_url(http_baseurl) %-->correspondents/<!--% zero_pad_left(item.host_id) %-->.html"><!--% item.host %--></a></strong><!--% rss_show_series(item.series_name, item.series_id) | html_strip | xml_entity %--><br />
|
||||
RE: hpr<!--% zero_pad_left(item.eps_id) %-->::<!--% item.episode_date %--> <em><!--% item.episode_title %--></em> by <a href="<!--% baseurl %-->correspondents/<!--% zero_pad_left(item.host_id) %-->.html"><!--% item.host %--></a></strong><!--% rss_show_series(item.series_name, item.series_id) %--><br />
|
||||
<!--% display_episode_duration(item.episode_duration) %--><!--% display_listen_in(item.eps_id) %--><br /><!--% item.comment_text FILTER html_line_break %-->
|
||||
]]></description>
|
||||
<pubDate><!--% format_feed_date(item.comment_timestamp) %--></pubDate>
|
||||
<guid isPermaLink="false"><!--% absolute_url(http_baseurl) %-->eps/hpr<!--% zero_pad_left(item.eps_id) %-->/index.html#comment_<!--% item.id %--></guid>
|
||||
<guid isPermaLink="false"><!--% baseurl %-->eps/hpr<!--% zero_pad_left(item.eps_id) %-->/index.html#comment_<!--% item.id %--></guid>
|
||||
</item>
|
||||
<!--% END %-->
|
||||
</channel>
|
||||
|
Loading…
x
Reference in New Issue
Block a user