就像我博客中的标签一样,这个也是我在网上收集的,但我已经修复了其中的错误,可以直接使用了。
登陆Blogger Beta,进入'Page Elements"界面,确保你已经在某个位置装上了Label插件(过后你仍可以调整它的位置)。然后进入Edit HTML界面,使"Expand Widget Templates"处于非选的状态。
代码包括3个部分。 首先拷贝下面这段代码——
/* Label Cloud Styles
----------------------------------------------- */
#labelCloud {text-align:center;font-family:arial,sans-serif;}
#labelCloud .label-cloud li{display:inline;background-image:none !important;padding:0 5px;margin:0;vertical-align:baseline !important;border:0 !important;}
#labelCloud ul{list-style-type:none;margin:0 auto;padding:0;}
#labelCloud a img{border:0;display:inline;margin:0 0 0 3px;padding:0}
#labelCloud a{text-decoration:none}
#labelCloud a:hover{text-decoration:underline}
#labelCloud li a{}
#labelCloud .label-cloud {}
#labelCloud .label-count {padding-left:0.2em;font-size:9px;color:#000}
#labelCloud .label-cloud li:before{content:"" !important}
将它置入样式表(stylesheet )内。最简单的方式是找到这个代码
]]></b:skin>
将上面拷贝的代码放在它的前面。
然后,将第二部分代码放在]]></b:skin>的后面,但需确认在 </head>之前。第二部分代码如下:
<script type='text/javascript'>
// Label Cloud User Variables
var lcBlogURL = 'http://yourblog.blogspot.com/';
var maxFontSize = 20;
var maxColor = [0,0,255];
var minFontSize = 10;
var minColor = [0,0,0];
var lcShowCount = false;
</script>
这部分代码里有些参数需要修改,但现在,你需要先将
http://YOURBLOG.blogspot.com更换为你的blogspot地址,注意:严格按照这个格式进行更换。
Now the widget itself. Scroll down and find the label widget in your sidebar. It should look
something like this.
接着是最后这一部分了。滚动到模板最下方,找到你之前装上的Label 插件,它应该是这样的:
<b:widget id='Label1' locked='false' title='Labels' type='Label'/>
拷贝下面这段代码,替换上面这一行。
<b:widget id='Label1' locked='false' title='Label Cloud' type='Label'>
<b:includable id='main'>
<b:if cond='data:title'>
<h2><data:title/></h2>
</b:if>
<div class='widget-content'>
<div id='labelCloud'/>
<script type='text/javascript'>
// Don't change anything past this point -----------------
function s(a,b,i,x){
if(a>b){
var m=(a-b)/Math.log(x),v=a-Math.floor(Math.log(i)*m)
}
else{
var m=(b-a)/Math.log(x),v=Math.floor(Math.log(i)*m+a)
}
return v
}
var ta=0
var c=[];
var labelCount = new Array();
var ts = new Object;
<b:loop values='data:labels' var='label'>
var theName = "<data:label.name/>";
ts[theName] = <data:label.count/>;
</b:loop>
for (t in ts){
if (!labelCount[ts[t]]){
labelCount[ts[t]] = new Array(ts[t])
}
}
tz = labelCount.length-1 ;
lc2 = document.getElementById('labelCloud');
ul = document.createElement('ul');
ul.className = 'label-cloud';
for(var t in ts){
for (var i=0;3 > i;i++) {
c[i]=s(minColor[i],maxColor[i],ts[t]-ta,tz)
}
var fs = s(minFontSize,maxFontSize,ts[t]-ta,tz);
li = document.createElement('li');
li.style.fontSize = fs+'px';
li.style.lineHeight = '1';
a = document.createElement('a');
a.title = ts[t]+' Posts in '+t;
a.style.color = 'rgb('+c[0]+','+c[1]+','+c[2]+')';
a.href = lcBlogURL+'/search/label/'+encodeURIComponent(t);
if (lcShowCount){
span = document.createElement('span');
span.innerHTML = '('+ts[t]+') ';
span.className = 'label-count';
a.appendChild(document.createTextNode(t));
li.appendChild(a);
li.appendChild(span);
}
else {
a.appendChild(document.createTextNode(t));
li.appendChild(a);
}
ul.appendChild (li);
abnk = document.createTextNode(' ');
ul.appendChild(abnk);
}
lc2.appendChild(ul);
</script>
<noscript>
<ul>
<b:loop values='data:labels' var='label'>
<li>
<b:if cond='data:blog.url == data:label.url'>
<data:label.name/>
<b:else/>
<a expr:href='data:label.url '><data:label.name/></a>
</b:if>
(<data:label.count/>)
</li>
</b:loop>
</ul>
</noscript>
<b:include name='quickedit'/>
</div>
</b:includable>
</b:widget>
保存模板修改。
至此,如果不出意外的话,你应该可以通过预览看到所谓的Label Clouds了。如果你没有看到,肯定是哪个步骤弄错了(也许你没错,这个后面再解释)。
还有最后的一步:修改代码,使Label Clouds在颜色和字体上适应你原有的页面。
这通过设置下面这段代码中的一些参数来实现:
var maxFontSize = 20;
var maxColor = [0,0,255];
var minFontSize = 10;
var minColor = [0,0,0];
var lcShowCount = false;
maxFontSize:以象素为单位,设置标签Label显示的最大字号
maxColor :以RGB格式设置标签显示颜色的上限
minFontSize:以象素为单位,设置标签Label显示的最小字号
minColor :以RGB格式设置标签显示颜色的下限
因为颜色和字号是一个范围,所以一个标签Label在Label Clouds中最终以什么样的效果呈现出来,这取决于标签的数量,取决于颜色和字号上下限的设定,单个标签落入那个位置。肯定的是,3个标签是不会营造出一个好的Label Clouds的效果来的,数量太少。
重要!在设定颜色和字号时,请代码呈现的格式来操作。默认的颜色:蓝色为上限,黑色为下限。你可以选择任意的RGB颜色进行组合。如果你通常熟悉的颜色代码是"#ccddbb"这种格式的,没关系,网上有很多工具来帮你进行转换。 这是给你提供的一个颜色代码对照表:
RGB Color Code Chart
还有一个变量是: lcShowCount
你可以将它的值设定为false(默认)或true。这个值设定是否在Label后显示帖子的数量。一个传统的Label Clouds是不会显示的。
最后,你可以设定CSS部分了,如果你觉得有必要的话。
在下面一行设置Label的对齐方式和字体集。
#labelCloud {text-align:center;font-family:arial,sans-serif;}
对齐方式可以为:justify;right;left。
#labelCloud .label-cloud li{display:inline;background-image:none !important;padding:0 5px;margin:0;vertical-align:baseline !important;border:0 !important;}
里面的display:inline;可以改为display:block;
#labelCloud .label-count
如果你将lcShowCount变量设定为true以显示帖子数量,你可以通过这部分来调整数字的颜色和字号。
我已经修复了其中的错误,可以直接使用。
转自:http://oyee.blogspot.com/2006/09/blogger-beta-label-clouds.html
2008年4月9日星期三
使你的blogger标签有个性
订阅:
博文评论 (Atom)


0 评论:
发表评论