Merge branch 'smhn'

This commit is contained in:
Jacob Haddon 2024-02-21 21:06:13 -05:00
commit ecdb015067

View File

@ -1,5 +1,5 @@
#!/usr/bin/perl #!/usr/bin/perl
use cPanelUserConfig; #for cpanel servers # use cPanelUserConfig; #for cpanel servers
use 5.010; use 5.010;
use strict; use strict;
@ -63,6 +63,7 @@ my %list;
# Make the list of URLS while parsing DATA # Make the list of URLS while parsing DATA
my $listHTML = "<div class=\'listHTML\'><ul>\n"; my $listHTML = "<div class=\'listHTML\'><ul>\n";
# Go through each URL in the DATA section and make the new list
while ( my $url = <DATA>) { while ( my $url = <DATA>) {
chomp $url; chomp $url;
@ -96,14 +97,29 @@ while ( my $url = <DATA>) {
$testItem->{'feedURL'} = $_; $testItem->{'feedURL'} = $_;
$testItem->{'feedName'} = $rss1->{'channel'}{'title'}; $testItem->{'feedName'} = $rss1->{'channel'}{'title'};
# Find Author tags
if ($testItem->{'dc'}{'creator'}) {
$testItem->{'itemAuthor'} = $testItem->{'dc'}{'creator'};
} elsif ($testItem->{'author'}) {
$testItem->{'itemAuthor'} = $testItem->{'author'}
} else {
$testItem->{'itemAuthor'} = $rss1->{'channel'}{'title'};
} # if author
# Clean up some of the artifacts in the RSS feed 'description' section # Clean up some of the artifacts in the RSS feed 'description' section
$testItem->{'description'} =~ s/\n\s*/\n/g; # get rid of excess white space $testItem->{'description'} =~ s/\n\s*/\n/g; # get rid of excess white space
$testItem->{'description'} =~ s/(<a(.+?)<\/a>)$//s; # link at end of description $testItem->{'description'} =~ s/(<a(.+?)<\/a>)$//s; # link at end of description
$testItem->{'description'} =~ s/<(\w) class=(.*?)>/<$1>/s; # remove class statements from text $testItem->{'description'} =~ s/<(\w) class=(.*?)>/<$1>/s; # remove class statements from text
$testItem->{'description'} =~ s/<figure ((.|\n)+?)figure>//sg; #remove "figure" can use pipe to add more $testItem->{'description'} =~ s/<figure ((.|\n)+?)figure>//sg; #remove "figure" can use pipe to add more
$testItem->{'description'} =~ s/<img(.+?)>//sg; # remove IMG tags $testItem->{'description'} =~ s/<img(.+?)>//sg; # remove IMG tags
$testItem->{'description'} =~ s/<span ((.|\n)+?)>//sg; #remove "span" tags (mostly blogger)
$testItem->{'description'} =~ s/<\/span>//sg; #remove "span" endtags
$testItem->{'description'} =~ s/<div class="separator" style(.+?)<\/div>//sg; # remove blogger DIV tags
$testItem->{'description'} =~ s/<br(.+?)>/<br>/sg; # remove blogger BR tags
$testItem->{'description'} =~ s/(<div><br><\/div>)+/<br>/sg; # remove blogger BR + DIV tags
$testItem->{'description'} =~ s/.{1200}\K.*//s; # limit length $testItem->{'description'} =~ s/.{1200}\K.*//s; # limit length
$testItem->{'description'} =~ s/(<[^<]+)$//s; # link at end of description $testItem->{'description'} =~ s/<\/?div.*?>//sg; # remove div tags
$testItem->{'description'} =~ s/(<a[^<]+)$//s; # link at end of description
#add continue reading to end. #add continue reading to end.
$testItem->{'description'} .= " <a href=\'" . $testItem->{'link'} . "\' target=\'_blank\'>Continue Reading</a>"; $testItem->{'description'} .= " <a href=\'" . $testItem->{'link'} . "\' target=\'_blank\'>Continue Reading</a>";
@ -120,7 +136,7 @@ while ( my $url = <DATA>) {
} # while DATA } # while DATA
#close out the list URL html #close out the list URL html
$listHTML .= "</div></ul>\n"; $listHTML .= "</ul></div>\n";
################################### ###################################
# Make an RSS Feed! # Make an RSS Feed!
@ -151,7 +167,7 @@ foreach my $name (reverse sort keys %list) {
link => $list{$name}->{'link'}, link => $list{$name}->{'link'},
description => $list{$name}->{'description'}, description => $list{$name}->{'description'},
pubDate => $list{$name}->{'pubDate'}, pubDate => $list{$name}->{'pubDate'},
author => $list{$name}->{'dc'}{'creator'}, author => $list{$name}->{'itemAuthor'},
source => $list{$name}->{'feedName'}, source => $list{$name}->{'feedName'},
sourceUrl => $list{$name}->{'feedURL'}, sourceUrl => $list{$name}->{'feedURL'},
); # $rss->channel ); # $rss->channel
@ -204,10 +220,9 @@ my $html = <<"HTML_END";
body{ body{
margin:40px auto; margin:40px auto;
max-width:650px; max-width:650px;
line-height:1.6; font: 18px/1.6 Baskerville, TimesNewRoman, Times New Roman, Times, Georgia, serif;
font-size:18px; padding:0 10px:
font-family: Baskerville, TimesNewRoman, Times New Roman, Times, Georgia, serif; word-break: break-word;
padding:0 10px
} }
h1, h2, h3 {font-weight: 200;} h1, h2, h3 {font-weight: 200;}
hr{width:50%;} hr{width:50%;}
@ -238,7 +253,7 @@ my $html = <<"HTML_END";
<h1>$title</h1> <h1>$title</h1>
<p>$description</p> <p>$description</p>
<p>This site is updated every Sunday morning</p> <p>This site is in BETA and will update daily as we test things out and add URLs. Let us know if there are sites that should be included!</p>
<p>updated: $printDate</p> <p>updated: $printDate</p>
</header> </header>
@ -304,12 +319,13 @@ close(FH);
################################### ###################################
sub formatDate { sub formatDate {
# takes a date, and converts it to a formatted string
my $testDate = $_[0]; my $testDate = $_[0];
$testDate =~ s/((\+|\-)(\d\d\d\d))//; $testDate =~ s/((\+|\-)(\d\d\d\d))//;
# Convert to a TIME object # Convert to a TIME object
my $t = Time::Piece->strptime($testDate); my $t = Time::Piece->strptime($testDate);
return($t->strftime('%a, %d %b %Y %H:%M:%S')); return($t->strftime('%a, %d %b %Y %H:%M:%S'));
} } # sub formatDate
# FIN # FIN
@ -325,10 +341,10 @@ https://kelliowen.com/feed/
https://mercedesmyardley.com/feed/ https://mercedesmyardley.com/feed/
https://mehitobel.com/feed/ https://mehitobel.com/feed/
http://antoncancre.blogspot.com/feeds/posts/default?alt=rss http://antoncancre.blogspot.com/feeds/posts/default?alt=rss
https://marysangi.wordpress.com/feed/
https://www.toddkeisling.com/news?format=rss https://www.toddkeisling.com/news?format=rss
https://www.jfgonzalez.org/news?format=rss https://www.jfgonzalez.org/news?format=rss
https://www.briankeene.com/news?format=rss https://www.briankeene.com/news?format=rss
https://ghoulish.rip/feed/
https://www.cemeterydance.com/extras/feed/ https://www.cemeterydance.com/extras/feed/
https://www.gwendolynkiste.com/Blog/feed/ https://www.gwendolynkiste.com/Blog/feed/
https://katherinesilvaauthor.substack.com/feed https://katherinesilvaauthor.substack.com/feed
@ -338,3 +354,14 @@ http://jacobhaddon.com/feed/
http://apokrupha.com/feed/ http://apokrupha.com/feed/
https://ellendatlow.com/feed/ https://ellendatlow.com/feed/
https://paulaguran.com/ https://paulaguran.com/
https://amandaheadlee.com/feed/
https://theimbloglio.wordpress.com/feed/
https://kennethwcain.com/feed/
https://wellwortharead.blogspot.com/feeds/posts/default?alt=rss
http://robertfordauthor.com/feed/
https://tinyfrights.com/feed/
https://weightlessbooks.com/feed/
https://www.crystallakepub.com/feed/
https://lynnehansen.zenfolio.com/blog.rss
https://www.bevvincent.com/feed/
http://liviallewellyn.com/feed/