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

martes, 3 de abril de 2012

Gadget para compartir enlaces de las entradas del blog

Promocionar las entradas del blog es de suma importancia si queremos darlo a conocer a más gente, pero de igual forma es de suma importancia ofrecerle a los lectores las herramientas para que puedan hacerlo de una forma sencilla.
Un recurso muy útil es colocar un área donde los lectores puedan copiar la URL de las entradas que quieren compartir, ya sea que copien la URL de la entrada, el código HTML que enlaza a ella, o el código para colocar el enlace de la entrada en un foro.
El resultado será un área como esta debajo de todas las entradas del blog que al hacer click en el área de texto se seleccionará el enlace (este ejemplo no, es sólo una imagen):




Para agregarlo a tu blog entra en Diseño | Edición de HTML, marca la casilla Expandir plantillas de artilugios y busca esta etiqueta:

<data:post.body/>
O si usas el Leer más automático busca este código:

<b:if cond='data:blog.pageType != &quot;item&quot;'>

<b:if cond='data:blog.pageType != &quot;static_page&quot;'>

<div style='text-align:justify;' 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>


Justo debajo de cualquiera de esos dos agrega lo siguiente:

<b:if cond='data:blog.pageType == &quot;item&quot;'>

<div class='compartir-post'>

<p>Si has encontrado útil este artículo puedes compartirlo desde tu blog, página Web o foro.</p>

<p>&lt;label for=&quot;aa-url&quot;&gt;URL:&lt;/label&gt;&lt;br /&gt;&lt;input size=&quot;80&quot; readonly=&quot;readonly&quot; onclick=&quot;this.focus();this.select();&quot; type=&quot;text&quot; id=&quot;aa-url&quot; value=&quot;<data:post.url/>&quot; /&gt;</p><p>&lt;label for=&quot;aa-forum&quot;&gt;Link HTML:&lt;/label&gt;&lt;br /&gt;&lt;input size=&quot;80&quot; readonly=&quot;readonly&quot; onclick=&quot;this.focus();this.select();&quot; type=&quot;text&quot; id=&quot;aa-forum&quot; value=&quot;&lt;a href=&amp;quot;<data:post.url/>&amp;quot;&gt;<data:post.title/>&lt;/a&gt;&quot; /&gt;</p><p>

&lt;label for=&quot;aa-forum&quot;&gt;Link para foros:&lt;/label&gt;&lt;br /&gt;

&lt;input size=&quot;80&quot; readonly=&quot;readonly&quot; onclick=&quot;this.focus();this.select();&quot; type=&quot;text&quot; id=&quot;aa-forum&quot; value=&quot;[url=<data:post.url/>]<data:post.title/>[/url]&quot; /&gt;</p>

</div>

</b:if>


Ahora agrega antes de ]]></b:skin> esto:

/* Compartir entradas

----------------------------------------------- */

.compartir-post {

background:#EFF5FB; /* Color de fondo del contenedor */

margin-top:30px;

padding-top:5px;

padding-bottom:5px;

padding-left:10px;

}

.compartir-post p {

font-size:12px; /* Tamaño de texto del mensaje */

}

.compartir-post input {

background:#ffffff;

border: 1px solid #A4A4A4; /* Borde de las celdas */

}


Guarda los cambios y listo. El resultado sólo aparecerá en las entradas individuales así que para verlo debes entrar a un post para cerciorarte que ha funcionado.



Por supuesto que a la caja para compartir le podemos cambiar el estilo, ya sea el color de fondo, agregar una imagen de fondo, tamaño de la letra, etc. Esas partes se modifican en las áreas que he puesto en color verde.



El contenedor como tal no tiene un tamaño específico pues se ajusta al ancho de las entradas, sin embargo, el ancho de las celdas donde aparecen los enlaces puede ajustarse modificando los números del primer código que insertamos y que están en color rojo.


Con esto hasta los lectores más novatos sabrán cuál es la URL de la entrada que les ha gustado y tendrán una forma más sencilla de poder copiar el enlace para compartirlo donde deseen.

lunes, 2 de abril de 2012

Galería de Videos con Coda Slider

La otra vez veíamos cómo poner una galería de imágenes con Coda Slider, y dado a las posibilidades que tiene el script pensé que podríamos hacer una galería de videos con este mismo slider sólo haciendo unas pequeñas modificaciones.


El resultado es una galería de videos con jQuery que permite pasar de un video a otro de forma deslizante haciendo click en las miniaturas que se encuentran debajo. A esta galería podemos añadirle hasta 7 videos con las medidas actuales que posee.




El procedimiento es similar al otro slider, primero descarga este archivo, descomprímelo, sube los archivos a un hosting y luego pega este código antes de </head>

<script src='https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js'/>

<script src='URL del archivo jquery-easing-1.3.pack.js'/>

<script src='URL del archivo jquery-easing-compatibility.1.2.pack.js'/>

<script src='URL del archivo coda-slider.1.1.1.pack.js'/>



<script type='text/javascript'>

//<![CDATA[



$(function() {

$("#main-video-slider").codaSlider();

$navthumb = $(".nav-thumb");

$crosslink = $(".cross-link");

$navthumb

.click(function() {

var $this = $(this);

theInterval($this.parent().attr('href').slice(1) - 1);

return false;

});



theInterval();

});

//]]>

</script>
Ahí coloca donde se indica las URLs de los archivos que subiste previamente.

Luego antes de ]]></b:skin> coloca los estilos de la galería:

/* Coda Slider (Video)

----------------------------------------------- */

#page-wrap {

width: 490px; /* Ancho del contenedor general */

min-height: 354px; /* Alto del contenedor general */

margin: 0 auto;

position: relative;

background: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgU1H9HhhXy7ubxYhlqZz4WXeLmChasHWyowmVtTnKTEtro4w8DFfWT5941Im2teteMKFN5PqYnTxFmmQfyVDO-WWhFOn0zYuzURSfXE0FNwgGCSMYvtqAwX7Vnatlh67ywc2ud-6_cC5A/s490/vid-bg.png) top center no-repeat;

}

.slider-wrap {

width: 450px;

position: absolute;

top: 20px;

left: 20px;

}

.stripViewer .panelContainer

.panel ul { text-align: left; margin: 0 15px 0 30px; }

.stripViewer {

position: relative;

overflow: hidden;

width: 450px; /* Ancho del contenedor de los videos */

height: 274px; /* Alto del contenedor de los videos */

margin-bottom:7px;

}

.stripViewer .panelContainer { position: relative; left: 0; top: 0; }

.stripViewer .panelContainer .panel { float: left; height: 100%; position: relative; width: 450px; }

.stripNavL, .stripNavR, .stripNav { display: none; }

.nav-thumb { border: 1px solid black; margin-right: 5px;}

#movers-row { margin: -39px 0 0 62px; }

#movers-row div { width: 16.6%; float: left; }

#movers-row div a.cross-link { float: right; }

.cross-link { display: block; width: 58px; margin-top: -10px; position: relative; padding-top: 3px; z-index: 100; }
El tercer paso es entrar en Diseño | Elementos de la página | Añadir gadget | HTML/Javascript (para la interfaz antigua), o Diseño | Añadir gadget | HTML/Javascript (para la interfaz nueva). Ahí pega este código:

<div id="page-wrap">

<div class="slider-wrap">

<div class="csw" id="main-video-slider">

<div class="panelContainer">



<div class="panel" title="Panel 1">

<div class="wrapper">

<iframe width="450" height="274" src="http://www.youtube.com/embed/ID_VIDEO_YOUTUBE_UNO" frameborder="0" allowfullscreen></iframe>



</div></div>





<div class="panel" title="Panel 2">

<div class="wrapper">

<iframe width="450" height="274" src="http://www.youtube.com/embed/ID_VIDEO_YOUTUBE_DOS" frameborder="0" allowfullscreen></iframe>



</div></div>





<div class="panel" title="Panel 3">

<div class="wrapper">

<iframe width="450" height="274" src="http://www.youtube.com/embed/ID_VIDEO_YOUTUBE_TRES" frameborder="0" allowfullscreen></iframe>



</div></div>





<div class="panel" title="Panel 4">

<div class="wrapper">

<iframe width="450" height="274" src="http://www.youtube.com/embed/ID_VIDEO_YOUTUBE_CUATRO" frameborder="0" allowfullscreen></iframe>



</div></div>





<div class="panel" title="Panel 5">

<div class="wrapper">

<iframe width="450" height="274" src="http://www.youtube.com/embed/ID_VIDEO_YOUTUBE_CINCO" frameborder="0" allowfullscreen></iframe>



</div></div>





<div class="panel" title="Panel 6">

<div class="wrapper">

<iframe width="450" height="274" src="http://www.youtube.com/embed/ID_VIDEO_YOUTUBE_SEIS" frameborder="0" allowfullscreen></iframe>



</div></div>





<div class="panel" title="Panel 7">

<div class="wrapper">

<iframe width="450" height="274" src="http://www.youtube.com/embed/ID_VIDEO_YOUTUBE_SIETE" frameborder="0" allowfullscreen></iframe>



</div></div>



</div></div>

<!-- Estas son las MINIATURAS de los videos -->



<a class='cross-link active-thumb' href='#1'><img class='nav-thumb' height='40px' src="http://img.youtube.com/vi/ID_VIDEO_YOUTUBE_UNO/1.jpg" width='58px'/></a>



<div id='movers-row'>



<div><a class='cross-link' href='#2'><img class='nav-thumb' height='40px' src="http://img.youtube.com/vi/ID_VIDEO_YOUTUBE_DOS/1.jpg" width='58px'/></a></div>



<div><a class='cross-link' href='#3'><img class='nav-thumb' height='40px' src="http://img.youtube.com/vi/ID_VIDEO_YOUTUBE_TRES/1.jpg" width='58px'/></a></div>



<div><a class='cross-link' href='#4'><img class='nav-thumb' height='40px' src="http://img.youtube.com/vi/ID_VIDEO_YOUTUBE_CUATRO/1.jpg" width='58px'/></a></div>



<div><a class='cross-link' href='#5'><img class='nav-thumb' height='40px' src="http://img.youtube.com/vi/ID_VIDEO_YOUTUBE_CINCO/1.jpg" width='58px'/></a></div>



<div><a class='cross-link' href='#6'><img class='nav-thumb' height='40px' src="http://img.youtube.com/vi/ID_VIDEO_YOUTUBE_SEIS/1.jpg" width='58px'/></a></div>



<div><a class='cross-link' href='#7'><img class='nav-thumb' height='40px' src="http://img.youtube.com/vi/ID_VIDEO_YOUTUBE_SIETE/1.jpg" width='58px'/></a></div>



</div>

</div></div>
Coloca donde se indica la ID del video de YouTube. La ID del video es toda esa serie de caracteres que aparecen al final de la URL del video, por ejemplo:


URL video



Como puedes ver, la ID del video debes colocarla dos veces, una es para el video, y otra para la imagen en miniatura del video.



También puedes poner videos de otros servicios, sólo debes eliminar un código como este:

<iframe width="450" height="274" src="http://www.youtube.com/embed/ID_VIDEO_YOUTUBE" frameborder="0" allowfullscreen></iframe>


Y en su lugar deberás poner el código de tu video, que deberá medir 450px de ancho y 274px de alto. También deberás cambiar la URL de la imagen de la miniatura:

<img class='nav-thumb' height='40px' src="URL de la imagen" width='58px'/>


Es una galería de videos sencilla pero que puede verse muy bien arriba de las entradas del blog, y si la usamos sólo para videos de YouTube entonces será menos complicado.

Hacer que un gadget sólo lo pueda ver el administrador del blog

Pues el título de la entrada lo dice todo. Hay gadgets que a veces queremos verlos sólo nosotros y no los lectores del blog, quizá una Encuesta que ya finalizó pero que queremos conservar, un contador de visitas, o cualquier gadget que mientras lo personalizamos no queremos que nadie más lo vea hasta que esté listo el resultado final.


El procedimiento es sencillo, sólo tenemos que agregar dos líneas a nuestro gadget que queremos ocultar.

Lo primero es entrar a la Edición HTML de la plantilla, marcar la casilla Expandir plantillas de artilugios y buscar el código del gadget que queremos ocultar. Será más fácil usando las teclas CTRL+F y localizando el nombre del gadget.
Por ejemplo, en un gadget HTML/Javascript verás un código como este:

<b:widget id='HTML1' locked='false' title='' type='HTML'>

<b:includable id='main'>

<span class='item-control blog-admin'>

<!-- only display title if it's non-empty -->

<b:if cond='data:title != &quot;&quot;'>

<h2 class='title'><data:title/></h2>

</b:if>

<div class='widget-content'>

<data:content/>

</div>



<b:include name='quickedit'/>

</span>

</b:includable>

</b:widget>
Lo único que tienes que hacer es agregar las partes en color rojo y listo. Si cierras la sesión y entras a tu blog no podrás ver el gadget que ocultaste, pero si inicias sesión verás que sí está visible para ti.


No todos los gadgets tienen la misma estructura como la del ejemplo, pero será fácil guiarte, sólo debes colocar el primer código rojo justo después de <b:includable id='main'>

Y el segundo código rojo exactamente antes de </b:includable>



Y con eso el gadget estará oculto para los lectores menos para ti.

Personalizar el gadget "Enlaces de Suscripción" de Blogger

En XarDesigns he visto una forma de personalizar el gadget de "Enlaces de Suscripción" que me ha gustado mucho. Y es que ese gadget no es tan usado, quizá por lo poco atractivo que puede parecer para algunos. Sin embargo, ofrecerles a los lectores un medio para suscribirse al feed del blog debe ser primordial.
Con esta forma de personalizarlo el gadget luce más "sexi" según el autor, pero lo mejor es que está hecho a base de CSS3 así que podemos cambiarle los colores sin problemas. Además, se le ha agregado la suscripción por correo electrónico con lo cual el gadget se vuelve más completo.


Este es el gadget original:



Y después de modificarlo quedará así:



Y al desplegarse se verá de esta forma:





Si aún no usas el gadget entra en Diseño | Elementos de la página | Añadir un gadget | Enlaces de suscripción, o si usas la nueva interfaz entra en Diseño | Añadir un gadget | Enlaces de suscripción.





Ya teniéndolo en tu blog, o si ya lo tenías puesto, entra en la Edición HTML de la plantilla, y SIN expandir los artilugios busca esta línea:

<b:widget id='Subscribe1' locked='false' title='Suscribirse a' type='Subscribe'/>
Elimínala y en su lugar pon este código:

<b:widget id='Subscribe1' locked='false' title='Suscribirse a' type='Subscribe'>

<b:includable id='main'>

<b:if cond='data:isPublic'>

<div style='white-space:nowrap'>

<b:if cond='data:title != &quot;&quot;'>

<h2 class='title'><data:title/></h2>

</b:if>

<div class='widget-content'>

<b:loop values='data:feeds' var='feed'>

<div expr:class='&quot;subscribe-wrapper subscribe-type-&quot; + data:feed.type'>

<div expr:class='&quot;subscribe expanded subscribe-type-&quot; + data:feed.type' expr:id='&quot;SW_READER_LIST_&quot; + data:widgetId + data:feed.type' style='display:none;'>

<div class='top'>

<span class='inner' expr:onclick='&quot;return(_SW_toggleReaderList(event, \&quot;&quot; + data:widgetId +data:feed.type + &quot;\&quot;));&quot;'>

<div class='subscribe-arrow-collapse'/>

<data:feed.title/>

</span>

<div class='feed-reader-links'>

<div class='subscribe-add-platform'>

<div class='subscribe-add-bubble-wrapper'>

<div class='subscribe-add-bubble'>+</div>

<div class='subscribe-add-bubble-arrow'/>

</div>

<a class='feed-reader-link' expr:href='&quot;http://www.google.com/ig/add?source=bstp&amp;feedurl=&quot; + data:feed.encodedUrl' target='_blank'>Agregar a Google</a>

</div>

<div class='subscribe-add-platform'>

<div class='subscribe-add-bubble-wrapper'>

<div class='subscribe-add-bubble'>+</div>

<div class='subscribe-add-bubble-arrow'/>

</div>

<a class='feed-reader-link' expr:href='&quot;http://www.netvibes.com/subscribe.php?url=&quot; + data:feed.encodedUrl' target='_blank'>Agregar a Netvibes</a>

</div>

<div class='subscribe-add-platform'>

<div class='subscribe-add-bubble-wrapper'>

<div class='subscribe-add-bubble'>+</div>

<div class='subscribe-add-bubble-arrow'/>

</div>

<a class='feed-reader-link' expr:href='&quot;http://www.newsgator.com/ngs/subscriber/subext.aspx?url=&quot; + data:feed.encodedUrl' target='_blank'>Agregar a NewsGator</a>

</div>

<div class='subscribe-add-platform'>

<div class='subscribe-add-bubble-wrapper'>

<div class='subscribe-add-bubble'>+</div>

<div class='subscribe-add-bubble-arrow'/>

</div>

<a class='feed-reader-link' expr:href='&quot;http://add.my.yahoo.com/content?url=&quot; + data:feed.encodedUrl' target='_blank'>Agregar a MyYahoo!</a>

</div>

<div class='subscribe-add-platform'>

<div class='subscribe-add-bubble-wrapper'>

<div class='subscribe-add-bubble'>+</div>

<div class='subscribe-add-bubble-arrow'/>

</div>

<a class='feed-reader-link' expr:href='data:feed.url' target='_blank'>Suscribirse vía Atom</a>

</div>

</div>

</div>

<div class='bottom'/>

</div>



<div class='subscribe' expr:id='&quot;SW_READER_LIST_CLOSED_&quot; + data:widgetId +data:feed.type' expr:onclick='&quot;return(_SW_toggleReaderList(event, \&quot;&quot; + data:widgetId +data:feed.type + &quot;\&quot;));&quot;'>

<div class='top'>

<span class='inner'>

<div class='subscribe-arrow-expand'/>

<span expr:onclick='&quot;return(_SW_toggleReaderList(event, \&quot;&quot; + data:widgetId +data:feed.type + &quot;\&quot;));&quot;'>

<data:feed.title/>

</span>

</span>

</div>

<div class='bottom'/>

</div>



</div>

</b:loop>

<div class="subscribe-via-email-wrapper">



<form action='http://feedburner.google.com/fb/a/mailverify' expr:onsubmit='&quot;window.open(\&quot;http://feedburner.google.com/fb/a/mailverify?uri=Nombre-de-mi-feed\&quot;, \&quot;popupwindow\&quot;, \&quot;scrollbars=yes,width=550,height=520\&quot;); return true&quot;' method='post' target='popupwindow'>

<input class='follow-by-email-address' name='email' placeholder='dirección de correo....' size='14' type='text'/>

<input class='follow-by-email-submit' type='submit' value='Submit'/>

<input name='uri' type='hidden' value='Nombre-de-mi-feed'/>

<input name='loc' type='hidden' value='es_ES'/>

</form>



</div>

<div style='clear:both'/>

</div>

</div>

</b:if>

</b:includable>

</b:widget>
En donde dice Nombre-de-mi-feed pon el nombre que le has dado a tu feed en Feedburner, por ejemplo, en mi caso, esta es la URL de mi feed de Feedburner:

http://feeds.feedburner.com/CiudadBlogger
Por lo tanto, el nombre de mi feed, en mi caso es CiudadBlogger

Para que esa opción de correo funcione deberás tener activado en Feedburner la suscripción por correo electrónico.



Ahora antes de ]]></b:skin> agrega los estilos:

div.subscribe div.top, div.subscribe div.bottom {

filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='');}

div.subscribe div.top, div.subscribe div.bottom {

background: none !important;

padding:3px;

}



.feed-reader-links {

background-color: #222 !important; /* Color de fondo del contenedor desplegable */

padding: 1px 0 !important;

border-radius: 3px !important;

color: #000 !important;

-khtml-border-radius: 3px !important;

-webkit-border-radius: 3px !important;

-moz-border-radius: 3px !important;

-moz-box-shadow: 5px 5px 5px rgba(0,0,0,0.5);

-webkit-box-shadow: 5px 5px 5px rgba(0,0,0,0.5);

-khtml-box-shadow: 5px 5px 5px rgba(0,0,0,0.5);

box-shadow: 5px 5px 5px rgba(0,0,0,0.5);

width:170px;

}

.subscribe-arrow-expand {

width: 0;

height: 0;

border-left: 5px solid transparent;

border-right: 5px solid transparent;

border-top: 5px solid #333; /* Color de la flecha */

float: right;

margin-top: 6px;

}

.subscribe-arrow-collapse {

width: 0;

height: 0;

border-left: 5px solid transparent;

border-right: 5px solid transparent;

border-bottom: 5px solid #333; /* Color de la flecha */

float: right;

margin-top: 6px;

}

.subscribe-add-bubble-wrapper {

float: left;

margin-right: 10px;

padding-top: 2px;

}

.subscribe-add-bubble {

background: #444; /* Color del ícono dentro de los enlaces */

font-size: 8px;

padding: 3px;

border-radius: 2px;

-khtml-border-radius: 2px;

-webkit-border-radius: 2px;

-moz-border-radius: 2px;

-moz-box-shadow: 1px 1px 1px rgba(0,0,0,0.5);

-webkit-box-shadow: 1px 1px 1px rgba(0,0,0,0.5);

-khtml-box-shadow: 1px 1px 1px rgba(0,0,0,0.5);

box-shadow: 1px 1px 1px rgba(0,0,0,0.5);

}

.subscribe-add-bubble-arrow {

width: 0;

height: 0;

border-left: 3px solid transparent;

border-right: 3px solid transparent;

border-top: 3px solid #444; /* Color del ícono dentro de los enlaces */

margin-left: 2px;

}

.subscribe-add-platform {

border-radius: 3px;

-khtml-border-radius: 3px;

-webkit-border-radius: 3px;

-moz-border-radius: 3px;

line-height: 0.4;

background: #111; /* Color de fondo de los enlaces */

font-size: 12px;

margin: 4px 5px;

padding: 2px 3px;

}

.subscribe-add-platform:hover {

background: #333; /* Color de fondo de los enlaces al pasar el cursor */

}

.subscribe-add-platform a {

text-shadow: 1px 1px #000;

color:#F9F0D7; /* Color de los enlaces */

font-size:11px;

font-family:Verdana;

}

.subscribe-add-platform a:hover {

text-shadow: 1px 1px #000;

color:#FF8400; /* Color de los enlaces al pasar el cursor */

}

.subscribe-add-platform a:hover {

text-decoration: none;

}

.subscribe-via-email-wrapper {

margin: 8px 0 0 7px;

font-size: 1em;

}

.follow-by-email-address {

font-size: 11px;

background-color: #444; /* Color de fondo de la suscripción por correo */

padding:3px;

border: none;

color: #222; /* Color del texto "dirección de correo" */

width:120px;

}

.follow-by-email-submit {

font-size: 12px;

background-color: #000; /* Color del botón "Suscribir" */

border: 1px solid #000;

margin-left: -4px;

color: #999; /* Color del texto "Suscribir" */

padding:3px;

}

.follow-by-email-submit:hover {

background-color: #333; /* Color del botón "Suscribir" al pasar el cursor */

position: relative;

top: 1px;

left: 1px;

color: #FFF; /* Color del texto "Suscribir" al pasar el cursor */

}
Guarda los cambios y listo.

En color verde están las anotaciones a lo que corresponde cada área que se puede cambiar.



Recuerda que está hecho con CSS3, así que algunas características como el sombreado y los bordes redondeados no se verán en navegadores antiguos.



De esta forma el tradicional gadget de suscripción al feed puede verse más atractivo, funcional, y versátil.

Mostrar las publicaciones de Google+ en el blog



Google+ Widget es un gadget que te permite mostrar la actividad más reciente de tus publicaciones de Google Plus, en el blog.
El gadget se obtiene y configura desde la página de los desarrolladores, y aunque la página está en inglés es muy intuitiva.


Para conseguir este gadget primero vamos a conseguir nuestro ID de Google+, para ello, entra a Google+ y haz click en el ícono de tu Perfil.




En la barra de direcciones verás la URL de tu perfil, ahí encontrarás una serie de números, esa es tu ID. Si lo quieres para una página de Google+ sólo entra a tu página y también verás en la URL el ID de tu página.




Ahora necesitarás conseguir una API de Google+, esto es porque la API de los desarrolladores está saturada, así que teniendo la tuya asegurarás que el gadget no tenga problemas de tráfico. Para conseguir tu API ingresa a Google Apis, da click en Create Project y luego en el menú izquierdo haz click en Services.

Busca donde diga Google+ API, cambia el botón off por on, y acepta los términos y condiciones.

De nuevo en el menú izquierdo da click en Api Access, ahí obtendrás una serie de caracteres como esta, esa es tu API key.




Teniendo ya tu ID de Google+ y tu API, entra a la página de Google+ Widget, ahí te encontrarás con estas dos primeras opciones:




En el primer recuadro verde debes poner tu ID de Google, y en el segundo tu API que acabas de conseguir.

Abajo verás las opciones para personalizarlo.





El primero es el número de publicaciones que se mostrarán; en la primera columna encontrarás los colores para el fondo, el borde, enlaces, el texto, así como si se mostrará la cabecera o no.
En la segunda columna está la distancia entre el contenido y el borde, si se usará borde redondeado (border radius), el ancho, si mostrará favicones, footer, y si se trata de una página de Google+.


Una vez que lo has personalizado, da click en Show you widget, y podrás ver cómo ha quedado tu gadget, y debajo el código para ponerlo en tu blog. Sólo pega ese código en un elemento HTML/Javascript y listo.











En el caso de que lo hayas configurado para mostrar las publicaciones de tu página de Google+ entonces el código estará en dos partes, la primera es algo como esto:

<link href="https://plus.google.com/XXXXXXXXXXXXXXXXXX" rel="publisher"/>
Ese va después de <head>, y el resto del código va dentro del gadget HTML/Javascript.



Así de fácil y rápido puedes tener tu gadget de últimas publicaciones de Google Plus personalizado y bastante práctico, para que tus lectores sepan qué publicas en la red social de Google, y también puedan añadirte a sus círculos.

Personalizar el gadget de LinkWithin



LinkWithin es un gadget que muestra las entradas relacionadas con una imagen en miniatura, y aunque no es un gadget nada nuevo, muchos no se animan a usarlo por su falta de personalización.
Así que en esta entrada vamos a ver cómo poner LinkWithin en el blog, y cómo personalizarlo.


Lo que le haremos al gadget será lo siguiente:


  • Cambiar la ubicación del gadget.
  • Agregarle un color de fondo.
  • Cambiar el texto "Quizás también le interese" por algún otro.
  • Pasarlo a castellano en caso de que esté en inglés.
  • Eliminar el enlace de LinkWithin.
  • Eliminar el borde que separa las entradas.
  • Poner las imágenes redondeadas.
  • Cambiar el color de fondo al pasar el cursor.
  • Cambiar el formato de los títulos de las entradas.




Empecemos. Primero que nada hay que instalar el gadget, para ello entra a la página de LinkWithin, ahí llena los datos que te pide.




Aunque nos ofrece la opción de seleccionar Blogger como plataforma, seleccionaremos Other, para poner el código directo en la plantilla y así poder manipularlo. En el número de entradas (stories) selecciona un número de acuerdo al ancho de tus entradas, es decir, si el ancho de tus entradas es muy reducido entonces elige un número pequeño.


Al dar click en Get widget nos dará el código que debemos usar, es un código como este:

<script>

var linkwithin_site_id = XXXXX;

</script>

<script src="http://www.linkwithin.com/widget.js"></script>

<a href="http://www.linkwithin.com/"><img src="http://www.linkwithin.com/pixel.png" alt="Related Posts Plugin for WordPress, Blogger..." style="border: 0" /></a>


Ese es el código básico, ahora entra a la Edición HTML de la plantilla, marca la casilla Expandir plantillas de artilugios, y pega el código debajo de:

<div class='post-footer'>


Al hacerlo eso ya tendrás el gadget de LinkWithin en tu blog, y el resultado será este.





Ahora será momento de comenzar a personalizarlo.
Si quieres que se vea sólo en las entradas individuales, encierra el código con una condicional.



Te darás cuenta que pongas donde pongas el código éste siempre se acomodará justo al terminar las entradas.
En las FAQ de la página de LinkWithin nos explican cómo solucionarlo, sólo hay que añadir, arriba del código que hemos pegado, esta línea:
<div class='linkwithin_div'/>
Eso hará que el gadget se muestre justo donde has colocado el código.

Aun cuando no quieras cambiar el gadget de lugar, agrega esa línea para poder personalizarlo como mencionaremos más adelante.



Algunas veces el gadget viene en inglés, o bien, el texto "Quizás también le interese" no es el que más nos gusta. Así que podemos cambiar ese texto por el que queramos, para ello agregaremos a nuestro código la parte que está en color rojo.
<div class='linkwithin_div'/>

<script>

var linkwithin_site_id = XXXX;

</script>

<script>linkwithin_text=' Entradas relacionadas: '</script>

<script src='http://www.linkwithin.com/widget.js'/>
Ahí podemos cambiar el texto por algún otro, en este caso hará que diga "Entradas relacionadas" en lugar de "Quizás también le interese".


El resto de la personalización la haremos con CSS, así que antes de ]]></b:skin> pegaremos lo siguiente:

/* LinkWithin personalizado

----------------------------------------------- */

.linkwithin_div {

background: #EFF8FB; /* Color de fondo */

padding: 0 10px;

}

.linkwithin_text {

font-size:18px; /* Tamaño del título del gadget */

color:#084B8A; /* Color del título del gadget */

}

a#linkwithin_logolink_0, a#linkwithin_logolink_1, a#linkwithin_logolink_2, a#linkwithin_logolink_3, a#linkwithin_logolink_4, a#linkwithin_logolink_5, a#linkwithin_logolink_6, a#linkwithin_logolink_7, a#linkwithin_logolink_8, a#linkwithin_logolink_9, a#linkwithin_logolink_10, a#linkwithin_logolink_11, a#linkwithin_logolink_12, a#linkwithin_logolink_13, a#linkwithin_logolink_14, a#linkwithin_logolink_15, a#linkwithin_logolink_16, a#linkwithin_logolink_17, a#linkwithin_logolink_18, a#linkwithin_logolink_19, a#linkwithin_logolink_20 {

display:none; /* Con esto quitamos el enlace */

}



.linkwithin_posts {

width: 500px !important; /* Ancho del gadget */

}



.linkwithin_posts a {

border: 0 !important;

padding-right: 10px !important;

}

.linkwithin_posts a:hover {

background: #819FF7 !important; /* Color de fondo al pasar el cursor */

-webkit-border-radius: 10px !important;

-moz-border-radius: 10px;

border-radius: 10px;

}

.linkwithin_img_0 div, div.linkwithin_img_0,

.linkwithin_img_1 div, div.linkwithin_img_1,

.linkwithin_img_2 div, div.linkwithin_img_2,

.linkwithin_img_3 div, div.linkwithin_img_3,

.linkwithin_img_4 div, div.linkwithin_img_4,

.linkwithin_img_5 div, div.linkwithin_img_5,

.linkwithin_img_6 div, div.linkwithin_img_6,

.linkwithin_img_7 div, div.linkwithin_img_7,

.linkwithin_img_8 div, div.linkwithin_img_8,

.linkwithin_img_9 div, div.linkwithin_img_9,

.linkwithin_img_10 div, div.linkwithin_img_10,

.linkwithin_img_11 div, div.linkwithin_img_11,

.linkwithin_img_12 div, div.linkwithin_img_12,

.linkwithin_img_13 div, div.linkwithin_img_13,

.linkwithin_img_14 div, div.linkwithin_img_14,

.linkwithin_img_15 div, div.linkwithin_img_15,

.linkwithin_img_16 div, div.linkwithin_img_16,

.linkwithin_img_17 div, div.linkwithin_img_17,

.linkwithin_img_18 div, div.linkwithin_img_18,

.linkwithin_img_19 div, div.linkwithin_img_19,

.linkwithin_img_20 div, div.linkwithin_img_20 { /* Bordes redondeados */

-webkit-border-radius: 10px !important;

-moz-border-radius: 10px;

border-radius: 10px;

border:0 !important;

}

.linkwithin_title {

color: #0431B4 !important; /* Color de los títulos de las entradas */

font-family: Verdana !important; /* Tipo de fuente de los títulos de las entradas */

font-size: 13px !important; /* Tamaño de los títulos de las entradas */

line-height: 14px !important;

text-align:center;

text-decoration: none;

}



.linkwithin_title:hover {

color: #000 !important; /* Color de los títulos al pasar el cursor */

font-weight: bold !important;

}
En color verde puedes ver a qué corresponde cada área que puedes personalizar, puedes agregar más estilos si lo deseas hasta obtener el diseño visual que más te guste.

El resultado será como este.





Como puedes ver, el resultado puede ser muy diferente al gadget original, y claro, puede adaptarse al diseño de cada plantilla y a los gustos personales de cada quien. De esta forma podrás ofrecerle a tus lectores entradas relacionadas al tema que están leyendo, y permanecerán más tiempo en tu blog.

Gadgets de cuenta regresiva para Londres 2012

Los XXX Juegos Olímpicos están cada vez más cerca y muchos, sobre todo los que gustan del deporte, están esperando con ansias este acontecimiento que se celebra cada cuatro años.


Así que para todos aquellos que quieran estar al pendiente de los juegos, he hecho un gadget de cuenta regresiva para las Olimpiadas de Londres 2012 en tres colores.


Para poner uno de estos tres contadores entra en Diseño | Añadir un gadget | HTML/Javascript y ahí pega el código del contador que más te guste.







<table background="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEyXwCZL4QnTPUnsLJw_Q_zOY_xEBQvRcQrZT5i-LdrPKOhtzKDFoHRWQcg57D2hdZtZ4cJ25jfWzHKtvcr4rtPRnsM6bbD13etUwWjUqLYQPWv7AQFAhnhJ1rSdqqQFSNmQ1Z9yq1sKk/s0/countdown_bg.png"border="0"width="250"height="162"cellpadding="0"><tbody><tr><td><div style="width:145px; height;64px; text-align:center; margin-top:-20px; float:right; font-size:56px;font-family:impact; color:#da0080"><script type="text/javascript">// Cuenta regresiva Londres 2012

// Diseñado por ciudadblogger.com

function renderMessage(dateStr,msg1,msg2,countFrom){var date=new Date(dateStr);var now=new Date();var diff=date.getTime()-now.getTime();var days=Math.floor(diff/(1000*60*60*24))+1;if(days<1){document.write(msg1)}else{if(countFrom)days=countFrom-days;document.write(msg2.replace(/%days%/g,number_format(days)))}}function number_format(num){num=num.toString().replace(/\$|\,/g,'');if(isNaN(num)){num="0"}sign=(num==(num=Math.abs(num)));num=Math.floor(num*100+0.50000000001);num=Math.floor(num/100).toString();for(var i=0;i<Math.floor((num.length-(1+i))/3);i++)num=num.substring(0,num.length-(4*i+3))+','+num.substring(num.length-(4*i+3));return(((sign)?'':'-')+num)}</script><script type="text/javascript">renderMessage("July 27, 2012","00","%days%");</script></div></td></tr></tbody></table>







<table background="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAOeYWPqUiBfv4jbFTxRyDYdklnRgeA8AVxgRByw5gY_ErskdywkfWqS_jMca9_4akEhrYE4ZIYySuV_R126ooQh3Z6c1wLrShyphenhyphenPXl8BLB6w8TrIb62kagmFaEBsESCQOwJU2yKxgdSaY/s0/countdown_bg.png"border="0"width="250"height="162"cellpadding="0"><tbody><tr><td><div style="width:145px; height;64px; text-align:center; margin-top:-20px; float:right; font-size:56px;font-family:impact; color:#009cde"><script type="text/javascript">// Cuenta regresiva Londres 2012

// Diseñado por ciudadblogger.com

function renderMessage(dateStr,msg1,msg2,countFrom){var date=new Date(dateStr);var now=new Date();var diff=date.getTime()-now.getTime();var days=Math.floor(diff/(1000*60*60*24))+1;if(days<1){document.write(msg1)}else{if(countFrom)days=countFrom-days;document.write(msg2.replace(/%days%/g,number_format(days)))}}function number_format(num){num=num.toString().replace(/\$|\,/g,'');if(isNaN(num)){num="0"}sign=(num==(num=Math.abs(num)));num=Math.floor(num*100+0.50000000001);num=Math.floor(num/100).toString();for(var i=0;i<Math.floor((num.length-(1+i))/3);i++)num=num.substring(0,num.length-(4*i+3))+','+num.substring(num.length-(4*i+3));return(((sign)?'':'-')+num)}</script><script type="text/javascript">renderMessage("July 27, 2012","00","%days%");</script></div></td></tr></tbody></table>







<table background="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrbZd8S0JhVpHJhAlqtLGHf1Cs-1JWgEiSxp0xcW7M6FvX5vUK7Q7cds-pTNekbe8QsEW8IUA9d9gDfCc852_Vt7BrXLAAFk894KyUnFaaFWTmsYQ6s1hUwRQRmdTNxgqM9HzjNnxXOm0/s0/countdown_bg.png"border="0"width="250"height="162"cellpadding="0"><tbody><tr><td><div style="width:145px; height;64px; text-align:center; margin-top:-20px; float:right; font-size:56px;font-family:impact; color:#ee8600"><script type="text/javascript">// Cuenta regresiva Londres 2012

// Diseñado por ciudadblogger.com

function renderMessage(dateStr,msg1,msg2,countFrom){var date=new Date(dateStr);var now=new Date();var diff=date.getTime()-now.getTime();var days=Math.floor(diff/(1000*60*60*24))+1;if(days<1){document.write(msg1)}else{if(countFrom)days=countFrom-days;document.write(msg2.replace(/%days%/g,number_format(days)))}}function number_format(num){num=num.toString().replace(/\$|\,/g,'');if(isNaN(num)){num="0"}sign=(num==(num=Math.abs(num)));num=Math.floor(num*100+0.50000000001);num=Math.floor(num/100).toString();for(var i=0;i<Math.floor((num.length-(1+i))/3);i++)num=num.substring(0,num.length-(4*i+3))+','+num.substring(num.length-(4*i+3));return(((sign)?'':'-')+num)}</script><script type="text/javascript">renderMessage("July 27, 2012","00","%days%");</script></div></td></tr></tbody></table>




Y con eso podrás llevarte a tu blog este gadget que contará los días que faltan para los juegos olímpicos. Espero que les gusten :)

lunes, 26 de marzo de 2012

¿Te desapareció el gadget de Seguidores? [Solución]

La mayoría ya sabíamos que desde el 1 de marzo de 2012 Google Friend Connect dejaría de estar accesible para los webmasters, excepto para los usuarios de Blogger.
Lo que nadie sabía es que a raíz de este cambio se iban a venir una serie de problemas relacionados con este servicio, incluyendo el gadget de Seguidores.


A mí como a muchos el gadget de Seguidores nos dejó de aparecer, se veía en blanco, con sólo el título del gadget y nada más.
Muchos pensaron que algo habían modificado y con ello se habían llevado sin querer el gadget, o que había algún script que estaba siendo incompatible. Y como Blogger tiene la mala costumbre de quedarse callado era normal pensar que algo habíamos hecho mal.


En algunas partes decían que sólo nos pasaba a los que usamos dominio propio pero no es así, esto se da a blogs con o sin dominio personalizado. También decían que eliminando cookies y caché se arreglaría pero eso tampoco funciona.


Dante Linares me comentó cómo lo solucionó y he corroborado que en el Foro de Ayuda de Blogger hablan de esta solución, misma que he aplicado y me ha funcionado muy bien.


Lo único que hay que hacer es cambiar el nombre del blog, guardar los cambios, y luego cambiar de nuevo al nombre original que tenías antes. Esto hará que el gadget de Seguidores aparezca otra vez.




Para cambiar el nombre del blog entra en Configuración | Básico. Por ejemplo, si tu blog es Nombre de mi blog cámbialo a Lo que sea
Guarda los cambios, y luego cámbialo de nuevo a Nombre de mi blog y listo, el Gadget de Seguidores estará visible y funcionando nuevamente.


También funciona si se cambia la dirección del blog por otra y luego se regresa a la dirección original.

Últimas entradas por categorías con imagen en miniatura

Algunas veces queremos tener todo muy organizado para que nuestros lectores puedan encontrar con mayor facilidad los temas de su interés, y es ahí cuando en lugar de poner un gadget con las últimas entradas queremos poner sí las últimas entradas pero por categorías, de manera que puedas mostrar las últimas entradas por cada etiqueta que quieras y además mostrar la miniatura de dicho elemento.








Para poner en tu blog este gadget de últimas entradas por categorías realizaremos estos sencillos pasos:

1.- Entra en Diseño | Edición de HTML y antes de ]]></b:skin> pega lo siguiente:

/* Últimas entradas por categorías

--------------------------------- */

img.label_thumb{

float:left;

border:1px solid #8f8f8f; /* Borde de las miniaturas */

margin-right:10px !important;

height:55px; /* Alto de las miniaturas */

width:55px; /* Ancho de las miniaturas */

}

.label_with_thumbs {

float: left;

width: 100%;

min-height: 70px;

margin: 0px 10px 2px 0px;

padding: 0;

}

ul.label_with_thumbs li {

padding:8px 0;

min-height:65px;

margin-bottom:10px;

}

.label_with_thumbs a {}

.label_with_thumbs strong {padding-left:0px;}
2.- Luego antes de </head> pega este script:

<script type='text/javascript'>

//<![CDATA[

function labelthumbs(json){document.write('<ul class="label_with_thumbs">');for(var i=0;i<numposts;i++){var entry=json.feed.entry[i];var posttitle=entry.title.$t;var posturl;if(i==json.feed.entry.length)break;for(var k=0;k<entry.link.length;k++){if(entry.link[k].rel=='replies'&&entry.link[k].type=='text/html'){var commenttext=entry.link[k].title;var commenturl=entry.link[k].href;}

if(entry.link[k].rel=='alternate'){posturl=entry.link[k].href;break;}}var thumburl;try{thumburl=entry.media$thumbnail.url;}catch(error)

{s=entry.content.$t;a=s.indexOf("<img");b=s.indexOf("src=\"",a);c=s.indexOf("\"",b+5);d=s.substr(b+5,c-b-5);if((a!=-1)&&(b!=-1)&&(c!=-1)&&(d!="")){thumburl=d;}else thumburl='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7MsnxAQkNExh2X_JEZLw52ff78eno0qPVFqTXcjlqtlPXqnjjg2Yei-9_a9ycl9ZGeqUbuo0dWq6vj_TefUWfpQwUyjnmbw5TaxNF1ETPzTwkSjPlU3DC4CjIG8GA5xPB7psyS7XF9Tc/';}

var postdate=entry.published.$t;var cdyear=postdate.substring(0,4);var cdmonth=postdate.substring(5,7);var cdday=postdate.substring(8,10);var monthnames=new Array();monthnames[1]="Ene";monthnames[2]="Feb";monthnames[3]="Mar";monthnames[4]="Abr";monthnames[5]="May";monthnames[6]="Jun";monthnames[7]="Jul";monthnames[8]="Ago";monthnames[9]="Sep";monthnames[10]="Oct";monthnames[11]="Nov";monthnames[12]="Dic";document.write('<li class="clearfix">');if(showpostthumbnails==true)

document.write('<a href="'+posturl+'" target ="_top"><img class="label_thumb" src="'+thumburl+'"/></a>');document.write('<strong><a href="'+posturl+'" target ="_top">'+posttitle+'</a></strong><br>');if("content"in entry){var postcontent=entry.content.$t;}

else

if("summary"in entry){var postcontent=entry.summary.$t;}

else var postcontent="";var re=/<\S[^>]*>/g;postcontent=postcontent.replace(re,"");if(showpostsummary==true){if(postcontent.length<numchars){document.write('');document.write(postcontent);document.write('');}

else{document.write('');postcontent=postcontent.substring(0,numchars);var quoteEnd=postcontent.lastIndexOf(" ");postcontent=postcontent.substring(0,quoteEnd);document.write(postcontent+'...');document.write('');}}

var towrite='';var flag=0;document.write('<br>');if(showpostdate==true){towrite=towrite+monthnames[parseInt(cdmonth,10)]+'-'+cdday+' - '+cdyear;flag=1;}

if(showcommentnum==true)

{if(flag==1){towrite=towrite+' | ';}

if(commenttext=='1 Comments')commenttext='1 Comment';if(commenttext=='0 Comments')commenttext='No Comments';commenttext='<a href="'+commenturl+'" target ="_top">'+commenttext+'</a>';towrite=towrite+commenttext;flag=1;;}

if(displaymore==true)

{if(flag==1)towrite=towrite+' | ';towrite=towrite+'<a href="'+posturl+'" class="url" target ="_top">Más »</a>';flag=1;;}

document.write(towrite);document.write('</li>');if(displayseparator==true)

if(i!=(numposts-1))

document.write('');}document.write('</ul>');}

//]]>

</script>


3.- Por último entra en Diseño | Elementos de la página | Añadir un gadget | HTML/Javascript y ahí pega esto:

<script type='text/javascript'>var numposts = 3;var showpostthumbnails = true;var displaymore = false;var displayseparator = true;var showcommentnum = false;var showpostdate = false;var showpostsummary = true;var numchars = 100;</script>

<script type="text/javascript" src="/feeds/posts/default/-/Nombre-de-la-etiqueta?published&alt=json-in-script&callback=labelthumbs"></script>
En donde dice Nombre-de-la-etiqueta va el nombre de la etiqueta que quieres mostrar, tal como es, respetando mayúsculas y minúsculas. En el caso que la etiqueta contenga espacios o acentos lo mejor es que ingreses a la etiqueta y te fijes en la URL que aparece en la barra de direcciones del navegador, al final de la URL vendrá el nombre de la etiqueta tal como debe ponerse, por ejemplo, si tuviera espacios se vería así:
http://Nombre-de-mi-blog.blogspot.com/search/label/Nombre%20etiqueta


También dentro de éste último código hay unas áreas que podemos personalizar, true significa que lo mostrará y false que no lo mostrará.

var numposts ← Número de entradas a mostrar

var showpostthumbnails Mostrar o no las miniaturas

var displaymore Mostrar o no el enlace para leer más

var displayseparator Mostrar o no un separador

var showcommentnum Mostrar o no el número de comentarios

var showpostdate Mostrar o no la fecha de las entradas

var showpostsummary Mostrar o no el resumen de las entradas

var numchars Número de caracteres en los resúmenes


Y en el segundo código hay una URL en color naranja, esa es la imagen que se mostrará cuando la entrada no contenga ninguna imagen, puedes cambiarla por otra imagen si lo deseas.



Recuerda que el gadget muestra las ultimas entradas de una etiqueta en particular, por lo tanto, si quieres mostrar las últimas entradas de otras etiquetas entonces sólo tienes que repetir el paso #3 por cada categoría adicional que quieras agregar.