# Source: index.js

    import {carga} from "./lib/sys.js"
    var md = window.markdownit()
    var entradas

    carga()
        .then(resp => {
            entradas = resp
            init()
        })

    /**
     * # Funcion Init
     *
     * Esta funcion permite inicializar la pagina una vez se han cargado todos los elementos previos necesarios para el funcionamiento. Solo se ejecuta una vez  por carga.
     */

    function init() {
        //Titulo del blog
        let titulo_b = document.createTextNode(entradas[0][0].sitio)
        titulo_blog.appendChild(titulo_b)

        //descripcion del blog
        let descripcion_b = document.createTextNode(entradas[0][0].descripcion)
        descripcion_blog.appendChild(descripcion_b)

        //cargar todas las entradas en orden invertido, tradicional para los blogs
        entradas[1].slice(0).reverse().map((resp,index) => {
            //construir los contenedores necesarios para las entradas
            let contenedor = document.createElement("div")
            let contenedor_post = document.createElement("div")
            let separador = document.createElement("hr")

            //renderizar el contenido markdown en html
            contenedor_post.innerHTML = md.render(resp.contenido)

            let meta = document.createElement("div")
            meta.innerHTML = `
            <div>
                <h3>`+ resp.titulo + `</h3>
                <a href="/editar?id=`+ resp.id + `"><small>Editar</small></a><br>
                <small><b>fecha de creación: </b>`+ resp.fecha_creacion + `</small><br>
                <small><b>fecha de modificacion: </b>`+ resp.fecha_modificacion + `</small><br>
            </div>
            <br>
            `
            contenedor.appendChild(meta)
            contenedor.appendChild(contenedor_post)
            contenedor.appendChild(separador)

            post.appendChild(contenedor)
        })
    }

    //https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals
    //https://developers.google.com/web/updates/2015/03/introduction-to-fetch si no fuera por esta pagina, nunca habria descubierto que habia que hacer un then al json() para obtener los datos
    //https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch ironicamente, aqui tambien esta la respuesta, pero no se nota tanto porque transforma la peticion a funcion asincrona para hacerle un await, por lo que el result.json() es parseado y regresado por el return
    //https://love2dev.com/blog/javascript-remove-from-array/ eliminar elementos de un array

    //jsdoc -c jsdoc.conf js/index.js js/lib/sys.js README.md -d Documentacion
    //jsdoc -c jsdoc.conf -r ./js README.md -d Documentacion