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

Múltiples canciones (Playlist) en HTML5


Veremos cómo crear un pequeño reproductor para reproducir múltiples canciones en HTML5, es decir, cómo crear un playlist con el elemento <audio>

Este es un sencillo reproductor de MP3 que permite incluir múltiples canciones con loop de manera que cuando acabe una canción pasará a la siguiente por si sola.

Puedes verlo en funcionamiento aquí mismo, ya sea que des play al reproductor, o selecciones una canción de la lista.
Parece que fuera complejo pero no es así, de hecho el script que usa es muy corto, prácticamente todo es CSS.
Para poner este reproductor de múltiples canciones en tu blog entra en Plantilla | Edición de HTML y antes de </body> agrega lo siguiente:

<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js' type='text/javascript'/>
<script>
//<![CDATA[
var audio;var playlist;var tracks;var current;initaudio();function initaudio(){current=0;audio=$('audio');playlist=$('#playlist');tracks=playlist.find('li a');len=tracks.length-1;audio[0].volume=1;playlist.find('a').click(function(e){e.preventDefault();link=$(this);current=link.parent().index();runaudio(link,audio[0])});audio[0].addEventListener('ended',function(e){current++;if(current>len){current=0;link=playlist.find('a')[0]}else{link=playlist.find('a')[current]}runaudio($(link),audio[0])})}function runaudio(link,player){player.src=link.attr('href');par=link.parent();par.addClass('active').siblings().removeClass('active');audio[0].load();audio[0].play()}
//]]>
</script>

Si ya tuvieras jQuery en tu plantilla entonces omite la primera línea.

Luego, ahí mismo en la Edición HTML busca la etiqueta ]]></b:skin> y antes de ella pega los estilos:

#playlist, #player {
width: 400px; /* Ancho de todo el contenedor */
padding: 20px;
margin: 0 auto;
display: block;
text-align: center;
}
#player {
/* Imagen de fondo del primer contenedor */
background: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDZgShgKM44R2OY91lLVdWxncwcCuR0N7G51UwzVl6YTsSp1PEYQ_3vLsCGg9-Wq9II1VMxFpe_eL_6uXBKk9176u5wh1epdjB4wx7JplJyieEURKK6tXV6KBuOZ6ZF46xpA4KM4Jgm-Q/s300/bg.png);
padding: 10px 20px;
border-top-left-radius: 10px;
border-top-right-radius: 10px;
}
audio {
width:300px; /* Ancho del reproductor */
margin:0 auto;
display: inline-block
}
#player:after {
/* Imagen animada */
content: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgO7iH1_H1y7a7JvIgBVTgkBLu_jzTUKSbaCfWFdiGRvNB_W1VXhXtqhhGOgfbyzX1-9yIFIamgLbUzkNw6-jB8bbwMr6YgpJq-rs-8S0hs6OFaOo5h94s5GDs3No67sI87KeSRS3Rp1hY/s75/equalizador.gif);
padding-left: 10px;
}
#playlist {
margin: 0 auto 20px auto;
display: block;
background: #424242; /* Fondo del segundo contenedor */
border-top: 5px solid #9F111B;
border-bottom-left-radius: 10px;
border-bottom-right-radius: 10px;
text-align: left;
font-size: 12px; /* Estilos de fuente */
font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif;
font-weight: normal;
}
#playlist li, #playlist ul li {
background-image: none;
list-style-type: none;
padding: 0;
margin: 0;
}
#playlist li a {
color: #CCC; /* Color de las canciones */
background: #222; /* Fondo de las canciones */
padding: 7px 5px;
display: block;
padding-left: 10px;
text-decoration: none;
}
#playlist li a:hover{
background: #9F111B; /* Color de fondo al pasar el cursor */
text-decoration: none;
}
#playlist .active a {
color: #B11623; /* Color de la canción activa */
font-style: italic;
text-decoration: none;
}
#playlist .active a:before {
content: "\25B6";
color: #CCC;
font-style: normal;
padding-right: 8px;
}
#playlist .active a:hover {
color: #222; /* Color de la canción activa al pasar el cursor */

}


Por último, en un gadget HTML/Javascript o en una entrada de tu blog agrega la estructura:

<div id='player'>
<audio controls='' id='audio' preload='auto' tabindex='0' type='audio/mpeg'>
<source src='URL de la primera canción' type='audio/mp3'/>
</audio>
</div>
<ul id='playlist'>
<li class='active'><a href='URL de la primera canción'>Nombre de la primera canción</a></li>
<li><a href='URL de la segunda canción'>Nombre de la segunda canción</a></li>
<li><a href='URL de la tercera canción'>Nombre de la tercera canción</a></li>
</ul>

Ahí deberás poner las URLs de tus canciones donde se señala en color azul. Nota que la URL de la primera canción se agrega dos veces, una dentro del reproductor y otra dentro de la lista de reproducción. Todas las URLs de tus canciones deberán ser en formato MP3. 
En color rojo agrega los nombres de las canciones.

Si quieres personalizarlo puedes hacerlo siguiendo las anotaciones que está en color verde, ahí verás dónde se cambian los tamaños, colores, fondos, etc.

La imagen del ecualizador es un GIF animado, puedes eliminarlo si crees que es muy llamativo, o puedes sustituirlo por el logotipo de tu blog o cualquier otra imagen.

Para añadir más canciones sólo agrega antes del </ul> una línea como esta por cada canción extra que quieras añadir al reproductor: 

<li><a href='URL de la otra canción'>Nombre de la otra canción</a></li

Fuente | CiudadBlogger

WebApps para Android (Add to home Screen)



Google nos sorprende con una nueva actualización de su navegador web Chrome para Android. La recientemente lanzada versión (32) de Google Chrome, incorpora una característica muy reclamada durante muchos años por los desarrolladores y diseñadores web: La opción “Agregar a Pantalla Principal” más recientemente llamada "Instalar Aplicación Web" con Android Instant Apps.

Si bien Chrome para Android tuvo desde sus inicios esta característica, la misma no sacaba partido por sobre la clásica opción de agregar un acceso directo a una web en cualquier escritorio o pantalla de inicio de un dispositivo.

Por otra parte iOS, como bien contamos en el inicio de la nota mencionada, mantuvo por siempre la característica de poder agregar a la pantalla de inicio un sitio web, cuya estructura HTML cumpliera un cierto estándar marcado por Apple, de manera tal que dicha WebApp se instale y luzca como una aplicación nativa en los dispositivos móviles.

La voz del desarrollador

Por fin, luego de tantos años, Google se preocupó por escuchar y hacerle caso a sus principales feligreses, quienes verdaderamente construyen un sinfín de herramientas y utilidades diarias, alrededor de los navegadores más populares con la tecnología más usada en el momento.

Así es como, a partir de la versión 31 Beta de Chrome, comenzó el cambio hacia el ecosistema que permite instalar un sitio web con características específicas incluidas como declaraciones en sus etiquetas <Meta>, que permiten convertir a este en una App más dentro de nuestros dispositivos móviles. Google bautizó esta característica como (full-screen App mode).

Lo que básicamente ocurre en Android, al igual que lo hacemos en Safari para iOS, es crear un acceso directo a nuestra WebApp en la pantalla y que esta se vea al inicializarla como una aplicación nativa dentro del dispositivo.

Manteniendo la compatibilidad

Muchos desarrolladores optaron por plasmar esta característica específica dentro de sus sitios web, y que estos se integren al escritorio de iOS como una aplicación nativa. Google por su parte, implementó algunos estándares basados en las etiquetas , y a su vez creó compatibilidad con las etiquetas de Apple para que un desarrollador/diseñador web no deba intervenir sus trabajos uno por uno.

Condimentos para la compatibilidad de una web

Hagamos un repaso de lo que Google nos ofrece para poder instalar en la pantalla de inicio un sitio web, de manera óptima dentro del sistema operativo Android.

WebApp Capable

Dentro de la página principal de la web, debemos incluir la siguiente característica que permite compatibilizar la misma con el escritorio de Android, integrándose y ejecutándose en modo (full-screen webapp).

Bajo el Código <head> pegamos

<meta name="mobile-web-app-capable" content="yes">

Si estudiamos esta misma característica dentro del tag utilizado en iOS, encontramos que sólo cambia su nombre, anteponiendo la palabra (Apple).

Definir el nombre de la webApp

Chrome no implementa dentro de su estándar una etiqueta que permita definir el nombre con el que se creará el acceso directo a la aplicación. Por defecto tomará el título impuesto en la página a través de la correspondiente etiqueta.

Apple, por su parte, sí definió una etiqueta específica en la cual podemos definir el nombre que llevará la aplicación (apple-mobile-web-app-title). Al momento de implementar esta solución en Chrome, debemos tener cuidado en el nombre seleccionado para identificar la página web, ya que debe ser corto.

Si bien algunos íconos dentro del menú de aplicaciones de Chrome poseen su nombre separado en dos renglones, aquellos que se sitúan en la pantalla inicial del sistema operativo se ven limitados entre 12 y 14 caracteres en aquellos smartphones que no poseen soporte hdpi.

ShortCut Icon

Para identificar la webApp en la pantalla de Android, necesitamos también un ícono que la identifique, el cual será visualizado en esta. En base a la compatibilidad con los tags de Apple, son soportados los tags (apple-touch-icon) y (apple-touch-icon-precomposed), pero al igual que lo explicado en el Tag (web-cappable), Google recomienda adoptar el tag (shortcut icon), definiendo la imagen en un tamaño de 196×196 píxeles.

El tamaño mencionado es soportado por múltiples resoluciones, aunque de no implementarlo, Chrome usará por defecto el tag (apple-touch-icon) de 128×128 píxeles, propio de iOS. Si optamos por no agregar un ícono específico para esta resolución, y tampoco utilizamos el tag de iOS, entonces Chrome definirá por defecto utilizar el clásico (favicon).

El codigo bajo la etiqueta <head> iria algo así.

<meta name="mobile-web-app-capable" content="yes"/>
<link rel="shortcut icon" sizes="196x196" href="URL del Icono"/>

Con estos sencillos pasos, podemos agregar una WebApp a la pantalla de nuestro equipo, y que luzca realmente como una Aplicación instalada.
Con estos sencillos pasos, podemos agregar una WebApp a la pantalla de nuestro equipo, y que luzca realmente como una Aplicación instalada.

Ventajas y desventajas de esta característica

A pesar del gran salto que dio Android, y de la antigüedad de esta característica en iOS, podemos encontrar algunas diferencias notorias entre las plataformas mencionadas. Por ejemplo en iOS, cuando cargamos una WebApp, y pasamos a utilizar otras aplicaciones, y luego retornamos a la webApp, notaremos que la misma vuelve a cargarse desde la página inicial.

En Android, esto no pasa. La WebApp mantiene su estado, volviendo a verse en la página hasta donde habíamos navegado. En este Aspecto, Android demuestra un sistema verdaderamente multitarea respecto a iOS.

Por su parte, iOS nos brinda la característica de poder incluir una Splash Screen, que termine de mostrar nuestra WebApp como una App nativa. Android por el momento no soporta esta característica, como tampoco permite especificar un título para la WebApp mediante un Tag específico.

iOS, al navegar dentro de las aplicaciones abiertas, muestra nuestra WebApp con el nombre especificado en el tag (apple-mobile-web-app-title), mientras que Android sólo muestra “Web App” o “Aplicación web” como nombre. Tampoco visualiza la misma con el ícono correspondiente, sino con el ícono de Chrome, acompañado de la flecha propia de un acceso directo.

La WebApp ya luce como una aplicación nativa, aunque al visualizar las Apps abiertas en Android, esta lucirá como un acceso directo de Chrome con el nombre "Aplicación Web".
La WebApp ya luce como una aplicación nativa, aunque al visualizar las Apps abiertas en Android, esta lucirá como un acceso directo de Chrome con el nombre “Aplicación Web”.
Android incorporó una característica para cuando una WebApp nos lleva hacia otra dirección web, distinta a su URL, esta será mostrada en el extremo superior de la pantalla de Android. iOS no tiene disponible esta característica por lo tanto, si salimos de la WebApp hacia otra URL, nunca nos enteraremos.

Otra ventaja de las WebApps en Android es que mantienen un registro de las páginas navegadas, por lo tanto, el botón Atrás de Android nos permitirá retornar hacia el inicio de la WebApp. iOS no posee esta característica, a menos que agreguemos los botones pertinentes dentro de la WebApp correspondiente.

El problema surge cuando navegamos la Web a través del navegador Safari. El tener un botón para navegar hacia atrás/adelante, duplicaría los botones que permiten lograr esta acción, ya que la barra de herramientas de Safari cuenta con estos botones.

Cuando salimos de nuestra WebApp hacia un link externo, Google para Android visualizará en el extremo superior la URL hacia la cual ha navegado, por una cuestión de seguridad y privacidad del usuario.
Cuando salimos de nuestra WebApp hacia un link externo, Google para Android visualizará en el extremo superior la URL hacia la cual ha navegado, por una cuestión de seguridad y privacidad del usuario.

Conclusión

Si bien Android no ha incorporado una batería de novedades dentro de la opción “Agregar a Pantalla Ppal”, al menos ha dado un gran paso, respetando las necesidades de los desarrolladores web. Este reclamo se mantuvo con los años porque, a pesar de existir Google Play y su ecosistema de comercialización de Apps para móviles, Google mantiene una filosofía importante del lado de Chrome Desktop, promoviendo el desarrollo de WebApps y no de aplicaciones nativas.

Las WebApps benefician a Chrome tanto en los escritorios Windows, Linux, Mac, como también a las novedosas Chromebooks, un estilo de computadora que viene imponiéndose desde hace algunos años. Esperemos que Google siga potenciando a Android y Chrome con mayores características pensadas exclusivamente para los desarrolladores y diseñadores web.

Fuente | DonWeb News

Quizás te interese: Soporte de Color Desde Chrome 39 en Android

Personalizar los links Entradas antiguas, Entradas mas recientes



Los links del pie de navegación, o sea, esos que dicen Entradas antiguas - Entradas más recientes son de mucha utilidad para el lector pues facilita la navegación dentro del blog, sin embargo no siempre se ven muy atractivos, así que podemos personalizarlos para poner otro texto o sustituirlos con algún ícono.

Entra a Plantilla | Edición de HTML, y busca esto:

<b:if cond='data:newerPageUrl'>
<span id='blog-pager-newer-link'>
<a class='blog-pager-newer-link' expr:href='data:newerPageUrl + &quot;?max-results&quot; ' expr:id='data:widget.instanceId + &quot;_blog-pager-newer-link&quot;' expr:title='data:newerPageTitle'><data:newerPageTitle/></a>
</span>
</b:if>

La parte que está en color rojo es la que muestra el texto Entradas más recientes, puedes eliminarlo y poner cualquier otro texto, o bien, cambiarlo por una imagen, sólo tendrías que sustituir lo que está en rojo por esto:

<img src='URL de la imagen'/>

Ahora buscamos un poco más abajo y encontramos este código:

<b:if cond='data:olderPageUrl'>
<span id='blog-pager-older-link'>
<a class='blog-pager-older-link' expr:href='data:olderPageUrl' expr:id='data:widget.instanceId + "_blog-pager-older-link"' expr:title='data:olderPageTitle'><data:olderPageTitle/></a>
</span>
</b:if>

Este es el que muestra el link de Entradas antiguas. Haremos lo mismo que en el anterior cambiando lo que está en color rojo.

Y por último encontramos abajo este código:

<b:if cond='data:blog.homepageUrl != data:blog.url'>
<a class='home-link' expr:href='data:blog.homepageUrl'><data:homeMsg/></a>
<b:else/>
<b:if cond='data:newerPageUrl'>
<a class='home-link' expr:href='data:blog.homepageUrl'><data:homeMsg/></a>
</b:if>
</b:if>

Este es el que muestra el texto Página principal, igual se cambia lo que está en rojo por otro texto o imagen.

Fuente | CiudadBlogger

Como poner la barra de carga de Youtube en Blogger



Si somos observadores cada vez que entramos a YouTube, vemos una barra de progreso de carga roja ,en la parte superior de la página de izquierda a derecha. Para mi esta super bien.



Y te preguntas ...?... ¿Esto seria posible ponerlo en mi blogs de Blogger?...la respuesta es por supuesto que sí.

Es un javascript para progreso de barra igual que YouTube y bueno no requiere de jquery  con tamaño muy pequeño , así que no te preocupes que no sobre cargara tu blogs de blogger. Mas bien dará un aspecto muy elegante a tu blog.

Ahora vamos a ponerlo en nuestro blogs a continuación: Solamente vas a hacer un paso...

Coloca este codigo por Encima de la etiqueta :  </body>

<script type='text/javascript'>
//<![CDATA[
var Nanobar=function(){var c,d,e,f,g,h,k={width:"100%",height:"2px",zIndex:9999,top:"0"},l={width:0,height:"100%",clear:"both",transition:"height .3s"};c=function(a,b){for(var c in b)a.style[c]=b[c];a.style["float"]="left"};f=function(){var a=this,b=this.width-this.here;0.1>b&&-0.1<b?(g.call(this,this.here),this.moving=!1,100==this.width&&(this.el.style.height=0,setTimeout(function(){a.cont.el.removeChild(a.el)},100))):(g.call(this,this.width-b/4),setTimeout(function(){a.go()},16))};g=function(a){this.width=
a;this.el.style.width=this.width+"%"};h=function(){var a=new d(this);this.bars.unshift(a)};d=function(a){this.el=document.createElement("div");this.el.style.backgroundColor=a.opts.bg;this.here=this.width=0;this.moving=!1;this.cont=a;c(this.el,l);a.el.appendChild(this.el)};d.prototype.go=function(a){a?(this.here=a,this.moving||(this.moving=!0,f.call(this))):this.moving&&f.call(this)};e=function(a){a=this.opts=a||{};var b;a.bg=a.bg||"#db3131";this.bars=[];b=this.el=document.createElement("div");c(this.el,
k);a.id&&(b.id=a.id);b.style.position=a.target?"relative":"fixed";a.target?a.target.insertBefore(b,a.target.firstChild):document.getElementsByTagName("body")[0].appendChild(b);h.call(this)};e.prototype.go=function(a){this.bars[0].go(a);100==a&&h.call(this)};return e}();
var nanobar = new Nanobar();nanobar.go(30);nanobar.go(60);nanobar.go(100);
//]]>
</script>

Ahora si deseas cambiarlo el grosor de la barra de progreso :

height:"2px"

Si deseas cambiar el color rojo por otro busca este código :

a.bg=a.bg| | "#db3131"

Osea cambialo esto  : #db3131  por otro color que deseas ponerlo.

Fuente | DanyDanielRT

Cambiar o eliminar "Suscribirse a: Entradas (Atom)"




Suscribirse a: Entradas (Atom) es un link para que tus lectores puedan suscribirse a tus post y estén actualizados con el contenido de tu blog a través del feed del sitio. En el pasado sólo desde ahí podían realizarse dichas suscripciones, pero con el tiempo y la creación de nuevas plantillas esta suscripción se hizo más dinámica con íconos, imágenes, links, botones y formularios. Así que el Suscribirse a: Entradas (Atom) se volvió un tanto obsoleto en cuanto a diseño se refiere, es por eso veremos hoy cómo eliminarlo, cambiarlo o decorarlo.

Primero que nada que hay que localizar el código que contiene este link de suscripción; entra a Plantilla | Edición de HTML y busca esto:

<b:includable id='feedLinksBody' var='links'>
<div class='feed-links'>
<data:feedLinksMsg/>
<b:loop values='data:links' var='f'>
<a class='feed-link' expr:href='data:f.url' expr:type='data:f.mimeType' target='_blank'><data:f.name/> (<data:f.feedType/>)</a>
</b:loop>
</div>
</b:includable>

Si quieres ocultar toda la frase entonces elimina todo lo que está subrayado de amarillo.
Si quieres cambiar el texto de "Suscribirse a:" sustituye <data:feedLinksMsg/> por el texto que desees.
Si quieres cambiar la palabra "Entradas" remplaza <data:f.name/> por otro texto.
Si quieres cambiar el "(Atom)" cambia (<data:f.feedType/>) por otro texto o elimínalo.
Si quieres anteponer un ícono de feed pon esto: <img src='URL del icono'/> antes de <data:feedLinksMsg/>

Con estos sencillos cambios tendrás un enlace de suscripción más personalizado.

Fuente | CiudadBlogger

Dividir el Header o Cabecera del Blog

Este es un espacio que queda desperdiciado cuando nuestro logo es pequeño o no usa el total de la cabecera. Luego de este tutorial ustedes dispondrán de ese "hueco" para poner un menú, una imagen, botones de redes sociales, un simple texto, un bloque de anuncios o lo que ustedes deseen.

Para logra esto debemos seguir apenas un par de pasos que os dejare a continuación.

Vamos a Diseño | Edición de HTML y buscamos <header>. Debemos borrar desde <header> hasta </header>, el cual se encuentra unas lineas mas abajo.

En su lugar pegamos el siguiente código:

<header>
    <div class='header-outer'>
    <div class='header-cap-top cap-top'>
    <div class='cap-left'/>
      <div class='cap-right'/>
    </div>
      <div class='fauxborder-left header-fauxborder-left' style='float:left; width: 45%;'>
    <div class='region-inner header-inner'>
      <b:section class='header' id='header' maxwidgets='1' showaddelement='no'>
        <b:widget id='Header1' locked='true' title='La Pen-Drive de Tony (Cabecera)' type='Header'></b:widget>
      </b:section>
    </div>
    </div>
      <div class='fauxborder-right header-fauxborder-right' style='float:right; width: 53%;'>
<b:section class='banner' id='banner' maxwidgets='1' showaddelement='no'>
  <b:widget id='HTML188' locked='false' title='' type='HTML'></b:widget>
</b:section>
</div>
    <div class='header-cap-bottom cap-bottom'>
      <div class='cap-left'/>
      <div class='cap-right'/>
    </div>
    </div>
    </header>
<div style='clear: both'/>
    <div class='cosaspablogger' style='width: 98%; margin: 10px 3px;'>
      <b:section class='banner2' id='banner2' maxwidgets='1' showaddelement='no'>
        <b:widget id='HTML189' locked='false' title='' type='HTML'></b:widget>
      </b:section>
    </div>
    <div style='clear: both'/>

Nota: No se preocupen por el nombre de la cabecera, este se cambiara solo.

Ahora agregaremos el estilo. 

Para ello buscaremos lo siguiente: ]]></b:skin> y justo ANTES pegaremos este codigo: 

/* css Header dividido */
.header-inner{
float: left; width: 50%;
margin: 6px;
}

.header-fauxborder-right{
float: right;
width: 46%; height: auto;
margin: 6px 6px;
}

.cosaspablogger{
margin: 10px 3px 5px 3px;
}


/* FIN css Header dividido */

Guardamos y vamos a Diseño en nuestro escritorio blogger y comprobamos que en lugar del header que ocupaba todo el ancho de la plantilla hay un espacio para agregar otro gadget. 

Para ajustar el ancho de el header y del otro widget debemos tener en cuenta lo siguiente:


<div class='fauxborder-left header-fauxborder-left' style='float:left; width: 45%;'>

<div class='fauxborder-right header-fauxborder-right' style='float:right; width: 53%;'>



Los valores en Amarillo corresponden al ancho de los espacios que generamos. Tengan en cuenta mantenerlos en menos de 97% o 98% en la suma total para no superponerlos. 

Fuente | Blog de Cosas Pa´ Blogger

Poner el título de la entrada antes del nombre del blog en los resultados de los buscadores para aumentar el tráfico desde los buscadores



En los resultados de las búsquedas de Google, los blogs de Blogger muestran por defecto el nombre del blog antes del título de cada entrada. Según Google, el título es uno de los aspectos más importantes que hacen un usuario haga click en un determinado resultado de búsqueda.

Así que es recomendable invertir este orden para que se visualice mejor en los buscadores y obtengamos más visitas desde la página de resultados de los buscadores.

Para llevar a cabo esta pequeño cambio solo visible en los resultados de los buscadores; vamos al menú de plantillas y editamos el código fuente de nuestra plantilla (edición HTML). Buscamos, entre el código de nuestro sitio, la siguiente línea:

<title><data:blog.pageTitle/></title>

y la reemplazamos totalmente por este:

<b:if cond='data:blog.pageType == "item"'> <title><data:blog.pageName/> | <data:blog.title/></title><b:else/> <title><data:blog.pageTitle/></title></b:if>

Ha sido sencillo, ¿no?

Fuente | ExprimiBlog