Mostrando entradas con la etiqueta Básicos. Mostrar todas las entradas
Mostrando entradas con la etiqueta Básicos. Mostrar todas las entradas

viernes, 12 de abril de 2013

Solucionar problemas del nuevo editor HTML de Blogger

Hace poco hablamos de las nuevas funciones que trae el editor HTML de Blogger. Para muchos ha sido un verdadero quebradero de cabeza y en esta entrada trataremos de solucionar sus problemas mediante un F.A.Q.

blogger, html, faq


Considera que el editor ha sido cambiado en pro de su uso, pero como muchos nos acostumbramos al editor HTML anterior, se nos hace dificil poder defendernos de su manera de utilización.

¿Para qué sirve el botón Plantilla de formato?: Este botón lo que hace es organizar el código para así trabajar a gusto. Recuerda que si necesitas buscar algún código en particular, posiblemente no encuentres el código exacto ya que limpia la indentación.

Al presionar CTRL+F e iniciar una búsqueda, el buscador integrado del navegador no encuentra ninguna similitud: Ahora el editor HTML viene con un buscador integrado, el cual se activa presionando dentro del editor y posteriormente presionando CTRL+F, si utilizas el buscador por defecto en tu navegador, el código lo buscará dentro de la página del editor y no dentro de éste.

¿Qué debo hacer si necesito expandir artilugios para encontrar un código dentro de un <b:widget/>?: Recuerda que la opción Expandir plantillas de artilugios ha sido eliminada ya que no se necesita más, basta con buscar con CTRL+F y si el código se encuentra dentro de un código contraído éste se expandirá y arrojará el resultado de tu búsqueda.

¿Para qué me sirve el destacador de síntaxis?: Para aclarar un poco, este nuevo editor incluye la capacidad de destacado de códigos, podemos aprovechar esta nueva función para detectar cuando alguna código presenta algún error debido a que lo destaca en rojo. También podemos beneficiarnos ya que podemos identificar secciones mucho mas fácil que antes.

¿Cómo puedo aprovechar el enumerado de líneas?: Básicamente, si el sistema te devuelve algún error de síntaxis y/o semántico, puedes revisar la línea afectada y realizar la corrección correspondiente enfatizándote exclusivamente en esa línea.

Necesito ubicar un widget dentro de la plantilla, ¿Qué acción(es) debo realizar para ubicarlo?: Desde el menú desplegable Ir al Widget, deberás seleccionar el widget correspondiente. Te parecerá un poco extraño ya que el gadget no muestra el título, sino que se muestra en el siguiente formato:

<TipoWidget><Nº>

Si no sabes cuál es cual, puedes ir a alguno de ellos y podrás comprobar su título, o bien puedes además buscar un widget alternativamente desde el buscador mediante su título.

Espero que este artículo les sea de utilidad, si tienen alguna otra consulta de su uso por favor comenta y trataremos de encontrar juntos una solución a cada una de las inquietudes que se puedan presentar.

miércoles, 10 de abril de 2013

El nuevo diseño en la Edición HTML de Blogger

Blogger nos ha sorprendido desde ayer con un nuevo cambio, una Edición de HTML más moderna y profesional. Esta nueva interfaz en la Edición de HTML incluye una Vista Previa sin abrir una nueva pestaña; numeración y colores en los códigos para que nos permita identificar cada una de las partes de la plantilla; menú de gadgets para acceder a ellos rápidamente; expandimiento de artilugios de forma individual; organizar apropiadamente los códigos añadidos; y su propio buscador.

Sí, todo esto han modificado en el nuevo diseño que nos ha sorprendido a todos. ¿Y para qué sirve cada cosa?

Los colores de los códigos es algo que ha confundido a muchos pues algunos crees que tienen una función específica pero no es así, es sólo para ayudarnos a diferenciar cada sector de la plantilla y no ver sólo un mundo de letras negras como lo habíamos visto siempre hasta ayer. De hecho, la mayoría de los editores profesionales suelen ser así.

¿Dónde se expande los artilugios en la nueva Edición de HTML?
Cada área está más organizada de forma individual, para expandir los artilugios de algún área que necesites sólo dale click a la flecha correspondiente y se expandirá esa área, por ejemplo, los estilos CSS ahora los verás agrupados entre <b:skin>...</b:skin>


El menú Ir al widget nos permite desplazarnos directamente hasta el gadget que hemos seleccionado ahorrándonos un poco de tiempo.


Este nuevo diseño incluye su propio buscador que aparece con CTRL+F, y este quizás es el cambio que a muchos no les ha gustado pues algunos dicen que a veces puede ser tardado y lento para encontrar los códigos a buscar.


El botón Editar Plantilla nos permite regresar al editor cuando hemos estado en la Vista Previa misma que ahora se muestra dentro del mismo editor. Yo en lo personal prefiero que se abra en una pestaña aparte para tener mayor espacio de visibilidad de la plantilla y los cambios que se están aplicando.


El botón Plantilla de formato nos organiza el código que hemos añadido o modificado, de manera que el cambio que hayamos hecho quede de una forma limpia y organizada.

Sin duda en su mayoría son cambios bastante buenos con la esperanza de que nos ayuden a trabajar mejor a la hora de modificar la plantilla del blog. ¿A ustedes qué les ha parecido?

lunes, 10 de diciembre de 2012

Desmenuzando los gadgets de Blogger: Entradas Populares

A grandes rasgos vimos la forma de crear una plantilla para Blogger, pero para podernos internar en la personalización completa de nuestra plantilla comenzaré con una lista de tutoriales en los que se buscará editar cada sección del blog detalladamente. En esta oportunidad hablaremos de cómo personalizar el gadget de entradas populares para así suprimir el estilo original y manejarlo a nuestro antojo.

popularposts blogger

Si tienes habilidad y si lees la guía completa puedes incluso adaptar el gadget a un slider Javascript, ya que modificaremos toda la estructura del gadget.


Paso 1: Modificando el cuerpo del gadget "Entradas Populares":

Debemos saber que todo gadget tiene condicionales, la mayoría de éstas son de configuración, esto quiere decir que éstas afectan en cómo nosotros hayamos configurado el gadget desde la opción "Diseño", por lo que sirven únicamente si nosotros modificamos algo desde esta sección.

Lo que haremos será suprimir este código condicional y todas sus dependencias, convertiremos el gadget en un sólo resultado que nosotros mismos crearemos. El código original sin modificar del gadget de entradas populares es el siguiente:

 <b:widget id='PopularPosts1' locked='false' title='Entradas populares' type='PopularPosts'>
<b:includable id='main'>
  <b:if cond='data:title'><h2><data:title/></h2></b:if>
  <div class='widget-content popular-posts'>
    <ul>
      <b:loop values='data:posts' var='post'>
      <li>
        <b:if cond='data:showThumbnails == &quot;false&quot;'>
          <b:if cond='data:showSnippets == &quot;false&quot;'>
            <!-- (1) No snippet/thumbnail -->
            <a expr:href='data:post.href'><data:post.title/></a>
          <b:else/>
            <!-- (2) Show only snippets -->
            <div class='item-title'><a expr:href='data:post.href'><data:post.title/></a></div>
            <div class='item-snippet'><data:post.snippet/></div>
          </b:if>
        <b:else/>
          <b:if cond='data:showSnippets == &quot;false&quot;'>
            <!-- (3) Show only thumbnails -->
            <div class='item-thumbnail-only'>
              <b:if cond='data:post.thumbnail'>
                <div class='item-thumbnail'>
                  <a expr:href='data:post.href' target='_blank'>
                    <img alt='' border='0' expr:height='data:thumbnailSize' expr:src='data:post.thumbnail' expr:width='data:thumbnailSize'/>
                  </a>
                </div>
              </b:if>
              <div class='item-title'><a expr:href='data:post.href'><data:post.title/></a></div>
            </div>
            <div style='clear: both;'/>
          <b:else/>
            <!-- (4) Show snippets and thumbnails -->
            <div class='item-content'>
              <b:if cond='data:post.thumbnail'>
                <div class='item-thumbnail'>
                  <a expr:href='data:post.href' target='_blank'>
                    <img alt='' border='0' expr:height='data:thumbnailSize' expr:src='data:post.thumbnail' expr:width='data:thumbnailSize'/>
                  </a>
                </div>
              </b:if>
              <div class='item-title'><a expr:href='data:post.href'><data:post.title/></a></div>
              <div class='item-snippet'><data:post.snippet/></div>
            </div>
            <div style='clear: both;'/>
          </b:if>
        </b:if>
      </li>
      </b:loop>
    </ul>
    <b:include name='quickedit'/>
  </div>
</b:includable>
</b:widget>


Como lo puedes apreciar, contiene muchas condicionales que afectan el comportamiento del gadget y códigos que muchas veces al usuario promedio lo confunden. Lo que haremos será reemplazar todo el código anterior por el siguiente, una versión simplificada y funcional del gadget (Y si no tienes el código anterior o similar puedes añadirlo dentro de una etiqueta <b:section>):

<b:widget id='PopularPosts1' locked='true' title='Slider de imágenes' type='PopularPosts'>
<b:includable id='main'>
<ul>
<b:loop values='data:posts' var='post'>
<li>
<b:if cond='data:post.thumbnail'>
<a expr:href='data:post.href' target='_blank'>
<img alt='' expr:src='data:post.thumbnail'/>
</a>
<b:else />

<a expr:href='data:post.href' target='_blank'>
<img alt='' src='URL-IMAGEN-NO-DISPONIBLE'/>
</a>
</b:if>

<a expr:href='data:post.href' class="titulo-entrada-gadget" ><data:post.title/></a>
<div class="snippet"> <data:post.snippet/> </div>

</li>
</b:loop>
<div class="clearfix" />
</ul>


</b:includable>
</b:widget>

Previsualiza la plantilla y si consigues ver 10 entradas populares en el índice puedes guardar los cambios que has hecho.

Información importante:

El gadget debería devolver una estructura muy similar a esta, pero el código las etiquetas <li> y su contenido se repetirá por cada entrada:

<ul>
      <li>
              <a href="Url-de-la-entrada" target="_blank"><img alt="" src="Url-de-la-imagen-a-72px"></a>

              <a href="Url-de-la-entrada" class="titulo-entrada-gadget">Título de la entrada</a>

              <div class="snippet">
                     Resúmen de la entrada que aparecerá en la página principal.
              </div>
      </li>

<div class="clearfix" />
</ul>

Previsualicemos el resultado:



¿Lo ves poco estructurado? Veamos el siguiente paso.


Paso 2: Añadir atributos al gadget de entradas populares:

Si te preguntas por qué no usaremos las mismas clases e identificadores que vienen por defecto en el gadget, esto es debido a que en Blogger existe un código arbitrario que define los atributos por defecto en nuestra plantilla. Para poder obviar estas reglas, le asignamos otros nombres a cada elemento:

#PopularPosts1 ul {
/*Atributos del contenedor de las entradas populares*/
}

#PopularPosts1 li {
/*Cada elemento del contenedor, dentro de éste se encuentran otros más*/
}

#PopularPosts1 img {
/*Imágenes del gadget, anteriormente item-thumbnail*/
}

#PopularPosts1 div {
/*Resúmen del gadget, anteriormente item-snippet*/
}

.titulo-entrada-gadget {
/*Resúmen del gadget, anteriormente item-title*/
}

.clearfix {clear:both;} /*No tocar*/

Con algo de ingenio, puedes construir algo tan sencillo pero a la vez llamativo como esto:





Código CSS del ejemplo:

#PopularPosts1 ul {
width:90%;
margin:0 auto;
background:rgba(0,0,0,0.05);
padding:0 !important;
font-family:Open Sans; /*Requiere la fuente Open Sans de Google Web Fonts en 300*/
font-weight:300;
}

#PopularPosts1 li {
-moz-transition: 1s; /*Transición Firefox*/
-webkit-transition: 1s; /*Transición Chrome, Safari*/
-o-transition:1s; /*Transición Opera*/
transition: 1s; /*Transición Genérica*/
list-style:none !important;
padding:10px 5px;
float:left;
cursor:pointer;
width:48%;
border-bottom:1px solid rgba(0,0,0,0.1);
}

#PopularPosts1 li:hover {
background:rgba(255,255,255,0.4);
box-shadow: inset 0 0 120px rgba(0,0,0,0.3);
}


#PopularPosts1 img {
float:left;
padding:5px;
background:#EFF1F3;
border:1px solid white;
box-shadow:0 0 5px #CCCCCC;
margin: 0 10px 10px;
}

#PopularPosts1 div {
/*Sin atributos*/
}

#PopularPosts1 .titulo-entrada-gadget {
font-size:16px;
}


Extra: Imágenes mas grandes:

Oloman tiene un muy útil script que sirve para devolver la imagen por defecto del gadget en un tamaño mayor, si necesitas adaptar el widget a un slider puedes utilizar su tutorial.

martes, 13 de noviembre de 2012

Personaliza la fecha de tus entradas con Javascript y CSS

En este artículo veremos 2 métodos para personalizar las fechas con CSS3 y Javascript, ya que hace algún tiempo atrás vimos una forma para hacerlo y algunos usuarios han tenido problemas para incrustar el script correctamente en sus plantillas ya que quedaba un contenedor vacío, no se ejecutaba correctamente la función o había un problema con la etiqueta que se utilizaba.

Para evitar este problema, he creado 2 scripts, si el primero fallara en sus plantillas, pueden recurrir al segundo.

Blogger date css, custom blogger date, fecha blogger


Primer método: Mediante data:post.dateHeader:

La etiqueta <data:post.dateHeader /> es la que se encarga de mostrar la fecha en las entradas de tu blog, genéricamente debería funcionar en cualquier plantilla pero como toda regla tiene una excepción, hay algunas que se niegan a funcionar con esta etiqueta.


Para hacer funcionar este método, primero busca la siguiente línea en tu plantilla (Con los artilugios expandidos):

<data.post.body/>

Arriba de ésta pega el siguiente código:

<script type="text/javascript">
// Script creado por Víctor Calderón Para Ayuda Bloggers - Opción para data:post.dateHeader
function dividir_fecha()
{
var fecha_completa="<data:post.dateHeader/>"; // Formato original de la fecha
var nueva_fecha=fecha_completa.split(" "); // Dividir la var con .split
dia = nueva_fecha[0];
mes = nueva_fecha[1];
año = nueva_fecha[2];
document.write("<span class=\"dia\">" + dia + "</span>" // Devuelve esto, con mes hasta 3 carácteres únicamente
+ "<span class=\"mes\">" + mes.slice(0,3) + "</span>" + "<span class=\"año\">" + año + "</span>"
);

}
</script>

<div class="fecha-ayudabloggers">
<script>dividir_fecha()</script>
</div>

Posteriormente vas a "Configuración | Idioma y Formato", y en "Formato de cabecera de fecha" estableces el siguiente:

13 Noviembre 2012

Si este método no funciona, suprime el código anterior y prueba con el método siguiente.

Segundo método: Mediante data:post.timestamp:

La etiqueta <data:post.timestamp/> es aquella que muestra la hora en alguna determinada sección de la entrada. Con saber la hora no podemos hacer nada, pero podemos aprovechar una de las opciones que se encuentran en el apartado Formato de hora:



Deberás elegir la que tiene este formato:

martes, noviembre 13, 2012

Una vez que ya seleccionamos esta opción, pegaremos el siguiente script en la misma sección que el anterior:


<script type="text/javascript">
// Script creado por Víctor Calderón Para Ayuda Bloggers - Opción para data:post.timestamp
function dividir_fecha()
{
var fecha_completa="<data:post.timestamp/>"; // Formato original de la fecha
var nueva_fecha=fecha_completa.split(","); // Dividir la var con .split
var mes = nueva_fecha[1];
var año = nueva_fecha[2];
var dia_nuevo = mes.split(" "); // El día y mes se encuentran juntos, para poder obtener sólamente el día se requiere este fix
var dia = dia_nuevo[2];

document.write("<span class=\"dia\">" + dia + "</span>" // Devuelve esto
+ "<span class=\"mes\">" + mes.slice(1,4) + "</span>" + "<span class=\"año\">" + año.slice(1,5) + "</span>" // Los .slice son para eliminar el espacio y en el caso del mes para limitarlo a 3 carácteres
);
}


</script>

<div class="fecha-ayudabloggers">
<script>dividir_fecha()</script>
</div>

Previsualizamos si la fecha nos aparece correctamente en cada post, y si es correcto podemos guardar la plantilla.

Nota:

Si aparece un error de síntaxis al intentar previsualizar o guardar la plantilla deberás parsear el código que se encuentra al final del script (Toda la sección de document.write).

Personalizando las fechas:

El resultado de ambos scripts es el siguiente:

<div class="fecha-ayudabloggers"> 
<span class="dia">13</span>
<span class="mes">Nov</span>
<span class="año">2012</span>
</div>

Si nosotros lo previsualizamos, veremos el siguiente resultado:

13Nov2012

Para poder aplicar atributos usaremos los selectores ya establecidos en las clases, tanto del <div>, como de los subelementos:

.fecha-ayudabloggers {
/*Atributos del contenedor de la fecha*/
}

.dia {
/*Atributos del día*/
}

.mes {
/*Atributos del mes*/
}

.año {
/*Atributos del año*/
}

Puedes jugar con los márgenes, tamaños distintos de fuentes, flotación y todos los atributos que estimes necesarios. Para que puedas tener una idea de lo que puedes hacer, adjunto 2 ejemplos con sus atributos respectivos:


Ejemplo 1 (Basado en: WpLover - Easier Date Display Technique with CSS3):


13Nov2012
Curabitur id nibh auctor tellus adipiscing pharetra. Fusce vel justo non orci semper feugiat. Cras eu leo at purus ultrices tristique. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.



Código CSS:

.fecha-ayudabloggers {
position: relative;
width: 81px;
font-family: Georgia, serif;
color: #777;
float:left;
height: 60px;
}

.dia, .mes, .año {
position: absolute;
}

.dia {
font-size: 39px;
bottom: -8px;
}

.mes {
top: 0;
left: 0;
font-size: 26px;
}

.año{
top: 16px;
right: 0;
font-size: 25px;
rotation: -90deg !important;
-webkit-transform: rotate(-90deg);
-moz-transform: rotate(-90deg);
}


Ejemplo 2 (Basado en: Line25 - How To Create a Cool Blog Post Date Icon with CSS):

13Nov2012
Curabitur id nibh auctor tellus adipiscing pharetra. Fusce vel justo non orci semper feugiat. Cras eu leo at purus ultrices tristique. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.



Código CSS:

.fecha-ayudabloggers {
float:left;
position:relative;
width: 65px; height: 80px;
background: #fcfcfc;
background: linear-gradient(top, #fcfcfc 0%,#dad8d8 100%);
background: -moz-linear-gradient(top, #fcfcfc 0%, #dad8d8 100%);
background: -webkit-linear-gradient(top, #fcfcfc 0%,#dad8d8 100%);
border: 1px solid #d2d2d2;
border-radius: 10px;
box-shadow: 0px 0px 15px rgba(0,0,0,0.1);
text-align:center;
margin: 0 10px 0 0;
}

.dia, .mes, .año {
display:block;
padding:0;
margin:0;
}

.dia {
font-size:40px;
padding:10px 0 0 0;
}

.mes {
background: #d10000;
background: linear-gradient(top, #d10000 0%, #7a0909 100%);
background: -moz-linear-gradient(top, #d10000 0%, #7a0909 100%);
background: -webkit-linear-gradient(top, #d10000 0%, #7a0909 100%);
font-size: 25px;
font-weight: bold;
color: #fff;
text-transform: uppercase;
display: block;
border-top: 3px solid #a13838;
border-radius: 0 0 10px 10px;
padding: 2px 0;
}

.año{
background: #d10000;
background: linear-gradient(top, #d10000 0%, #7a0909 100%);
background: -moz-linear-gradient(top, #d10000 0%, #7a0909 100%);
background: -webkit-linear-gradient(top, #d10000 0%, #7a0909 100%);
color:#fff;
border-bottom: 1px solid #a13838;
font-size:11px;
text-align:right;
position:absolute;
top:0;
width:94%;
max-width:94%;
border-radius: 10px 10px 0 0;
padding:0 5px 0 0;
}


Notas Importantes:
  • El script no puede ir en el </head>, ya que las etiquetas <data> requieren una cierta ubicación para poder funcionar.
  • Los atributos deben ir antes de  ]]></b:skin>
  • Si en las páginas estáticas se ve el contenedor, puedes usar condicionales y encerrar todo el código con el siguiente:
<b:if cond='data:blog.pageType != "static_page"'> 
<!-- Inserta acá el código del script -->
</b:if>

lunes, 5 de noviembre de 2012

Modificar el enlace "X Comentarios" en Blogger

Hace algún tiempo atrás vimos cómo añadir el Jumplink y el CommentLink en Blogger en plantillas que no incluían estas funciones.

En esta oportunidad veremos cómo modificar la forma en la que se muestra el mensaje bajo ciertas condiciones, es decir, cuando no hayan comentarios, cuando el total sea 1 sólo comentario o cuando estos sean plural.

El tutorial:

Recordemos que el código del CommentLink es el siguiente (Basado en una plantilla con los artilugios predeterminados):

<b:if cond='data:blog.pageType != &quot;item&quot;'>
<b:if cond='data:blog.pageType != &quot;static_page&quot;'>
<b:if cond='data:post.allowComments'>
<a class='comment-link' expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'><b:if cond='data:post.numComments == 1'>1 <data:top.commentLabel/><b:else/><data:post.numComments/> <data:top.commentLabelPlural/></b:if></a></b:if>
</b:if>
</b:if>

Si nosotros aprovechamos las condicionales de Blogger, podemos hacer que este mensaje varíe según la cantidad de comentarios que existan en la entrada.

La condicional para hacer esto requiere la cantidad de comentarios que se encuentren en una entrada, y para este fín la etiqueta <data:post.numComments/> nos servirá:

Recuerden que las condicionales de Blogger funcionan igual que las de javascript, podemos usar las etiquetas <data> y elegir un valor, que este valor se condicione de manera igual mediante el operador ==.

Sabiendo esto, podemos usar la etiqueta dentro de una condicional de esta manera:

<b:if cond='data:post.numComments == VALOR'>
</b:if>

Lo que aparezca encerrado dentro de esta condicional es lo que nosotros mostraremos, asignamos un valor que nosotros mismos añadiremos y encerraremos con el enlace:

<a class='comment-link' expr:href='data:post.addCommentUrl'>
  <b:if cond='data:post.numComments == 0'>
    Sin opiniones.
  </b:if>
 
  <b:if cond='data:post.numComments == 1'>
    Una opinión</b:if>
 
</a>

Pero, ¿Qué pasa si la entrada tiene más de 0, y más de 1?

Símplemente recurriremos a <b:else /> para que la condicional actúe cuando el valor sea diferente a 0, y dentro de ésta encerraremos la que irá entre 1 e infinito. Necesitaremos alterar un poco la estructura para que la condicional no se "confunda" y no nos muestre el mensaje duplicado.

<a class='comment-link' expr:href='data:post.addCommentUrl'>
        <b:if cond='data:post.numComments == 0'> <!-- Si el total de comentarios es igual a 0-->
                Sin Opiniones
        <b:else /> <!-- Si la condición anterior no se cumple se aplica lo siguiente -->

            <b:if cond='data:post.numComments == 1'> <!-- Si el total de comentarios es 1 -->
                Una opinión
            <b:else/> <!-- Si la condición no se cumple y tienen 2 o más comentarios -->

                <data:post.numComments/> Opiniones
          
            </b:if>

        </b:if>

</a>


Ese código debería dar un resultado como este:


Recuerda que debes encerrar el código mediante el siguiente para que el enlace aparesca únicamente en el índice del blog:
<b:if cond='data:blog.pageType == "index">
 <!-- El código anterior deberá ir aquí -->
</b:if>

Nota: El código completo debería reemplazar el código por defecto de tu plantilla, si no tienes en enlace puedes pegarlo justo debajo de:

<data:post.body />

jueves, 4 de octubre de 2012

Añadir CSS a los enlaces según tipo de archivo

Utilizando el operador '$' (End With...) en la síntaxis de un selector CSS, podemos definir el final de un atributo inline. Aprovechando esta gran función junto con los selectores de atributos, podemos definir el tipo de archivo de un "href".

blogger, links css, tipo de archivo

Puedes revisar este ejemplo para que puedas comprobar el resultado final, recuerda que la única regla que se ha establecido en los atributos es la del tipo de archivo:


Descargar archivo .pdfDescargar archivo .zip

Descargar archivo .txtDescargar archivo .mpg

Nota: las URL's no apuntan a ninguna dirección válida.

El tutorial:

Recordemos que la síntaxis de un selector de atributo era la siguiente:
selector[atributo="valor"] {
/*Lista de atributos que obtendrá este selector*/
}

Nosotros aplicaremos el operador justo después del atributo, quedándonos de la siguiente forma:

selector[atributo$="valor-x"] {
/*Lista de atributos que obtendrá el href que finalice con "valor-x"*/
}

En el caso de los enlaces, la etiqueta es </a>, su atributo es href y el valor que tome este atributo es la URL que abrirá la etiqueta:

<a href="URL.doc">URL ARCHIVO .DOC</a>

Entonces, ya sabiendo cuál es la extensión del archivo, el tipo de selector y además entendimos lo del operador '$', creamos la síntaxis para todas las URL's que finalicen en .doc:

a[href$=".doc"] {
/*Lista de atributos que obtendrá el href que finalice con ".doc"*/
}


Si deseas añadir un ícono al lado del enlace, bastaría con hacerlo con :before:
a[href$=".doc"] {
color:#222; /*color del enlace*/
display:inline-block; /*Para poder aplicar márgenes y paddings*/
padding:10px;
}

a[href$=".doc"]:before {
content:url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinEpHXCbVm2IkCTg-qZYZqru13v1Ee5bnTJbAsj2d5ptlDVH9Q0-GaMgxeIQypiBHF4dRxypmTiYnTSnbcoIeUNtljrGXwDlo_9bKKf5MMukH5fwM2PTHByvgUpYAr3EJ38RmX4jxBP48/s16/1349368907_file_extension_doc.png);
display:inline-block; /*Para poder aplicar márgenes y paddings*/
margin:0 15px 0 0;
}

Quedaría de la siguiente forma:

Descargar archivo .doc


Extra: Código fuente del ejemplo:

Para el ejemplo que está al principio de la entrada, utilicé los siguientes atributos, puedes usarlos para crear tus propios botones de descarga:
@font-face { /*Para la fuente de los íconos */
font-family: leaguegothic;
src: url('http://archivos.ayuda-bloggers.info/Fuentes/League%20Gothic/leaguegothic.ttf'),
url('http://archivos.ayuda-bloggers.info/Fuentes/League%20Gothic/leaguegothic.eot');
}


/*ENLACE PDF*/
a[href$=".pdf"]{
padding: 10px 15px 10px 15px;
display:inline-block;
background-color:#3F7CA0; /*Color de fondo*/
color:#FFF; /*Color del texto*/
text-align:center;
border-color: #3E89AD #357EA0 #2C7191;
border-radius: 3px; /*Nivel de bordes redondeados*/
border-style: solid;
border-width: 1px;
box-shadow: 0 1px 1px #D3D3D3, 0 1px 0 #78AFCE inset;
font-family: leaguegothic;
font-size:23px;
text-shadow: 0 1px 0 #1D4A5F;
text-transform:uppercase;
}
/*ICONO PDF*/
a[href$=".pdf"]:before {
content:url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicUR2X162aFktEQTWW9PjZV0WP4t57SeQmD8d0sI9ZxTeLxSoRpogGJ-PJUDx6nxE42Fpaed88czrwhYNpdu-O5EstB7qzExD3tqf33twiPlzc0t2jySc-3B0ll5MqS9qPMgas_4HKiJc/s24/1349367232_pdf.png);
display:inline-block;
padding:0 10px 0 0;
}

/*ENLACE ZIP*/
a[href$=".zip"]{
padding: 10px 15px 10px 15px;
display:inline-block;
background-color:#3F7CA0; /*Color de fondo*/
color:#FFF; /*Color del texto*/
text-align:center;
border-color: #3E89AD #357EA0 #2C7191;
border-radius: 3px; /*Nivel de bordes redondeados*/
border-style: solid;
border-width: 1px;
box-shadow: 0 1px 1px #D3D3D3, 0 1px 0 #78AFCE inset;
font-family: leaguegothic;
font-size:23px;
text-shadow: 0 1px 0 #1D4A5F;
text-transform:uppercase;
margin:0 0 0 30px;
}
/*ICONO ZIP*/
a[href$=".zip"]:before {
content:url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOFpExiBXcAztVdtAXN8UHIdRFfL33gJWIryvT8vLgBaANalJ4xWYpdWlAQ8u-rGAOhV2zXJg3PkkSSTsfR2rrfGQ9tqdY6PWZOzCF64GJcGcHZEPA4iEsnaKtbAz4ysO70ysFeXwrdSA/s24/1349367258_pack-2.png);
display:inline-block;
padding:0 10px 0 0;
}


/*ENLACE TXT*/
a[href$=".txt"]{
padding: 10px 15px 10px 15px;
display:inline-block;
background-color:#3F7CA0; /*Color de fondo*/
color:#FFF; /*Color del texto*/
text-align:center;
border-color: #3E89AD #357EA0 #2C7191;
border-radius: 3px; /*Nivel de bordes redondeados*/
border-style: solid;
border-width: 1px;
box-shadow: 0 1px 1px #D3D3D3, 0 1px 0 #78AFCE inset;
font-family: leaguegothic;
font-size:23px;
text-shadow: 0 1px 0 #1D4A5F;
text-transform:uppercase;
}

/*ICONO TXT*/
a[href$=".txt"]:before {
content:url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgg5zG3tT7U47H3NL040MVdDhywmCIKhWHA8JfBZ-SH9QgrJmF8hT-3YkPAM1XnOcMjLeJ2CUpQdMDOYMGEkLHq62y-9Ev87-IrZKAnkZ3gjg2QgheBzY8Ezk5byOUdrykerYm29gM6YK0/s24/1349367784_edit.png);
display:inline-block;
padding:0 10px 0 0;
}


/*ENLACE MPG*/
a[href$=".mpg"]{
padding: 10px 15px 10px 15px;
display:inline-block;
background-color:#3F7CA0; /*Color de fondo*/
color:#FFF; /*Color del texto*/
text-align:center;
border-color: #3E89AD #357EA0 #2C7191; /*Nivel de bordes redondeados*/
border-radius: 3px;
border-style: solid;
border-width: 1px;
box-shadow: 0 1px 1px #D3D3D3, 0 1px 0 #78AFCE inset;
font-family: leaguegothic;
font-size:23px;
text-shadow: 0 1px 0 #1D4A5F;
text-transform:uppercase;
margin:0 0 0 30px;
}

/*ICONO MPG*/
a[href$=".mpg"]:before {
content:url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2S-hQhGB9e1CzcujnNAVSAjb8PMQjQHsGMm5lyoHsLnv89294YwYA0vJ4HKNa0RBbcVFsOnQ2gbFyjJKRMPz6UeaKUOEOHXOkK1Xsp9eRJY3YBiXDNLvgapr2KBryACr5E4sig_UIDhI/s24/1349367766_movie.png);
display:inline-block;
padding:0 10px 0 0;
}


/*PSEOUDO-CLASES HOVER PARA CAMBIAR COLOR*/
a[href$=".zip"]:hover, a[href$=".pdf"]:hover, a[href$=".txt"]:hover, a[href$=".mpg"]:hover {
background-color:#4690B3; /*Color de fondo al pasar el mouse en los iconos*/
text-shadow: 0 1px 0 #1D4A5F;
color:#FFF;
}

Recuerda que todos los códigos CSS deben ir en la hoja de estilos del blog (Antes de ]]></b:skin>)

jueves, 20 de septiembre de 2012

Adiós a la antigua interfaz de Blogger


Desde marzo Blogger había advertido que la nueva interfaz desplazaría de forma definitiva a la interfaz antigua, aquella a la que tantos nos habíamos acostumbrado por muchos años. Parece que no se decidían, supongo que porque había (y hay) problemas por resolver en ella, el caso es que nos cambiaban la fecha del tan poco anhelado día. 

Pero al fin desde la noche del 19 de septiembre se hizo el gran cambio que Blogger había anunciado y del que no todos estábamos de acuerdo. La nueva interfaz está por defecto para todos los usuarios de Blogger sin la opción a regresar a la antigua interfaz.

Lo cierto es que, independientemente del aspecto que pueda tener, es una interfaz que aun tiene varios problemas que el equipo de Blogger debe solucionar. La antigua interfaz funcionaba mejor en muchos aspectos, y no es sólo por cuestiones de costumbre, sino de su funcionalidad en sí.

Actualización 21/09/2012 Los enlaces a la interfaz antigua han dejado de funcionar.
Sin embargo, y aunque no se puede usar la opción de regresar a la interfaz antigua de Blogger, he visto que los enlaces a sus diferentes secciones de la interfaz antigua aun están activos, así que no sé por cuánto tiempo pero aun los podemos usar.
La idea básica sería poner un panel de acceso, el primero, el que dice "únicamente si usas la interfaz antigua". De esa forma tendrías acceso a las distintas áreas de Blogger usando la interfaz antigua.

No sabemos cuánto tiempo puedan seguir vigentes esos enlaces, así que de cualquier forma habrá que acostumbrarse a la nueva interfaz, pues al parecer, es inevitable el cambio.

lunes, 26 de marzo de 2012

Adios al ''Subrayado'' de los enlaces en Blogger

Hola blogueros, hace un rato que no escribo, ya que la secundaria me presiona mucho, pero bueno, es la ley.
Entonces ahora quiero enseñarles como quitar algo que a mi me molesta en algunas ocasiones, que es el subrayado de los enlaces.


Obviamente esto depende del gusto de cada uno, a mi no me gusta, y supuse que tal vez no seria la única, así que quería mostrarle como quitar esto.

A lo que nos referimos es a la etiqueta a:hover, esta etiqueta se pone en acción cuando pasamos el mouse por encima de un elemento.

                                                   ejemplo a:hover de un enlace


Lo primero que hacemos es ir a Diseño ► Edicion de HTML (Su usas Blogger 2011 Plantilla ► Edición de HTML) y buscas la linea:
a:hover { text-decoration:underline;
Si no la encuentras así, es posible que la encuentres de la siguiente manera:
 a:hover { text-decoration: underline;
Y lo que eliminaremos es el text-decoration:underline; esto lo que hace es suprimir el subrayado de los enlaces.

Si quieres usar el subrayado en enlaces individuales, primero elimina el anterior mensaje y con el ID del enlace, gadget, e.t.c; creamos estilos con CSS.
#ID del enlace o gadget a:hover {
text-decoration:underline;
color: #000000;
}
Simple pero, útil.

viernes, 16 de marzo de 2012

Las nuevas direcciones de los blogs de Blogger según el país donde se lee

Algunas personas ya se habrán dado cuenta que las direcciones de sus blogs no lucen como siempre, al ingresar a un blog con terminación .blogspot.com ahora los redirecciona a una extensión de segundo nivel, como .blogspot.es

Esto es automático y paulatinamente se está viendo en todos los blogs. La razón es por una estrategia legal. Google en su página de soporte dice textualmente:
Realizaremos este cambio para proporcionar más asistencia en relación con la administración local del contenido. Si recibimos una solicitud de eliminación de contenido que infrinja la legislación local, este ya no estará disponible para los lectores en los dominios locales en los que estén en vigor esas leyes. Esta actualización es coherente con nuestro estrategia en cuanto a la libre expresión y la eliminación de contenido controvertido, que no ha variado.

Esto significa que, tu blog ahora tiene una extensión por cada país, según donde lo lea el usuario, por ejemplo, si tú eres de España pero yo estoy en México, tú verás la URL de una de estas dos formas:
http://nombre-de-mi-blog.blogspot.com.es
http://nombre-de-mi-blog.blogspot.es

Mientras que yo, estando en México la veré de alguna de esas dos formas:
http://nombre-de-mi-blog.blogspot.com.mx
http://nombre-de-mi-blog.blogspot.mx

De tal manera, que si tu blog incumpliera alguna ley de algún país, la copia local de tu blog (o de alguna entrada en específico) dejará de mostrarse sólo en ese país donde ese contenido está prohibido, pero seguirá mostrándose en el resto del mundo.

Es por esa razón que los dominios de blogspot ahora se redireccionan a una extensión diferente según el país donde se lee. Este cambio no afecta a los que usamos dominios personalizados.



ACTUALIZACIÓN (17/mar/2011)
Si el lápiz de edición rápida así como otras opciones visibles sólo para al administrador te han desaparecido, ingresa a tu blog poniendo al final de la dirección la indicación /ncr
De esta forma se abrirá la copia del blog con terminación .blogspot.com y podrás ver esas opciones.

.blogspot.com



ACTUALIZACIÓN (19/mar/2011)
En Oloblogger han publicado un script para que las URLs de cada país se redireccionen a la copia original del blog (.blogspot.com) de este modo se podría ingresar siempre a esa copia sin necesidad de agregar manualmente el término /ncr
Enlace | Evitar la redirección de URLs por países

martes, 28 de febrero de 2012

Ya están disponibles los gadgets para las Vistas Dinámicas

En Blogger Buzz informan sobre lo que muchos estaban esperando, la llegada de los gadgets en las plantillas de Vistas Dinámicas. Desde ahora ya es posible agregar gadgets a las plantillas de Vistas Dinámicas, esas plantillas que a muchos gustaron pero pocos se atrevieron a usar justamente por la falta de personalización.

Y no sólo eso, también ya está accesible ingresar a la Edición HTML de la plantilla, así que eso abre muchas posibilidades para los usuarios que utilizan estas plantillas, aunque por supuesto hay que ser prudentes con lo que tocamos.

Los gadgets de las Vistas Dinámicas se muestran en el costado derecho del blog, en un menú desplegable que va muy ad hoc al estilo de estas plantillas.


Su acceso es igual que en cualquier plantilla, desde la sección de Diseño podemos ingresar a esas áreas y añadir gadgets.


Sin lugar a dudas este cambio hará más atractivas estas plantillas que definitivamente les faltaba algo.

miércoles, 15 de febrero de 2012

Cambiar a la interfaz antigua de Blogger

AVISO
Desde el 19 de septiembre de 2012, la interfaz antigua ha sido remplazada por la nueva interfaz de Blogger de forma definitva, por lo que esta entrada ya es obsoleta.

No sé por qué, pero personalmente la nueva interfaz a mí me da muchos problemas, trato de editar algo en la plantilla y me saltan errores del tipo BX sin razón aparente. Pero independientemente de eso, hay opciones que la nueva interfaz no tiene y que la antigua sí, por ejemplo la selección de Plantillas de diseño (aquellas del 2006), la habilitación de páginas de entrada, entre otras cosas.

Así que puede ser que tengas que cambiar a la interfaz antigua por alguna razón de forma temporal, o que quieras quedarte con ella permanentemente (mientras Blogger lo siga permitiendo).

Para volver a la interfaz antigua de Blogger ingresa al Escritorio de Blogger, del lado superior derecho verás el ícono de un engrane, haz click ahí. En el menú que se desplegará selecciona Interfaz anterior de Blogger.


De inmediato estarás de vuelta en la interfaz antigua, y podrás continuar manejando tus blogs como siempre.
Cuando quieras regresar a la nueva interfaz ingresa otra vez al Escritorio, y haz click en Probar la interfaz actualizada de Blogger. Eso hará que regreses a la nueva interfaz de forma predeterminada.


De esa manera podrás usar cualquiera de las dos interfaces por la razón que sea.

lunes, 9 de enero de 2012

¿Problemas con el feed de tu blog?

Algunos de los gadgets que usamos necesitan del feed para poder encontrar datos y mostrarlos, y muchas veces no nos damos cuenta que el feed del blog no funciona hasta que tratamos de probar uno de estos gadgets y es cuando nos damos cuenta que algo anda mal.

Así que vamos a ver en esta entrada los problemas más comunes que se dan con el feed del blog y cómo solucionarlos.

Al tratar de ver el feed dice que la página no existe o URL del feed no válida

Antes de pensar en las posibles causas del porqué no funcione el feed hay que asegurarnos que éste esté habilitado, pues quizá ni siquiera está habilitado y esa puede ser la causa de todos los males.
Para ello ingresa en Configuración | Feed del sitio | Permitir feeds del blog y ponlo en Completo.
Si usas la nueva interfaz entra en Configuración | Otros | Permitir feed de blog, y ponlo en Completo.

El feed redirecciona al blog o a otra página

Esto es bastante pero bastante común. Muchos me dicen que el feed no muestra las entradas del blog sino que abre una página distinta a la del feed.
En la configuración del blog hay una opción que se llama "Publicar URL redireccionada del feed", ésta se usa cuando usamos un gestor de feeds como Feedburner, es decir, que cuando creamos un feed en Feedburner debemos colocar ahí la URL del feed de Feedburner.


Interfaz antigua




Interfaz nueva


Pero si no usas Feedburner o algún otro gestor, no pongas nada ahí, nada, ni la URL de tu blog, ni la de tu perfil ni ninguna otra, nada. De lo contrario el feed abrirá otra página que no es precisamente el feed del blog, y por consecuente ni el feed se mostrará ni los gadgets que requieran uso del feed funcionarán.


Tengo un blog privado y algunos gadgets no funcionan

Si el gadget es privado significa que sólo quienes estén autorizados pueden ver el contenido del blog, incluyendo el feed. Así que si tu blog sólo admite lectores invitados o si sólo tú puedes ver el blog, entonces los gadgets que usen el feed del blog no funcionarán, porque los scripts no tienen acceso al blog y por lo tanto no pueden ingresar a recopilar la información que necesitan.
Por lo tanto, para que estos gadgets funcionen el blog deberá ser completamente público.

El feed ya no muestra las últimas entradas

Si el feed de tu blog parece que se ha detenido y ya no hace nada, cerciórate que el tamaño del feed no se haya excedido. Si el feed es mayor a 512K entonces dejará de mostrar las actualizaciones del blog, así que en esos casos deberás reducir el tamaño del feed. Ese mismo procedimiento aplica si por primera vez vas a crear un feed en Feedburner y te aparece el mensaje:
"Your feed filesize is larger than 512K. You need to reduce its size in order for FeedBurner to process it. Tips for controlling feed file size with Blogger can be found in Tech Tips on FeedBurner Forums, our support site."

El feed tarda mucho en enviar los correos con las actualizaciones

Si usas Feedburner y tienes habilitada la suscripción por correo seguro notarás que no siempre llegan las actualizaciones inmediatamente que has publicado una nueva entrada. En esos casos hay que hacer ping y modificar una opción de Feedburner para acelerar el tiempo de actualización del feed.

Tomando en cuenta las anteriores situaciones y sus soluciones podrás resolver la mayoría de los problemas frecuentes que se dan con el feed del blog, que por suerte la mayoría, se solucionan en un 2 x 3.

martes, 27 de diciembre de 2011

Comparte fácilmente tus entradas desde Blogger a Google+

Google+ carece de un sistema automático de recepción de feeds para compartir en esta red. Por suerte desde BloggerBuzz han anunciado un nuevo sistema de posteo, que pregunta cada vez que termines de crear un post si deseas compartirlo en Google+. De momento esta función está disponible a los usuarios que utilizan el nuevo escritorio Blogger y han combinado su perfil con Blogger.



Lo novedoso de esto es que ya no será necesario buscar el dichoso botón Plus One, sino que lo tendrás la opción de compartir siempre a mano:


Además esta nueva función añade un enlace en las entradas antiguas para facilitar aún más el compartir las entradas que ya hayas escrito:


¿Cómo habilitar la función?

Primero, deberás ir a Blogger (Recuerda tener combinado tu perfil con el de Google+ y habilitar la nueva apariencia).

Posteriormente deberás ir a "Configuración | Entradas y comentarios", en donde aparecerá una nueva opción, Compartir en Google+:



Luego guardas la configuración y listo:



Consideraciones:
  • Recuerda que es crucial que mantengas el escritorio 2011 y la integración de la cuenta, tal vez al principio sea dificil acostumbrarse (En el caso de usar Blogger antiguo), pero valdrá la pena ya que tarde o temprano te acostumbrarás al actual, el cual contiene y traerá más funciones.

domingo, 25 de diciembre de 2011

Animar viñetas al pasar el mouse en Blogger

En esta oportunidad veremos la forma de animar las viñetas del blog al pasar el cursor sobre ellas. Para esto, usaremos la pseudo-clase ":hover", la que permite aplicar atributos a un selector destacado con el mouse. Además, haremos uso de las transiciones con CSS3 para darles esa animación suave.


Esta técnica la utilizo en las viñetas de la sidebar, las cuales se ven de la siguiente forma (Sitúa el cursor sobre algún enlace para comprobar el efecto):

El tutorial:

Para los que quieren aplicar inmediatamente el efecto pueden ir al final del tutorial en donde dejo el código fuente, pero para los que quieran leer el tutorial y comprender un poco más sobre cómo trabaja pueden leer los Pasos 1 y 2.

Paso 1: Los atributos básicos:

Lo primero que debemos hacer, es entender qué viñetas deseamos animar, haremos un ejemplo claro con las viñetas de la sidebar (La class de la sidebar es ".sidebar" sin los apóstrofes). Recuerda que las viñetas se determinan con la etiqueta </li> dentro de una </ul>, por lo que procederemos a asignar los valores iniciales:

.sidebar ul {
/* acá irán los primeros atributos del conjunto de viñetas */
}
.sidebar li {
/* acá irán los primeros atributos de cada viñeta */
}
Para que este efecto sea bastante llamativo, lo que haremos será asignar los siguientes valores iniciales, con los que "resetearemos" los estilos (Están descritos con un comentario para entender cada función):
.sidebar ul {
margin:0; /*Eliminamos los márgenes al conjunto de viñetas*/
padding:0; /*Suprimimos el espaciado interior para evitar que los elementos se separen del contenedor*/
list-style:none; /*Este código permite eliminar el ícono de las viñetas*/
}
.sidebar li {
padding:5px; /*Permite definir el espaciado de cada viñeta */
list-style: none; /*Este código permite eliminar el ícono de las viñetas*/
}

De momento, éstos se verán de la siguiente forma:

Recuerda que ningún efecto se verá ya que no hemos tocado aún la pseudo-clase.

 Paso 2: Animando los enlaces al situar el mouse:

Ahora, para editar los enlaces haremos cambios a la etiqueta </a>, que se encuentran dentro de la etiqueta </li>, entonces empezaremos a aplicar los atributos de la siguiente forma:
.sidebar li a {
/*Acá irán los atributos de cada enlace*/
}

.sidebar li a:hover {
/*Atributos de cada enlace destacado con el cursor del mouse*/
}
Recordemos que en el post de transiciones CSS3, el atributo para animar las transiciones era el siguiente:
-moz-transition: 0.3s; -webkit-transition: 0.3s; -o-transition: 0.3s;transition: 0.3s;
Entonces entendido esto, procederemos a aplicarlo a los enlaces (NO a los enlaces con la pseudo-class):
.sidebar li a {
-moz-transition: 0.3s; -webkit-transition: 0.3s; -o-transition: 0.3s;transition: 0.3s;
}
.sidebar li a:hover {
}
Listo, ahora podrás optar por los atributos que desees iniciar la animación, éstos deberás añadirlos en el selector con la pseudo-class, puedes jugar con los colores, fondos, márgenes, espaciados, o cualquier atributo que desees que se muestre animado.

Importante:

Para que tus viñetas estén de la misma forma que la del ejemplo, puedes tomar el siguiente código ya elaborado y pegarlo antes de  "]]></b:skin>", o bien puedes usarlo como ejemplo para crear tus propias transiciones:

.sidebar ul {
margin:0;
font-family: Tahoma,Arial,Helvetica,sans-serif;
font-size:11px;
padding:0;
list-style:none;
}

.sidebar li {
padding:5px;
list-style: none;
}

.sidebar li a {
border-radius:6px;
-moz-transition: 0.3s; -webkit-transition: 0.3s; -o-transition: 0.3s;transition: 0.3s;
padding:5px;
color:#777;
}

.sidebar li a:hover {
background:#666;
color:#d9d9d9;
margin-left:10px;
}

lunes, 19 de diciembre de 2011

Expandir el fondo del blog con CSS3

El atributo "background-size" nos permite establecer el tamaño del fondo de algún elemento. Si bien es posible establecer tamaños en píxeles, también es posible asignarle el valor "cover", el cual permite que se adapte al contenedor, elemento al que se le haya asignado y sin dejar ningún espacio en blanco.


Puedes comprobar el resultado del tutorial observando este ejemplo (Redimensiona la ventana para comprobar su efectividad).

El tutorial:

Este efecto es bastante útil si usamos imágenes y no queremos que queden espacios vacíos. La ventaja de usar "cover", es que no estira ni deforma la imagen cuando no es necesario, sino cuando hayan espacios que rellenar.

Para aplicarlo, basta con hacerlo mediante la siguiente síntaxis:
background-size: cover;
Esta síntaxis está en su versión genérica, pero podemos añadir además su versión para los navegadores Webkit, Firefox y Opera de la siguiente forma:
-webkit-background-size: cover; /*Para Chrome, Safari*/
-moz-background-size: cover; /*Para Mozilla Firefox*/
-o-background-size: cover; /*Para Opera*/
background-size: cover; /*Elemento genérico*/
Es importante saber que para que este fondo se aplique correctamente es necesario centrarlo y aplicarle el valor "fixed", el cual se encarga de mantener estática la imagen al momento de hacer scroll:
background: url(URL-IMAGEN) no-repeat center center fixed;

Entonces, si ya tenemos una imagen que deseamos que se sitúe de imagen de fondo del blog, y además queremos que esta se adapte a la página, debemos hacerlo mediante el siguiente código:
body {
background: url(URL-IMAGEN) no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
Este código deberá ir antes de:
]]></b:skin>

Importante: Recuerda que es necesario usar imágenes en alta calidad, ya que en monitores demasiado grandes la imagen se pixelará.

miércoles, 7 de diciembre de 2011

Herramientas online útiles para el Blog

Esta es una recopilación de sitios con herramientas web útiles para que puedan mejorar sus blogs, en lo personal me gustan por la sencillez de uso y porque permiten obtener una mejor productividad en el blog.

Generadores de imágenes y relacionados:

Favicon.ico Generator:
Favicon.cc es una muy útil herramienta para crear un favicon a partir de una imagen o desde cero. Tiene funciones bastante simples y no requiere conocimientos avanzados, para dejar el favicon guardado es necesario registrarse, o bien puedes descargarlo y subirlo a un servidor propio.

Free 80x15 Button Maker:

Free 80x15 Button Maker Es una excelente generador para crear botones de 80x15píxeles para sus blogs. Es una herramienta bastante sencilla de utilizar, y al igual que la anterior no requiere conocimientos avanzados.


Pixlr:Photo Editor Online:


Pixlr.com Es una completa aplicación web similar a Adobe Photoshop, pero a diferencia que no es necesario descargar nada al ordenador, ir al sitio y crear una imagen o editar una existente.

Generadores CSS3:

CSS3.0 Maker:

CSS3.0 Maker permite crear distintos atributos para que puedas diseñar con mas facilidad tus creaciones web. Tiene una excelente cantidad de valores para personalizar como desees cada objeto, y la mayoría de los atributos generados son compatibles con los navegadores web actuales.


CSS3Generator:

CSS3Generator a pesar de no ser una herramienta tan completa como la anterior, es de sencilla manipulación y permite generar los atributos necesarios en CSS3.

sábado, 3 de diciembre de 2011

Insertar música en el blog con la etiqueta </audio>

Hace poco vimos la forma de insertar vídeos gracias a la etiqueta </video> de HTML5, en esta oportunidad veremos la etiqueta </audio>, la cual nos permite insertar música en el blog de manera fácil y efectiva.


Al igual que la etiqueta anterior el procedimiento es muy sencillo y los parámetros son muy similares. Pero para ampliar la compatibilidad es necesario insertar 2 pistas: Una en formato .mp3 (Para Internet Explorer) y otra en .ogg (Para los demás navegadores ya que Firefox no reproduce .mp3 con esta etiqueta).

El resultado es el siguiente:




Para usar 2 pistas, es necesario crear dentro de la etiqueta </audio> 2 etiquetas </source>, en las cuales especificaremos la dirección de ambos archivos de audio:
<audio controls="controls">
<source src="archivo.mp3"></source>
<source src="archivo.ogg"></source>
</audio>

Es importante saber que la primera pista tiene que ser la en formato .mp3, ya que Internet Explorer detecta el orden, si no la especificas no se reproducirá en dicho navegador.

Al igual que la etiqueta </video> puedes usar varias de los atributos, por ejemplo:
  • autoplay: Define si quieres que se reproduzca automáticamente el audio, tienes que establecerlo en autoplay (autoplay="autoplay").
  • loop: Permite que la canción se reproduzca nuevamente al finalizar, establecer en loop (loop="loop").
  • preload: Con esto hacemos que el audio precargue sin necesidad de intervención, establecer en auto, metadata o none.
Los valores mute y poster no están incluídos ya que no tienen sentido en el reproductor de audio.

Recuerda que si no tienes un convertidor a mano puedes usar media.io, un servicio online de conversión de archivos de audio gratuito.

viernes, 2 de diciembre de 2011

Solucionar el alto de los contenedores con flotación

¿Te haz fijado que al usar el atributo "float" en algún contenedor dentro de otro se deforma el que lo contiene?
Esto pasa lamentablemente muy seguido, y es importante saber el por qué. Si estás empezando a crear tus propias plantillas es mejor que lo manejes y sepas como enfrentante a este error que te hará perder demasiado tiempo y paciencia.

Para que se entienda mejor el error basta con observar el siguiente ejemplo:

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut odio. Nam sed est. Nam a risus et est iaculis adipiscing. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer ut justo. In tincidunt viverra nisl. Donec dictum malesuada magna. Curabitur id nibh auctor tellus adipiscing pharetra.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut odio. Nam sed est. Nam a risus et est iaculis adipiscing. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer ut justo. In tincidunt viverra nisl. Donec dictum malesuada magna. Curabitur id nibh auctor tellus adipiscing pharetra.




Como es posible apreciar, cada contenedor está alineado hacia una dirección, pero esto afecta al que se los incluye (No se respeta el alto del contenido). Además, algo que no se puede percibir es que deforma el contenido externo también, lo que se encuentra debajo del contenedor también se verá afectado, yo lo corregí parcialmente para que no me deformara la entrada, pero básicamente ese es todo el error.

¿Cómo corregir este problema?

Para ello usaremos el atributo clear, el cual nos permite corregir cada elemento y evitar que se sobrepongan unos de otros.

Observemos el código fuente:

<div id="contenedor-general-ejemplo">
    <div class="elemento-izquierda">
        Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
        Ut odio. Nam sed est. Nam a risus et est iaculis adipiscing.
        Vestibulum ante ipsum primis in faucibus orci luctus et ultrices
        posuere cubilia Curae; Integer ut justo. In tincidunt viverra nisl.
        Donec dictum malesuada magna. Curabitur id nibh auctor tellus adipiscing
        pharetra.
    </div>
  
    <div class="elemento-derecha">
            Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
            Ut odio. Nam sed est. Nam a risus et est iaculis adipiscing.
            Vestibulum ante ipsum primis in faucibus orci luctus et ultrices
            posuere cubilia Curae; Integer ut justo. In tincidunt viverra nisl.
            Donec dictum malesuada magna. Curabitur id nibh auctor tellus adipiscing
            pharetra.
    </div>
</div>

Ahora su hoja de estilos:
#contenedor-general-ejemplo {
width:80%;
background:#222;
padding:10px;
margin:0 auto;
}

.elemento-izquierda {
background:orange;
color:white;
width:40%;
float:left;
padding:5px;
}


.elemento-derecha {
background:#be4545;
color:white;
width:40%;
padding:5px;
float:right;
}

No hay ningún problema, todo está correctamente atribuído, pero el error siempre estará.

El elemento clear es un atributo que se encarga de despejar un elemento con flotación, se utiliza un contenedor con este elemento y se asigna en la parte inferior dentro del que queremos corregir, es decir:

<div id="contenedor-general-ejemplo">
    <div class="elemento-izquierda">
        Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
        Ut odio. Nam sed est. Nam a risus et est iaculis adipiscing.
        Vestibulum ante ipsum primis in faucibus orci luctus et ultrices
        posuere cubilia Curae; Integer ut justo. In tincidunt viverra nisl.
        Donec dictum malesuada magna. Curabitur id nibh auctor tellus adipiscing
        pharetra.
    </div>
  
    <div class="elemento-derecha">
            Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
            Ut odio. Nam sed est. Nam a risus et est iaculis adipiscing.
            Vestibulum ante ipsum primis in faucibus orci luctus et ultrices
            posuere cubilia Curae; Integer ut justo. In tincidunt viverra nisl.
            Donec dictum malesuada magna. Curabitur id nibh auctor tellus adipiscing
            pharetra.
    </div>
<div style="clear:both;" />
</div>
 Ahora veamos cómo se comporta:

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut odio. Nam sed est. Nam a risus et est iaculis adipiscing. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer ut justo. In tincidunt viverra nisl. Donec dictum malesuada magna. Curabitur id nibh auctor tellus adipiscing pharetra.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut odio. Nam sed est. Nam a risus et est iaculis adipiscing. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer ut justo. In tincidunt viverra nisl. Donec dictum malesuada magna. Curabitur id nibh auctor tellus adipiscing pharetra.



El clear se añade a un elemento extra, NO a los contenedores que existen. Lo que hace el clear:both es hacer que esa capa  tenga un despejamiento y el contenedor general podrá detectarlo.

¿Cómo insertarlo?

En el ejemplo mostré una sóla forma, pero puedes hacerlo de 2 formas (Obviando el atributo con javascript):

Método 1:  Creando la clase "clear":

Este método consiste en crear una class llamada .clear, y a esta deberás aplicarle el atributo clear:both, para ello hazlo de la siguiente forma:
.clear {clear:both;}
Ahora para usar un clear, lo haces de la siguiente forma:
<div class="clear" />
Nota: El primer código va antes de ]]></b:skin>

Método 2: Usando un div con la tag style:

Este método es igual de sencillo que el anterior, pero para los que les sea mas cómodo usar los atributos dentro del div puede ser mas útil:

<div style="clear:both;" />