forked from HPR/hpr_generator
Compare commits
15 Commits
01a1e72f6a
...
50bcdf7c60
Author | SHA1 | Date | |
---|---|---|---|
50bcdf7c60 | |||
65c2d972e8 | |||
dcd05d0e9b | |||
6d59372077 | |||
beb5814d5d | |||
6c7712be71 | |||
|
09f69164d0 | ||
bf7178b79f | |||
|
c4e875548c | ||
ed85c81396 | |||
6f8c5c7141 | |||
|
0ebc67addb | ||
|
808386bccc | ||
28af8900a3 | |||
65e6464add |
@ -81,8 +81,8 @@ or
|
|||||||
|
|
||||||
`wget --directory-prefix=./ https://www.hackerpublicradio.org/hpr.sql`
|
`wget --directory-prefix=./ https://www.hackerpublicradio.org/hpr.sql`
|
||||||
|
|
||||||
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:
|
You can process the file using SQLite:
|
||||||
## Option 1: Creating an SQLite database file
|
## Creating an SQLite database file
|
||||||
|
|
||||||
The SQL of the hpr.sql file must be converted from MySQL specific statements to
|
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
|
SQLite specific statements. The mysql2sqlite script found in the utils directory
|
||||||
@ -96,23 +96,12 @@ program which creates the hpr.db file:
|
|||||||
|
|
||||||
`./utils/mysql2sqlite ./hpr-sqlite.sql | sqlite3 ./hpr.db`
|
`./utils/mysql2sqlite ./hpr-sqlite.sql | sqlite3 ./hpr.db`
|
||||||
|
|
||||||
For convenience, the update-sqlite-db.sh script in the utils directory
|
For convenience, the update-hpr-db.sh script in the utils directory
|
||||||
automates the above steps (including downloading the hpr.sql file).
|
automates the above steps (including downloading the hpr.sql file).
|
||||||
From the root of the local hpr_generator repository run:
|
From the root of the local hpr_generator repository run:
|
||||||
|
|
||||||
`./utils/update-sqlite-db.sh`
|
`./utils/update-hpr-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
|
# Configure the site-generator
|
||||||
|
|
||||||
In your favorite text editor, open the site.cfg file found in the root of the
|
In your favorite text editor, open the site.cfg file found in the root of the
|
||||||
@ -123,7 +112,7 @@ file are found in the comments within the file.
|
|||||||
|
|
||||||
Any database supported by the Perl:DBI and Perl::DBD modules can be used with
|
Any database supported by the Perl:DBI and Perl::DBD modules can be used with
|
||||||
the site-generator program. Currently the hpr_generator project works with
|
the site-generator program. Currently the hpr_generator project works with
|
||||||
a MySQL or SQLite database.
|
an SQLite database.
|
||||||
|
|
||||||
Find the [DBI] section of the file. It should look like the following
|
Find the [DBI] section of the file. It should look like the following
|
||||||
|
|
||||||
@ -134,15 +123,8 @@ Find the [DBI] section of the file. It should look like the following
|
|||||||
#driver: dbi:SQLite:hpr.db
|
#driver: dbi:SQLite:hpr.db
|
||||||
#user: (not used - leave blank)
|
#user: (not used - leave blank)
|
||||||
#password: (not used - leave blank)
|
#password: (not used - leave blank)
|
||||||
# Configuration settings for MySQL
|
|
||||||
#database: mysql
|
|
||||||
#driver: dbi:mysql:database=hpr_hpr:hostname=localhost
|
|
||||||
#user: hpr-generator (Suggested user with read-only privileges)
|
|
||||||
#password: ********* (Password for user)
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### SQLite
|
|
||||||
|
|
||||||
Remove the comment character from the start of the database and driver
|
Remove the comment character from the start of the database and driver
|
||||||
option lines:
|
option lines:
|
||||||
|
|
||||||
@ -158,26 +140,6 @@ The hpr.db section of the driver option `dbi:SQLite:hpr.db` is the path
|
|||||||
to the sqlite file. The default assumes the hpr.db file is located in the same
|
to the sqlite file. The default assumes the hpr.db file is located in the same
|
||||||
directory as the site-generator.
|
directory as the site-generator.
|
||||||
|
|
||||||
### MySQL
|
|
||||||
|
|
||||||
Remove the comment character from the start of the database, driver,
|
|
||||||
user, and password option lines:
|
|
||||||
|
|
||||||
```
|
|
||||||
# Configuration settings for MySQL
|
|
||||||
database: mysql
|
|
||||||
driver: dbi:mysql:database=hpr_hpr:hostname=localhost
|
|
||||||
user: hpr-generator
|
|
||||||
password: *********
|
|
||||||
```
|
|
||||||
|
|
||||||
This assumes that the MySQL database service is available at the localhost
|
|
||||||
hostname, that the database name (hpr_hpr) is the database created from
|
|
||||||
the hpr.sql dump file or manually created by you, that the user (hpr-generator)
|
|
||||||
was added by you and has read rights to the hpr_hpr database, and that the
|
|
||||||
password (replace ********* with the actual password) matches the password set
|
|
||||||
for the hpr-generator database user.
|
|
||||||
|
|
||||||
## Configuring the website for viewing locally
|
## Configuring the website for viewing locally
|
||||||
|
|
||||||
For HTML links to work when viewing the files on your local machine using the
|
For HTML links to work when viewing the files on your local machine using the
|
||||||
|
BIN
public_html/images/hosts/441.png
Normal file
BIN
public_html/images/hosts/441.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 12 KiB |
BIN
public_html/images/hosts/442.png
Normal file
BIN
public_html/images/hosts/442.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 109 KiB |
@ -80,7 +80,7 @@
|
|||||||
<p>
|
<p>
|
||||||
Our hosting is kindly provided by <a href="<!--% absolute_url(baseurl) %-->correspondents/0174.html">Josh</a> from
|
Our hosting is kindly provided by <a href="<!--% absolute_url(baseurl) %-->correspondents/0174.html">Josh</a> from
|
||||||
<a href="https://anhonesthost.com/shared-hosting/">AnHonestHost.com</a>.
|
<a href="https://anhonesthost.com/shared-hosting/">AnHonestHost.com</a>.
|
||||||
We would appreciate it if you could <a href="https://secure.anhonesthost.com/cart.php?gid=17">donate</a> to help
|
We would appreciate it if you could <a href="https://secure.anhonesthost.com/store/hpr-hosting-cost-donations">donate</a> to help
|
||||||
reduce his costs in funding the hosting. He is also accepting bitcoins to <em>1KsxJr9HtsdaUeU7yaV9bk9bQi21UPBtUq</em>
|
reduce his costs in funding the hosting. He is also accepting bitcoins to <em>1KsxJr9HtsdaUeU7yaV9bk9bQi21UPBtUq</em>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
|
@ -62,7 +62,7 @@
|
|||||||
<!--% listen_now(latest_episodes, "hpr", baseurl, media_baseurl) %-->
|
<!--% listen_now(latest_episodes, "hpr", baseurl, media_baseurl) %-->
|
||||||
</p>
|
</p>
|
||||||
</header>
|
</header>
|
||||||
<!--% tidy_notes(latest_episodes.notes) %-->
|
<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>
|
||||||
</article>
|
</article>
|
||||||
<!--% host_cnt = host_cnt + 1 %-->
|
<!--% host_cnt = host_cnt + 1 %-->
|
||||||
<!--% END %-->
|
<!--% END %-->
|
||||||
|
@ -81,7 +81,7 @@
|
|||||||
<nav class="column">
|
<nav class="column">
|
||||||
<h2>Social</h2>
|
<h2>Social</h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="<!--% absolute_url(baseurl,'/maillist') %-->" >Mailing list</a></li>
|
<li><a href="https://lists.hackerpublicradio.com/mailman/listinfo/hpr" >Mailing list</a></li>
|
||||||
<li><a rel="me" href="https://infosec.exchange/@hpr" >Mastodon</a></li>
|
<li><a rel="me" href="https://infosec.exchange/@hpr" >Mastodon</a></li>
|
||||||
<li><a href="https://matrix.to/#/#hpr:matrix.org" >Matrix</a></li>
|
<li><a href="https://matrix.to/#/#hpr:matrix.org" >Matrix</a></li>
|
||||||
<li><a href="mumble://chatter.skyehaven.net:64738/Hacker%20Public%20Radio?version=1.2.0" >Mumble</a></li>
|
<li><a href="mumble://chatter.skyehaven.net:64738/Hacker%20Public%20Radio?version=1.2.0" >Mumble</a></li>
|
||||||
|
@ -3,9 +3,10 @@
|
|||||||
<!--% PROCESS 'shared-utils.tpl.html' %-->
|
<!--% PROCESS 'shared-utils.tpl.html' %-->
|
||||||
<!--% PROCESS 'shared-episode-summary.tpl.html' %-->
|
<!--% PROCESS 'shared-episode-summary.tpl.html' %-->
|
||||||
<!--% USE date %-->
|
<!--% USE date %-->
|
||||||
|
<!--% USE HTML.Strip emit_spaces = 0 %-->
|
||||||
<channel>
|
<channel>
|
||||||
<title>Hacker Public Radio ~ Comment Feed</title>
|
<title>Hacker Public Radio ~ Comment Feed</title>
|
||||||
<link><!--% baseurl %-->about.html</link>
|
<link><!--% absolute_url(http_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>
|
<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>
|
<language>en-us</language>
|
||||||
<copyright>Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) License</copyright>
|
<copyright>Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) License</copyright>
|
||||||
@ -15,14 +16,14 @@
|
|||||||
<docs>https://www.rssboard.org/rss-specification</docs>
|
<docs>https://www.rssboard.org/rss-specification</docs>
|
||||||
<ttl>600</ttl>
|
<ttl>600</ttl>
|
||||||
<image>
|
<image>
|
||||||
<url><!--% baseurl %-->images/hpr_feed_small.png</url>
|
<url><!--% absolute_url(http_baseurl) %-->images/hpr_feed_small.png</url>
|
||||||
<title>Hacker Public Radio ~ Comment Feed</title>
|
<title>Hacker Public Radio ~ Comment Feed</title>
|
||||||
<link><!--% baseurl %-->about.html</link>
|
<link><!--% absolute_url(http_baseurl) %-->about.html</link>
|
||||||
<description>The Hacker Public Radio Old Microphone Logo</description>
|
<description>The Hacker Public Radio Old Microphone Logo</description>
|
||||||
<height>164</height>
|
<height>164</height>
|
||||||
<width>144</width>
|
<width>144</width>
|
||||||
</image>
|
</image>
|
||||||
<atom:link href="<!--% baseurl %-->comments.rss" rel="self" type="application/rss+xml" />
|
<atom:link href="<!--% absolute_url(http_baseurl) %-->comments.rss" rel="self" type="application/rss+xml" />
|
||||||
<!--% USE DBI(constants.driver, constants.user, constants.password) %-->
|
<!--% USE DBI(constants.driver, constants.user, constants.password) %-->
|
||||||
<!--% FOREACH response IN DBI.query('SELECT max( comment_timestamp) AS latest_update FROM comments') %-->
|
<!--% FOREACH response IN DBI.query('SELECT max( comment_timestamp) AS latest_update FROM comments') %-->
|
||||||
|
|
||||||
@ -49,15 +50,15 @@
|
|||||||
%-->
|
%-->
|
||||||
|
|
||||||
<item>
|
<item>
|
||||||
<title><!--% item.comment_author_name %--> says: <!--% item.comment_title %--></title>
|
<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 %-->)</author>
|
<author>feedback.nospam@nospam.hackerpublicradio.org (<!--% item.comment_author_name | html_strip | xml_entity %-->)</author>
|
||||||
<link><!--% baseurl %-->eps/hpr<!--% zero_pad_left(item.eps_id) %-->/index.html#comments</link>
|
<link><!--% absolute_url(http_baseurl) %-->eps/hpr<!--% zero_pad_left(item.eps_id) %-->/index.html#comments</link>
|
||||||
<description><![CDATA[<strong>
|
<description><![CDATA[<strong>
|
||||||
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 />
|
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 />
|
||||||
<!--% display_episode_duration(item.episode_duration) %--><!--% display_listen_in(item.eps_id) %--><br /><!--% item.comment_text FILTER html_line_break %-->
|
<!--% display_episode_duration(item.episode_duration) %--><!--% display_listen_in(item.eps_id) %--><br /><!--% item.comment_text FILTER html_line_break %-->
|
||||||
]]></description>
|
]]></description>
|
||||||
<pubDate><!--% format_feed_date(item.comment_timestamp) %--></pubDate>
|
<pubDate><!--% format_feed_date(item.comment_timestamp) %--></pubDate>
|
||||||
<guid isPermaLink="false"><!--% baseurl %-->eps/hpr<!--% zero_pad_left(item.eps_id) %-->/index.html#comment_<!--% item.id %--></guid>
|
<guid isPermaLink="false"><!--% absolute_url(http_baseurl) %-->eps/hpr<!--% zero_pad_left(item.eps_id) %-->/index.html#comment_<!--% item.id %--></guid>
|
||||||
</item>
|
</item>
|
||||||
<!--% END %-->
|
<!--% END %-->
|
||||||
</channel>
|
</channel>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user