Blogger: Cómo mostrar en una página la lista ordenada de entradas de una categoría/etiqueta
Para mostrar en una página de Blogger una lista enumerada de entradas dentro de una etiqueta podemos usar un script como éste:
<div id="feed"></div>
<script>
async function loadIndex(label) {
const container = document.getElementById("feed");
let startIndex = 1;
const maxResults = 150;
let allPosts = [];
while (true) {
const url =
`https://DIRECCION-URL/feeds/posts/default/-/${encodeURIComponent(label)}` +
`?alt=json&start-index=${startIndex}&max-results=${maxResults}`;
const res = await fetch(url);
const data = await res.json();
const entries = data.feed.entry || [];
if (entries.length === 0) break;
allPosts = allPosts.concat(entries);
startIndex += maxResults;
}
if (allPosts.length === 0) {
container.innerHTML = "<p>No hay entradas.</p>";
return;
}
let html = "<ol>";
allPosts.forEach((post) => {
const title = post.title.$t;
const link = post.link.find(l => l.rel === "alternate").href;
html += `<li><a href="${link}" target="_blank">${title}</a></li>`;
});
html += "</ol>";
container.innerHTML = html;
}
loadIndex("ETIQUETA");
</script>
Aquí hay dos cosas que ajustar, primero en la línea 13 debemos poner la URL o dirección del blog donde dice DIRECCION-URL, y en la penúltima línea debemos poner el nombre de la etiqueta/categoría donde dice ETIQUETA.
¿Qué hace este script?
Lo que hace es consultar todo el feed del blog, y mostrar la lista ordenada con título y URL de esas entradas dejando en la parte de arriba la más reciente.
Se puede ver una demostración de este script en la Lista de Mis Obras.
Espero que esto sea útil para ti.
Hasta pronto.
Waldylei
Fuente: Imagen

No hay comentarios:
Publicar un comentario