[Logilogi-svn] SF.net SVN: logilogi:[1641] trunk
Status: Beta
Brought to you by:
wybow
|
From: <wy...@us...> - 2009-11-18 15:45:21
|
Revision: 1641
http://logilogi.svn.sourceforge.net/logilogi/?rev=1641&view=rev
Author: wybow
Date: 2009-11-18 15:45:13 +0000 (Wed, 18 Nov 2009)
Log Message:
-----------
Lowercase logi & cached uservoice
Modified Paths:
--------------
trunk/app/helpers/application_helper.rb
trunk/app/views/changes/_recent_or_new_logis.html.erb
trunk/app/views/comments/_new.html.erb
trunk/app/views/layouts/_foot.html.erb
trunk/app/views/layouts/_head.html.erb
trunk/app/views/logis/_found_logis.html.erb
trunk/app/views/logis/_snippet.html.erb
trunk/app/views/main_page/_recent_or_new_logis.html.erb
trunk/app/views/peer_groups/_activity.html.erb
trunk/app/views/users/_activity.html.erb
trunk/public/stylesheets/logilogi.css
Added Paths:
-----------
trunk/public/images/uv/
trunk/public/images/uv/feedback_tab_black.png
trunk/public/javascripts/tab.js
Modified: trunk/app/helpers/application_helper.rb
===================================================================
--- trunk/app/helpers/application_helper.rb 2009-11-18 14:05:07 UTC (rev 1640)
+++ trunk/app/helpers/application_helper.rb 2009-11-18 15:45:13 UTC (rev 1641)
@@ -86,26 +86,30 @@
tabs = []
if logi.home_page?
- tabs.concat([
+ tabs.push(
{:text => _("Home Logi"), :name => "home_page",
- :description => _("Logi that is a home page")}])
+ :description => _("Logi that is a home page")})
else
- tabs.concat([
- {:text => _("Contenders"), :name => "contending_logis",
- :description => _("Logis competing for the same tags")},
- {:text => _("Comments on"), :name => "comments_on",
- :description => _("This logi comments to the following logis"),
- :disabled => logi.comments_on_logis.empty?},
- {:text => _("Path"), :name => "paths",
- :description => _("This logi is part of a read-path"),
- :disabled => logi.steps.empty?}])
+ tabs.push(
+ {:text => _("Contenders"), :name => "contending_logis",
+ :description => _("Logis competing for the same tags")})
end
-
- tabs.concat([
+ tabs.push(
{:text => _("Incoming"), :name => "incoming_links",
:description => _("Links to this logi"),
- :disabled => current_context.incoming_links_to_logi.empty?}])
-
+ :disabled => current_context.incoming_links_to_logi.empty?})
+ if !logi.home_page?
+ if !logi.comments_on_logis.empty?
+ tabs.push(
+ {:text => _("Is comment on"), :name => "comments_on",
+ :description => _("This logi comments on the following logis")})
+ end
+ if !logi.steps.empty?
+ tabs.push(
+ {:text => _("Path"), :name => "paths",
+ :description => _("This logi is part of a read-path")})
+ end
+ end
return tabs
end
Modified: trunk/app/views/changes/_recent_or_new_logis.html.erb
===================================================================
--- trunk/app/views/changes/_recent_or_new_logis.html.erb 2009-11-18 14:05:07 UTC (rev 1640)
+++ trunk/app/views/changes/_recent_or_new_logis.html.erb 2009-11-18 15:45:13 UTC (rev 1641)
@@ -1,10 +1,10 @@
<% selected ||= "recently_changed_logis" %>
<div id="<%= selected %>" class="index">
<% render :layout => 'application/panel_with_tabs_ajax', :locals => {:tabs => [
- {:text => _("Recently changed Logis"), :name => "recently_changed_logis",
+ {:text => _("Recently changed logis"), :name => "recently_changed_logis",
:rss_link => (GlobalConfig.use_log_log ? log_log_feed_link(:channel => 'logis') : nil),
:description => '<h2>' + _("Logis that have recenly been edited") + '</h2>'},
- {:text => _("New Logis"), :name => "new_logis",
+ {:text => _("New logis"), :name => "new_logis",
:rss_link => (GlobalConfig.use_log_log ? log_log_feed_link(:channel => 'changes') : nil),
:description => '<h2>' + _("Logis that have just been created") + '</h2>'}],
:selected => selected, :id => "recenting", :update => 'recent_or_new_logis'} do %>
Modified: trunk/app/views/comments/_new.html.erb
===================================================================
--- trunk/app/views/comments/_new.html.erb 2009-11-18 14:05:07 UTC (rev 1640)
+++ trunk/app/views/comments/_new.html.erb 2009-11-18 15:45:13 UTC (rev 1641)
@@ -3,9 +3,9 @@
:logis => @logi.commenting_logis, :unfold_disabled => true} %>
<% render :layout => 'application/panel_with_tabs_ajax', :locals => {:tabs => [
- {:text => _("New Logi"), :name => "new_logi",
+ {:text => _("New logi"), :name => "new_logi",
:description => _("Create a new logi as a comment")},
- {:text => _("Existing Logi"), :name => "existing_logi",
+ {:text => _("Existing logi"), :name => "existing_logi",
:description => _("Paste (Ctrl V) the permanent link to the logi you want to add")}],
:selected => selected, :id => "new_comment", :update_selected => true} do %>
<% end %>
Modified: trunk/app/views/layouts/_foot.html.erb
===================================================================
--- trunk/app/views/layouts/_foot.html.erb 2009-11-18 14:05:07 UTC (rev 1640)
+++ trunk/app/views/layouts/_foot.html.erb 2009-11-18 15:45:13 UTC (rev 1641)
@@ -79,12 +79,6 @@
mcorners.run();
<% end -%>
<script type="text/javascript">
- var uservoiceJsHost = ("https:" == document.location.protocol) ?
- "https://uservoice.com" : "http://cdn.uservoice.com";
- document.write(unescape("%3Cscript src='" + uservoiceJsHost +
- "/javascripts/widgets/tab.js' type='text/javascript'%3E%3C/script%3E"))
- </script>
- <script type="text/javascript">
UserVoice.Tab.show({
key: 'logilogi',
host: 'logilogi.uservoice.com',
Modified: trunk/app/views/layouts/_head.html.erb
===================================================================
--- trunk/app/views/layouts/_head.html.erb 2009-11-18 14:05:07 UTC (rev 1640)
+++ trunk/app/views/layouts/_head.html.erb 2009-11-18 15:45:13 UTC (rev 1641)
@@ -12,7 +12,9 @@
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
<!-- TinyMCE is included on edits -->
<%= javascript_include_tag "tiny_mce/tiny_mce" %>
- <%= javascript_include_tag "shortcut", :defaults, "dropdowntabs", "taglist", "body_inserter", "magick_corners", "custom-form-elements", :cache => true %>
+ <%= javascript_include_tag "shortcut", :defaults, "dropdowntabs", "taglist",
+ "body_inserter", "magick_corners", "custom-form-elements", "tab",
+ :cache => true %>
<%= stylesheet_link_tag "logilogi" %>
<!--[if IE]>
<%= stylesheet_link_tag "ie" %>
Modified: trunk/app/views/logis/_found_logis.html.erb
===================================================================
--- trunk/app/views/logis/_found_logis.html.erb 2009-11-18 14:05:07 UTC (rev 1640)
+++ trunk/app/views/logis/_found_logis.html.erb 2009-11-18 15:45:13 UTC (rev 1641)
@@ -20,7 +20,7 @@
<% render :layout => 'application/panel', :locals => {:id => "no_matches_for_tags"} do %>
<p><%= _("No matches found for the given tags") %></p>
<div class="notice_cloud"><%= _('Want to find it next time ?') %></div>
- <%= new_logi_button 'Create a new Logi for these tags' %>
+ <%= new_logi_button 'Create a new logi for these tags' %>
<% end %>
<% if !@reduced_matching_logis.empty? %>
Modified: trunk/app/views/logis/_snippet.html.erb
===================================================================
--- trunk/app/views/logis/_snippet.html.erb 2009-11-18 14:05:07 UTC (rev 1640)
+++ trunk/app/views/logis/_snippet.html.erb 2009-11-18 15:45:13 UTC (rev 1641)
@@ -20,7 +20,7 @@
<h1><%= logi_ll_link(logi, :show => :title, :length => 35) %></h1>
<%= by_author(logi.creator) %>
<div class="spacer"></div>
- <p><%= logi.current_snippet %> <%= link_to _("...read on"), logi_url(logi.link) %></p>
+ <p class="snippet_body"><%= logi.current_snippet %> <%= link_to _("...read on"), logi_url(logi.link) %></p>
<div class="spacer"></div>
<span class="tags"><em>tags:</em>
<%= browse_ll_link(logi.link, :step => -1, :length => 78) %>
Modified: trunk/app/views/main_page/_recent_or_new_logis.html.erb
===================================================================
--- trunk/app/views/main_page/_recent_or_new_logis.html.erb 2009-11-18 14:05:07 UTC (rev 1640)
+++ trunk/app/views/main_page/_recent_or_new_logis.html.erb 2009-11-18 15:45:13 UTC (rev 1641)
@@ -1,10 +1,10 @@
<% selected ||= "new_logis" %>
<div id="<%= selected %>">
<% render :layout => 'application/panel_with_tabs_ajax', :locals => {:tabs => [
- {:text => _("New Logis"), :name => "new_logis",
+ {:text => _("New logis"), :name => "new_logis",
:rss_link => (GlobalConfig.use_log_log ? log_log_feed_link(:channel => 'logis') : nil),
:description => _("Logis that have just been created")},
- {:text => _("Recently changed Logis"), :name => "recently_changed_logis",
+ {:text => _("Recently changed logis"), :name => "recently_changed_logis",
:rss_link => (GlobalConfig.use_log_log ? log_log_feed_link(:channel => 'changes') : nil),
:description => _("Logis that have recenly been edited")}],
:selected => selected, :id => "recenting", :update_selected => true} do %>
@@ -30,9 +30,9 @@
<% render :layout => 'application/panel', :locals => {:id => "view_all"} do %>
<p>
<% if selected == "new_logis" %>
- <%= link_to _('View all newly created Logis'), changes_url(:selected => :new_logis) %>
+ <%= link_to _('View all newly created logis'), changes_url(:selected => :new_logis) %>
<% else %>
- <%= link_to _('View all recently changed Logis'), changes_url() %>
+ <%= link_to _('View all recently changed logis'), changes_url() %>
<% end %>
</p>
<% end %>
Modified: trunk/app/views/peer_groups/_activity.html.erb
===================================================================
--- trunk/app/views/peer_groups/_activity.html.erb 2009-11-18 14:05:07 UTC (rev 1640)
+++ trunk/app/views/peer_groups/_activity.html.erb 2009-11-18 15:45:13 UTC (rev 1641)
@@ -2,7 +2,7 @@
<h3>Stats</h3>
<dl class="statistics">
<dt><%= _("Members") %>:</dt><dd><%= peer_group.memberships.count %></dd>
- <dt><%= _("Rated Logis") %>:<dt/><dd><%= peer_group.ratings.count %></dd>
+ <dt><%= _("Rated logis") %>:<dt/><dd><%= peer_group.ratings.count %></dd>
</dl>
<h3>Rankings</h3>
<table class="rankings">
Modified: trunk/app/views/users/_activity.html.erb
===================================================================
--- trunk/app/views/users/_activity.html.erb 2009-11-18 14:05:07 UTC (rev 1640)
+++ trunk/app/views/users/_activity.html.erb 2009-11-18 15:45:13 UTC (rev 1641)
@@ -1,8 +1,8 @@
<% render :layout => 'application/panel_with_header', :locals => {:title => "Activity", :id => "activity"} do %>
<h3>Stats</h3>
<dl class="statistics">
- <dt><%= _("Created Logis") %>:</dt><dd><%= user.created_logis.count %></dd>
- <dt><%= _("Edited Logis") %>:</dt><dd><%= user.edited_logi_versions.count %></dd>
+ <dt><%= _("Created logis") %>:</dt><dd><%= user.created_logis.count %></dd>
+ <dt><%= _("Edited logis") %>:</dt><dd><%= user.edited_logi_versions.count %></dd>
</dl>
<h3>Status</h3>
<table class="rankings">
Added: trunk/public/images/uv/feedback_tab_black.png
===================================================================
(Binary files differ)
Property changes on: trunk/public/images/uv/feedback_tab_black.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/public/javascripts/tab.js
===================================================================
--- trunk/public/javascripts/tab.js (rev 0)
+++ trunk/public/javascripts/tab.js 2009-11-18 15:45:13 UTC (rev 1641)
@@ -0,0 +1,148 @@
+if(!UserVoice){var UserVoice={};}
+UserVoice.Util={sslAssetHost:"https://cdn.uservoice.com",assetHost:"http://cdn.uservoice.com",getAssetHost:function(){return("https:"==document.location.protocol)?this.sslAssetHost:this.assetHost;},render:function(template,params){return template.replace(/\#{([^{}]*)}/g,function(a,b){var r=params[b];return typeof r==='string'||typeof r==='number'?r:a;})},toQueryString:function(params){var pairs=[];for(key in params){if(params[key]!=null&¶ms[key]!=''){pairs.push([key,params[key]].join('='));}}
+return pairs.join('&');},isIE6:function(){if(/MSIE (\d+\.\d+);/.test(navigator.userAgent)){var version=new Number(RegExp.$1);return version<7;}else{return false;}},includeCss:function(css){var styleElement=document.createElement('style');styleElement.setAttribute('type','text/css');styleElement.setAttribute('media','screen');if(styleElement.styleSheet){styleElement.styleSheet.cssText=css;}else{styleElement.appendChild(document.createTextNode(css));}
+document.getElementsByTagName('head')[0].appendChild(styleElement);}}
+UserVoice.Page={getDimensions:function(){var de=document.documentElement;var width=window.innerWidth||self.innerWidth||(de&&de.clientWidth)||document.body.clientWidth;var height=window.innerHeight||self.innerHeight||(de&&de.clientHeight)||document.body.clientHeight;return{width:width,height:height};}}
+UserVoice.Dialog={preload:function(id_or_html){if(!this.preloaded){var element=document.getElementById(id_or_html);var html=(element==null)?id_or_html:element.innerHTML;this.setContent(html);this.preloaded=true;}},show:function(id_or_html){if(!this.preloaded){this.preload(id_or_html);}
+this.Overlay.show();this.setPosition();UserVoice.Element.addClassName(this.htmlElement(),'dialog-open');this.element().style.display='block';this.preloaded=false;},close:function(){var change=UserVoice.needsConfirm;if(change){var answer=confirm(change);if(!answer){return}}
+this.element().style.display='none';UserVoice.Element.removeClassName(this.htmlElement(),'dialog-open');this.Overlay.hide();UserVoice.onClose();},id:'uservoice-dialog',css_template:"\
+ #uservoice-dialog {\
+ z-index: 100003;\
+ display: block;\
+ text-align: left;\
+ margin: 0 auto;\
+ position: absolute; \
+ }\
+ \
+ #uservoice-overlay {\
+ position: absolute;\
+ z-index:100002;\
+ width: 100%;\
+ height: 100%;\
+ left: 0;\
+ top: 0;\
+ background-color: #000;\
+ opacity: .7;\
+ filter: alpha(opacity=70);\
+ }\
+ \
+ #uservoice-dialog[id],\
+ #uservoice-overlay[id] {\
+ position:fixed;\
+ }\
+ \
+ #uservoice-overlay p {\
+ padding: 5px;\
+ color: #ddd;\
+ font: bold 14px arial, sans-serif;\
+ margin: 0;\
+ letter-spacing: -1px;\
+ }\
+ \
+ #uservoice-dialog #uservoice-dialog-close {\
+ position: absolute;\
+ height: 48px;\
+ width: 48px;\
+ top: -11px;\
+ right: -12px;\
+ color: #06c;\
+ cursor: pointer;\
+ background-position: 0 0;\
+ background-repeat: no-repeat;\
+ background-color: transparent;\
+ }\
+ \
+ * html.dialog-open body {\
+ height: 100%;\
+ }\
+ \
+ * html.dialog-open,\
+ * html.dialog-open body {\
+ overflow: hidden;\
+ }\
+ \
+ html.dialog-open object,\
+ html.dialog-open embed,\
+ * html.dialog-open select {\
+ visibility: hidden;\
+ }\
+ \
+ * html #uservoice-overlay {\
+ width: 110%;\
+ }\
+ \
+ * html #uservoice-dialog #uservoice-dialog-close {\
+ background: none;\
+ filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://uservoice.com/images/icons/close.png');\
+ }\
+ \
+ a#uservoice-dialog-close { background-image: url(#{background_image_url}); }",element:function(){if(!document.getElementById(this.id)){var dummy=document.createElement('div');dummy.innerHTML='<div id="'+this.id+'" class="uservoice-component" style="display:none;">'+'<a href="#" id="'+this.id+'-close"><span style="display: none;">Close</span></a>'+'<div id="'+this.id+'-content"></div></div>';document.body.insertBefore(dummy.firstChild,document.body.firstChild);}
+return document.getElementById(this.id);},setContent:function(html){this.element()
+if(typeof(Prototype)!='undefined'){document.getElementById(this.id+"-content").innerHTML=html.stripScripts();setTimeout(function(){html.evalScripts()},100);}else{document.getElementById(this.id+"-content").innerHTML=html;}},setPosition:function(){var dialogDimensions=UserVoice.Element.getDimensions(this.element());var pageDimensions=UserVoice.Page.getDimensions();var els=this.element().style;els.width='auto';els.height='auto';var left=((pageDimensions.width-dialogDimensions.width)/2);els.left=left+"px";var top=((pageDimensions.height-dialogDimensions.height)/2);top=top<20?20:top;if(UserVoice.Util.isIE6()){top+=document.documentElement?document.documentElement.scrollTop:document.body.scrollTop}
+els.top=top+"px";},htmlElement:function(){return document.getElementsByTagName('html')[0];}}
+UserVoice.Dialog.Overlay={show:function(){this.element().style.display='block';if(UserVoice.Util.isIE6()){this.element().style.top=document.documentElement?document.documentElement.scrollTop:document.body.scrollTop}},hide:function(){this.element().style.display='none';},id:'uservoice-overlay',element:function(){if(!document.getElementById(this.id)){var dummy=document.createElement('div');dummy.innerHTML='<div id="'+this.id+'" class="uservoice-component" style="display:none;"></div>';document.body.insertBefore(dummy.firstChild,document.body.firstChild);}
+return document.getElementById(this.id);}}
+UserVoice.Element={getDimensions:function(element){var display=element.display;if(display!='none'&&display!=null){return{width:element.offsetWidth,height:element.offsetHeight};}
+var els=element.style;var originalVisibility=els.visibility;var originalPosition=els.position;var originalDisplay=els.display;els.visibility='hidden';els.position='absolute';els.display='block';var originalWidth=element.clientWidth;var originalHeight=element.clientHeight;els.display=originalDisplay;els.position=originalPosition;els.visibility=originalVisibility;return{width:originalWidth,height:originalHeight};},hasClassName:function(element,className){var elementClassName=element.className;return(elementClassName.length>0&&(elementClassName==className||new RegExp("(^|\\s)"+className+"(\\s|$)").test(elementClassName)));},addClassName:function(element,className){if(!this.hasClassName(element,className)){element.className+=(element.className?' ':'')+className;}
+return element;},removeClassName:function(element,className){element.className=element.className.replace(new RegExp("(^|\\s+)"+className+"(\\s+|$)"),' ');return element;}}
+UserVoice.needsConfirm=false;UserVoice.'/images/icons/close.png'}));MixpanelLib=function(q){metrics={};metrics.super_properties={"all":{},"events":{},"funnels":{}};metrics.init=function(a){var b=(("https:"==document.location.protocol)?"https://":"http://");metrics.token=a;metrics.api_host=b+'api.mixpanel.com';try{metrics.get_super()}catch(err){}};metrics.send_request=function(a,b){var c='mpmetrics.jsonp_callback';if(a.indexOf("?")>-1){a+="&callback="}else{a+="?callback="}a+=c+"&";if(b){a+=metrics.http_build_query(b)}a+='&_='+new Date().getTime().toString();var d=document.createElement("script");d.setAttribute("src",a);d.setAttribute("type","text/javascript");document.body.appendChild(d)};metrics.log=function(a,b){if(!a.project){a.project=metrics.token}if(a.project&&a.category){metrics.callback=b;a.ip=1;metrics.send_request(metrics.api_host+"/log/",a)}};metrics.track_funnel=function(a,b,c,d,e){if(!d){d={}}d.funnel=a;d.step=parseInt(b,10);d.goal=c;if(d.step==1){if(document.referrer.search('http://(.*)google.com')===0){var f=metrics.get_query_param(document.referrer,'q');if(f.length){metrics.register({'mp_keyword':f},'funnels')}}}metrics.track('mp_funnel',d,e,"funnels")};metrics.get_query_param=function(a,b){b=b.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");var c="[\\?&]"+b+"=([^&#]*)";var d=new RegExp(c);var e=d.exec(a);if(e===null||(e&&typeof(e[1])!='string'&&e[1].length)){return''}else{return unescape(e[1]).replace(/\+/g,' ')}};metrics.track=function(a,b,c,d){if(!d){d="events"}if(!b){b={}}if(!b.token){b.token=metrics.token}if(c){metrics.callback=c}b.time=metrics.get_unixtime();if(d!="all"){for(var p in metrics.super_properties[d]){if(!b[p]){b[p]=metrics.super_properties[d][p]}}}if(metrics.super_properties.all){for(p in metrics.super_properties.all){if(!b[p]){b[p]=metrics.super_properties.all[p]}}}var e={'event':a,'properties':b};var f=metrics.base64_encode(metrics.json_encode(e));metrics.send_request(metrics.api_host+'/track/',{'data':f,'ip':1})};metrics.register_once=function(a,b,c,d){if(!b||!metrics.super_properties[b]){b="all"}if(!c){c="None"}if(!d){d=7}if(a){for(var p in a){if(p){if(!metrics.super_properties[b][p]||metrics.super_properties[b][p]==c){metrics.super_properties[b][p]=a[p]}}}}metrics.set_cookie("mp_super_properties",metrics.json_encode(metrics.super_properties),d)};metrics.register=function(a,b,c){if(!b||!metrics.super_properties[b]){b="all"}if(!c){c=7}if(a){for(var p in a){if(p){metrics.super_properties[b][p]=a[p]}}}metrics.set_cookie("mp_super_properties",metrics.json_encode(metrics.super_properties),c)};metrics.http_build_query=function(a,b){var c,use_val,use_key,i=0,tmp_arr=[];if(!b){b='&'}for(c in a){if(c){use_val=encodeURIComponent(a[c].toString());use_key=encodeURIComponent(c);tmp_arr[i++]=use_key+'='+use_val}}return tmp_arr.join(b)};metrics.get_unixtime=function(){return parseInt(new Date().getTime().toString().substring(0,10),10)};metrics.jsonp_callback=function(a){if(metrics.callback){metrics.callback(a);metrics.callback=false}};metrics.json_encode=function(j){var l;var m=j;var i;var n=function(b){var d=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;var e={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'};d.lastIndex=0;return d.test(b)?'"'+b.replace(d,function(a){var c=e[a];return typeof c==='string'?c:'\\u'+('0000'+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+b+'"'};var o=function(a,b){var c='';var d=' ';var i=0;var k='';var v='';var e=0;var f=c;var g=[];var h=b[a];if(h&&typeof h==='object'&&typeof h.toJSON==='function'){h=h.toJSON(a)}switch(typeof h){case'string':return n(h);case'number':return isFinite(h)?String(h):'null';case'boolean':case'null':return String(h);case'object':if(!h){return'null'}c+=d;g=[];if(Object.prototype.toString.apply(h)==='[object Array]'){e=h.length;for(i=0;i<e;i+=1){g[i]=o(i,h)||'null'}v=g.length===0?'[]':c?'[\n'+c+g.join(',\n'+c)+'\n'+f+']':'['+g.join(',')+']';c=f;return v}for(k in h){if(Object.hasOwnProperty.call(h,k)){v=o(k,h);if(v){g.push(n(k)+(c?': ':':')+v)}}}v=g.length===0?'{}':c?'{'+g.join(',')+''+f+'}':'{'+g.join(',')+'}';c=f;return v}};return o('',{'':m})};metrics.base64_encode=function(a){var b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var c,o2,o3,h1,h2,h3,h4,bits,i=0,ac=0,enc="",tmp_arr=[];if(!a){return a}a=metrics.utf8_encode(a+'');do{c=a.charCodeAt(i++);o2=a.charCodeAt(i++);o3=a.charCodeAt(i++);bits=c<<16|o2<<8|o3;h1=bits>>18&0x3f;h2=bits>>12&0x3f;h3=bits>>6&0x3f;h4=bits&0x3f;tmp_arr[ac++]=b.charAt(h1)+b.charAt(h2)+b.charAt(h3)+b.charAt(h4)}while(i<a.length);enc=tmp_arr.join('');switch(a.length%3){case 1:enc=enc.slice(0,-2)+'==';break;case 2:enc=enc.slice(0,-1)+'=';break}return enc};metrics.utf8_encode=function(a){a=(a+'').replace(/\r\n/g,"\n").replace(/\r/g,"\n");var b="";var c,end;var d=0;c=end=0;d=a.length;for(var n=0;n<d;n++){var e=a.charCodeAt(n);var f=null;if(e<128){end++}else if((e>127)&&(e<2048)){f=String.fromCharCode((e>>6)|192)+String.fromCharCode((e&63)|128)}else{f=String.fromCharCode((e>>12)|224)+String.fromCharCode(((e>>6)&63)|128)+String.fromCharCode((e&63)|128)}if(f!==null){if(end>c){b+=a.substring(c,end)}b+=f;c=end=n+1}}if(end>c){b+=a.substring(c,a.length)}return b};metrics.set_cookie=function(a,b,c){var d=new Date();d.setDate(d.getDate()+c);document.cookie=a+"="+escape(b)+((c===null)?"":";expires="+d.toGMTString())+"; path=/"};metrics.get_cookie=function(a){if(document.cookie.length>0){var b=document.cookie.indexOf(a+"=");if(b!=-1){b=b+a.length+1;var c=document.cookie.indexOf(";",b);if(c==-1){c=document.cookie.length}return unescape(document.cookie.substring(b,c))}}return""};metrics.get_super=function(){var a=eval('('+metrics.get_cookie("mp_super_properties")+')');if(a){for(var i in a){if(i){metrics.super_properties[i]=a[i]}}}};metrics.init(q);return metrics}
+if(!UserVoice){var UserVoice={};}
+UserVoice.Logger={_log:function(message){if(typeof console!=="undefined"&&typeof console.log!=="undefined"){try{console.log(message);}catch(e){}}},warning:function(message){this._log("UserVoice WARNING: "+message);},error:function(message){this._log("UserVoice ERROR: "+message);alert("UserVoice ERROR: "+message);}};UserVoice.Util={sslAssetHost:"https://cdn.uservoice.com",assetHost:"http://cdn.uservoice.com",getAssetHost:function(){return("https:"==document.location.protocol)?this.sslAssetHost:this.assetHost;},render:function(template,params){return template.replace(/\#{([^{}]*)}/g,function(a,b){var r=params[b];return typeof r==='string'||typeof r==='number'?r:a;})},toQueryString:function(params){var pairs=[];for(key in params){if(params[key]!=null&¶ms[key]!=''){pairs.push([key,params[key]].join('='));}}
+return pairs.join('&');},isIE6:function(){if(/MSIE (\d+\.\d+);/.test(navigator.userAgent)){var version=new Number(RegExp.$1);return version<7;}else{return false;}},includeCss:function(css){var styleElement=document.createElement('style');styleElement.setAttribute('type','text/css');styleElement.setAttribute('media','screen');if(styleElement.styleSheet){styleElement.styleSheet.cssText=css;}else{styleElement.appendChild(document.createTextNode(css));}
+document.getElementsByTagName('head')[0].appendChild(styleElement);}}
+UserVoice.Popin={content_template:'<iframe src="#{url}/widgets/#{dialog}.html?#{query}" frameborder="0" scrolling="no" allowtransparency="true" width="#{width}" height="#{height}" style="height: #{height}; width: #{width};"></iframe>',setup:function(options){this.setupOptions(options);},setupOptions:function(options){if(typeof(options)==='undefined'){return;}
+if(options.key==null&&options.host==null){UserVoice.Logger.error("'host' must be set.");UserVoice.Logger.error("'key' must be set.");}else if(options.key==null){UserVoice.Logger.warning("'key' must be set for the widget to work with SSL.")}
+if(options.forum==null){UserVoice.Logger.error("'forum' must be set.");}
+if(!options.params){options.params={};}
+this.options=options;},preload:function(options){this.setupOptions(options);UserVoice.Dialog.preload(UserVoice.Util.render(this.content_template,this.getContext()));},show:function(options){this.setupOptions(options);UserVoice.Dialog.show(UserVoice.Util.render(this.content_template,this.getContext()));},getContext:function(){var context={dialog:'popin',width:'350px',height:'430px',lang:'en'};for(attr in this.options){context[attr]=this.options[attr]};context.url=this.url();context.params.lang=this.options.lang;context.params.referer=this.getReferer();context.query=UserVoice.Util.toQueryString(context.params);return context;},getReferer:function(){var referer=window.location.href;if(referer.indexOf('?')!=-1){referer=referer.substring(0,referer.indexOf('?'));}
+return referer;},url:function(){if("https:"==document.location.protocol&&this.options.key!=null){var url='https://'+this.options.key+'.uservoice.com/pages/'+this.options.forum;}else{var url='http://'+this.options.host+'/pages/'+this.options.forum;}
+return url;}}
+UserVoice.Tab={id:"uservoice-feedback-tab",css_template:"\
+ body a#uservoice-feedback-tab,\
+ body a#uservoice-feedback-tab:link {\
+ background-position: 2px 50% !important;\
+ position: fixed !important;\
+ top: 45% !important;\
+ display: block !important;\
+ width: 25px !important;\
+ height: 98px !important;\
+ margin: -45px 0 0 0 !important;\
+ padding: 0 !important;\
+ z-index: 100001 !important;\
+ background-position: 2px 50% !important;\
+ background-repeat: no-repeat !important;\
+ text-indent: -9000px;\
+ }\
+ \
+ body a#uservoice-feedback-tab:hover {\
+ cursor: pointer;\
+ }\
+ \
+ * html a#uservoice-feedback-tab,\
+ * html a#uservoice-feedback-tab:link {\
+ position: absolute !important;\
+ background-image: none !important;\
+ }\
+ \
+ a##{id} { \
+ #{alignment}: 0; \
+ background-repeat: no-repeat; \
+ background-color: #{background_color}; \
+ background-image: url(#{text_url}); \
+ border: outset 1px #{background_color}; \
+ border-#{alignment}: none; \
+ }\
+ \
+ a##{id}:hover { \
+ background-color: #{hover_color}; \
+ border: outset 1px #{hover_color}; \
+ border-#{alignment}: none; \
+ }\
+ \
+ * html a##{id} { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='#{text_url}'); }",show:function(options){this.setupOptions(options||{});UserVoice.Popin.setup(options);var html='<a id="'+this.id+'"';if(!this.options.no_dialog){html+='" ';if(this.options.preload){html+='" ';}}
+html+=' href="'+UserVoice.Popin.url()+'">'+(this.options.tab_string[this.options.lang]?this.options.tab_string[this.options.lang]:'Feedback')+'</a>';var tab=document.createElement('div');tab.setAttribute('id','uservoice-feedback');tab.innerHTML=html;document.body.insertBefore(tab,document.body.firstChild);if(!this.options.no_styles){UserVoice.Util.includeCss(UserVoice.Util.render(this.css_template,this.options));}},setupOptions:function(options){this.options={alignment:'left',background_color:'#f00',text_color:'white',hover_color:'#06C',lang:'en',no_styles:false,no_dialog:false,preload:true}
+for(attr in options){this.options[attr]=options[attr];}
+this.options.tab_string={cn:"反馈",de:"Feedback",es:"Sugerencias",fr:"Commentaires",ja:"フィードバック",nl:"Feedback",pt_BR:"Comentário"};this.options.text_url='/images/uv/feedback_tab_black.png';this.options.id=this.id;}}
+UserVoice.Metrics={events:{},mpmetrics:null,enabled:true,track:function(funnel,step,name){if(this.enabled){if(!this.mpmetrics){this.mpmetrics=MixpanelLib('7a0a5074ecca7025afedfe04d9eb214f');}
+if(!this.events[name]){this.mpmetrics.track(name);this.mpmetrics.track_funnel(funnel,2,name);this.events[name]=true;}}}}
+UserVoice.Metrics.enabled=false;if(typeof(uservoiceOptions)!=='undefined'&&uservoiceOptions.showTab==true){UserVoice.Tab.show(uservoiceOptions);}
Modified: trunk/public/stylesheets/logilogi.css
===================================================================
--- trunk/public/stylesheets/logilogi.css 2009-11-18 14:05:07 UTC (rev 1640)
+++ trunk/public/stylesheets/logilogi.css 2009-11-18 15:45:13 UTC (rev 1641)
@@ -964,7 +964,7 @@
color: #818181;
}
.logi .author {
- padding: 0 0 0.8em 0;
+ padding: 0 0 0 0;
display: block;
font-size: 1em;
}
@@ -978,8 +978,8 @@
padding: 0 0 0.2em 0;
margin-top: 0.8em;
}
-.snippet p {
- padding: 0 0 0.2em 0;
+.snippet p.snippet_body {
+ padding: 0.5em 0 0.2em 0;
font-size: 1.2em;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|