remove Announcements in favor of rss feed integrated blog posts section.

This commit is contained in:
Andrew Lewman 2014-09-27 02:56:58 +00:00
parent 714caa31af
commit dd071c4b1a
2 changed files with 182 additions and 29 deletions

View File

@ -1178,6 +1178,69 @@ small {
line-height: 13px;
}
/* BLOG WIDGET ----------*/
div.blogRow, div.blogFirstRow {
height: 40px;
padding: 3px 10px;
margin: 0 0;
}
div.blogLastRow {
height: 20px;
text-align: center;
}
div.blogFirstRow {
height: 22px;
background: url(../images/table-head.jpg) left top repeat-x #885ca4;
}
.blogRow:hover {
background: #f6ffd5;
}
div.blogRow1, div.blogRow3 {
background: #eee8f1;
}
.blogFeed a {
text-decoration: none;
}
.blogFeed p {
margin: 0;
font-size: 12px;
}
p.blogTitle {
font-weight: bold;
text-decoration: underline;
}
p.blogAuthor {
color: #000000;
text-align: right;
margin-top: -20px;
}
p.blogAuthor em{
color: #4e6a20;
text-align: right;
margin-top: -20px;
}
p.blogDate {
color: #000000;
}
.blogFeed h2 {
font-size: 1.467em;
margin: 0;
line-height: 23px;
color: #f6f6ed;
}
/*
Project page
*/

View File

@ -153,35 +153,125 @@
</div>
<!-- END MAINCOL -->
<div id="sidecol">
<div id="home-announcements" class="clearfix">
<h2>Announcements</h2>
<table>
<tr>
<td>
<div class="calendar"><span class="month">Sep</span><br><span class="day">11</span></div>
<p>Tor 0.2.5.7-rc is <a href="https://blog.torproject.org/blog/tor-0257-rc-out">out</a></p>
</td>
</tr>
<tr>
<td>
<div class="calendar"><span class="month">Sep</span><br><span class="day">7</span></div>
<p><a href="https://blog.torproject.org/blog/ahmia-search-after-gsoc-development">Ahmia search</a> after GSoC development</p>
</td>
</tr>
<tr>
<td>
<div class="calendar"><span class="month">Sep</span><br><span class="day">3</span></div>
<p>Tor Browser 3.6.5 and 4.0-alpha-2 are <a href="https://blog.torproject.org/blog/tor-browser-365-and-40-alpha-2-are-released">released</a></p>
</td>
</tr>
<tr>
<td>
<div class="calendar"><span class="month">Sep</span><br><span class="day">2</span></div>
<p>Tails 1.1.1 is <a href="https://blog.torproject.org/blog/tails-111-out">out</a></p>
</td>
</tr>
</table>
</div>
<!-- BLOG WIDGET -->
<:
use strict;
use warnings;
use open ':std', ':encoding(UTF-8)';
use LWP::Simple;
# RSS feed url
my $url = 'https://blog.torproject.org/blog/feed';
# Number of posts to show
my $showPosts = "5";
# Maximum characters in post title to allow before truncating
my $titleMaxLength = "35";
# Maximum characters in author name to allow before truncating
my $authorMaxLength = "15";
# Retreive url
my $data = get( $url );
if ($data) # Url returned data
{
my $check = $data;
$check =~ m{<rss(.*?)>}i;
my $checkVal = $1;
if ($checkVal) # Is an rss feed
{
my $titleStr = $data;
my $linkStr = $data;
my $dateStr = $data;
my $authorStr = $data;
print "<div class='blogFeed'>
<div class='blogFirstRow'>
<h2>Recent Blog Posts</h2>
</div>";
# Generate posts
for my $i (0..$showPosts)
{
# Parse title
$titleStr =~ m{<title>(.*?)</title>}g;
my $titleVal = $1;
my $titleLength = length($titleVal);
my $title = $titleVal;
# Check title length and trim if necessary
my $titleTrim = $title;
if ($titleLength > $titleMaxLength)
{
my $trimLength = $titleMaxLength - 3;
my $titleTxt = substr($title, 0, $trimLength);
$titleTrim = "$titleTxt...";
}
# Parse link
$linkStr =~ m{<link>(.*?)</link>}g;
my $link = $1;
if ($i != 0)
{
# Parse date
$dateStr =~ m{<pubDate>(.*?)</pubDate>}g;
my $date = $1;
# Trim date
my $dateTrim = substr($date, 0, -15);
# Parse author
$authorStr =~ m{<dc:creator>(.*?)\s*</dc:creator>}g;
my $author = $1;
# Check author length and trim if necessary
my $authorLength = length($author);
my $authorTrim = $author;
if ($authorLength > $authorMaxLength)
{
my $authorTrimLength = $authorMaxLength - 3;
my $authorTxt = substr($author, 0, $authorTrimLength);
$authorTrim = "$authorTxt...";
}
# Begin html output
print "<a href=\'$link\' title=\'$title\'>";
# Required for alternating row colors - switch blogRow# to change order
if (0 == $i % 2) {
print "<div class='blogRow blogRow1'>";
} else {
print "<div class='blogRow blogRow0'>";
}
print "<p class='blogTitle'>$titleTrim</p>
<p class='blogDate'>$dateTrim</p>
<p class='blogAuthor'>Posted by: <em>$authorTrim</em></p>
</div>
</a>";
}
}
} else { # Not an rss feed
print "<div class='blogRow blogRow1'>";
print "<br /><p class='blogDate' style=\"text-align:center;color:\#999;line-height:16px;\"><em>Recent posts are temporarily unavailable</em></p></div>";
}
} else { # Url did not return any data
print "<div class='blogRow blogRow1'>";
print "<br /><p class='blogDate' style=\"text-align:center;color:\#999;line-height:16px;\"><em>Recent posts are temporarily unavailable</em></p></div>";
}
print "<a href='https://blog.torproject.org' title='Tor Blog Home'>
<div class='blogRow blogLastRow'>
<p>View all blog posts &raquo;</p>
</div>
</a>
</div>";
:>
<!-- END BLOG WIDGET -->
<div id="home-users">
<h2>Who Uses Tor?</h2>
<div class="fauxhead"></div>