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:
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.
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:
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
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
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
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)
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
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
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
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
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
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
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
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
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
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