Tal como explica Gem@

Por último, lo guardamos, descargando la imagen modificada y listo. Más fácil, imposible.

Splush: Un widget para mostrar entradas |
<script type="text/javascript">
var SPLUSH_WTHEME = 'dark';
var SPLUSH_BCOLOR = '000000';
var SPLUSH_LCOLOR = '222222';
var SPLUSH_TCOLOR = 'BBCCDD';
var SPLUSH_ICOLOR = 'AAAAAA';
var SPLUSH_WIDTH = '300';
var SPLUSH_KEY = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
var SPLUSH_DATE = '1';
var SPLUSH_IMAGE = '1';
</script>
<script type="text/javascript" src="http://www.feedasplush.com/js/splush.js"></script>
Galería de imágenes con CSS3 |
<div id="gallery">
<div id="img1">
<img src="URL_imagen_1">
<span>un texto optativo para la imagen 1</span>
</div>
<div id="img2">
<img src="URL_imagen_2">
<span>un texto optativo para la imagen 2</span>
</div>
<div id="img3"> ....... seguimos agregando imágenes ....... </div>
</div>
<style>
/* es el rectángulo de la galería, definimos su tamaño total */
#gallery {
height: 680px;
margin: 20px auto;
position: relative;
width: 650px;
}
/* los rectángulo que contendrán cada una de las imágenes */
#gallery div {
overflow: hidden;
position: absolute;
/* efectos opcionales */
box-shadow: 3px 3px 50px #555;
-moz-box-shadow: 3px 3px 50px #555;
-webkit-box-shadow: 3px 3px 50px #555;
-webkit-transition: all 1500ms linear;
background-color: #444;
opacity: 0.9;
}
/* el efecto hover sobre las imágenes las "endereza" */
#gallery div#img1:hover, #gallery div#img2:hover, #gallery div#img3:hover {
-moz-transform: rotate(0deg);
-webkit-transform: rotate(0deg);
opacity: 1;
z-index: 999;
}
/* los textos optativos */
#gallery span {
background-color: #222;
bottom: 5px;
color: #ABC;
font-size: 15px;
font-weight: bold;
padding: 2px 10px;
position: absolute;
right: 0;
text-align: right;
width: 40%;
}
/* ahora debemos definir la posicion y el giro de cada imagen */
#gallery #img1 {
/* esto rota la imagen una catidad de grados a la izquierda (valores negativos) o hacia la derecha (valores positivos) */
-moz-transform: rotate(-15deg);
-webkit-transform: rotate(-15deg);
/* esta es la posición dentro del rectángulo #gallerty y podemos usar left top right o bottom */
left: 50px;
top: 30px;
/* esto indicará la capa, cuanto más bajo sea el valor, más abajo estará y permite superponerlas */
z-index:1;
}
/* lo mismo hacemos con todas las demás, por ejemplo */
#gallery #img2 {
-moz-transform: rotate(25deg);
-webkit-transform: rotate(25deg);
left:250px;
top: 300px;
z-index:7;
}
#gallery #img3 { ....... }
</style>
Más animales en blanco y negro |
Juegos con JavaScript |
Twitter friends widget para jQuery |
<script type="text/javascript" src="http://twitter-friends-widget.googlecode.com/files/jquery.twitter-friends-1.0.min.js"></script>
<script type="text/javascript">
//<![CDATA[
$(document).ready(function(){
$('#friends').twitterFriends({
username:'NOMBRE_USUARIO'
});
//]]>
</script>
<div id="friends"></div>
$('#friends').twitterFriends({
info:"",
user_animate:'width',
users:50,
user_image:32,
username:'NOMBRE_USUARIO'
});Un poco de CSS permite personalizar el widget:
div.tf-users { /* este es el rectángulo donde se mostrará */
overflow: hidden;
/* podemos establecer su ancho y alto */
}
div.tf-users a { /* las imágenes de los avatares */
display: block;
float: left;
}
div.tf-users img { ....... }
/* cada uno de los tweets */
div.tf-tweet { ....... }
div.tf-tweet li { ....... }
/* el autor */
div.tf-tweet span.tf-avatar { ....... }
div.tf-tweet strong a { ....... }
/* el contenido de los tweets */
div.tf-tweet span.tf-body { ....... }
div.tf-tweet span.tf-content { ....... }
div.tf-tweet span.tf-meta { ....... }
div.tf-tweet span.tf-meta a { ....... }
div.tf-tweet span.tf-meta a:hover { ....... }
div.tf-tweet a.tf-date { ....... }
div.tf-tweet a.tf-source { ....... }
div.tf-tweet a.tf-link { ....... }
div.tf-tweet a.tf-at { ....... }
div.tf-tweet a.tf-hashtag { ....... }
/* información exta */
div.tf-info { ....... }
div.tf-info a { ....... }
To see her: Experimentos en JavaScript |
<style type='text/css'> #screen { background: transparent; height: 100%; left: 0px; position: absolute; top: 0px; width: 100%; } #SP { left: 50%; position: absolute; top: 50%; } #screen span { left: -1000px; overflow: hidden; position: absolute; } #screen img { position: absolute; -ms-interpolation-mode:nearest-neighbor; } </style> <script type="text/javascript" src="URL_script"></script> <div style="height: VALORpx; position: relative;"> <div id="screen"> <div id="SP"></div> </div> <img id="IMG" src="URL_imagen" style="visibility:hidden"> </div>
META X-UA-Compatible: Confuso al extremo |
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
<meta http-equiv='X-UA-Compatible' content='IE=8' />
javascript:alert(document.documentMode);
Agregar un botón flotante |
<div id='imagenFlotante'>
<a href='http://twitter.com/USUARIO'>
<img src='URL_imagen'/>
</a>
</div>
#imagenFlotante {
bottom:10px;
right:0px;
position: fixed;
_position:absolute;
clip:inherit;
_top:expression(document.documentElement.scrollTop+document.documentElement.clientHeight-this.clientHeight);
_right:expression(document.documentElement.scrollLeft+ document.documentElement.clientWidth - offsetWidth);
}
#imagenFlotante a img { border: none; }
#imagenFlotante {
bottom:10px;
right:0px;
position: fixed;
}
#imagenFlotante a img { border: none; }
Gadget para incluir un formulario de contacto |
El elemento Attribution |
<b:widget id='Attribution1' locked='false' title='' type='Attribution'>
<b:includable id='main'>
<div class='widget-content' style='text-align: center;'>
<b:if cond='data:attribution != ""'>
<data:attribution/>
</b:if>
</div>
<b:include name='quickedit'/>
</b:includable>
</b:widget>
Cuatro sitios para generar propiedades CSS3 |
-webkit-gradient(linear, right top, left top, color-stop(0.36, rgb(105,102,186)), color-stop(0.53, rgb(76,73,161)), color-stop(0.76, rgb(47,63,128)))
-moz-linear-gradient(right center, rgb(105,102,186) 36%, rgb(76,73,161) 53%, rgb(47,63,128) 76%)
Nuevas plantillas en Blogger Draft |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!DOCTYPE html PUBLIC "null" "null">
<script> var cualquiera = "<p>HOLA</p>"; </script>
<Group description="Links" selector=".main-outer"> ....... </Group>
<b:variable default='930px' name='content.width' type='length'/> body { min-width: $(content.width); }
Cambiar las entradas de manera dinámica |
<script type='text/javascript'> //<![CDATA[ function redirArchivos(idPOST) { var divVerificar = "post-" + idPOST; var contenido = document.getElementById(divVerificar); if(contenido!=null) { var listaEnlaces = contenido.getElementsByTagName("a"); if(listaEnlaces.length>0){ for(var i=0; i<listaEnlaces.length; ++i) { enlace = listaEnlaces[i].href; // leo los primeros 31 caracteres de cada enlace if(enlace.substring(0,31)=="http://XXXXXXX.googlepages.com/"){ // cambio la dirección y dejo el mismo archivo enlace = "http://www.fileden.com/files/XXXX/XX/X/XXXXXXX/" + enlace.substring(31); // y re-escribo la nueva dirección en el enlace listaEnlaces[i].href = enlace; } } } } } //]]> </script>
<div class='post-body' expr:id='"post-" + data:post.id'> <p><data:post.body/></p> <div style='clear: both;'/> <!-- clear for photos floats --> </div> <script type='text/javascript'>redirArchivos('<data:post.id/>');</script>
<script type='text/javascript'> //<![CDATA[ // ADOSAR &AUTOPLAY A GOEAR function rewriteGOEAR(idPOST) { var divVerificar = "post-" + idPOST; var contenido = document.getElementById(divVerificar); var listaObjetos = contenido.getElementsByTagName("embed"); if(listaObjetos.length>0){ for(var i=0; i<listaObjetos.length; ++i) { url = listaObjetos[i].src; url = url + "&autoplay=0"; listaObjetos[i].src = url; } } } //]]> </script>
<div class='post-body' expr:id='"post-" + data:post.id'> <p><data:post.body/></p> <div style='clear: both;'/> <!-- clear for photos floats --> </div> <script type='text/javascript'>rewriteGOEAR('<data:post.id/>');</script>
El problema de Goear y su reproductor |
<object width="353" height="132"><embed src="http://www.goear.com/files/external.swf?file=357e31b" type="application/x-shockwave-flash" wmode="transparent" quality="high" width="353" height="132"></embed></object>
<script type='text/javascript'> //<![CDATA[ // AGREGAR UN REPRODUCTOR DE GOEAR function GOEAR(id) { var output = "<object height='132' width='353'><embed height='132' width='353' quality='high' wmode='transparent' type='application/x-shockwave-flash' src='http://www.goear.com/files/external.swf?file=" + id + "&autoplay=0'></embed></object>"; document.write (output); } //]]> </script>
<script>GOEAR("357e31b")</script>
Muchos navegadores, todos juntos |
Un script muy pequeño para crear acordeones |
<script type='text/javascript'> //<![CDATA[ var accordion=function(){ var tm=sp=10; function slider(n){this.nm=n; this.arr=[]} slider.prototype.init=function(t,c,k){ var a,h,s,l,i; a=document.getElementById(t); this.sl=k?k:''; h=a.getElementsByTagName('dt'); s=a.getElementsByTagName('dd'); this.l=h.length; for(i=0;i<this.l;i++){var d=h[i]; this.arr[i]=d; d.onclick=new Function(this.nm+'.pro(this)'); if(c==i){d.className=this.sl}} l=s.length; for(i=0;i<l;i++){var d=s[i]; d.mh=d.offsetHeight; if(c!=i){d.style.height=0; d.style.display='none'}} } slider.prototype.pro=function(d){ for(var i=0;i<this.l;i++){ var h=this.arr[i], s=h.nextSibling; s=s.nodeType!=1?s.nextSibling:s; clearInterval(s.tm); if(h==d&&s.style.display=='none'){s.style.display=''; su(s,1); h.className=this.sl} else if(s.style.display==''){su(s,-1); h.className=''} } } function su(c,f){c.tm=setInterval(function(){sl(c,f)},tm)} function sl(c,f){ var h=c.offsetHeight, m=c.mh, d=f==1?m-h:h; c.style.height=h+(Math.ceil(d/sp)*f)+'px'; c.style.opacity=h/m; c.style.filter='alpha(opacity='+h*100/m+')'; if(f==1&&h>=m){clearInterval(c.tm)}else if(f!=1&&h==1){c.style.display='none'; clearInterval(c.tm)} } return{slider:slider} }(); //]]> </script>
<style type='text/css'> #nombreExclusivo { /* es el DIV contenedor */ margin: 0 auto width: 450px; } .accordion { /* propiedades generales de la lista */ color: #9AB; font-family: Arial; font-size: 14px; margin: 0; padding: 0; width: 450px; } .accordion dt { /* es enlace/título que expande y contrae */ background-color: #456; color: #DEF; cursor: pointer; font-size: 22px; padding: 5px; text-align: center; width: 440px; } .accordion dt:hover { /* efecto hover sobre ese enlace */ background-color: #345; } .accordion dd { /* cada elemento oculto */ margin: 0; overflow: hidden; } .accordion span { /* el contenido */ display: block; margin: 0; padding: 10px; width: 430px; } </style>
<div id="nombreExclusivo"> <dl class="accordion" id="nombreInstancia"> <dt>titulo/enlace ejemplo 1</dt> <dd> <span> ... el contendio del ejemplo 1 ... </span> </dd> <dt>titulo/enlace ejemplo 2</dt> <dd> <span> ... el contendio del ejemplo 1 ... </span> </dd> <dt>titulo/enlace ejemplo 3</dt> <dd> <span> ... el contendio del ejemplo 1 ... </span> </dd> </dl> </div>
var miSlider=new accordion.slider('miSlider'); miSlider.init('miID');
var otroSlider=new accordion.slider('otroSlider'); otroSlider.init('otroID',0,'nombreClase');
Si Twitter fuera real |
Posters de objetos retro |
Experimentos con CSS3 |
<style> .oval { background-color: #1E90FF; color: #000; font-family: Comic Sans MS; font-size: 40px; height: 100px; line-height: 100px; margin: 0 auto; text-align: center; width: 200px; -moz-border-radius: 100px / 50px; -moz-transition: all 0.8s linear; -webkit-border-radius: 100px 50px; -webkit-transition: all 0.8s linear; } .oval:hover { -webkit-transform: rotate(720deg); } </style> <div class="oval">¡ Hola !</div>
<style> .blur { color: white; font-family: Helvetica; font-size: 80px; font-weight: bold; height: 100px; letter-spacing: -5px; text-align: center; color: rgba(255,255,255,0.2); text-shadow:0 0 2px rgba(255,255,255,0.2),0 0 4px rgba(255,255,255,0.2),0 0 6px rgba(255,255,255,0.2); -webkit-transition: all 0.2s linear; } .blur:hover { color: rgba(128, 128, 128, 0.2); font-size: 70px; letter-spacing: 5px; opacity: 0.8; } </style> <div class="blur">Fantasmagórico</div>
<style> .grower { background-color:rgba(0, 195, 255, 0.3); border: 1px solid #456; display: block; margin: 5px auto; padding: 2px 5px; text-align: center; width: 200px; -webkit-border-radius: 2px; -moz-transition: all 0.1s ease-in-out; -moz-border-radius: 2px; -webkit-transition: all 0.1s ease-in-out; } .grower:hover { background: #1E90FF; border-color: #FFF; -moz-border-radius: 10px; -moz-box-shadow: 0 0 20px black; -moz-transform: scale(1.2); -webkit-transform: scale(1.2); -webkit-box-shadow: 0 0 20px black; -webkit-border-radius: 10px; } </style> <a href="XXX" class="grower">Un enlace cualquiera</a> <a href="XXX" class="grower">Otro enlace cualquiera</a> <a href="XXX" class="grower">Un último enlace</a>
Autopaginación y las limitaciones de Blogger |
No hay un número mágico, 5 o 6 posts de tamaño mediano son más que suficientes. Si son artículos cortos, podemos hablar de 10 o 12. Claro, todo depende del contenido, los textos no influyen pero con las imágenes o los vídeos hay que tener mucho cuidado. La forma de chequear es cargarlo, razonar y pensar: ¿si fuera de otro, esperaría?
.......
¿Cómo calcular el tamaño? por ejemplo, con la tecla AvPag. Si debemos pulsarla más de 20 veces para llegar al final, yo diría que la página es demasiado larga.
TranslateThis: Un botón en lugar de la barra |
<!-- Begin TranslateThis Button --> <div id="translate-this"><a href="http://translateth.is/" class="translate-this-button">Translate</a></div> <script type="text/javascript" src="http://www.google.com/jsapi"></script> <script type="text/javascript" src="http://x.translateth.is/translate-this.js"></script> <script type="text/javascript">TranslateThis();</script> <!-- End TranslateThis Button -->
<script type="text/javascript">TranslateThis();</script>
<script type="text/javascript"> TranslateThis({ GA : true, scope : 'sidebar-wrapper', fromLang : 'es', ddLangs : [ 'ca', // catalan 'en', // ingles 'fr', // france 'de', // aleman 'it', // italiano 'pt-PT', // portugues ], }); </script>
Dos scripts para generar pop-ups |
<script src='http://www.google.com/jsapi' type='text/javascript'/>
<script type='text/javascript'>
google.load("prototype", "1.6.1.0");
</script>
<script type='text/javascript' src='URL_window.js'>&jt;/script>
<link href='URL_default.css' rel='stylesheet" type='text/css' />
<style type='text/css' >
... y aquí colocamos el contenido del archivo ...
</style>
<script>
win = new Window({className: "dialog", title: "UN EJEMPLO", width:200, height:150, destroyOnClose: true, resizable: true, recenterAuto:false});
win.getContent().update("<h1>MI EJEMPLO</h1>");
win.showCenter();
&jt;/script>
<script type='text/javascript' src='URL_popup-window.js'></script>
<style type='text/css' >
... y aquí colocamos el contenido del archivo CSS ...
</style>
<a href="javascript:void(0);" onclick="popup_show('idDIV', 'idDRAG', 'idEXIT', 'posicion', X, Y, 'idREL');"> CLICK </a>
<!-- el enlace -->
<a href="javascript:void(0);" onclick="popup_show('popupDEMO', 'popupdragDEMO', 'popupexitDEMO', 'screen-center', 0, 0);"> abrir pop-up </a>
<!-- el contenido oculto -->
<div id="popupDEMO" class="sample_popup" style="display: none;">
<div id="popupdragDEMO" class="menu_form_header">
<img id="popupexitDEMO" class="menu_form_exit" src="URL_unaimagen" />
</div>
<div class="menu_form_body">
... el contenido a mostrar ...
</div>
</div>
Buenos Aires
Argentina
Nacido en el tercer mundo. Un santo varón. Buenos Aires. Los elefantes. Las golondrinas de Plaza de Mayo. Me chupo el dedo.
El tiempo es veloz. ¿No ves que ya no somos chiquitos? Despedida de la infancia. Todo es efímero. Juguetes perdidos. Dime quién me lo robó. Aprendizaje.
Soy un hippie. Rutas argentinas. Sobredosis de TV. Raros peinados nuevos. Más de cien mentiras. Delirium tremens.
Ciudad de pobres corazones. El karma de vivir al sur. Mundo de quimeras. Oh Dios, ¿Qué puedo hacer?
Cuando era más joven. Los mayores del mundo. Botas locas. Rejas electrificadas. Cerca de la revolución. Contra todos los males de este mundo. La casa desaparecida. Tumbas de la gloria. Vencedores vencidos. Carguen, apunten, fuego. Estás frito angelito. A lo mejor aún te acuerdas.
Ah, te vi entre las luces. Muchacha. Amor se llama el juego. Juego de seducción. Mi genio amor. Prométeme que nunca me dirás adiós. Pequeñas delicias de la vida conyugal. Toda la vida tiene música hoy. Es hora de levantare, querido (dormiste bien?).
Resumiendo.
Mi sueño de hoy. La sed verdadera. La búsqueda de la estrella. Todos juntos. ¡Ah! Basta de pensar.
Esto es to-to-todo amigos.
CONTRAER ARCHIVOS |
|