Propagate changes to CGI version
[blerg.git] / www / js / blerg.js
index 96f6cb2..1851a0f 100644 (file)
@@ -8,10 +8,10 @@ var recordTemplate = new Template(
     '<div class="record">#{data}<div class="info">Posted #{date}</div></div>'
 );
 var tagRecordTemplate = new Template(
-    '<div class="record">#{data}<div class="info">Posted by <a class="author" href="/\##{author}">@#{author}</a> on #{date}</div></div>'
+    '<div class="record">#{data}<div class="info">Posted by <a class="author ref" href="/\##{author}">@#{author}</a> on #{date}</div></div>'
 );
 var latestRecordsTemplate = new Template(
-    '<div class="record"><a class="author" href="/\##{author}">@#{author}</a> #{data}</div>'
+    '<div class="record"><a class="author ref" href="/\##{author}">@#{author}</a> #{data}</div>'
 );
 
 // Page elements
@@ -208,6 +208,10 @@ User.prototype.show = function() {
     items.show();
     $('rss').show();
     $('rsslink').href = '/rss/' + this.username;
+    $$('[name=user.reflink]').each(function(e) {
+        e.href = '/#ref/' + this.username;
+    }.bind(this));
+    $('usercontrols').show();
 }
 
 User.prototype.loadItems = function(from, to) {
@@ -260,8 +264,8 @@ function mangleRecord(record, template) {
     record.data = record.data.replace(/(\s)\*([^*]+)\*(\s)/g, '$1<i>$2</i>$3');
 
     // Turn refs and tags into links
-    record.data = record.data.replace(/(\s|^)#([A-Za-z0-9_-]+)/g, '$1<a href="#tag/$2">#$2</a>');
-    record.data = record.data.replace(/(\s|^)@([A-Za-z0-9_-]+)/g, '$1<a href="#$2">@$2</a>');
+    record.data = record.data.replace(/(\s|^)#([A-Za-z0-9_-]+)/g, '$1<a href="#tag/$2" class="ref">#$2</a>');
+    record.data = record.data.replace(/(\s|^)@([A-Za-z0-9_-]+)/g, '$1<a href="#$2" class="ref">@$2</a>');
 
     // Turn newlines into linebreaks and paragraphs
     record.data = record.data.replace(/\r?\n\r?\n/g, "<p>").replace(/\r?\n/g, "<br>");
@@ -332,6 +336,7 @@ Tag.prototype.show = function() {
     $('newer_link').hide();
     $('rss').hide();
     items.show();
+    $('usercontrols').hide();
 }
 
 function postPopup() {
@@ -442,7 +447,7 @@ function startTicker() {
 
     // Show the first five
     tickerHead = $('latest-posts').firstChild;
-    for (var i = 0; i < 5 && tickerHead; i++) {
+    for (var i = 0; i < 10 && tickerHead; i++) {
         tickerHead.show();
         tickerHead = tickerHead.nextSibling;
     }
@@ -465,6 +470,7 @@ function loadLatest() {
             j.tags.each(function(v) {
                 var a = new Element('a', {href: '/#tag/' + v});
                 a.insert('#' + v);
+                a.className = 'ref';
                 $('latest-tags').insert(a);
                 $('latest-tags').appendChild(document.createTextNode(' '));
             });
@@ -517,6 +523,7 @@ function hashSwitch() {
         $('older_link').hide();
         $('welcome').show();
         $('rss').hide();
+        $('usercontrols').hide();
         loadLatest();
     }
 }