Thursday, July 28, 2011

Botones flotantes para compartir de Facebook, Twitter y Google +1

Hace ya algo de tiempo vimos c?mo poner los botones de compartir de Facebook y Twitter en la parte superior de las entradas, pero ahora veremos c?mo ponerlos en modo flotante tal como el ejemplo de este mismo post, ver?s que aun con subir o bajar el scroll de la p?gina los botones permanecen ah? (en el lado izquierdo).
Adem?s del bot?n Me gusta de Facebook, el bot?n para twittear, se ha incluido el bot?n +1 de Google.
Veremos c?mo ponerlos de dos formas, o mejor dicho, con dos funciones diferentes, la primera ser? para que s?lo se muestren en las entradas y que su funci?n sea compartir (o recomendar) la entrada donde se ha hecho click en el bot?n.
La segunda opci?n ser? mostrarlo en todas partes inclusive en la portada, pero con la diferencia que no ser? para compartir las entradas, sino el blog completo.

El procedimiento es sumamente sencillo, s?lo hay que entrar en Dise?o | Edici?n de HTML, marcar la casilla Expandir plantillas de artilugios, y pegar antes de ]]></b:skin> lo siguiente:
table#RedesSociales{
position:fixed;
top:150px;
left:5px;
z-index:200;
}
Ahora busca esta l?nea:
<!-- clear for photos floats -->
Debajo de ella agrega este c?digo:
<b:if cond='data:blog.pageType == &quot;item&quot;'>
<table border='0' cellpadding='6' id='RedesSociales'><tbody>

<tr><td><iframe allowTransparency='true' expr:src='&quot;http://www.facebook.com/plugins/like.php?href=&quot; + data:post.url+ &quot;&amp;layout=box_count&amp;show_faces=false&amp;width=73&amp;height=63&amp;action=like&amp;font=tahoma&amp;colorscheme=light&quot;' frameborder='0' scrolling='no' style='border:none; overflow:hidden; width:73px; height:63px'/></td></tr>

<tr><td><a class='twitter-share-button' data-count='vertical' data-lang='es' href='http://twitter.com/share'>Tweet</a><script src='http://platform.twitter.com/widgets.js' type='text/javascript'/></td></tr>

<tr><td><script src='http://apis.google.com/js/plusone.js' type='text/javascript'/><g:plusone size='tall'/></td></tr>

</tbody></table>
</b:if>
Guarda los cambios y listo. Ese servir? para que se compartan las entradas individuales, as? que no se ver?n en la portada, s?lo ingresando a un post.

Pero si lo que quieres es compartir o que se recomiende la URL de tu blog y no las entradas, entonces en lugar de ese c?digo, el que pondr?as ser?a este:
<table border='0' cellpadding='6' id='RedesSociales'><tbody>

<tr><td>&lt;iframe allowTransparency=&#039;true&#039; frameborder=&#039;0&#039; scrolling=&#039;no&#039; src=&#039;http://www.facebook.com/plugins/like.php?href=http://nombre-de-mi-blog.blogspot.com&amp;layout=box_count&amp;show_faces=false&amp;width=73&amp;height=60&amp;action=like&amp;font=tahoma&amp;colorscheme=light&#039; style=&#039;border:none; overflow:hidden; width:73px; height:60px&#039;&gt;&lt;/iframe&gt;</td></tr>

<tr><td><a class='twitter-share-button' data-count='vertical' data-lang='es' data-text='T?tulo del blog' data-url='http://nombre-de-mi-blog.blogspot.com' href='http://twitter.com/share'>Tweet</a><script src='http://platform.twitter.com/widgets.js' type='text/javascript'/></td></tr>

<tr><td><script src='http://apis.google.com/js/plusone.js' type='text/javascript'/><g:plusone href='http://nombre-de-mi-blog.blogspot.com' size='tall'/></td></tr>

</tbody></table>
En este caso, hay que poner los datos que se indican en color rojo. Si usas un dominio propio entonces no pongas .blogspot.com sino la extensi?n de tu dominio propio. Por ejemplo, en lugar de ciudadblogger.blogspot.com ser?a ciudadblogger.com

En ambos casos podemos cambiar la posici?n de los botones, eso se controla en el primer c?digo.
top:150px; es la distancia que habr? desde arriba, con un valor m?s alto los botones se bajar?n.
left:5px; es la distancia que tendr?n desde al lado, left indica que estar?n a la izquierda, si los quieres a la derecha cambia left por right

Y listo. Otra forma de ofrecerle a los lectores la posibilidad de que valoren nuestro blog y entradas en las diferentes redes sociales.

Tuesday, July 26, 2011

Bot?n Google+1 (PlusOne) en una barra flotante

S� que ya muchos est?n usando el bot?n Google+1 en el blog para que los usuarios puedan recomendar las entradas que les parecen interesantes. Pero tambi�n podemos colocar el bot?n +1 (Plus One) para que se recomiende no la entrada sino la p?gina principal del blog.
Y para ya no poner nada en las entradas (por si ya tienes ah? el bot?n) vamos a colocar el bot?n Google +1 en una barra flotante abajo de la p?gina, de esta forma tus lectores podr?n recomendar tu blog.

Puedes ver el ejemplo en esta misma entrada, al final aparece una barra. En ella se muestra un texto que invita a los lectores a recomendar el blog, luego, tal como hicimos para poner un mensaje al hacer click en el bot?n +1 haremos que el primer mensaje desaparezca al hacer click y que en su lugar se muestre un mensaje de agradecimiento, y al hacer click nuevamente para deshacer el voto se mostrar? un mensaje diferente.

Como s� que a muchos les puede parecer molesto tener siempre la barra visible, he incluido una cookie (a duras penas lo hice) para que el lector s?lo lo vea una vez por semana, aunque por supuesto este tiempo lo puedes configurar a tu gusto.

Empecemos. Primero entra en Dise?o | Edici?n de HTML y pega antes de </head> esto:
<script type='text/javascript'>
//<![CDATA[
// Cookies
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}

function eraseCookie(name) {
createCookie(name,"",-1);
}
//]]>
</script>
Ahora pega antes de ]]></b:skin> estos estilos:
/* Barra Plus One
----------------------------------------------- */
#barraPlus1 {
position:fixed;
bottom:0px;
left:0;
height:24px;
background:#000; /* Color de la barra */
width:100%;
padding:5px;
filter:alpha(opacity=70); /* Transparencia de la barra */
-moz-opacity:0.7; /* Transparencia de la barra */
-khtml-opacity: 0.7; /* Transparencia de la barra */
opacity: 0.7; /* Transparencia de la barra */
z-index:900;
}
#mensajePlus1, #textoPlus1 {
color:#D8D8D8; /* Color del texto */
font-family:Verdana; /* Tipo de fuente */
font-size:16px; /* Tama?o del texto */
vertical-align: middle;
display:table-cell;
}
.botonPlus1 {
display:table-cell;
padding-left:20px;
}
.cerrarTextoPlus1 {display:none !important;}
A continuaci?n busca la etiqueta <body> o esta l?nea:
<body expr:class='&quot;loading&quot; + data:blog.mobileClass'>
Debajo de cualquiera de ellas dos agrega este c?digo:
<script type='text/javascript'>
//<![CDATA[
// barra Google +1 (ciudadblogger.com)
function saludoPlus1(plusone) {
var div_ty = document.getElementById("mensajePlus1");
if (plusone.state == "on") {
document.getElementById('textoPlus1').className='cerrarTextoPlus1';
div_ty.innerHTML = "?Gracias por recomendarnos! Tu voto es importante para nosotros.";
} else {
document.getElementById('textoPlus1').className='cerrarTextoPlus1';
div_ty.innerHTML = "Parece que ya no te gustamos, ojal? nos des otra oportunidad.";
}
}
//]]>
</script>

<div align='center' id='barraPlus1'>
<span id='textoPlus1'>&#191;Te ha gustado el blog? Qu� tal si nos regalas un +1</span>
<script src='http://apis.google.com/js/plusone.js' type='text/javascript'/>
<div id='mensajePlus1'/><span class='botonPlus1'><g:plusone callback='saludoPlus1' href='http://nombre-de-mi-blog.blogspot.com'/></span>
</div>

<script type='text/javascript'>
//<![CDATA[
var divName = document.getElementById("barraPlus1");
if(!readCookie('cookiePlus1')) {
divName.style.display='block';
createCookie('cookiePlus1', 'cookiePlus1', 7); // N?mero de d?as que dejar? de verse
}
else {
divName.style.display='none';
}
//]]>
</script>
Ahora vamos a personalizar todo esto. En el segundo c?digo, el de los estilos, est? se?alado en color verde algunas ?reas que se pueden modificar como el color de fondo, tama?o de la letra, etc. Ah? mismo se controla la transparencia que tiene la barra, con un valor m?s alto se hace menos transparente, con uno m?s bajo se hace m?s transparente.

El primer texto en rojo es el mensaje que aparece cuando el lector recomienda el blog, el segundo texto es el mensaje cuando deja de recomendarlo, y el tercero es el mensaje que aparece por defecto cuando carga la p?gina.
Un poco m?s abajo se se?ala d?nde se debe cambiar la direcci?n de tu blog.

Por ?ltimo, en color azul ver?s el 7, ese es el n?mero de d?as que dejar? de verse la barra est?tica, transcurrido ese tiempo el lector podr? verla de nuevo, a menos claro que �l haya borrado las cookies de su navegador. Ese valor puedes cambiarlo por el que quieras.
Yo en mi ejemplo lo he puesto para que dure unos minutos nada m?s, as? que cuando actualices esta p?gina, dejes un comentario o ingreses a otra entrada dejar? de verse, pero despu�s estar? ah? de vuelta.

El resultado me parece que puede ser muy ?ptimo para recomendar el blog con el bot?n +1 de Google, sobre todo porque podemos seguir usando el bot?n que recomienda las entradas, y al mismo tiempo usar este que recomendar? el blog, no las entradas.

Friday, July 22, 2011

Poner emoticons en Blogger estilo Facebook

AVISO
Este truco s?lo funciona en el sistema antiguo de comentarios. Si usas los comentarios anidados visita esta entrada de Vagabundia.



Las palabras no siempre son suficientes para expresar alguna emoci?n, sobre todo en el mundo cibern�tico donde todo tiene el sentido connotativo que cada uno le da. Es ah? cuando los emoticonos salen a nuestro rescate para poder reflejar alg?n estado de ?nimo o gesto que a veces es m?s f?cil expresar con una imagen.

Por esa raz?n muchos optan por usar emoticons en los comentarios del blog, y es eso mismo lo que haremos con esta entrada. Veremos c?mo agregar emoticons en el blog estilo Facebook, es decir, con los mismos emoticons que usa Facebook en su chat y muro. Puedes verlos funcionando en este blog de pruebas.
Estos son los emoticones que ver?s:


Estos emoticons (emoticones, emoticonos, smiles, o como le quieras llamar) aparecer?n s?lo en los comentarios, y para ello usaremos un script de Vagabundia que ingeniosamente hace que los emoticons s?lo se ejecuten en el cuerpo de los comentarios para no interferir con otras ?reas.

Primero entra en Dise?o | Edici?n de HTML, marca la casilla Expandir plantillas de artilugios y agrega antes de </head> el siguiente script:
<b:if cond='data:blog.pageType == &quot;item&quot;'>
<script type='text/javascript'>
//<![CDATA[
function emoticonComentario(emoticon) {
if(!document.getElementById) {return;}
bodyText = document.getElementById(emoticon);
cambiarLetra = bodyText.innerHTML;

// :)
cambiarLetra = cambiarLetra.replace(/:\)/g,'<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjB9Gn_TMc4pHpqod6iIaw47sFDz8rX8LLbxVfElZSq3rLE9d9oD9ywY2FpEtjAL2TbDcOovJ_C9huYOUZ3xB7Vzkw-uR8lAdJVcRsIBLSPMF0Uld4zp2J6JDROh9CZMueMZCx3mtZgA0k/" />');

// :(
cambiarLetra = cambiarLetra.replace(/:\(/g,'<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDlAJZtrl2k3q4Rdlzun5J_AAjJHQ7tGmEAjTPtDDPLHR3jeXF0myUJbAO4LbReq45-iN1O8OyjwzyoBXmILZmY7jrr_89s63oKBXq4HLrgL7xix-1Jd4vk74y8RFpSdzmkDqKgsLcErA/" />');

// ;)
cambiarLetra = cambiarLetra.replace(/;\)/g,'<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUmC5t7qr9JyTQMEXBnijabehgkoQw4mnkoFuNSohllpzcbMVDjT4mu4hLI89Ky2HIa5QjX_Td1IWhBG4aUqc7PuZv0EoOe2-NC6r_aBYdHjxJ6BeOOSfixVwsOx05FBhUqReIRNBAKuE/" />');

// :P
cambiarLetra = cambiarLetra.replace(/:\P/g,'<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguXwYHa9nSK6vKyPG3dycMVINsMROouzwdENXPBs0OxahcQDe1KWzS5oKerSqg6cNN6itWd_7A6zX8WIX0fsCbrtV230SrI1ldmZPbb1ivnnPz_h5hoaNms1Zj_SoYWTcG_YlcbpCwncU/" />');
cambiarLetra = cambiarLetra.replace(/:\p/g,'<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguXwYHa9nSK6vKyPG3dycMVINsMROouzwdENXPBs0OxahcQDe1KWzS5oKerSqg6cNN6itWd_7A6zX8WIX0fsCbrtV230SrI1ldmZPbb1ivnnPz_h5hoaNms1Zj_SoYWTcG_YlcbpCwncU/" />');

// :D
cambiarLetra = cambiarLetra.replace(/:D/g,'<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjp6yCocgWj82c8Tswdp_wUiqoOG_II3LnShxv_WG2hdXK33vdtnwBFrWkC9l7NBrDXogbxrepCLzfVLnUozUqw72g0bn6qPVa-GBnEyyflLNlpV03PVs_-kgJLwgRCJB_mZ_YLV5U8YII/" />');
cambiarLetra = cambiarLetra.replace(/:d/g,'<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjp6yCocgWj82c8Tswdp_wUiqoOG_II3LnShxv_WG2hdXK33vdtnwBFrWkC9l7NBrDXogbxrepCLzfVLnUozUqw72g0bn6qPVa-GBnEyyflLNlpV03PVs_-kgJLwgRCJB_mZ_YLV5U8YII/" />');

// XD
cambiarLetra = cambiarLetra.replace(/XD/g,'<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNJLJmiH0qm9irjFOY0yrC-zkbzYCC83auKDevC6_vXx85a6vjMthRIRhofjkq0hEP7pK0ni2GG1Li1vC3OKCNMfUjlp5jcNNm_3zdUzoPhi_jBDchGkE2MWfb9Ne5U_MgHRZdTf5xlHM/" />');

// :S
cambiarLetra = cambiarLetra.replace(/:S/g,'<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHBvQzkILcyNPzYItOVNrzZZAofUDpzYxvtffevAirUSrvvyV2rMmYzt-Ey4TEgC4QxcGx0ePQYA18Q_4x6nLe-sPLUzdfzuOkd2abgyLDEZlPUvfK4UuE4TdPbx9SZ0pgxyDx9VjZ4xY/" />');
cambiarLetra = cambiarLetra.replace(/:s/g,'<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHBvQzkILcyNPzYItOVNrzZZAofUDpzYxvtffevAirUSrvvyV2rMmYzt-Ey4TEgC4QxcGx0ePQYA18Q_4x6nLe-sPLUzdfzuOkd2abgyLDEZlPUvfK4UuE4TdPbx9SZ0pgxyDx9VjZ4xY/" />');

// X(
cambiarLetra = cambiarLetra.replace(/X\(/g,'<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_4I_n3PPJzbwzNs46RYiNHkn5OnGMRy8Wu49BKraj5ipatx1XSKfmDdgDMqDDxDX94grpuUSanO15gfSzMZa61nBztWwX_Ct2KVGbPLyCTyvotNIP1muKjUwyUJInuPvPC8RneykYyoo/" />');

// :'(
cambiarLetra = cambiarLetra.replace(/:'\(/g,'<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjPI_QY9uYoO2E1BAXNn1CWtch0aazZTBwVmi7YhpnzNHzPRm0zS7NLfN2F-wpeZ_JII6PE-IW9HH3TFJkVvscOP-k5NM6gAdrvgf4ziZumtmgS5RPyHArtKVCqzORBsIWvBPNZqYE5Yw/" />');

// 8)
cambiarLetra = cambiarLetra.replace(/8\)/g,'<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDPuB0Org5RQNp-QWyPG1DJ_YT_PFbQmjUVl72bvZsSrdAkzQ-c57U0pKNPKzkT282PQBQNdMPAMP6BFzYvTMm3vQcaQ0ZNWSDzHCo8cIZHxExgTpeyoVC7WII3Cs8ZClr9K0p_LnPA-M/" />');

// :O
cambiarLetra = cambiarLetra.replace(/:\O/g,'<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCemLfrnFCmwhCua9yDMjryAynLK4pB_plyno5nunXLnS9-ADhv6KWo_Q7nvESDEuNcUuwrC-saxVYW37fLMCbctFXmk-Xy44FmUKwd5hS1hyphenhyphenq9mkBad4Vxn2Feb1c5_EhuugGvdJGSCA/" />');
cambiarLetra = cambiarLetra.replace(/:\o/g,'<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCemLfrnFCmwhCua9yDMjryAynLK4pB_plyno5nunXLnS9-ADhv6KWo_Q7nvESDEuNcUuwrC-saxVYW37fLMCbctFXmk-Xy44FmUKwd5hS1hyphenhyphenq9mkBad4Vxn2Feb1c5_EhuugGvdJGSCA/" />');

// :*
cambiarLetra = cambiarLetra.replace(/:\*/g,'<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjk9BHsSoyTxEvOc1mOMDAVZx0VAQPvqSdS4DaeHvhstv8DLu9Q9qA4m5R1598PTfaUl0kU697HjDml3Wg39tz1alEBK64btxFtwXJjEeLehjeOwgjQznGxHvc6P-nI3vfsM7J4UrHpqI/" />');

// :A
cambiarLetra = cambiarLetra.replace(/:A/g,'<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYFKty0NMo_WP01wsqIXFHQq9pDGgfDVIBhpoWgvXEgYO1r-Y9hGLIQRKrdUMiroPyCVaA5Q19OyBPY2eXlZ0WPmJ_gspGfiBXu0yWOzvemg7c6DHgPiEfalGlyPPYG-_vwUUMI_YKxtk/" />');
cambiarLetra = cambiarLetra.replace(/:a/g,'<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYFKty0NMo_WP01wsqIXFHQq9pDGgfDVIBhpoWgvXEgYO1r-Y9hGLIQRKrdUMiroPyCVaA5Q19OyBPY2eXlZ0WPmJ_gspGfiBXu0yWOzvemg7c6DHgPiEfalGlyPPYG-_vwUUMI_YKxtk/" />');

// 3:
cambiarLetra = cambiarLetra.replace(/3:/g,'<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVzcpo-x6-PAqdmS64myZvLY6tWsscYO9iaV0I94Lvh9s8abRZtjFOxve2KYDLyfWz-zOT7zusz7UYoy7ViXUaMTqdn3sRMiVOWk8CdzDN-3QBUzq4x2u_LoreyOw1ZICIj3skHem2kj8/" />');

bodyText.innerHTML = cambiarLetra;
}
//]]>
</script>
</b:if>

Ahora busca esta parte:
<p>
<data:comment.body/>
</p>

Y c?mbiala por este c?digo:
<p expr:id='&quot;combody-&quot; + data:comment.anchorName'><data:comment.body/></p>
<script type='text/javascript'>
emoticon = &quot;combody-&quot; + &quot;<data:comment.anchorName/>&quot;;
emoticonComentario(emoticon);
</script>

Luego busca esta l?nea:
<a expr:href='data:post.commentFormIframeSrc' id='comment-editor-src'/>
Muy posiblemente la encontrar?s dos veces, justo debajo de la segunda que encuentres agrega esto, que es la imagen que se mostrar? arriba del formulario de comentarios:
<img border='0' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNHBslldEEPk2Yy5Q6pMln-aIi2sdUWwNOh8KlRHaM1Va5EHNAvAIGT3s9lWUwR5YOS9uhvaPsl-KcyJcuXuGKqSDoWHY1VpyVnaEeuzH7aYQ5E9ShLmEEmFNi7P4Hrb0kUatVt7-ec4g/'/>
Y listo, tendr?s estos emoticonos en tu blog. Estas im?genes son tomadas del mismo Facebook y tienen el contorno ligeramente marcado de blanco, por lo que se recomienda usarlo en blogs con colores claros para que no se note ese peque?o borde alrededor de ellas.
O si lo prefieres puedes cambiar los iconos por los tuyos, s?lo busca las URLs de las im?genes del primer c?digo que corresponden a cada juego de caracteres, los he se?alado en color verde para que sean m?s f?cil de encontrar.

Que los disfruten

Wednesday, July 20, 2011

Mostrar resumido el feed del blog

El feed lee las entradas de forma plana, sin estilos o efectos que tengas en ellas. Es por eso que a veces es necesario que el lector vea la entrada desde el blog y no desde el feed, as? que una forma de hacer que el lector de nuestro feed ingrese al blog para leer el contenido de la manera que lo hemos redactado, es presentar el feed en forma resumida, mostrando s?lo un p?rrafo del post.


Hay dos formas de mostrar los feeds resumidos, una es usando s?lo Blogger y otra es usando Feedburner, veamos pues ambas formas.

Usando el feed de Blogger

Si tu feed es administrado s?lo por Blogger, y NO usas Feedburner, entonces puedes mostrar estos contenidos resumidos. El "inconveniente" con esta opci?n es que toma aproximadamente los primeros 400 caracteres de la entrada y nada m?s. Adem?s, la opci?n de agregar un texto al pie de los feeds s?lo es posible cuando el feed se muestra de forma completa.

Aun as?, puedes mostrar los feeds cortos, s?lo ingresa a Configuraci?n | Otros | Feed del sitio, selecciona Corto donde dice Permitir feed del blog. Guarda los cambios y listo.

Usando el feed de Feedburner

Si tu feed es administrado por Feedburner tambi�n podemos mostrar el feed de forma resumida pero siendo nosotros quienes decidamos el n?mero de caracteres a mostrar, y adem?s de eso tenemos la opci?n de agregar un texto adicional al pie del resumen.

Primero hay que cambiar la configuraci?n en Blogger, as? que vamos a Configuraci?n | Otros | Feed del sitio, y selecciona Completo donde dice Permitir feed del blog.
Recuerda que donde dice Publicar URL redireccionada del feed debe estar la URL de tu feed de Feedburner.

Ahora ingresa a tu cuenta de Feedburner, luego entra en Optimize | Summary Burner, ah? puedes elegir el n?mero de caracteres que se mostrar?n en el resumen del feed, y debajo agregar un texto si lo deseas. Da click en Activar y listo.


De esta ?ltima forma, quienes lean tu feed ya sea desde un lector de feeds o los que se suscriben por correo ver?n s?lo el n?mero de caracteres que elegiste para el p?rrafo as? como el texto al pie del feed donde podr?s indicarles que se trata s?lo de un resumen y que deben ingresar a la entrada para poder leer completo el art?culo.

Antes de realizar estos procedimientos considera si tu feed verdaderamente necesita mostrarse en forma resumida, pues recuerda que mucha gente se suscribe al feed justamente para no tener la necesidad de ingresar a la p?gina para leer el contenido.

Monday, July 18, 2011

Boton Google +1 con mensaje al hacer click

Con la llegada del bot?n +1 (PlusOne) y su prometedor �xito, es seguro que la mayor?a ya sabe c?mo agregar el bot?n +1 de Google en el blog. ?Pero, qu� posibilidades tiene el bot?n para ser configurado?
La verdad es que si partimos del punto que podemos hacer un callback para leer funciones Javascript entonces las posibilidades son muchas.

Una de esas posibilidades es poder mostrar un texto en el bot?n +1, un mensaje cuando el usuario nos regale un voto y otro mensaje para cuando el usuario quiera deshacer la recomendaci?n.
Puedes ver el ejemplo en este bot?n, si le das click para recomendar aparecer? un mensaje de agradecimiento, despu�s de eso dale click nuevamente y aparecer? un mensaje distinto.



Ahora vamos a ver c?mo ponerlo en el blog. Entra en Dise?o | Edici?n de HTML y marca la casilla Expandir plantillas de artilugios.
Si lo quieres debajo del t?tulo de la entrada entonces busca esta l?nea:
<div class='post-header'>
O si lo quieres al final de las entradas entonces busca esta l?nea:
<div class='post-footer'>
En cualquiera de los casos, agrega debajo de una de esas l?neas lo siguiente:
<script src='http://apis.google.com/js/plusone.js' type='text/javascript'/>
<script type='text/javascript'>
//<![CDATA[
// mensaje Google+ (ciudadblogger.com)
function saludoPlusOne(plusone) {
var div_ty = document.getElementById("mensajePlusOne");
if (plusone.state == "on") {
div_ty.innerHTML = "?Gracias por recomendarnos! Tu voto es importante para nosotros."; document.getElementById('mensajePlusOne').className='msgPlusOne';
} else {
div_ty.innerHTML = "Parece que ya no te gustamos, ojal? nos des otra oportunidad."; document.getElementById('mensajePlusOne').className='msgPlusOne';
}
}
//]]>
</script>

<div align='right'><g:plusone callback='saludoPlusOne'/>
<div id='mensajePlusOne'/></div>

Ahora antes de ]]></b:skin> pega los estilos:
.msgPlusOne {
background:#0B0B3B;
color:#A4A4A4;
padding:10px;
font-style:italic;
}
Esos son los estilos que tendr? el recuadro donde aparecer? el mensaje, puedes establecer otros o simplemente no ponerlo si es que no quieres que tenga alguna apariencia. Lo que est? en color rojo son los mensajes que mostrar?, el primero es el mensaje que aparece cuando se hace click para recomendar, y el segundo para cuando ya no le gusta al lector.

Y habiendo hecho eso tendr?s el bot?n +1 de Google que muestra un mensaje al hacer click.

Friday, July 15, 2011

Errores comunes al poner los c?digos CSS

Sin importar qu� tanto tiempo tengamos con los blogs nada nos exenta de cometer errores al intentar hacer un cambio en la plantilla. As? que de repente ponemos un c?digo por aqu?, otro por all?, damos Vista Previa y nada... o todo se ve igual o no se ve como deber?a verse. Las razones pueden ser muchas, pero hoy nos centraremos en los problemas habituales que cometemos al poner estilos CSS en la plantilla del blog.

Los estilos, cuando van antes de ]]></b:skin> debemos asegurarnos de nunca eliminar nada alrededor de donde lo pongamos.
Algo bastante (pero bastante) com?n, es que al ponerlo se elimina la llave de cierre del c?digo anterior. Por ejemplo aqu?:
.negro {
background:#000;
color:#fff;
.azul {
background:#58ACFA;
color:#000;
}


Hola, yo soy un contenedor con la clase .negro
Hola, yo soy un contenedor con la clase .azul



Ah? sin querer hemos eliminado la llave de cierre de la clase .negro, eso har? que aunque los estilos de .negro sigan funcionando, los estilos de .azul no tendr?n efecto alguno.
Pero si lo pones bien, sin eliminar la llave de cierre no habr? problema alguno.
.negro {
background:#000;
color:#fff;
}
.azul {
background:#58ACFA;
color:#000;
}



Hola, yo soy un contenedor con la clase .negro
Hola, yo soy un contenedor con la clase .azul



Un simple y llano caracter puede hacer la diferencia entre que algo funcione o no, ya sea la llave de cierre, el punto y coma al final de cada declaraci?n de estilo, el punto antes de la clase, etc.
Es por eso que siempre debemos asegurarnos de no eliminar nada al momento de poner un c?digo.


Otro error menos com?n pero que tambi�n sucede es al momento de poner anotaciones o comentarios en los estilos CSS. Cuando ponemos un comentario para identificar un c?digo debe ser de esta manera:
/* Estilos de ejemplo */
.negro {
background:#000;
color:#fff;
.azul {
background:#58ACFA;
color:#000;
}
Pero nunca deber? ser de esta manera:
<!-- Comentario -->
.negro {
background:#000;
color:#fff;
.azul {
background:#58ACFA;
color:#000;
}
O de esta otra:
// Comentario
.negro {
background:#000;
color:#fff;
.azul {
background:#58ACFA;
color:#000;
}

Esas dos ?ltimas formas err?neas s?lo se usan y son aceptables en c?digos que van dentro del <body> incluso dentro del <head> pero nunca antes de ]]></b:skin>

Algunas veces te encontrar?s con estilos que est?n encerrados entre <style type="text/css"> y </style>
En esos casos los estilos van antes de </head> o despu�s de <head> pero no antes de
]]></b:skin> de lo contrario los estilos no podr?n funcionar y se generar? un espacio arriba de la plantilla e incluso se mostrar?n estos caracteres: -->

As? que, si ponemos los c?digos sin eliminar nada, si ponemos las anotaciones bien, y si todo lo colocamos en el lugar correcto no deber?n surgir estos problemas de que las cosas no se ven como se deber?an ver, al menos no referente al CSS.

Tuesday, July 12, 2011

Google y los dominios co.cc desindexados

AVISO
Goole ha indexado nuevamente a los dominios co.cc, o al menos a la mayor?a de ellos, as? que ya pueden utilizarse de nuevo con sus debidas precauciones.




Algunos se enteraron desde Twitter, pero otros a?n no lo saben y me han estado preguntando porqu� sus blogs han dejado de aparecer en las b?squedas de Google.

Los dominios gratuitos co.cc por muchos a?os han sido una opci?n para quien requiere de un dominio propio pero a?n no puede pagar por �l, quiz? no es la extensi?n m?s atractiva pero las opciones de redireccionamiento y manejo de DNS han sido un punto a su favor, no por nada existen m?s de 5 millones de usuarios en todo el mundo que los usan.

Sin embargo, al ser un servicio gratuito muchos utilizaron estos dominios para crear sitios de SPAM, y en menor n?mero sitios que conten?an troyanos. As? que el pasado 1 de julio, Google tom? la decisi?n de desindexar todos los dominios .co.cc por lo que ya no aparecen m?s en los resultados de las b?squedas de Google. Una decisi?n poco afortunada para los millones de sitios que han trabajado por a?os para ocupar un lugar en la red, y que �stos, sin deberla han tenido que pagar los platos rotos.

Pero Google no es el ?nico, Facebook desde hace ya varios meses tom? una medida similar impidiendo que contenido proveniente de dominios co.cc pudiera ser compartido en la red social.

Ante estos problemas, si tu blog es uno de los casi 11 millones y medio con extensi?n co.cc la mejor opci?n es regresar a blogspot (a menos que te importe poco aparecer en Google), para ello s?lo entra en Configuraci?n | Publicaci?n | Cambiar por: blogspot.com

Otra opci?n, que sugiere NIcoNico (colaborador del foro de ayuda de Blogger) es apelar ante Google para que tu dominio sea reconsiderado y pueda ser indexado nuevamente.
Para ello debes primero verificar la propiedad de tu blog a trav�s de las Herramientas para Webmasters de Google. [Ver primeros pasos de esta entrada]
Y luego, llenar el siguiente formulario y enviarlo:

En dicho formulario debes explicar por qu� crees que tu dominio debe ser incluido nuevamente y demostrar que tu blog no contiene SPAM, pishing, o cualquier otra infracci?n que incumpla con las directrices para webmaster. Y despu�s a esperar...

Estas son decisiones dr?sticas y quiz? poco justas para la mayor?a, pero desde siempre Google ha estado un tanto arisco con los dominios gratuitos, no porque no sean de pago, sino porque al ser recursos gratuitos se vuelven el medio perfecto para que los spammers se hagan visibles en la web.

Sunday, July 10, 2011

Usando la etiqueta Fieldset y Legend

La etiqueta FIELDSET originalmente est? dise?ada para agrupar elementos dentro de un formulario, de esta forma varios INPUT se pueden organizar dentro de un campo de un formulario. Por ejemplo este c?digo:
<form>
<fieldset>
<legend>Datos personales:</legend>
Nombre: <input type="text" size="30" /><br />
Direcci?n: <input type="text" size="30" /><br />
Tel�fono: <input type="text" size="30" />
</fieldset>
</form>
Se convierte en esto:

Datos personales:
Nombre:
Direcci?n:
Tel�fono:

Pero no, no haremos formularios pues para ello necesitar?amos un servidor y algo de PHP para enviar y almacenar los datos. Pero s? podemos darle otro uso a la etiqueta FIELDSET, por ejemplo, para destacar un texto, mostrar una descripci?n, o incluso para poner los ingredientes de una receta. Por ejemplo:

Ingredientes
- 1 cebolla grande (unos 300g)
- chiles serranos u otro al gusto, o guindillas
- 750 g de tomates rojos sin piel en cubitos
- 12 tiras de tocino ahumado (panceta, beicon)
- 1 kg de filete de res (lomo bovino), cortado en trozos de 5 cm x 1 cm)
- sal y pimienta
- aceite
* Ingredientes tomados de la receta Puntas de filete a la norte?a [Gabriela, clavo y canela 2011]

El c?digo que hemos usado es este:
<fieldset>
<legend>T?tulo</legend>
... Aqu? va el texto ...
</fieldset>

Organizado pero muy simple ?verdad? No hay problema, se puede personalizar un poco.

S?ntesisLorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris feugiat, nisl sed aliquet pretium, justo velit pellentesque arcu, non eleifend magna sem quis odio. Nulla sapien lacus, rutrum vitae vehicula eget, interdum sed dolor. Quisque condimentum fermentum lorem eget commodo. Vestibulum in sem pellentesque mi auctor posuere non id elit. Curabitur lacus arcu, cursus at lobortis a, adipiscing sed ligula.

Ah?, el c?digo que usamos es este:
<fieldset style="border:6px groove #ccc; background:#F8ECE0;">
<legend style="font-weight:bold; color:#61380B;">T?tulo</legend>
... Aqu? va el texto ...
</fieldset>

Los primeros estilos en negrita son para el contenedor general, ah? le hemos puesto un borde de 6px y un color de fondo. Los segundos estilos en negrita corresponden al t?tulo del campo.
Pero ser?a muy tedioso tener que escribir los estilos siempre que lo vayamos a usar, as? que podemos definir esos estilos directo en la plantilla.
Para ello entramos en Dise?o | Edici?n de HTML y antes de ]]></b:skin> pegamos lo siguiente:
fieldset {
border:6px groove #ccc; /* Borde */
background:#F8ECE0; /* Color de fondo */
color:#000; /* Color del texto de todo el contenido */
}
legend {
text-align:left; /* Puedes cambiarlo por center o right */
font-weight:bold; /* Estilo de la fuente del t?tulo */
color:#61380B; /* Color del t?tulo */
}
Eso har? que todos los fieldset que uses tengan ese dise?o que has elegido.
Son estilos muy b?sicos, pero se pueden agregar otros tantos. Recuerda que fieldset es el contenedor, y legend el t?tulo de ese contenedor.



Jugando un poco con los estilos y aplicando CSS3 podemos obtener resultados aun m?s llamativos:

AVISO
Si usas un navegador moderno podr?s ver este aviso con efectos de sombra y bordes redondeados.
Recuerda que si te suscribes a nuestro feed podr?s enterarte de este y otros temas para que apliques en tu blog.
Tambi�n puedes seguirnos en Twitter y Facebook para tener informaci?n extra que tal vez no ver?s por ac?.


[+/-] Ver c?digo

Wednesday, July 6, 2011

La Edici?n de HTML de vuelta en la nueva interfaz de Blogger

Hace unos d?as coment?bamos sobre un tema que estaba preocup?ndonos a m?s de uno, y es que la nueva interfaz que s?lo est? disponible por el momento s?lo para algunos, no inclu?a la opci?n de editar la plantilla a trav�s de la Edici?n de HTML.
Como mencionaba esa vez, lo mejor era no especular de m?s porque bien sabemos que lo que est? en Blogger in Draft puede ser modificado de un momento a otro, as? que bien pod?a ser definitivo o no.
Por suerte parece que el equipo de Blogger est? replanteando algunos detalles con esa nueva interfaz, porque adem?s de que el escritorio ha cambiado nuevamente (ahora es m?s simple aun), tambi�n ha regresado la opci?n de Edici?n de HTML que ahora se llama Editar plantilla, as? que nuevamente podemos editar la plantilla del blog como lo hemos hecho siempre.

Si ya dispones de la nueva interfaz de Blogger entra a tu cuenta, ah? ver?s el nombre de tu blog y del lado extremo derecho unas opciones. Haz click en la flecha junto al icono de la casa y selecciona Plantilla.



Ah? encontrar?s todas las plantillas del Dise?ador, ve hasta abajo y encontrar?s la opci?n Editar plantilla.

Da click ah? y podr?s tener acceso a la edici?n HTML de tu plantilla nuevamente.


Ahora s?lo tenemos que esperar que este cambio sea definitivo y de ser as? ver qu� otros cambios m?s realizar?, pero tal parece que esta vez Blogger ha escuchado nuestras peticiones.

Gracias a Felipe por el aviso de este cambio.

Tuesday, July 5, 2011

Quitar el Leer m?s autom?tico en las entradas

Por la red abundan miles de plantillas personalizadas para Blogger y muchas de ellas tienen incluido sl script que genera res?menes automatizados con im?genes en miniatura. Pero a veces quienes descargan estas plantillas no desean utilizar esta caracter?stica. As? que s? deseas eliminar el Leer m?s autom?tico s?lo hay que seguir unos cuantos pasos para dejar las entradas "normales". En realidad lo que haremos ser? lo inverso a lo que har?amos si quisi�ramos instalar por primera vez esta caracter?stica.

Primero que nada, como tocaremos partes importantes de la plantilla haz un respaldo de la misma, luego entra en Dise?o | Edici?n de HTML, marca la casilla Expandir plantillas de artilugios y busca un c?digo como este:
<b:if cond='data:blog.pageType != &quot;item&quot;'>
<b:if cond='data:blog.pageType != &quot;static_page&quot;'>
<div expr:id='&quot;summary&quot; + data:post.id'><data:post.body/></div>
<script type='text/javascript'>createSummaryAndThumb(&quot;summary<data:post.id/>&quot;);</script>
<span class='rmlink' style='float:right'><a expr:href='data:post.url'>Leer m?s...</a></span>
</b:if></b:if>
<b:if cond='data:blog.pageType == &quot;item&quot;'><data:post.body/></b:if>
<b:if cond='data:blog.pageType == &quot;static_page&quot;'><data:post.body/></b:if>
Si te pierdes un poco en encontrar el c?digo busca lo que est? en color rojo y de esa forma reconocer?s todo lo dem?s.
Algunas veces puede variar un poco el c?digo y quiz? no sea exactamente id�ntico, pero deber? tener mucha similitud.
Cuando lo encuentres elim?nalo con mucho cuidado, y en su lugar pon esto:
<data:post.body/>
Una vez hecho esto dale Vista Previa, si todo ha salido bien ya deber?n verse las entradas completas sin ning?n resumen. Ahora vamos a quitar el script de la plantilla para que no tenga que estar cargando inutilmente.
Para ello busca antes de </head> o despu�s de <head> un c?digo como este y elim?nalo:
<script type='text/javascript'>
summary_noimg = 400;
summary_img = 300;
img_thumb_height = 125;
img_thumb_width = 125;
</script>

<script type='text/javascript'>
//<![CDATA[

/******************************************

(C)2008 by Anhvo

visit http://en.vietwebguide.com to get more cool hacks
********************************************/
function removeHtmlTag(strx,chop){
if(strx.indexOf("<")!=-1)
{
var s = strx.split("<");
for(var i=0;i<s.length;i++){
if(s[i].indexOf(">")!=-1){
s[i] = s[i].substring(s[i].indexOf(">")+1,s[i].length);
}
}
strx = s.join("");
}
chop = (chop < strx.length-1) ? chop : strx.length-2;
while(strx.charAt(chop-1)!=' ' && strx.indexOf(' ',chop)!=-1) chop++;
strx = strx.substring(0,chop-1);
return strx+'...';
}

function createSummaryAndThumb(pID){
var div = document.getElementById(pID);
var imgtag = "";
var img = div.getElementsByTagName("img");
var summ = summary_noimg;
if(img.length>=1) {
imgtag = '<span style="float:left; padding:0px 10px 5px 0px;"><img src="'+img[0].src+'" width="'+img_thumb_width+'px" height="'+img_thumb_height+'px"/></span>';
summ = summary_img;
}

var summary = imgtag + '<div>' + removeHtmlTag(div.innerHTML,summ) + '</div>';
div.innerHTML = summary;
}

//]]>
</script>
Con eso habr?s quitado por completo el Leer m?s autom?tico con im?genes en miniatura y tus entradas se mostrar?n de forma completa.