Author: phobos
Date: 2014-09-27 02:56:58 +0000 (Sat, 27 Sep 2014)
New Revision: 26958

Modified:
   website/trunk/css/layout.css
   website/trunk/en/index.wml
Log:
remove Announcements in favor of rss feed integrated blog posts section.


Modified: website/trunk/css/layout.css
===================================================================
--- website/trunk/css/layout.css        2014-09-26 09:05:58 UTC (rev 26957)
+++ website/trunk/css/layout.css        2014-09-27 02:56:58 UTC (rev 26958)
@@ -1178,6 +1178,69 @@
                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
 */

Modified: website/trunk/en/index.wml
===================================================================
--- website/trunk/en/index.wml  2014-09-26 09:05:58 UTC (rev 26957)
+++ website/trunk/en/index.wml  2014-09-27 02:56:58 UTC (rev 26958)
@@ -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>

_______________________________________________
tor-commits mailing list
[email protected]
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits

Reply via email to