Mostrando las entradas con la etiqueta widget. Mostrar todas las entradas
Mostrando las entradas con la etiqueta widget. Mostrar todas las entradas

domingo, 9 de marzo de 2014

Nube de etiquetas en Blogger

Esta fuera de moda pero lo uso y siempre que hago un cambio se me olvida como se hacia. http://phy3blog.googlepages.com/Beta-Blogger-Label-Cloud.html

1. Agregar los estilos (stylesheet section).

Encontrar la etiqueta de cierre de skin

]]></b:skin>

y colocar el siguiente código justo antes:

/* 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}

 

2. Modificar la sección de configuración.

En el encabezado (head) pero fuera de la hoja de estilo (stylesheet). Usar de referencia

]]></b:skin>

Pero ahora insertar el código siguiente justo después, pero antes de </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>

 

3. Modificar el widget.

Buscar el código del widget de etiquetas, algo similar a

<b:widget id='Label1' locked='false' title='Labels' type='Label'/>

Cambiarlo por el código del widget por el siguiente:

 

<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&gt;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 = &quot;<data:label.name/>&quot;;
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] &lt; cloudMin){
       continue;
       }
    for (var i=0;3 &gt; 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>

 

Para que funcione el código ya debe haber etiquetas(tags) definidas y por lo menos una debe llevar más de una cuenta. Para más información consultar el articulo original.

Referencia

http://phy3blog.googlepages.com/Beta-Blogger-Label-Cloud.html

martes, 26 de junio de 2007

Nubes de etiquetas en Blogger

Os recomiendo que copieis las líneas de código del artículo original, además en phydeaux3, podéis encontrar mucha más información sobre los parametros del widget

Villaykorte


En phydeaux3 y la viga en el ojo ajeno viene una receta de como poner un nube de etiquetas en Blogger.