Etiquetas data de Bloger

En Blogger hay una mezcla de idiomas de que muchas veces confunde porque ¿qué etiqueta HTML es <b:skin> </b:skin>? La respuesta es sencilla, Blogger habla lenguaje Blogger y todas esas etiquetas que comienzan con <b: y terminan con </b: son etiquetas especiales. No vamos a entrar en demasiados detalles.


Pero no son las únicas etiquetas especiales.


Muchas veces, cundo alguien cambia la plantilla o tiene algún problema, suele preguntar ¿que hago con las cosas en la sidebar? Si pregunta es porque ve la plantilla, busca eso que escribió en un elemento HTML, por ejemplo y ... no lo encuentra por ningún lado ¿dónde está? Pués están en el mismo lugar donde están los posts o por ahí cerca.


Blogger guarda todo eso y mucho más en "una base de datos" a la que no podemos acceder sino es por medio de etiquetas especiales o mediante algún script que utilice JSON (JavaScript Object Notation) lo que suele ser bastante complicado de hacer.


Si alguien quiere saber cuál es la diferencia entre WordPress y Blogger ya tiene mi respuesta: esa imposibilidad es la "gran diferencia", lo demás es maquillaje.

Estamos limitados pero aún así podemos acceder a algunos datos ya que hay una etiqueta específica para eso y la podemos ver en cualquier plantilla. En términos generales tienen esta sintáxis:
<data:tipo[.subtipo]>
donde tipo es el nombre del dato que, en algunos casos tiene un subtipo que se separa del anterior por un punto.


Algunas de esas etiquetas (y de esos datos) sólo pueden usarse en algún lugar específico de la plantilla; otros pueden ser accesibles desde cualquier lugar.


Un detalle a tener en cuenta es que SOLO pueden estar en la plantilla así que los elementos no pueden contener etiquetas de ese tipo sino sólo HTML puro.


Un problema extra es que no hay una lista oficial de estas etiquetas y constantemente Blogger crea nuevas y se adosan a las plantillas por defecto sin que nos enteremos de su existencia hasta que las vemos.

Las etiquetas de uso general tienen el siguiente formato:
<data:blog.nombre/>
Y son las siguientes:


data:blog.title es el título del blog según lo hayamos definido en la configuración

data:blog.pageTitle es el título de la página actual que, generalmente, es el título del blog más algún otro dato adicional

data:blog.pageName es el título de la página que generalmente coincide con el título del post


data:blog.pageType es el tipo de página donde estamos (item archive index)

data:blog.homepageUrl la dirección URL de la página de inicio del blog

data:blog.url es la dirección URL de la página donde estamos

data:blog.feedLinks es lo que permite descubrir la dirección de los feeds

data:blog.encoding es el tipo de codificación (UTF-8, etc.)


data:blog.languageDirection indica la forma de escritura del lenguaje del blog



Las otras etiquetas sólo son accesibles dentro de ciertos sectores definidos con las etiquetas:
<b:includable id="tipo">
.......
</b:includable>
Ese valor indicado en el atributo ID es el que define que tipo de datos son accesibles.


Hay un dato que es común a todos los elementos:


data:title es el texto del título que le dimos al elemento


En el HEADER sólo hay uno más:


data:description es el texto con la descripción del blog definida en la configuración



En el elemento PROFILE (perfil) hay muchos y se corresponden con los datos de nuestra cuenta:


data:userUrl es la dirección URL de nuestro perfil en Blogger

data:displayname es el nombre a ser mostrado

data:location es la ubicación geográfica del administrador


data:aboutme es el texto por defecto "About Me"

data:team indica si es es un blog individual (false) o colectivo (true)


La imagen de nuestro perfil se encuentra en data:photo.subtipo:


data:photo.url es la dirección URL donde está alojada la imagen

data:photo.width es el ancho de la imagen (en pixeles)

data:photo.height es el alto de la imagen (en pixeles)

data:photo.alt es el texto del atributo ALT


En el caso de blogs colectivos, data.authors.subtipo contiene la lista de autores:


data:authors.displayname cada uno e los autores

data:authors.userURL las direcciones de los perfiles



En los elementos TEXT y HTML sólo hay un dato:


data:content que es contenido (un texto plano)


En el elemento PICTURE (imagen):




data:sourceUrl es la dirección URL de la imagen

data:width es el ancho de la imagen (en pixeles)

data:height es el alto de la imagen (en pixeles)

data:caption es el texto adicional optativo



En los elementos LABELS (etiquetas) data:labels.subtipo contiene la lista de etiquetas:


data:label.name el nombre de la etiqueta

data:label.count la cantidad de posts con esa etiqueta


data:label.url la dirección URL a la página de etiquetas


En el elemento LIST (listas) sólo hay un dato:


data:items contiene la lista de items


En el elemento LINKLIST (vínculos) la lista se encuentra en data:links.subtipo:


data:links.name el texto de los enlaces

data:links.target la dirección de cada enlace


En el elemento LOGO (el botón de Blogger):


data:fullButton es la dirección URL de la imagen elegida



En el elemento ADSENSE:

data:adStart marca el inicio del elemento

data:adCode es el contenido

data:adEnd marca el final del elemento



En el elemento ARCHIVES (archivos):



data:style indica el estilo (MENU FLAT HIERARCHY)

data:toggleopen es un dato interno usado por Blogger

Y data:data.subtipo contiene la lista de archivos:


data:data.name el título de cada entrada

data:data.url la direcciòn URL de cada entrada

data:data.post-count la cantidad de posts por fecha


Además, se usa data:interval.subtipo para los bucles internos definidos:


data:interval.expclass
data:interval.toggleId
data:intervalData.expclass
data:intervalData.url
data:intervalData.name
data:intervalData.post-count
data:intervalData.data
data:intervalData.posts


Los datos de los feeds son válidos para el elemento FEEDS, para la pagina principal, para la de items y para los comentarios:


data:feedUrl es la dirección del feed


La lista de feeds se encuentra en data:feedLinks.subtipo:


data:feedLink.url la dirección del feed


data:feedLink.name es el título y por defecto es "Posts Comments"

data:feedLink.feedType el tipo (Atom o RSS)

data:feedLink.mimeType el tipo MIME


Los items individuales en data:feedData.subtipo:




data:feedData.title el título

data:feedData.published la fecha de publicación

data:feedData.str_published el texto para indicar la fecha de publicación

data:feedData.updated la fecha de actualización

data:feedData.str_updated el texto para indicar la fecha de actualización

data:feedData.author el nombre del autor

data:feedData.summary es el contenido (snippet)



Hay información adicional se guarda en data:feedData.alternate.subtipo (sí, puede haber tantos subtipos como se le ocurra a Blogger):


data:feedData.alternate.href es la dirección del enlace (permalink)

data:feedData.alternate.type es el tipo de contenido


El área más compleja es la de los posts, el elemento POSTS, allí, hay varias secciones diferentes y cada una tiene sus propios datos.


El área de navegación que se muestra en la parte inferior el área de posts:


data:olderPageUrl es la URL al post anterior

data:olderPageTitle es el texto del enlace "Entradas antigüas"

data:newerPageUrl es la URL al post siguiente


data:newerPageTitle es el texto del enlace "Entradas recientes"

Datos que se usan en los pie de página, son textos que establecemos nosotros o que se definen por defecto:


data:commentLabel es el texto que seleccionemos "comment"

data:commentLabelPlural es el texto que seleccionemos "comments"


data:postCommentMsg es el texto "Publicar un comentario en la entrada"

data:authorLabel es el texto que muestra al autor "posted by"

data:timestampLabel es el texto que indica la fecha "posted at"


data:postLabelsLabel es el texto que señala las etiquetas "labels for this post"

data:backlinksLabel es el texto que señala los backlinks "links to this post"


data:navMessage es el mensaje que aparece al navegar por etiquetas:


data:widget.actionUrl es un dato interno de Blogger

data:widget.instanceId es un dato interno de Blogger


Hay una serie de datos agrupados en data.post.subtipo que se refieren a los artículos publicados:


data:post.dateHeader es la fecha del encabezado

data:post.id es un identificador único

data:post.title es el texto del título

data:post.body es el contenido de la entrada

data:post.url el enlace permanente (permalink)



data:post.showAuthor indica si se muestra (true) o no se muestra (false) al autor

data:post.author el nombre del autor

data:post.authorLabel el texto que precede al nombre del autor "posted by"

data:post.showTimestamp indica si se muestra (true) o no se muestra (false) la fecha


data:post.timestamp la fecha/hora de publicación

data:post.timestampLabel el texto que precede la fecha/hora de publicación


data:post.commentLabel es el texto que seleccionemos "comment"

data:post.commentLabelPlural es el texto que seleccionemos "comments"


data:post.allowComments indica si se permiten comentarios (true) o no (false)

data:post.numComments la cantidad de comentarios

data:post.addCommentUrl la dirección URL al formulario "add a comment"

data:post.addCommentOnclick dirección URL para agregar comentario



data:post.showBacklinks indica si se muestran los backlinks (true) o no (false)

data:post.numBacklinks la cantidad de backlinks

data:post.createLinkLabel es el texto para crear un backlink a la entrada "links to this post"

data:post.createLinkUrl la dirección URL para enlazar un post


data:post.backlinksLabel es el texto que precede a la lista de backlinks


data:post.editUrl la dirección URL al formulario de edición del post

data:post.emailPostUrl la dirección URL para enviar el post via mail "email this post"

data:post.emailPostMsg es el texto alternativo para enviar el post via mail


data:post.includeAd indica si hay un elemento Adsense (true) o no (false)

data:post.adminClass es un dato interno de Blogger


A partir de la posibilidad de tener los comentarios en varias páginas cuando superan cierta cantidad se han agregado algunos datos que lo controlan:


data:post.commentPagingRequired indica si es necesario (true) o no (false)


data:post.commentRangeText el texto de la paginación

data:post.oldLinkClass es la clase CSS para "retroceder" en la paginación

data:post.olderLinkUrl la dirección URL de la página anterior

data:post.olderLinkText el texto para ir a la página anterior


data:post.oldestLinkUrl la dirección URL de la primera página

data:post.oldestLinkText el texto para ir a la primera página

data:post.newLinkClass es la clase CSS para "avanzar" en la paginación

data:post.newerLinkUrl la dirección URL de la página siguiente


data:post.newerLinkText el texto para ir a la página siguiente

data:post.newestLinkUrl la dirección URL de la última página

data:post.newestLinkText el texto para ir a la última página



La lista de feeds del post está en data:post.feedLinks.subtipo:


data:post.feedLinks.url la URL de los feeds

data:post.feedLinks.name el lugar donde están (Posts o Comments)

data:post.feedLinks.feedType el tipo (Atom o RSS).

data:post.feedLinks.url la URL de los feeds


data:post.feedLinks.name el lugar donde están (Posts o Comments)

data:post.feedLinks.feedType el tipo (Atom o RSS).



La lista de etiquetas se encuentra en data:post.label.subtipo:


data:label.name el nombre de cada etiqueta


data:label.url la dirección URL de la página de etiquetas

data:label.isLast indica si es la última etiqueta de la lista (true) o hay más (false)


En las páginas individuales (items) la lista de datos de los comentarios se encuentra en data:comment.subtipo:


data:comment.id es el identificador único de cada comentario


data:comment.body es el contenido

data:comment.timestamp la fecha de publicación

data:comment.author el nombre del autor o "Anonymous"

data:comment.authorUrl la dirección URL del autor


data:comment.deleteUrl la dirección URL al formulario para eliminarlo

data:comment.isDeleted indica si fue eliminado (true)

data:comment.adminClass es un dato interno de Blogger


En las páginas individuales también hay una lista de backlinks en data:post.backlink.subtipo:



data:backlink.title el título del enlace

data:backlink.url la dirección URL del enlace

data:backlink.snippet es el contenido

data:backlink.author el nombre del autor


data:backlink.timestamp la fecha

data:backlink.deleteUrl la dirección URL al formulario para eliminarlo

data:backlink.adminClass es un dato interno de Blogger


Hay toda una serie de datos que se ven en algunas plantillas que parecen contener muchos de los mismos datos de anteriores data:top.subtipo:


data:top.showAuthor como data:post.showAuthor

data:top.authorLabel como data:post.authorLabel

data:top.timestampLabel como data:post.timestampLabel


data:top.showTimestamp como data:post.timestamp

data:top.commentLabel como data:post.commentLabel

data:top.commentLabelPlural como data:post.commentLabelPlural


data:top.showTimestamp como data:post.showTimestamp

data:top.backlinkLabel como data:post.backlinksLabel

data:top.showBacklink como data:post.showBacklinks


data:top.emailPostMsg como data:post.emailPostMsg


Cuando los datos son parte de una lista, se guardan en un array por lo que deben ser leídos mediante un bucle:
<b:loop values='data:posts' var='i'>
<li>
<a expr:href='data:i.url'>
<data:i.title/>
</a>
</li>
</b:loop>

Comentarios