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.

Y la nueva interfaz llegó para quedarse :-(

Los desarrolladores de Blogger se parecen a los hijos de esos amigos que son muy simpáticos cuando se los mira en fotografías pero, cuando los invitamos a cenar, se transforman en vendavales incontrolables y nos pasamos la noche atajando jarrones justo antes que se estrellen contra el piso, interponiéndonos entre esas tiernas manitos llenas de chocolate y la pared recién pintada o tratando de explicar por qué el gato no tiene ganas de jugar a la peluquería y sería mejor que dejaran esas tijeras y buscaran entretenerse con algo menos afilado. Adorables criaturitas.

Pues así es, uno cree que ellos (hablo de los desarrolladores de Blogger y no de los niñitos) SABEN, PIENSAN ... pero, a veces, da la impresión que no y para mi gusto, la nueva interfaz que nos han enchufado a la fuerza es una demostración más de ese presentimiento.

Es verdad que apenas la empezaron a mostrar y sugerir una y otra vez que la usáramos, probé y huí rápidamente así que ahora que es un cambio forzoso, mi subjetividad es nula y la miro con aprehensión aunque sea inevitable pero me pregunto ¿por qué se empeñan en cambiar lo que funciona en lugar de arreglar lo que no funciona?

Habrá a quien le guste, a mi no. Me parece incómoda, lo que antes estaba a la mano, ahora hay que buscarlo en distintos menús, está pensada para una resolución de pantalla específica ya que si uno tiene un monitor ancho, hay espacios enormes que no tienen uso pero ciertos botones se posicionan en los extremos y uno debe tomar un taxi para ir de uno a otro cosa que, evidentemente, nos permite ejercitar el antebrazo pero que es muy poco funcional. Por el contrario, en monitores con resoluciones bajas, ciertos botones desaparecen y si redimensionamos la ventana pasa lo mismo y debemos recargar la página para que vuelvan a su lugar.


Esta bien, lo sé, son detalles ... consecuencias de la modernidad pero ¿no podrían haberlo verificado? No es tan difícil, es algo casi elemental.

Lo más lindo es el cartelito de "Cargando" que se ve cada dos por tres; muy simpático. Uno va a hacerse un café, vuelve y allí sigue; amarillito y pequeñito ¿Recargamos la página con el botón del navegador? Bueno, a veces anda, a veces no porque muchas de las páginas internas se deben cerrar con un botón interno. UFA.

Suspiro. Veamos que hay. Uno no es un conservador por antonomasia así que siempre se está dispuesto a darle una oportunidad a lo nuevo pero ... ¿por qué sale siempre esta ventanita si no he hecho cambio alguno?


Y ¿en que quedamos? ¿se permiten 148 o 150 caracteres?


Mejor reviso las entradas por las dudas y ahí veo que todas tienen marcada esta opción, algo que jamás he usado:


y si quiero cambiar algo me dice:


¿Qué significa Omitir advertencia? Si hay un error hay un error y listo, hay que resolverlo y a otra cosa. Omito y todo sigue igual pero sin cartelito. Maravilloso. El error ha sido barrido bajo la alfombra. Total, si no lo veo: no existe.

Me olvido de las entradas. Veamos la plantilla, editar HTML ... y no, no han sacado el mensaje de advertencia, se abre una y otra vez porque, seguramente, ¿esperan que uno se resigne y no lo use más?


Eso es lo que presiento ¿Llegará el dia en que ya no habrá manera de editar las plantillas manualmente y habrá que usar siempre el nuevo editor? Me lo pregunto porque han desaparecido las plantillas tradicionales aunque ahí abajo, insólitamente, hay un enlace a las viejísimas, esas previas al Blogger Beta y con las que los que estamos acá desde hace años, alguna vez tuvimos que lidiar.


Quiere decir que ahora tenemos cuatro posibilidades: usamos las Vistas Dinámicas, usamos las engorrosas plantillas de nuevo estilo, usamos las clásicas que hace añares que nadie toca o tenemos que importar alguna descargada desde algún sitio y rogar que funcione y que siga funcionando.

OK, OK, ya no me quejo más

Personaliza las entradas de tu blog (Métodos alternativos)


En esta entrada quiero abarcar no sólamente la modificación del primer artículo de nuestro blog, sino también mostrarles algunas alternativas de personalización que con algunos experimentos he conseguido.

blogger_posts ayuda bloggers

Para este tutorial recomiendo encarecidamente que respaldes la plantilla de tu blog ya que cualquier error o modificación incorrecta puede impactar negativamente la forma como se visualisen los posts.


Personalizar el primer post individualmente:

Con este método haremos que el primer post del índice tenga un bloque individual en el cual se puedan trabajar cualquier otro elemento, para ello tendremos que recrear toda la zona e incluir el código dentro de la condicional "data:post.isFirstPost".

El procedimiento es relativamente fácil, pero para no complicarles la existencia pueden utilizar el fragmento que les propongo a continuación.

Para ello, busca el siguiente código:

<b:include data='post' name='post'/>

Selecciona este <b:include /> y reemplázalo con el siguiente código:

<b:if cond='data:post.isFirstPost'> <!-- Empezamos con la recontrucción -->
<b:if cond='data:blog.homepageUrl == data:blog.url'>
<div id='primer-post' class="post"> <!-- Contenedor del post -->

<b:if cond='data:post.title'> <!-- Título de la entrada (Formato H1) -->
<h1 class='post-title entry-title primer-titulo'>
<b:if cond='data:post.link'>
<a expr:href='data:post.link'><data:post.title/></a>
<b:else/>
<b:if cond='data:post.url'>
<a expr:href='data:post.url'><data:post.title/></a>
<b:else/>
<data:post.title/>
</b:if>
</b:if>
</h1>
</b:if>

<div class='primer-body post-body'> <!-- Cuerpo de la entrada -->
<data:post.body/>
</div>


<div class="post-footer pie-primer-post"> <!-- Footer de la entrada -->
<b:if cond='data:post.hasJumpLink'>
<a class="jump-link primer-jump-link" expr:href='data:post.url'><data:post.jumpText/></a> <!-- Leer más -->
</b:if>


<b:if cond='data:blog.pageType != "item"'>
<b:if cond='data:blog.pageType != "static_page"'>
<b:if cond='data:post.allowComments'>
<a class='comment-link primer-comment-link' expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'> <!-- X Comentarios -->
<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>

<div style="clear:both;" /> <!--Clearfix -->
</div>

</div>
<b:else/>
<b:include data='post' name='post'/>
</b:if>
<b:else/>
<b:include data='post' name='post'/>
</b:if>

Previsualiza la plantilla y si el cambio es satisfactorio puedes guardar la modificación.

Para personalizar ahora los elementos del nuevo post, deberás utilizar los selectores que se han comentado en el código anterior, si tienes dudas puedes usar este ejemplo:

#primer-post {
/*Atributos CSS del contenedor del primer post*/
background:#FCFCFC;
color:#999;
text-shadow:0 0 1px #CCC;
}

.primer-titulo {
/*Atributos CSS del título de la primera entrada*/
font-size:28px;
}

.primer-titulo a {
/*Atributos CSS del enlace del primer título*/
color:#2e4769;
}

.primer-body {
/*Atributos CSS del cuerpo de la primera entrada*/
line-height: auto;

}


.pie-primer-post {
/*Atributos CSS del pié de la entrada*/
width:96%;
margin:0 auto;
background:#F7F7F7;
box-shadow:0 0 1px #CCC;
border:1px solid white;
}

.primer-jump-link {
/*Atributos CSS del leer más*/
float:left;
color:#2e4769;
}

.primer-comment-link {
/*Atributos CSS del contador de comentarios*/
float:right;
color:#2e4769;
}

Importante: El código incluye algunos selectores primitivos de Blogger, así que los elementos heredarán algunos atributos que posiblemente no desees, para ello suprime las clases genéricas.


Nota: En EmilioCobos.net nos detallan un método muy sencillo de manipular los post mediante "index="postNum"", un atributo muy útil para modificar los posts según el órden que adopten en el índice del blog, puede usarse de la misma manera para personalizar el primer post, o el segundo, o el tercero, etc.


Personalizar un post según su ID:

Todo post en Blogger tiene un ID numérico e irrepetible, a veces necesitamos hacer modificaciones puntuales en algún post y para ello podemos recurrir a este identificador. En lo personal nunca he tenido que verme en esta situación, pero nunca está de más conocer otros métodos.

Para obtener el ID del post puedes hacerlo pegando el siguiente código arriba de <data:post.body />, deberá aparecer un código numérico arriba del cuerpo del post, que únicamente podrá ver el administrador del blog:

<span class='item-control blog-admin'>El ID de este post es: <i><data:post.id /></i>
</span>

Obviamente es una forma un tanto "rústica", pero bastante cómoda ya que en lugar de obtener el ID desde el código fuente, podrás verlo directamente desde la entrada.

Para aplicar atributos al post en cuestión, bastaría con hacerlo de la siguiente manera:
#354041916720973270 {
/*Atributos del post ID 354041916720973270*/
}


Importante: Si al hacer esto no hay ningún cambio en la entrada, deberás añadir la ID en el <div> de la entrada, reemplaza esto:

<div class='post hentry' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'>

Por esto:
 <div class='post hentry' itemscope='itemscope' expr:id="data:post.id" itemtype='http://schema.org/BlogPosting'>


Personalizar los posts según su etiqueta:

Además, en lugar de usar el ID propio de las entradas de Blogger, podemos utilizar la etiqueta como una clase mediante el bucle de éstas, este método es muy útil para añadir íconos por categorías, o para aplicar estilos según su clasificación. Para ello reemplazaremos el siguiente código:
<div class='post hentry' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'>

Por este:

 &lt;div itemscope='itemscope' itemtype='http://schema.org/BlogPosting' class=&quot;post <b:loop values='data:post.labels' var='label'><b:if cond='data:label.isLast == &quot;true&quot;'><data:label.name/></b:if></b:loop>&quot;&gt;

Y el cierre de este elemento deberás dejarlo parseado, (Busca el cierre y reemplazarlo por &lt;/div&gt; )

Ahora para editar los posts mediante su etiqueta, deberás hacerlo de la siguiente forma:

.etiqueta1 {
/*Atributos de los posts que lleven la etiqueta1*/
}

.etiqueta2 {
/*Atributos de los posts que lleven la etiqueta2*/
}


Nota: Si no consigues encontrar el cierre y te arroja error de síntaxis, éste se encuentra en:
</div> &lt!-- Esta es la etiqueta a reemplazar -->
</b:includable>
<b:includable id='comment_picker' var='post'>

Debería quedar así:

&lt;/div&gt;
</b:includable>
<b:includable id='comment_picker' var='post'>

miércoles, 19 de septiembre de 2012

Aka Acid Icons » íconos de cupcakes nuevos

Aka Acid Icons es un set de íconos de cupackes que seguro te gustará.

CARACTERÍSTICAS

El pack contiene 5 íconos: un ícono de fresa y cuatro cupcakes (cupcake de vainilla, cupcake océano, cupcake de chocolate con naranja y cupcake de chocolate con fresa)

Autor : Archigraphs
Formato: ICO.
Tamaños: 256x256.

Descargar

Monitorizar sitios con Google Docs

Hay varios sitios en la web como Pingdom que ofrecen servicios gratuitos para monitorizar que nuestro servidor o página esté funcionando y sea accesible; en general, son sencillos de usar pero, para quien quiera otra alternativa, en un artículo de Digital Inspiration explican como hacer algo similar, usando Google Docs con dos ventajas; por un lado, pueden montorizarse varios dominios simultáneamente y segundo, puede establecerse la opción de recibir mensajes de alerta SMS en un móvil.



El sistema es muy sencillo, debemos hacer una copia de la plantilla click acá y si estamos logueados en Google, nos pedirá autorización:




Hecho eso, la plantilla se agregará a nuestros documentos y veremos que el menú superior tiene un item extra llamado Website Monitor. Lo desplegamos y hacemos click en Initialize. Nuevamente, se nos mostrarán varias ventanas de autorización que debemos aceptar y terminado eso, aparecerá la plantila lista para ser editada (ver captura)



El siguiente paso es modificar los datos colocando la dirección de nuestro sitio en la celda B2 (si queremos agregar varios, los separamos con comas y en la celda B3 escribimos nuestra dirección de mail. Finalmente, en la celda B4 ponemos Yes si queremos recibir alertas SMS o No si no queremos.



Hay que tener en cuenta que si queremos esas alertas deberemos configurar Google Calendar con el número del móvil.




Cuando todo está listo, en el menú Website Monitor hacemos click en Start Monitoring y listo.



Para quien esté interesado en el tema, el código fuente del Google Apps Script se puede ver en esta página y, si por cualquier motivo no queremos eliminar la plantilla pero necesitamos deshabilitarla, basta editarla otra vez y dejar en blanco la celda B3 que es la que contiene nuestra dirección de mail.

lunes, 17 de septiembre de 2012

Convertir textos en enlaces utilizando jQuery

Esta es una pequeña función muy interesante que usa jQuery para convertir cualquier dirección URL escrita como texto en un enlace. Es decir, escribimos esto:
http://jquery.com/
y se generará esto:
<a href="http://jquery.com/">http://jquery.com/<>
El código de la función sería el siguiente:
$.fn.crearLinks = function() {
var regexp = /((ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?)/gi;
this.each(function() {
$(this).html(
$(this).html().replace(regexp,'<a href="$1">$1</a>')
);
});
return $(this);
}
que ejecutaremos de acuerdo a nuestras necesidades; por ejemplo, si sólo quisiéramos que lo hiciera en determinadas circunstancias, bastaría indicar la clase o ID del contenedor; en este ejemplo uso un DIV con la clase crearlinksdemo así que sería:
$(document).ready(function() {
$(".crearlinksdemo").crearLinks();
});


Morbi vitae est purus. Aliquam at leo nibh. Maecenas ultrices sem est, eget consectetur ante. Nulla lacus turpis; ullamcorper non tincidunt eget, mattis non ligula via http://vagabundia.blogspot.com/

Aliquam erat volutpat. Aliquam hendrerit dolor sed nisl dapibus condimentum? Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Donec sollicitudin odio a ante semper eu interdum ipsum porta. Phasellus at libero quis sapien imperdiet faucibus auctor nec est Blogger http://www.blogger.com/home

Nullam vel nunc eu tellus vehicula congue. Quisque ut odio felis, vitae tempus ipsum? Quisque venenatis viverra augue, quis tempor lacus iaculis id? Pellentesque luctus egestas tortor, vehicula cursus leo mattis et. Sed molestie purus sed urna iaculis eu luctus nisl tincidunt. Proin eu massa velit, nec fermentum ipsum orci aliquam http://jquery.com/



Pero podría ser algo más global como tods las entradas de Blogger:
$(".post").crearLinks();
o todas las etiquetas P o cualquier cosa:
$("p").crearLinks();
Y, obviamente, podríamos modificar la función para que también se abrieran en otra pestaña:
$(this).html().replace(regexp,'<a target="_blank" href="$1">$1</a>')
agregarle otros atributos:
$(this).html().replace(regexp,'<a rel="nofollow" target="_blank" href="$1">$1</a>')
o una clase para definir reglas de estilo especiales:
$(this).html().replace(regexp,'<a class="enlacetexto" target="_blank" href="$1">$1</a>')

REFERENCIAS:webintenta.com

Imágenes estilo vintage en el blog, sólo con CSS

Instagram ha hecho que muchos tomen el gusto por las fotos estilo vintage, así que es muy común ver por todas partes este tipo de fotos que dan un aspecto de ser algo viejas.

Si no quieres usar un programa para tener tus fotos tipo vintage, puedes usar CSS y obtener un resultado similar. En sí lo que haremos será aplicarle una sombra difuminada al interior de la imagen, le añadiremos un borde, le pondremos un color encima (que será la que le dará ese efecto tipo Instagram), y encima de la imagen otra imagen semitransparente estilo grunge que le dará el toque viejo.
Puedes ver el ejemplo en esta imagen de abajo, al pasar el cursor cambia a su estado normal aunque conserva el borde.


Obviamente habrá imágenes a las que les quede mejor este tipo de efectos que a otras, pero independientemente de eso sí hay que hacer unas observaciones:
  1. Está hecho con estilos CSS así que como ya sabemos habrá navegadores que no los reconocerá, específicamente Internet Explorer, así que en ese navegador no se verá ningún efecto.
  2. Al pasar el cursor por la imagen cambia con un efecto de transición, pero éste sólo se ve en Firefox.
  3. Las imágenes no estarán centradas, podrás alinearlas a la izquierda (por defecto), o a la derecha.

Habiendo aclarado lo anterior empecemos. Lo primero es entrar en la Edición de HTML y pegar antes de ]]></b:skin> los estilos:
/* Imágenes Vintage
----------------------------------------------- */
.vintage img {
padding:0;
float:left;
}
.vintage {
border:10px solid #000;
position: relative;
float: left; /* Cambiar por right si quieres que las imágenes se alineen a la derecha */
margin-right: 20px;
margin-bottom: 20px;
}
.vintage:before {
content: "";
display: block;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
background-color: rgba(255,0,0, 0.5); /* rojo */
background-image:url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNIjQ61uQIDK54ziY1YYDE6A6jlYTx9SIpob147qgkvHnQJhBJtuQH3cmVm4vwFO-iZnbcE4daYZE5ogXQHNCL06RGAnh-699zMIzwPkPW8_n9JdzgKFQ-Uz6huNqI5O4pO2G6oqGxf0Q/s0/grunge.png);
background-size: cover;
box-shadow: inset 0 0 50px #000, inset 0 0 50px #000, inset 0 0 50px #000;
-moz-transition: all 1s;
-webkit-transition: all 1s;
-o-transition: all 1s;
transition: all .1s;
}
.vintage:hover:before {
background: none;
box-shadow:none;
-moz-transition: all 1s;
-webkit-transition: all 1s;
-o-transition: all 1s;
transition: all .1s;
}
Por último usa este código en tus entradas o donde quieras mostrar la imagen:
<div class="vintage">
<img border="0" src="URL de la imagen" /></div>
<div style="clear: both;"/>
Agrega la URL de la imagen donde se indica y listo.
Si quisieras que el texto de la entrada rodee la imagen entonces elimina la etiqueta en color azul.
En el primer código verás en negrita la línea que corresponde al color de la imagen, puedes modificarla por algún otro color, estos son algunos ejemplos de lo tradicional en vintage:
background-color: rgba(0,0,255, 0.5); /* azul */
background-color: rgba(0,255,255, 0.5); /* aqua */
background-color: rgba(0,255,0, 0.5); /* verde */
background-color: rgba(255,0,240, 0.5); /* violeta */
background-color: rgba(255,102,0, 0.6); /* sepia */
background-color: rgba(0,0,0, 0.6); /* colores más oscuros */
Si quisieras que la imagen permanezca siempre así sin que regrese a su estado original al pasar el cursor entonces elimina esta perte del primer código:
.vintage:hover:before {
background: none;
box-shadow:none;
-moz-transition: all 1s;
-webkit-transition: all 1s;
-o-transition: all 1s;
transition: all .1s;
}
Y eso es todo, con este pequeño experimento podrás tener tus imágenes al estilo vintage usando sólo CSS.