{"id":99,"date":"2017-09-11T18:41:33","date_gmt":"2017-09-11T18:41:33","guid":{"rendered":"http:\/\/fulgenciolison.com\/?page_id=99"},"modified":"2026-04-05T12:53:25","modified_gmt":"2026-04-05T11:53:25","slug":"libros","status":"publish","type":"page","link":"https:\/\/fulgenciolison.com\/index.php\/publicaciones\/libros\/","title":{"rendered":"Libros"},"content":{"rendered":"    \n    <div id=\"libros-esp-wrapper\">\n        <style>\n            #libros-esp-wrapper {\n                max-width: 1200px;\n                margin: 0 auto;\n                padding: 40px 20px;\n                font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Arial, sans-serif;\n                color: #333;\n            }\n            \n            \/* Header *\/\n            .libros-header {\n                text-align: center;\n                margin-bottom: 40px;\n            }\n            .libros-header h2 {\n                font-size: 32px;\n                color: #2c3e50;\n                margin-bottom: 10px;\n            }\n            .libros-header p {\n                color: #7f8c8d;\n                font-size: 14px;\n            }\n            \n            \/* Filters *\/\n            .filtros-libros {\n                text-align: center;\n                margin-bottom: 30px;\n                padding: 15px;\n                background: #f8f9fa;\n                border-radius: 50px;\n                display: flex;\n                flex-wrap: wrap;\n                justify-content: center;\n                gap: 8px;\n            }\n            .filtro-libro {\n                background: #e9ecef;\n                border: none;\n                padding: 8px 20px;\n                border-radius: 25px;\n                cursor: pointer;\n                font-size: 14px;\n                transition: all 0.3s;\n                color: #555;\n            }\n            .filtro-libro:hover {\n                background: #3498db;\n                color: white;\n            }\n            .filtro-libro.activo {\n                background: #2c3e50;\n                color: white;\n            }\n            \n            \/* Counter *\/\n            .contador-libros {\n                text-align: right;\n                color: #6c757d;\n                font-size: 14px;\n                margin-bottom: 20px;\n                padding-bottom: 10px;\n                border-bottom: 1px solid #dee2e6;\n            }\n            \n            \/* Year Badge *\/\n            .year-libro-grupo {\n                margin-bottom: 40px;\n            }\n            .year-libro-badge {\n                font-size: 24px;\n                font-weight: bold;\n                background: linear-gradient(135deg, #16a085, #27ae60);\n                color: white;\n                display: inline-block;\n                padding: 8px 25px;\n                border-radius: 40px;\n                margin-bottom: 25px;\n            }\n            \n            \/* Book Card *\/\n            .libro-card {\n                background: white;\n                border: 1px solid #e9ecef;\n                border-radius: 12px;\n                margin-bottom: 25px;\n                padding: 20px;\n                transition: all 0.3s;\n                display: flex;\n                flex-wrap: wrap;\n                gap: 20px;\n            }\n            .libro-card:hover {\n                transform: translateY(-3px);\n                box-shadow: 0 8px 25px rgba(0,0,0,0.1);\n            }\n            \n            .libro-number {\n                font-size: 22px;\n                font-weight: bold;\n                color: #16a085;\n                min-width: 55px;\n            }\n            \n            .libro-content {\n                flex: 1;\n                min-width: 250px;\n            }\n            \n            .libro-title {\n                font-size: 16px;\n                font-weight: 600;\n                color: #2c3e50;\n                margin-bottom: 8px;\n                line-height: 1.4;\n            }\n            \n            .libro-authors {\n                font-size: 14px;\n                color: #6c757d;\n                margin-bottom: 5px;\n            }\n            \n            .autor-destacado {\n                background: linear-gradient(120deg, #f9f3e3 0%, #f9f3e3 40%, transparent 60%);\n                padding: 0 2px;\n                border-radius: 3px;\n                font-weight: bold;\n                color: #e67e22;\n            }\n            \n            .libro-editorial {\n                font-size: 13px;\n                color: #3498db;\n                margin-bottom: 5px;\n            }\n            \n            .libro-pages {\n                font-size: 12px;\n                color: #7f8c8d;\n                margin-bottom: 5px;\n            }\n            \n            .libro-pdf {\n                margin-top: 8px;\n            }\n            .libro-pdf a {\n                display: inline-flex;\n                align-items: center;\n                gap: 5px;\n                background: #16a085;\n                color: white;\n                padding: 4px 12px;\n                border-radius: 20px;\n                text-decoration: none;\n                font-size: 12px;\n                transition: all 0.3s;\n            }\n            .libro-pdf a:hover {\n                background: #2c3e50;\n            }\n            \n            .libro-cover {\n                width: 100px;\n                text-align: center;\n            }\n            .libro-cover img {\n                max-width: 100%;\n                max-height: 140px;\n                border-radius: 6px;\n                object-fit: contain;\n            }\n            \n            .libro-metrics {\n                display: flex;\n                gap: 15px;\n                align-items: center;\n                min-width: 150px;\n                flex-wrap: wrap;\n            }\n            .metric-item {\n                text-align: center;\n                min-width: 60px;\n            }\n            .metric-label {\n                font-size: 10px;\n                color: #95a5a6;\n                margin-top: 3px;\n            }\n            \n            @media (max-width: 768px) {\n                .libro-card {\n                    flex-direction: column;\n                }\n                .libro-cover {\n                    order: -1;\n                    width: 100%;\n                }\n                .libro-number {\n                    text-align: left;\n                }\n                .filtros-libros {\n                    border-radius: 20px;\n                }\n            }\n        <\/style>\n        \n        <link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.7.2\/css\/all.min.css\">\n        \n        <div class=\"libros-header\">\n            <h2><i class=\"fas fa-book\"><\/i> Libros y Monograf\u00edas<\/h2>\n            <p>Libros cient\u00edficos y monograf\u00edas publicadas<\/p>\n        <\/div>\n        \n        <div class=\"filtros-libros\" id=\"filtros-libros\"><\/div>\n        <div class=\"contador-libros\" id=\"contador-libros\"><\/div>\n        <div id=\"libros-container\"><\/div>\n        \n        <script>\n        \/\/ DATOS DE LIBROS (ESPA\u00d1OL) - DATOS REALES\n        const librosData = [\n            \/\/ 2015 - Atlas de los mam\u00edferos de Yecla\n            { \n                year: \"2015\", \n                number: 2, \n                title: \"Atlas de los mam\u00edferos de Yecla\", \n                authors: \"Marco, \u00d3., Carpena, F. J., Casta\u00f1o, J., Lis\u00f3n, F., Ortu\u00f1o, A., Andr\u00e9s, D., D\u00edaz, J. R., S\u00e1nchez, I., Rico, F., Lara, C.\",\n                editorial: \"ANIDA Yecla\",\n                pages: \"320\",\n                pdf: \"https:\/\/www.researchgate.net\/publication\/279199539_Atlas_de_los_mamiferos_de_Yecla\",\n                cover: \"https:\/\/fulgenciolison.com\/wp-content\/uploads\/2017\/09\/01-Libro-Mam\u00edferos-Portada-1.jpg\"\n            },\n            \n            \/\/ 2011 - Clave de identificaci\u00f3n para las llamadas de ecolocaci\u00f3n\n            { \n                year: \"2011\", \n                number: 1, \n                title: \"Clave de identificaci\u00f3n para las llamadas de ecolocaci\u00f3n de los murci\u00e9lagos de la Pen\u00ednsula Ib\u00e9rica\", \n                authors: \"Lis\u00f3n, F.\",\n                editorial: \"Publicaci\u00f3n electr\u00f3nica 1.0\",\n                pages: \"\",\n                pdf: \"https:\/\/www.researchgate.net\/publication\/230704525_Clave_de_identificacion_para_las_llamadas_de_ecolocacion_de_los_murcielagos_de_la_Peninsula_Iberica\",\n                cover: \"https:\/\/fulgenciolison.com\/wp-content\/uploads\/2017\/09\/Portada-1.jpg\"\n            }\n        ];\n        \n        \/\/ Funci\u00f3n para destacar el nombre del autor\n        function destacarAutor(texto) {\n            if (!texto) return texto;\n            let resultado = texto.replace(\/Lis\u00f3n, F\\.\/g, '<span class=\"autor-destacado\">Lis\u00f3n, F.<\/span>');\n            resultado = resultado.replace(\/Lis\u00f3n F\\.\/g, '<span class=\"autor-destacado\">Lis\u00f3n F.<\/span>');\n            resultado = resultado.replace(\/Lis\u00f3n, F\\b\/g, '<span class=\"autor-destacado\">Lis\u00f3n, F<\/span>');\n            return resultado;\n        }\n        \n        \/\/ Renderizar libros\n        function renderizarLibros(filtroYear = 'all') {\n            const container = document.getElementById('libros-container');\n            const contadorSpan = document.getElementById('contador-libros');\n            \n            if (!container) return;\n            \n            let filtrados = filtroYear === 'all' ? librosData : librosData.filter(l => l.year === filtroYear);\n            filtrados.sort((a, b) => b.number - a.number);\n            \n            const grouped = {};\n            filtrados.forEach(libro => {\n                if (!grouped[libro.year]) grouped[libro.year] = [];\n                grouped[libro.year].push(libro);\n            });\n            \n            const years = Object.keys(grouped).sort((a, b) => b - a);\n            \n            if (years.length === 0) {\n                container.innerHTML = '<div class=\"loading-text\" style=\"text-align:center;padding:50px;\"><i class=\"fas fa-search\"><\/i><br>No hay libros para este a\u00f1o<\/div>';\n                contadorSpan.innerHTML = '';\n                return;\n            }\n            \n            let html = '';\n            years.forEach(year => {\n                html += `<div class=\"year-libro-grupo\">`;\n                html += `<div class=\"year-libro-badge\">${year}<\/div>`;\n                \n                grouped[year].forEach(libro => {\n                    const autoresDestacados = destacarAutor(libro.authors);\n                    \n                    html += `\n                        <div class=\"libro-card\">\n                            <div class=\"libro-number\">${libro.number}.<\/div>\n                            <div class=\"libro-content\">\n                                <div class=\"libro-title\"><strong>${libro.number}.<\/strong> ${libro.title}<\/div>\n                                <div class=\"libro-authors\">${autoresDestacados}<\/div>\n                                <div class=\"libro-editorial\"><i class=\"fas fa-building\"><\/i> ${libro.editorial}<\/div>\n                                ${libro.pages ? `<div class=\"libro-pages\"><i class=\"fas fa-file-alt\"><\/i> ${libro.pages} p\u00e1ginas<\/div>` : ''}\n                                ${libro.pdf ? `<div class=\"libro-pdf\"><a href=\"${libro.pdf}\" target=\"_blank\" rel=\"noopener noreferrer\"><i class=\"fas fa-file-pdf\"><\/i> Ver PDF<\/a><\/div>` : ''}\n                            <\/div>\n                            ${libro.cover ? `<div class=\"libro-cover\"><img decoding=\"async\" src=\"${libro.cover}\" alt=\"Portada\" loading=\"lazy\" onerror=\"this.style.display='none'\"><\/div>` : ''}\n                            <div class=\"libro-metrics\">\n                                <div class=\"metric-item\">\n                                    <i class=\"fas fa-chart-simple\" style=\"font-size: 24px; color: #16a085;\"><\/i>\n                                    <div class=\"metric-label\">M\u00e9trica<\/div>\n                                <\/div>\n                            <\/div>\n                        <\/div>\n                    `;\n                });\n                html += `<\/div>`;\n            });\n            \n            container.innerHTML = html;\n            contadorSpan.innerHTML = `<i class=\"fas fa-book\"><\/i> Total: ${filtrados.length} libro${filtrados.length !== 1 ? 's' : ''}`;\n        }\n        \n        function initFiltros() {\n            const years = [...new Set(librosData.map(l => l.year))].sort((a, b) => b - a);\n            const container = document.getElementById('filtros-libros');\n            if (!container) return;\n            \n            let html = `<button class=\"filtro-libro activo\" data-year=\"all\">\ud83d\udcda Todos (${librosData.length})<\/button>`;\n            years.forEach(year => {\n                const count = librosData.filter(l => l.year === year).length;\n                html += `<button class=\"filtro-libro\" data-year=\"${year}\">${year} (${count})<\/button>`;\n            });\n            container.innerHTML = html;\n            \n            document.querySelectorAll('#filtros-libros .filtro-libro').forEach(btn => {\n                btn.addEventListener('click', function() {\n                    document.querySelectorAll('#filtros-libros .filtro-libro').forEach(b => b.classList.remove('activo'));\n                    this.classList.add('activo');\n                    const year = this.getAttribute('data-year');\n                    renderizarLibros(year);\n                });\n            });\n        }\n        \n        if (document.readyState === 'loading') {\n            document.addEventListener('DOMContentLoaded', function() {\n                initFiltros();\n                renderizarLibros('all');\n            });\n        } else {\n            initFiltros();\n            renderizarLibros('all');\n        }\n        <\/script>\n    <\/div>\n    \n    \n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":63,"menu_order":3,"comment_status":"closed","ping_status":"closed","template":"","meta":{"inline_featured_image":false,"footnotes":""},"class_list":["post-99","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/PafGsx-1B","jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/fulgenciolison.com\/index.php\/wp-json\/wp\/v2\/pages\/99","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fulgenciolison.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/fulgenciolison.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/fulgenciolison.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fulgenciolison.com\/index.php\/wp-json\/wp\/v2\/comments?post=99"}],"version-history":[{"count":1,"href":"https:\/\/fulgenciolison.com\/index.php\/wp-json\/wp\/v2\/pages\/99\/revisions"}],"predecessor-version":[{"id":3514,"href":"https:\/\/fulgenciolison.com\/index.php\/wp-json\/wp\/v2\/pages\/99\/revisions\/3514"}],"up":[{"embeddable":true,"href":"https:\/\/fulgenciolison.com\/index.php\/wp-json\/wp\/v2\/pages\/63"}],"wp:attachment":[{"href":"https:\/\/fulgenciolison.com\/index.php\/wp-json\/wp\/v2\/media?parent=99"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}