Облако тегов на Blogger
Теги: Blogger, Облако тегов
Этот хак - удобная вещь для блога.
Посетитель, который приходит на ваш блог сразу видит, на какую тему написано больше постов.
Такая организация тегов экономит место на странице и просто это выгледит красиво.
Чтобы добавить на свой блог виджет "Облако тегов" перейдите по ссылке которая расположены ниже
Облако тегов для Blogger
Приступим к раблоте...
Чтобы добавить облако тегов в свой блог нужно выполнить не сколько действий:
Перейдите в Настройки блога > Макет >
Затем перейдите по ссылке: "Добавить гаджет"
Добавьте виджет "Ярлыки"
Теперь перейдите в вкладку Макет> Изменить HTML
Найдите в шаблоне тег
]]></b:skin>
Перед ним вставьте код расположеный ниже:
Теперь найдите следующий код
]]></b:skin>
Сразу после него, но перед этим тегом </head> вставьте скрипт расположеный ниже:
Сейчас вы должны будете выполнить самую ответственную операцию
Проверьте галочку "Расширить шаблоны виджета", она должна быть не нажата
Найдите код примерно похожий на этот:
<b:widget id='Label1' locked='false' title='Labels' type='Label'/>
Замените его на следующий:
Теперь у вас создан виджет "Облако Тегов"
Но это не всё, его можно приукрасить Это очень просто если вы знакомы с Javascript
var maxFontSize = 20; - Эта строчка скрипта задаёт размер шрифта самого большого тега
var maxColor = [0,0,255]; - Эта строчка задаёт цвет самому блольшому тегу
var minFontSize = 10; - Эта строчка скрипта задаёт размер шрифта самого маленького тега
var minColor = [0,0,0]; - Эта строчка задаёт цвет самого маленького тега
Но если вы не можете подобрать цвета для своего облака тегов, готов вам продемонстрировать свою галерею:
Галерея дизайнов Облака Тегов для Blogger
Посетитель, который приходит на ваш блог сразу видит, на какую тему написано больше постов.
Такая организация тегов экономит место на странице и просто это выгледит красиво.
Чтобы добавить на свой блог виджет "Облако тегов" перейдите по ссылке которая расположены ниже
Установка облака тегов (Инструкция)
Комментарии и вопросы вы можете задать в первоночальном посте(ссылка расположена ниже)Облако тегов для Blogger
Приступим к раблоте...
Чтобы добавить облако тегов в свой блог нужно выполнить не сколько действий:
Перейдите в Настройки блога > Макет >
Затем перейдите по ссылке: "Добавить гаджет"
Добавьте виджет "Ярлыки"
Теперь перейдите в вкладку Макет> Изменить HTML
Найдите в шаблоне тег
]]></b:skin>
Перед ним вставьте код расположеный ниже:
/* 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}
----------------------------------------------- */
#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}
Теперь найдите следующий код
]]></b:skin>
Сразу после него, но перед этим тегом </head> вставьте скрипт расположеный ниже:
<script type='text/javascript'>
// Label Cloud User Variables
var cloudMin = 1;
var maxFontSize = 20;
var maxColor = [0,0,255];
var minFontSize = 10;
var minColor = [0,0,0];
var lcShowCount = false;
</script>
// Label Cloud User Variables
var cloudMin = 1;
var maxFontSize = 20;
var maxColor = [0,0,255];
var minFontSize = 10;
var minColor = [0,0,0];
var lcShowCount = false;
</script>
Сейчас вы должны будете выполнить самую ответственную операцию
Проверьте галочку "Расширить шаблоны виджета", она должна быть не нажата
Найдите код примерно похожий на этот:
<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 -----------------
// Cloud function s() ripped from del.icio.us
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 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])
}
}
var ta=cloudMin-1;
tz = labelCount.length - cloudMin;
lc2 = document.getElementById('labelCloud');
ul = document.createElement('ul');
ul.className = 'label-cloud';
for(var t in ts){
if(ts[t] < cloudMin){
continue;
}
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 = '/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>
<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 -----------------
// Cloud function s() ripped from del.icio.us
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 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])
}
}
var ta=cloudMin-1;
tz = labelCount.length - cloudMin;
lc2 = document.getElementById('labelCloud');
ul = document.createElement('ul');
ul.className = 'label-cloud';
for(var t in ts){
if(ts[t] < cloudMin){
continue;
}
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 = '/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>
Теперь у вас создан виджет "Облако Тегов"
Но это не всё, его можно приукрасить Это очень просто если вы знакомы с Javascript
var maxFontSize = 20; - Эта строчка скрипта задаёт размер шрифта самого большого тега
var maxColor = [0,0,255]; - Эта строчка задаёт цвет самому блольшому тегу
var minFontSize = 10; - Эта строчка скрипта задаёт размер шрифта самого маленького тега
var minColor = [0,0,0]; - Эта строчка задаёт цвет самого маленького тега
Но если вы не можете подобрать цвета для своего облака тегов, готов вам продемонстрировать свою галерею:
Галерея дизайнов Облака Тегов для Blogger
3 коммент:
- Хорошо, такая организация тегов экономит место на странице. Надо бы воспользоваться. А как реализовать, что-бы все теги были одинакового размера, я имею ввиду шрифт. И еще, я где то видел облако, но это уже java скрипт был, где теги как облака плавали. Пример такого скрипта нигде не попадался? Вот его бы поставить.
- Русик, то, что ты называешь облако с плавающими тегами называется flash облако тегов. Я стараюсь не использовать всё, что связано с языком flash. Те, кто имеют броузеры IE, блокируют такие приложения. IE расценивает flash приложения расцениваются как ActiveX.
- Я в Firefoxe тоже блокирую, но все равно красиво :-) Можно часами его крутить. Кстати я нашел пример, но ставить не стал потому, что сам java файл надо куда-то ложить, и к нему код прикручивать. В блоггере не нашел куда можно, а на сторону не хочется.
0 коммент.:
Отправить комментарий
Комментировать...