Me encanta el logo que han puesto en Google para celebrar Halloween.
¿No es precioso?...
[+/-] |
Halloween en Google |
Me encanta el logo que han puesto en Google para celebrar Halloween.
Publicado por Anónimo a las 0:54 h. Etiquetas: Buscadores, Cosas mias
[+/-] |
Recuperar la papelera de comentarios |
Me han llegado estos últimos días varios email donde me comentaban la "desaparición" del icono de edición de comentarios, es decir, la papelera gris que aparece al lado de la fecha de cada comentario y que permite al administrador del blog eliminar aquellos comentarios que considere oportuno.
En todos los casos que me han llegado, la papelera había desaparecido sin motivo aparente, es decir, sin hacer ningún cambio en la plantilla que pudiera afectar esa parte.
Revisando el tema, me he dado cuenta que en mis plantillas "antiguas" (la del Escaparate, por ejemplo) el código que hace posible que se muestre la papelera, es distinto al código en mis blogs de pruebas, por lo que pienso que Blogger ha cambiado el mismo para las nuevas plantillas.
En las plantillas "antiguas" el código que corresponde a dicho icono se ve así:
<b:includable id='commentDeleteIcon' var='comment'>
<span expr:class='"item-control " + data:comment.adminClass'>
<a expr:href='data:comment.deleteUrl' expr:title='data:top.deleteCommentMsg'>
<span class='delete-comment-icon'> </span>
</a>
</span>
</b:includable>
Fijaos en esta línea del código:
<span class='delete-comment-icon'> </span>
Esta línea es la que ahora ha cambiado y ha sido sustituida por el enlace directo a la imagen del icono:
<img src='http://www.blogger.com/img/icon_delete13.gif'/>
En todos los casos que me han llegado con este problema, se ha solucionado de esta manera, o sea, cambiando dentro de este código la línea "antigua" por la nueva.
No es seguro que funcione en todos los casos, pero por probar...
Actualización:
He estado mirando otra forma de intentar la recuperación de la papelera, dado que parece ser que el "truco" anterior no funciona en todos los casos.
Nos situamos en el panel -edición html y justo antes de </head> añadimos estas líneas de css:
.delete-comment-icon{ /* makes an 18x18 box */
background: transparent url(//www.blogger.com/img/icon_delete13.gif) no-repeat right center;
padding: 12px;
margin: 0;
}
<style type='text/css'>
.delete-comment-icon{ /* makes an 18x18 box */
background: transparent url(http://www.blogger.com/img/icon_delete13.gif) no-repeat right center;
padding: 12px;
margin: 0;
}
</style>
Con esto debería ser suficiente para volver a tener nuestro "bote de basura" en el blog, esperemos que de resultado en todos los casos...
Publicado por Anónimo a las 0:20 h. Etiquetas: Blogger, Comentarios
[+/-] |
Entradas expandibles con footer incluido |
Publicado por Anónimo a las 3:39 h. Etiquetas: Entradas, Plantillas
[+/-] |
Buscador original |
Un lector del Escaparate me ha mandado al email el código necesario para colocar un buscador en el blog, que además de eficiente es muy original en su diseño.
[1] Este es el código que colocaremos en un nuevo elemento HTML (Gadget) en nuestra sidebar:
<form action="/search" style="display:inline;" method="get">
<input id="s" onfocus="this.value=''" value="Texto a buscar" class="formsuch" name="q" size="17" type="text"/>
<input alt="Buscar" src="http://img142.imageshack.us/img142/7/searchiconry7.png" class="searchicon" value="Search" name="submit" type="image"/>
</form>
.searchicon:focus {
background-color: white;
color : black;
outline : none; }
input:focus {
background-color: #FFFFCC;
color : black;
outline : none; }
legend {
padding: 0.5em 0.5em 0 0.5em;
font: 30px Georgia,Verdana,sans-serif;}
input {
border : 1px solid black;
padding: 4px;
outline : none; }
.searchicon {
margin-left : -26px;
margin-bottom : -29px;
border : 0;}
Publicado por Anónimo a las 5:19 h. Etiquetas: Buscadores
[+/-] |
Peludo se ha perdido |
[+/-] |
Títulos de entradas por etiqueta + Feeds |
Hace algún tiempo veíamos la forma de colocar en nuestro blog un widget para las etiquetas que ofrecía la posibilidad de suscribirse a una etiqueta determinada.
Por otro lado, hace unos días os explicaba la forma de añadir un widget para las etiquetas que mostraba los títulos de las entradas contenidos en cada etiqueta.
<b:widget id='Label12' locked='false' title='Etiquetas' type='Label'>
<b:includable id='main'>
<script type='text/javascript'>
home_page = "http://TU_BLOG.blogspot.com/";
max_rc_posts = 10;
</script>
<script src='URL_DEL_SCRIPT' type='text/javascript'/>
<b:if cond='data:title'>
<h2><data:title/></h2>
</b:if>
<div class='widget-content'>
<ul>
<b:loop values='data:labels' var='label'>
<li>
<a expr:href='data:post.url + "/feeds/posts/default/-/" + data:label.name'><img src='http://3.bp.blogspot.com/_8PJ-pgoBhWQ/SP9USfdc9aI/AAAAAAAAEgk/LKHLLAOgJ68/s320-R/16-rss-square.png'/></a>
<b:if cond='data:blog.url == data:label.url'>
<span expr:dir='data:blog.languageDirection'>
<data:label.name/> <span dir='ltr'>(<data:label.count/>)</span> <a expr:onclick='"showPostLabel(\"" + data:label.name + "\",event)"' href='javascript:void(0)'>►</a>
</span>
<b:else/>
<a expr:dir='data:blog.languageDirection' expr:href='data:label.url'><data:label.name/></a>
<span dir='ltr'>(<data:label.count/>)</span> <a expr:onclick='"showPostLabel(\"" + data:label.name + "\",event)"' href='javascript:void(0)'>►</a>
</b:if>
</li>
</b:loop>
</ul>
</div>
</b:includable>
</b:widget>
[+/-] |
Boton de "Vista previa" en el formulario de comentarios |
Ayer mismo nos sorprendíamos con la aparición en nuestro formulario de comentarios del tan esperado botón de "vista previa" y, aunque el botón estaba allí en todos los blogs, para nuestro disgusto no servía para nada, o sea, no funcionaba.
Publicado por Anónimo a las 1:06 h. Etiquetas: Blogger, Comentarios
[+/-] |
Seguidores en Blogger ya disponible |
Hace un tiempo que habíamos visto la posibilidad de añadir un nuevo widget o gadget en nuestro blog llamado "Seguidores" y aunque aún no estaba operativo se hablaba mucho de el, sobre todo en algunos blogs de habla no-hispana, donde al parecer si estaba funcionando.
Hace un rato me he dado cuenta de que el widget ya no aparece en forma "experimental" sino que ya puede ser añadido a nuestro blog desde Diseño -> Añadir un gadget sin problemas aparentes.
[+/-] |
Imagenes a tamaño "real" en Blogger |
Si subimos las imágenes de nuestras entradas mediante el editor de Blogger, ya sabemos que el tamaño máximo permitido es de 400 pixeles tanto en el ancho de las imágenes horizontales como en el alto de las imágenes verticales.
Esta limitación es debida a que el editor de Blogger trabaja suponiendo que se está usando una de sus plantillas, donde el ancho del main (cuerpo de entradas) no supera los 470 pixeles de anchura.
Muchos de nosotros usamos plantillas modificadas en las que, el ancho de entradas sobrepasa fácilmente los 470 px por lo que, las imágenes subidas desde el editor se nos quedan pequeñas.
Es sencillo el conseguir que esta limitación no nos impida mostrar en el blog las imágenes a su tamaño real teniendo en cuenta, por supuesto, no incluir imágenes mayores que el ancho de nuestras entradas o estas se verán cortadas.
[1] Accedemos a nuestro panel de Blogger desde Blogger in Draft.
[2] Nos situamos en nuestro editor de entradas y subimos la imagen escogida.
[3] Una vez subida la imagen, en la pestaña "Edición de HTML" del editor podemos ver el código que se ha generado para ella:
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/_8PJ-pgoBhWQ/SP42cEckHSI/AAAAAAAAEfs/pJ6bDEJM7wg/s1600-h/Casa-de-madera-imagenes.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/_8PJ-pgoBhWQ/SP42cEckHSI/AAAAAAAAEfs/luwJRwJ9uUs/s320-R/Casa-de-madera-imagenes.jpg" /></a></div>
[4] Dentro de ese código cambiamos s320-R por s00-R y ya tendremos la imagen a su tamaño real.
Sucede entonces que, una vez publicada la entrada, al pinchar sobre la imagen esta se abrirá como sucede habitualmente en una nueva página a su tamaño real.
Ya que el tamaño de las dos imágenes será entonces igual, podríamos prescindir de usar el enlace que muestra la segunda imagen al pinchar sobre la publicada en el post, para ello eliminamos del código lo que está en color rojo:
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/_8PJ-pgoBhWQ/SP42cEckHSI/AAAAAAAAEfs/pJ6bDEJM7wg/s1600-h/Casa-de-madera-imagenes.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/_8PJ-pgoBhWQ/SP42cEckHSI/AAAAAAAAEfs/luwJRwJ9uUs/s320-R/Casa-de-madera-imagenes.jpg" /></a></div>
Publicado por Anónimo a las 0:24 h. Etiquetas: Blogger, Trucos imagenes
[+/-] |
Titulo optimizado en Blogger |
Sois bastantes los que me habéis preguntado la forma de conseguir que en la barra del navegador aparezca el título del artículo antes que el del blog, tal como sucede en El Escaparate.
Publicado por Anónimo a las 0:13 h. Etiquetas: Datos utiles, Posicionamiento
[+/-] |
Botones para el enlace "sigueme en Twitter" |
Los he visto en Siah Desing siguiendo el enlace de una entrada al respecto de Código Geek.
[+/-] |
Fondos para el widget de Twitter by Pizcos |
Pizcos ha tenido la genial idea de diseñar unos backgrounds (fondos) preciosos para colocar en el widget de Twitter de nuestro blog.
Para su diseño ha usado imágenes de "pajaritos" de libre distribución.
Un trabajo soberbio que Pizcos comparte con todos nosotros añadiendo además, la explicación necesaria para "cuadrar" los comentarios de Twitter en el lugar correcto, para que se vean bien centraditos dentro de la burbuja.
Este me encanta:
[+/-] |
Caja de texto con selección automática del contenido |
Hace tiempo explicaba la forma de mostrar una "caja de texto" o "Textarea".
Hoy en esa misma entrada he recibido un comentario de Jomayra en el que me hacía esta pregunta:
Quería preguntarte sobre el textarea, ya se como realizar la caja de texto pero quisiera saber si es posible añadir un código extra para cuando se de click al cursor en el texto de la caja se sombree toda sin necesidad de arrastrar el cursor por todo el resto.
Pues este sería el código que tendríamos que emplear para que, con solo poner el cursor del ratón sobre la textarea, el contenido se marque por completo:
<textarea rows="2" cols="25" onMouseOver="this.focus()"
onFocus="this.select()" input type="text" name="emailaddr" value="your e-mail" size="31" onMouseOver="this.focus()" onFocus="this.select()"> </textarea>
Publicado por Anónimo a las 3:11 h. Etiquetas: Trucos Texto
[+/-] |
Títulos de todas o ultimas entradas del blog (widget) |
Emilio me preguntaba en un comentario si conocía alguna forma de mostrar todas las entradas del blog por su título, pero además quería disponer de una barra de scroll (scrollbar) en el mismo widget, para evitar que este se alargara en exceso.
Me he acordado que tenía una entrada en borradores sobre un widget de Hoctro´s que precisamente muestra los títulos de todas las entradas de nuestro blog o un número menor de nuestras últimas entradas, y he incluido una leve modificación en su código para añadirle una barra de scroll.
[1] En primer lugar necesitaremos acceder dentro de nuestro panel de Blogger a la pestaña "Configuración" -> "Feed del sitio" y en el desplegable de "Permitir Feeds del blog" seleccionar el modo "Completo".
Tendremos que ir después, también desde "Configuración" a la pestaña "Archivo" y seleccionar "Si" en la opción "Habilitar páginas de entrada".
[2] Una vez hecho esto, tendremos que añadir este código en nuestra plantilla justo antes de </head> (no hará falta expandir la plantilla de artilugios):
<script type='text/javascript'>
// Developed by Hoctro - All rights reserved 2007
// This credit must be included in all your derived usages.
// "cb" is intended to be a common library, where different widgets would
// utitlize the shared operations such as getTitle, getLink, etc. from a json object.
var cb = {
// search function requires these parameters:
// 1. query: a blogger address, such as "hoctro.blogspot.com",
// 2. type: type of return data, either "comments" or "posts",
// 3. start: the start-index parameter (where to start extracting data)
// 4. increment: the number of elements the json will get back. (the smaller value, the faster time to travel back)
// 5. func: the returned function the json object will feed.
search: function(query, type, start, increment, func) {
var script = document.createElement('script');
script.setAttribute('src', 'http://' + query + '/feeds/' + type + '/default?alt=json-in-script&start-index='
+ start + '&max-results=' + increment + '&callback=' + func + '&orderby=published');
script.setAttribute('type', 'text/javascript');
document.documentElement.firstChild.appendChild(script);
},
// searchLabel function return a result of posts w/ a label query
// it requires these parameters:
// 1. query: a blogger address, such as "hoctro.blogspot.com",
// 2. an array of labels
// 3. func: the returned function the json object will feed.
searchLabel: function(query, label, func) {
var script = document.createElement('script');
script.setAttribute('src', 'http://' + query + '/feeds/posts/default/-/' + encodeURIComponent(label) +
'?alt=json-in-script&callback=' + func + '&orderby=published');
script.setAttribute('type', 'text/javascript');
document.documentElement.firstChild.appendChild(script);
},
// getTotalResults needs the json object, and it'll return the total number of comments (or posts) of the blog.
getTotalResults: function(json) {
return json.feed.openSearch$totalResults.$t;
},
// getStartIndex gets the start index of a search inside an json object.
getStartIndex: function(json) {
return json.feed.openSearch$startIndex.$t;
},
// getLink return a href link if "name" matches the content inside "a" tags) of the link
getLink: function(entry, name) {
var alturl;
for (var k = 0; k < entry.link.length; k++) {
if (entry.link[k].rel == name)
alturl = entry.link[k].href;
}
return alturl;
},
// getTitle gets the title of the title of an entry of a json object.
getTitle: function(entry) {
return entry.title.$t;
},
// getContent gets the content inside an entry of a json object.
getContent: function(entry) {
return entry.content.$t;
},
// getCommentAuthor: gets the commenter name inside an entry of a json object.
getCommentAuthor: function(entry) {
return entry.author[0].name.$t;
},
// Given a json label search, this function return the decoded label.
getLabelFromURL: function(json) {
for (var l = 0; l < json.feed.link.length; l++) {
if (json.feed.link[l].rel == 'alternate') {
var raw = json.feed.link[l].href;
// The next two lines are borrowed from Ramani's Neo Template
// code. Thanks Ramani!
var label = raw.substr(raw.lastIndexOf('/')+1);
return decodeURIComponent(label);
}
}
},
txt : function (s) {
return s + " Widget by <a href='http://hoctro.blogspot.com" + "'>Hoctro</a>";
}
};
</script>
<b:widget id='HTML50' locked='false' title='TODAS LAS ENTRADAS' type='HTML'>
<b:includable id='main'>
<!-- only display title if it's non-empty -->
<b:if cond='data:title != ""'>
<h2 class='title'><data:title/></h2>
</b:if>
<div class='widget-content'>
<data:content/>
<ul><div id='dataPost' style='height:400px; overflow:auto;'/></ul>
</div>
<script type='text/javascript'>
// Developed by Hoctro - All rights reserved 2007
// This credit must be included in all your derived usages.
// This widget lists the available posts based on the uP.nPost value below
// Use -1 if you want them all.
var uP = {
nPost : -1
};
var cP = {
// private variable to store the total results
totCount : 0,
// the number of elements for each json call
increment : 10,
// this is the place to define the blog name for subsequent retrieval data
web : "elescaparatederosa.blogspot.com",
listPosts: function(json, tag) {
var text="";
for (var i = 0; i < json.feed.entry.length; i++) {
var entry = json.feed.entry[i];
text += "<li>" + "<a href='" + cb.getLink(entry, "alternate")
+ "'>" + cb.getTitle(entry) + "</li>";
}
var p = document.createElement('span');
document.getElementById(tag).appendChild(p);
p.innerHTML = text;
},
callPostJson: function(json) {
this.listPosts(json, "dataPost");
},
getCo : function(json) {
this.totCount = cb.getTotalResults(json);
var count = (uP.nPost < 0) ? this.totCount : uP.nPost;
var i=1;
while(i<=count) {
var incr = (count-i < this.increment) ? count-i+1 : this.increment;
cb.search( cP.web, "posts", i, incr, 'cP.callPostJson');
if (incr==0) incr=incr+1;
i = i+incr;
}
}
};
cb.search( cP.web, "posts", 1, 2, 'cP.getCo');
</script>
</b:includable>
</b:widget>
[+/-] |
Cambiar la plantilla sin perder los widgets |
Publicado por Anónimo a las 0:11 h. Etiquetas: Gadget, Plantillas, Tutoriales
[+/-] |
Lista de blogs (Ajax Gadget) |
En una entrada anterior os explicaba como mostrar las últimas entradas de nuestro blog usando Google Ajax, hoy he encontrado una nueva modificación de este widget en Dumies Guide To Google, usado para mostrar una lista de blogs.
Puede personalizarse para mostrar el numero de entradas de cada blog añadido a la lista y en la parte superior va mostrando de forma automática, una vista previa de las entradas de los blogs.
Despues de iniciar sesión en Blogger, nos situamos en nuestro Panel -> Edición para añadir un nuevo Widget de Html y pegamos dentro el código:
<div id="feed-control">
<span style="color: #6998CA; font-size: 11px; margin: 10px; padding: 4px;"><b>Cargando...</b></span></div>
<script src="http://www.google.com/jsapi?key=notsupplied-wizard">
type="text/javascript">
</script>
<script src="http://www.google.com/uds/solutions/dynamicfeed/gfdynamicfeedcontrol.js">
type="text/javascript">
</script>
<style type="text/css">
/* Root */
.gfg-root {
width : 100%;
height : auto;
position : relative;
overflow : hidden;
text-align : center;
font-family: "Arial", sans-serif;
font-size: 12px;
border: 5px solid #BCCDF0;
}
/* Feed Title */
.gfg-title {
font-size: 15px;
font-weight : bold;
color : #3366cc;
background-color: #E5ECF9;
line-height : 1.4em;
overflow : hidden;
white-space : nowrap;
}
.gfg-title a {
color : #3366cc;
}
.gfg-subtitle {
font-size: 12px;
font-weight : bold;
color : #3366cc;
background-color: #E5ECF9;
line-height : 1.4em;
overflow : hidden;
white-space : nowrap;
margin-bottom : 5px;
}
.gfg-subtitle a {
color : #3366cc;
}
.gfg-entry {
background-color : white;
width : 100%;
height : 6.9em;
position : relative;
overflow : hidden;
text-align : left;
margin-top : 3px;
}
/* To allow correct behavior for overlay */
.gfg-root .gfg-entry .gf-result {
position : relative;
background-color : white;
width : auto;
height : 100%;
padding-left : 20px;
padding-right : 5px;
}
.gfg-list {
position : relative;
overflow : hidden;
text-align : left;
margin-bottom : 5px;
}
.gfg-listentry {
line-height : 1.5em;
overflow : hidden;
white-space : nowrap;
text-overflow : ellipsis;
-o-text-overflow : ellipsis;
padding-left : 15px;
padding-right : 5px;
margin-left : 5px;
margin-right : 5px;
}
.gfg-listentry-odd {
background-color : #F6F6F6;
}
.gfg-listentry-even {
}
.gfg-listentry-highlight {
background-image : url('http://2.bp.blogspot.com/_8PJ-pgoBhWQ/SN1icxHvPXI/AAAAAAAAET4/_V1bKeYDeTk/s320-R/0036_bullet02.png');
background-repeat: no-repeat;
background-position : center left;
}
/*
* FeedControl customizations.
*/
.gfg-root .gfg-entry .gf-result .gf-title {
font-size: 12px;
line-height : 1.2em;
overflow : hidden;
white-space : nowrap;
text-overflow : ellipsis;
-o-text-overflow : ellipsis;
margin-bottom : 2px;
}
.gfg-root .gfg-entry .gf-result .gf-snippet {
height : 3.8em;
color: #000000;
margin-top : 3px;
}
/*
* Easy way to get horizontal mode, applicable via js options to gadget.
*/
.gfg-horizontal-container {
position : relative;
}
.gfg-horizontal-root {
height : 1.5em;
_height : 100%;
position : relative;
white-space : nowrap;
overflow : hidden;
text-align : center;
font-family: "Arial", sans-serif;
font-size: 13px;
border: 1px solid #AAAAAA;
padding : 5px;
margin-right : 80px;
}
.gfg-horizontal-root .gfg-title {
font-weight : bold;
background-color: #FFFFFF;
line-height : 1.5em;
overflow : hidden;
white-space : nowrap;
float : left;
padding-left : 10px;
padding-right : 12px;
border-right: 1px solid #AAAAAA;
}
.gfg-horizontal-root .gfg-title a {
color : #444444;
text-decoration : none;
}
.gfg-horizontal-root .gfg-entry {
width : auto;
height : 1.5em;
position : relative;
overflow : hidden;
text-align : left;
margin-top : 0px;
margin-left : 0px;
padding-left : 10px;
}
/* To allow correct behavior for overlay */
.gfg-horizontal-root .gfg-entry .gf-result {
position : relative;
background-color : white;
width : 100%;
height : 100%;
line-height : 1.5em;
overflow : hidden;
white-space : nowrap;
}
.gfg-horizontal-root .gfg-list {
display : none;
}
/*
* FeedControl customizations.
*/
.gfg-horizontal-root .gfg-entry .gf-result .gf-snippet,
.gfg-horizontal-root .gfg-entry .gf-result .gf-author {
display : none;
}
.gfg-horizontal-root .gfg-entry .gf-result .gf-title {
color: #0000cc;
margin-right : 3px;
float : left;
}
.gfg-horizontal-root .gfg-entry .gf-result .gf-spacer {
float : left;
}
.gfg-horizontal-root .gfg-entry .gf-result .gf-spacer,
.gfg-horizontal-root .gfg-entry .gf-result .gf-relativePublishedDate {
display : block;
color: #AAAAAA;
}
.gfg-branding {
white-space : nowrap;
overflow : hidden;
text-align : left;
position : absolute;
right : 0px;
top : 0px;
width : 80px;
}
.gfg-collapse-open, .gfg-collapse-closed {
background-repeat : no-repeat;
background-position : center;
cursor : pointer;
float : right;
width : 17px;
height : 20px;
}
.gfg-collapse-open {
background-image : url('arrow_open.gif');
}
.gfg-collapse-closed {
background-image : url('arrow_close.gif');
}
.gfg-collapse-href {
float : left;
}
.clearFloat {
clear : both;
}
</style>
<script type="text/javascript">
function LoadDynamicFeedControl() {
var feeds = [
{title: 'TITULO_BLOG1',
url: 'http://BLOG1.blogspot.com/atom.xml?redirect=false&start-index=1&max-results=4'
},
{title: 'TITULO_BLOG2',
url: 'http://BLOG2.blogspot.com/atom.xml?redirect=false&start-index=1&max-results=4'
},
{title: 'TITULO_BLOG3',
url: 'http://BLOG3.blogspot.com/atom.xml?redirect=false&start-index=1&max-results=4'
},
{title: 'TITULO_BLOG4',
url: 'http://BLOG4.blogspot.com/atom.xml?redirect=false&start-index=1&max-results=4'
}];
var options = {
stacked : true,
horizontal : false,
title : "Blogs amigos"
}
new GFdynamicFeedControl(feeds, 'feed-control', options);
}
// Load the feeds API and set the onload callback.
google.load('feeds', '1');
google.setOnLoadCallback(LoadDynamicFeedControl);
</script>
<div id="feed-control">
<span style="color: #6998CA; font-size: 11px; margin: 10px; padding: 4px;"><b>Cargando...</b></span></div>
<script src="http://www.google.com/jsapi?key=notsupplied-wizard">
type="text/javascript">
</script>
<script src="http://www.google.com/uds/solutions/dynamicfeed/gfdynamicfeedcontrol.js">
type="text/javascript">
</script>
<style type="text/css">
/* Root */
.gfg-root {
width : 80%;
height : auto;
position : relative;
overflow : hidden;
text-align : center;
font-family: "Arial", sans-serif;
font-size: 12px;
border: 5px solid #BCCDF0;
}
/* Feed Title */
.gfg-title {
font-size: 15px;
font-weight : bold;
color : #3366cc;
background-color: #E5ECF9;
line-height : 1.4em;
overflow : hidden;
white-space : nowrap;
}
.gfg-title a {
color : #3366cc;
}
.gfg-subtitle {
font-size: 12px;
font-weight : bold;
color : #3366cc;
background-color: #E5ECF9;
line-height : 1.4em;
overflow : hidden;
white-space : nowrap;
margin-bottom : 5px;
}
.gfg-subtitle a {
color : #3366cc;
}
.gfg-entry {
background-color : white;
width : 100%;
height : 6.9em;
position : relative;
overflow : hidden;
text-align : left;
margin-top : 3px;
}
/* To allow correct behavior for overlay */
.gfg-root .gfg-entry .gf-result {
position : relative;
background-color : white;
width : auto;
height : 100%;
padding-left : 20px;
padding-right : 5px;
}
.gfg-list {
position : relative;
overflow : hidden;
text-align : left;
margin-bottom : 5px;
}
.gfg-listentry {
line-height : 1.5em;
overflow : hidden;
white-space : nowrap;
text-overflow : ellipsis;
-o-text-overflow : ellipsis;
padding-left : 15px;
padding-right : 5px;
margin-left : 5px;
margin-right : 5px;
}
.gfg-listentry-odd {
background-color : #F6F6F6;
}
.gfg-listentry-even {
}
.gfg-listentry-highlight {
background-image : url('http://2.bp.blogspot.com/_8PJ-pgoBhWQ/SN1icxHvPXI/AAAAAAAAET4/_V1bKeYDeTk/s320-R/0036_bullet02.png');
background-repeat: no-repeat;
background-position : center left;
}
/*
* FeedControl customizations.
*/
.gfg-root .gfg-entry .gf-result .gf-title {
font-size: 12px;
line-height : 1.2em;
overflow : hidden;
white-space : nowrap;
text-overflow : ellipsis;
-o-text-overflow : ellipsis;
margin-bottom : 2px;
}
.gfg-root .gfg-entry .gf-result .gf-snippet {
height : 3.8em;
color: #000000;
margin-top : 3px;
}
/*
* Easy way to get horizontal mode, applicable via js options to gadget.
*/
.gfg-horizontal-container {
position : relative;
}
.gfg-horizontal-root {
height : 1.5em;
_height : 100%;
position : relative;
white-space : nowrap;
overflow : hidden;
text-align : center;
font-family: "Arial", sans-serif;
font-size: 13px;
border: 1px solid #AAAAAA;
padding : 5px;
margin-right : 80px;
}
.gfg-horizontal-root .gfg-title {
font-weight : bold;
background-color: #FFFFFF;
line-height : 1.5em;
overflow : hidden;
white-space : nowrap;
float : left;
padding-left : 10px;
padding-right : 12px;
border-right: 1px solid #AAAAAA;
}
.gfg-horizontal-root .gfg-title a {
color : #444444;
text-decoration : none;
}
.gfg-horizontal-root .gfg-entry {
width : auto;
height : 1.5em;
position : relative;
overflow : hidden;
text-align : left;
margin-top : 0px;
margin-left : 0px;
padding-left : 10px;
}
/* To allow correct behavior for overlay */
.gfg-horizontal-root .gfg-entry .gf-result {
position : relative;
background-color : white;
width : 100%;
height : 100%;
line-height : 1.5em;
overflow : hidden;
white-space : nowrap;
}
.gfg-horizontal-root .gfg-list {
display : none;
}
/*
* FeedControl customizations.
*/
.gfg-horizontal-root .gfg-entry .gf-result .gf-snippet,
.gfg-horizontal-root .gfg-entry .gf-result .gf-author {
display : none;
}
.gfg-horizontal-root .gfg-entry .gf-result .gf-title {
color: #0000cc;
margin-right : 3px;
float : left;
}
.gfg-horizontal-root .gfg-entry .gf-result .gf-spacer {
float : left;
}
.gfg-horizontal-root .gfg-entry .gf-result .gf-spacer,
.gfg-horizontal-root .gfg-entry .gf-result .gf-relativePublishedDate {
display : block;
color: #AAAAAA;
}
.gfg-branding {
white-space : nowrap;
overflow : hidden;
text-align : left;
position : absolute;
right : 0px;
top : 0px;
width : 80px;
}
.gfg-collapse-open, .gfg-collapse-closed {
background-repeat : no-repeat;
background-position : center;
cursor : pointer;
float : right;
width : 17px;
height : 20px;
}
.gfg-collapse-open {
background-image : url('arrow_open.gif');
}
.gfg-collapse-closed {
background-image : url('arrow_close.gif');
}
.gfg-collapse-href {
float : left;
}
.clearFloat {
clear : both;
}
</style>
<script type="text/javascript">
function LoadDynamicFeedControl() {
var feeds = [
{title: 'El Escaparate',
url: 'http://elescaparatederosa.blogspot.com/atom.xml?redirect=false&start-index=1&max-results=4'
},
];
var options = {
stacked : true,
horizontal : false,
title : "El Escaparate"
}
new GFdynamicFeedControl(feeds, 'feed-control', options);
}
// Load the feeds API and set the onload callback.
google.load('feeds', '1');
google.setOnLoadCallback(LoadDynamicFeedControl);
</script>
[+/-] |
Plantillas y mas plantillas... |
Blogger Templates es otra de las muchas páginas que proporcionan palntillas para Blogger de forma gratuita.
La he conocido hoy, gracias a una consulta en la que hacían referencia a una plantilla de dicha página y, para ser sincera, me ha sorprendido muy gratamente.
Son plantillas muy bien diseñadas, partiendo de la base de las originales de Blogger en su mayoría, lo que las hace ideales a la hora de modificar o añadir cualquier cosa, ya que encontraremos sin dificultad los códigos de referencia.
Bonitas y funcionales, sin problema de carga a la hora de subirlas al blog (al menos las que he probado), con dos o tres columnas y tanto para la nueva versión como para la clásica.
Si estás pensando en un cambio de look, te recomendaría cualquiera de las de tres columnas... la Clouds en particular, me ha encantado.
Publicado por Anónimo a las 3:02 h. Etiquetas: Plantillas
[+/-] |
Menu de pestañas invertidas |
Este es el tipo de menú que usé durante mucho tiempo en El Escaparate y que podéis ver debajo de las etiquetas al pie del header.
Este menú esta sacado de Dynamic Drive, aunque con algunas modificaciones en cuanto a color, tipo de texto, etc. que pueden hacerse sin problemas en el código CSS del menú.
En Dynamic Drive, como podéis ver en la imagen, han usado dos colores: #8b0000 y #d50509, así que para cambiarlos solo tenéis que localizar esos códigos en el CSS del menú y sustituirlos por el código de vuestros colores.
<style type="text/css">
/*Credits: Dynamic Drive CSS Library */
/*URL: http://www.dynamicdrive.com/style/ */
#invertedtabs{
margin-left: 4px;
padding: 0;
width: 100%;
background: transparent;
voice-family: "\"}\"";
voice-family: inherit;
padding-left: 5px;
}
#invertedtabs ul{
font: bold 11px Arial, Verdana, sans-serif;
margin:0;
margin-bottom: 1em; /*margin between menu and rest of content*/
padding:0;
list-style:none;
}
#invertedtabs li{
display:inline;
margin:0 2px 0 0;
padding:0;
text-transform:uppercase;
line-height: 1.5em;
}
#invertedtabs a{
float:left;
color: white;
background: #8b0000 url(media/color_tabs_left2.gif) no-repeat left bottom;
margin:0 2px 0 0;
padding:0 0 0 3px;
text-decoration:none;
letter-spacing: 1px;
}
#invertedtabs a span{
float:left;
display:block;
background: transparent url(media/color_tabs_right2.gif) no-repeat right bottom;
padding:3px 9px 3px 6px;
}
#invertedtabs a span{
float:none;
}
#invertedtabs a:hover{
background-color: #d50509;
}
#invertedtabs a:hover span{
background-color: #d50509;
}
#invertedtabs #current a, #invertedtabs #current span{ /*currently selected tab*/
background-color: #d50509;
}
#invertedtabsline{
clear: both;
padding: 0;
width: 100%;
height: 8px;
line-height: 8px;
background: #8b0000;
border-bottom: 1px solid #fff; /*Remove this to remove border between bar and tabs*/
}
</style>
<div id="invertedtabsline"> </div>
<div id="invertedtabs">
<ul>
<li style="margin-left: 1px"><a href="http://elescaparatederosa.blogspot.com" title="Inicio"><span>Inicio</span></a></li>
<li><a href="mailto:lejaniaimposible@hotmail.com" title="Envia un email"><span>Contacto</span></a></li>
<li><a href="http://feeds.feedburner.com/blogspot/hnBy" title="Suscribete al Escaparate"><span>Suscribe Feed</span></a></li>
<li><a href="http://www.blogger.com/profile/06743611108067453905" title="Sobre mi"><span>Sobre mi</span></a></li>
<li><a href="http://elescaparatederosa.blogspot.com/search/label/?max-results=999" title="Ver todas las entradas"><span>Ver todas las entradas</span></a></li>
</ul>
</div>
<br style="clear: left"/>
Publicado por Anónimo a las 4:19 h. Etiquetas: Menus, Trucos Blog
[+/-] |
Aprovechando espacios en la plantilla (crosscol) |
Publicado por Anónimo a las 1:58 h. Etiquetas: Gadget, Plantillas, Tutoriales
[+/-] |
Blogger aloja mas de 4.000 sitios maliciosos |
StopBadwore cataloga al servicio propiedad de Google como uno de los más inseguros de la red.
Hablar de Blogger es hablar del fenómeno que en los últimos años ha arrasado en internet, los blogs. Y sin embargo este servicio, propiedad de Google, es uno de los que mayor número de sitios maliciosos aloja.
Según un informe publicado este verano por StopBadware, Blogger forma parte del Top 10 mundial de sitios más peligrosos de la red.
En un estudio, el grupo de seguridad informática investigo la procedencia de los sitios maliciosos de la red. Unas redes mundiales alojan el 50% de los sitios, seis de estas redes son servicios radicados en china mientras otras tres son estadounidenses.
Stopbadware descubrió la existencia de más de 4000 sitios alojados en Blogger con contenido malicioso y por lo tanto potencialmente peligroso para aquellos que acudan a visitarlos.
Hace 1 año, el servicio de Google no figuraba siquiera en la lista TOP 10, pero últimamente se ha convertido en un servicio popular para ciber delincuentes e intrusos.
“Considerando que es un servicio gratuito y que por su naturaleza de blog puede enlazar hacia cualquier cosa, la gente ha encontrado la forma de aprovechar este factor creando numerosos blogs que incorporan enlaces peligrosos y en algunas oportunidades incluso código maligno ejecutable desde la página”, indica Maxim Weinstein de StopBadware.org.
Por ahora, Google no ha respondido a las críticas, pero el propio Weinstein dijo que Google hace todo lo posible por eliminar el software maligno desde su sitio.
No opina lo mismo Robert Hansen, de SecTheory.com. Este cree que Google podría haber hecho más al respecto, ya que esta situación era conocida sobradamente por la industria. Entre otras cosas, Hansen recalca que Google permite el uso de scripts en su servicio de blogs, lo que aumenta el riesgo de malware.
Noticia recogida integramente de Noticiasdot.com
[+/-] |
Usando la url correcta en ImageShack |
Somos muchos los que en algún momento usamos el alojamiento de imágenes que ImageShack proporciona.
En los últimos días he estado recibiendo consultas al respecto de algunos trucos que han de usar imágenes previamente alojadas. En practicamente todos los casos, el problema era el mismo, la imagen usada no se mostraba en el blog, o la hacía durante un breve espacio de tiempo.
El problema no es otro que el cambio en la forma de mostrar las urls de las imágenes en ImageShack, una vez subidas a este servicio.
Antes se usaba siempre la última url de todas las que el servicio proporcionaba una vez subida nuestra imagen, y esto ha hecho que muchos de vosotros lo sigáis haciendo así, con lo que la imagen no se mostrará.
Ahora para conseguir la url correcta hemos de, una vez subida la imagen, bajar al final de todas las urls mostradas y pinchar en " + Show Advanced Link", se mostrará entonces el enlace necesario para usar en nuestro blog.
Publicado por Anónimo a las 18:26 h. Etiquetas: Datos utiles, Trucos imagenes
[+/-] |
Entradas más populares (Widget actualizado) |
Seguramente debido a las pruebas de Blogger para incluir el "Suscribe" en el formulario de comentarios, el widget de entradas más populares en español, ha dejado de funcionar correctamente.
He corregido la Pipes de Yahoo, y ya podéis disponer de nuevo del widget funcionando sin problemas.
Solo tenéis que copiar el código en un elemento HTML (Gadget) y sustituir donde dice "elescaparatederosa" por el nombre de vuestro blog (tal como aparece en la url del navegador).
<script type="text/javascript">
function pipeCallback(obj) {
document.write('<ol style="text-transform: capitalize;">');
var i;
for (i = 0; i < obj.count ; i++)
{
var href = "'" + obj.value.items[i].link + "'";
var item = "<li>" + "<a href=" + href + ">" + obj.value.items[i].title + "</a> </li>";
document.write(item);
}
document.write('</ol>');
}
</script>
<script src="http://pipes.yahoo.com/pipes/pipe.run?_render=json&_callback=pipeCallback& _id=e1f5a9b2248904d8b81f794c09353010&url=http%3A%2F%2Felescaparatederosa.blogspot.com&num=5" type="text/javascript"></script>
[+/-] |
Entradas expandibles en la página principal |
<script src='URL_DEL_SCRIPT' type='text/javascript'></script>[3] Localizamos ahora el código que está escrito en color negro, y añadimos la parte del código que está escrita en color rojo, colocada tal cual se ve aquí, es decir, el código negro ya está en la plantilla y el código rojo es el que se añade:
<script type='text/javascript'>
function toggleIt(id) {
post = document.getElementById(id);
if (post.style.display != 'none') {
post.style.display = 'none';
} else {
post.style.display = '';
}
}
</script>
Publicado por Anónimo a las 3:19 h. Etiquetas: Entradas, Plantillas