CINXE.COM
Корпус енциклопедичних видань України
<!DOCTYPE html> <html lang="uk"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0"/> <meta name="description" content="Корпус енциклопедичних видань України: бібліографічний онлайн-покажчик – електронний інформаційно-довідковий веб-ресурс про українські енциклопедії, енциклопедичні словники й довідники" /> <meta property="og:type" content="WEBSITE"/> <meta property="og:title" content="Корпус енциклопедичних видань України: бібліографічний онлайн-покажчик"/> <meta property="og:description" content="Корпус енциклопедичних видань України: бібліографічний онлайн-покажчик – електронний інформаційно-довідковий веб-ресурс про українські енциклопедії, енциклопедичні словники й довідники"/> <meta property="og:author" content="Микола Железняк, Олександр Іщенко" /> <meta property="og:site_name" content="Корпус енциклопедичних видань України: бібліографічний онлайн-покажчик" /> <meta property="og:url" content="https://corpus.encyclopedia.kyiv.ua"/> <meta property="og:image" content="https://corpus.encyclopedia.kyiv.ua/images/logo.webp" /> <meta property="og:image:type" content="https://corpus.encyclopedia.kyiv.ua/image/webp" /> <title>Корпус енциклопедичних видань України</title> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;800&display=swap" rel="stylesheet"> <style> :root { --accent: #226c95; --accent-gradient: linear-gradient(135deg, #226c95, #00c6ff); --light-bg: #f9fafb; --text-dark: #1f2937; --text-light: #6b7280; --radius: 14px; --shadow: 0 8px 20px rgba(0, 0, 0, 0.05); } * { margin: 0; padding: 0; box-sizing: border-box; scroll-behavior: smooth; } body { font-family: 'Inter', sans-serif; background: var(--light-bg); color: var(--text-dark); line-height: 1.6; } header { background: white; padding: 0.5rem 1rem; box-shadow: 0 2px 5px rgba(0,0,0,.1); display: flex; justify-content: space-between; align-items: center; position: relative; top: 0; z-index: 100; backdrop-filter: blur(6px); } #menu-toggle { font-size: 1.75rem; background: none; border: none; color: var(--text-dark); cursor: pointer; display: none; } /* За замовчуванням меню не має бути видимим */ #menu { display: none; /* Приховуємо за замовчуванням */ } header h1 { font-size: 1.75rem; font-weight: 800; background: var(--accent-gradient); -webkit-background-clip: text; -webkit-text-fill-color: transparent; } nav ul { list-style: none; display: flex; gap: 1.25rem; } nav a { text-decoration: none; color: #8c8c8c; font-weight: 600; position: relative; } nav a::after { content: ''; position: absolute; left: 0; bottom: -3px; width: 0%; height: 2px; background: var(--accent); transition: width 0.3s ease; } nav a:hover { color: var(--accent); } nav a:hover::after { width: 100%; } .visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; } nav a.active { color: var(--accent); font-weight: 700; } nav a.active:hover::after { width: 100% !important; } .header-right{ text-align: end; } .language-switcher .lang.active { font-weight: bold; color: #2563eb; } .hero { text-align: center; padding: 5rem 2rem 3rem; background: linear-gradient(to bottom, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.6)), url('../images/old-book.jpg') no-repeat center center / cover; color: white; animation: fadeIn 1s ease-in-out both; } .hero h2 { font-size: 2.75rem; font-weight: 800; margin-bottom: 0.5rem; } .hero p { font-size: 1.2rem; color: var(--text-light); max-width: 700px; margin: 0 auto 2rem; } .search-box { display: flex; justify-content: center; margin-bottom: 3rem; padding: 0 1rem; } .search-box input { width: 100%; max-width: 500px; padding: 0.75rem 1.25rem; font-size: 1rem; border: 1px solid #d1d5db; border-radius: var(--radius); box-shadow: var(--shadow); } .section { padding: 3rem 2rem; max-width: 1200px; margin: 0 auto; } .section h3, h4, h5 { font-size: 1.75rem; font-weight: 700; margin-bottom: 1.5rem; text-align: center; } .section h5 { font-size: 1.1rem; font-weight: 700; margin-bottom: 1.5rem; text-align: left; } .section h5 a{ color: #1f6d99; text-decoration:none; } .section h5 a:hover{ color: #f8b667; } .section a::after { content: ''; position: absolute; left: 17px; bottom: -2px; width: 0%; height: 2px; background: #f8b667; transition: width 0.3s ease; } .section a:hover::after { width: 90%; text-align:center; } .cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.75rem; } .card { background-color: white; padding: 1.75rem; border-radius: var(--radius); box-shadow: var(--shadow); position: relative; transition: transform 0.3s ease, box-shadow 0.3s ease; } .card:hover { transform: translateY(-6px); box-shadow: 0 12px 24px rgba(0,0,0,0.08); } .card h4 { font-size: 1.2rem; margin-bottom: 0.5rem; } .card p { font-size: 1rem; color: var(--text-light); } .card img { width: 80px; height: 120px; object-fit: cover; margin-right: 15px; float: left; display: block; } .card-content { overflow: hidden; } .stats-section { background: #ffffff; text-align: center; padding: 3rem 2rem; box-shadow: var(--shadow); } .stats-section h3 { font-size: 1.75rem; font-weight: 700; margin-bottom: 1.5rem; color: var(--text-dark); } .stats-number { display: flex; justify-content: center; align-items: center; } .circle-number { display: inline-flex; justify-content: center; align-items: center; width: 200px; height: 200px; border-radius: 50%; color: #236c95; font-size: 3rem; font-weight: 800; box-shadow: 1px 1px 12px rgb(198, 198, 198); } .typing_text { overflow: hidden; /* ховає текст за межами */ white-space: nowrap; /* текст в один рядок */ border-right: 2px solid white; /* курсор */ width: 100%;max-width: 800px; animation: typing 6s steps(69, end) forwards, blink 0.7s step-end infinite; } .cover { float:right; margin-top: 2.5em; } @keyframes typing { from { width: 0 } to { width: 100% } } @keyframes blink { 0%, 100% { border-color: transparent } 50% { border-color: white } } #myChart { width: 60% !important; height: auto !important; } /* ДОПИС */ .section_article { padding: 3rem 2rem; max-width: 1200px; margin: 0 auto; background: #ffffff; box-shadow: var(--shadow); border-radius: var(--radius); } .section_article h2 { font-size: 2.75rem; } .section_article h3 { font-size: 1.75rem; font-weight: 700; margin-bottom: 1.5rem; margin-top: 2.2rem; text-align: left; color: #f5b460; } .section_article { margin-top: 2rem; margin-bottom: 2rem; } .section_article h4 { font-size: 1.3rem; font-weight: 600; margin-bottom: 0.75rem; color: var(--text-dark); } .section_article p { font-size: 1.15rem; color: var(--text-dark); line-height: 1.8; } .section_article ul, ol { font-size: 1.15rem; color: var(--text-dark); line-height: 1.8; padding: 10px; } .section_article li { font-size: 1.15rem; color: var(--text-dark); line-height: 1.8; margin: 8px 28px; } .section_article a { text-decoration: none; color: #226c95; position: relative; transition: color 0.3s ease; } .section_article a::after { content: ''; position: absolute; left: 0; bottom: -2px; width: 0; height: 2px; background: #febc61; transition: width 0.3s ease; } .section_article a:hover::after { width: 100%; / } .section_article a:hover { color: gray } dl.item { margin: 0; padding: 0; } dl.item dt { font-size: 1.75rem; font-weight: 700; margin-top: 2.2rem; margin-bottom: 0.5rem; text-align: left; color: darkkhaki; } dl.item dd { font-size: 1.15rem; color: var(--text-dark); line-height: 1.8; margin-bottom: 1rem; margin-left: 0; } dl.item dd { margin: 0; } dl.item p { margin: 2em; } dl.item dd a { text-decoration: none; color: #226c95; position: relative; transition: color 0.3s ease; } dl.item dd a::after { content: ''; position: absolute; left: 0; bottom: -2px; width: 0; height: 2px; background: #febc61; transition: width 0.3s ease; } dl.item dd a:hover::after { width: 100%; } dl.item dd a:hover { color: #6b7280; } dl.item dd.rez { font-size: 1.15rem; color: var(--text-dark); } @media (max-width: 768px) { dl.item dt { font-size: 1.5rem; } dl.item dd { font-size: 0.95rem; } } @media (max-width: 480px) { dl.item dt { font-size: 1.35rem; } dl.item dd { font-size: 0.9rem; } } .rez a{ display: block; margin-bottom: 2rem; font-size: 1.15rem; } .rez a::after { content: none !important; } .rez a[href$=".pdf"] { display: inline-block; text-decoration: none; color: #226c95; transition: color 0.3s ease; position: relative; } .rez a[href$=".pdf"]::after { content: ""; display: inline-block; width: 16px; height: 16px; background: url('../images/pdf.svg') no-repeat center center; background-size: contain; margin-left: 0.5rem; vertical-align: middle; } .rez a[href$=".pdf"]:hover { color: #6b7280; } .rez a[href$=".pdf"]:focus { outline: 2px solid var(--accent); outline-offset: 2px; } form p { margin:20px; } /* КАТЕГОРІЯ ЕНЦИКЛОПЕДІЙ */ .category { display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 1rem; background: #0268b3; border-radius: var(--radius); font-size: 1.1rem; color: white; margin: 2rem 0; width: fit-content; box-shadow: var(--shadow); } .category strong { font-weight: 600; color: white; } .category a { text-decoration: none; color: white; font-weight: 500; transition: color 0.3s ease; } .category a:hover { color: orange; } @media (max-width: 768px) { .category { padding: 0.5rem 0.75rem; font-size: 0.9rem; } } @media (max-width: 480px) { .category { flex-direction: column; align-items: flex-start; gap: 0.25rem; } } /* ПОШУК */ .search-box { position: relative; } .search-results { position: absolute; top: 111%; max-width: 500px; background: white; border: 1px solid #d1d5db; border-radius: var(--radius); box-shadow: var(--shadow); max-height: 300px; overflow-y: auto; z-index: 200; display: none; } .search-results.active { display: block; } .search-results .result-item { padding: 0.75rem 1.25rem; border-bottom: 1px solid #e5e7eb; cursor: pointer; transition: background 0.2s ease; } .result-item{color:black;} .search-results .result-item:last-child { border-bottom: none; } .search-results .result-item:hover { background: #f1f5f9; } .search-results .result-item a { text-decoration: none; color: var(--text-dark); font-size: 1rem; } footer { background-color: #0268b3; color: white; font-size: 0.95rem; } footer a { color: white; text-decoration: none; position: relative; transition: color 0.3s ease; } footer a::after { content: ''; position: absolute; left: 0; bottom: -2px; width: 0; height: 2px; background-color: #febc61; transition: width 0.3s ease; } footer a:hover::after { width: 100%; } .footer-top { display: flex; flex-wrap: wrap; justify-content: space-between; padding: 2rem; border-bottom: 1px solid white; } .footer-column { flex: 1; min-width: 200px; padding: 0 1rem; } .footer-image { width: 225px; display: flex; align-items: center; justify-content: center; padding: 0 1rem; } .footer-image img { max-width: 275px; height: auto; padding: 14px; } .footer-bottom { text-align: center; padding: 1rem; color: white; background-color: #0268b3; } @keyframes fadeIn { 0% { opacity: 0; transform: translateY(-10px); } 100% { opacity: 1; transform: translateY(0); } } @media (min-width: 1800px) { header{ position: sticky; }#menu { display: block; flex-direction: row; } nav ul { list-style: none; display: flex; gap: 1.25rem; } .language-switcher { position: absolute; top: 0; right: 0; padding: 12px; } .header-right { text-align: end; } .logo { width: 545px; } } @media (max-width: 1799px) { .logo { width: 40%; } #menu-toggle { display: block; text-align: end; width: auto; padding-right: 15px; } #menu { display: none; flex-direction: column; gap: 1rem; background: white; padding: 1rem; box-shadow: var(--shadow); position: absolute; top: 100%; left: 0; width: 100%; z-index: 100; } #menu:not(.hidden) { display: flex; /* Показуємо меню, коли .hidden знято */ } #menu ul { flex-direction: column; gap: 1rem; } .language-switcher { margin-top: 1rem; } } @media (max-width: 999px) { #myChart { width: 85% !important; height: auto !important; } .logo { width: 70%; } } @media (max-width: 768px) { nav ul { flex-direction: column; gap: 0.75rem; padding-top: 0.5rem; } .hero h2 { font-size: 2rem; } .hero p { font-size: 1rem; } .search-box { padding: 0 1rem; } .card { padding: 1.25rem; } #myChart { width: 99% !important; height: auto !important; } .logo { width: 85%; } .footer-top { flex-direction: column; align-items: center; text-align: center; } .footer-image { width: 100%; margin-top: 1rem; } .cover { float:none; } } @media (max-width: 480px) { header h1 { font-size: 1.5rem; } .logo { max-width: 90%; } nav a { font-size: 0.95rem; } .hero h2 { font-size: 1.75rem; } .hero p { font-size: 0.95rem; } .section h3 { font-size: 1.5rem; } } </style> </head> <body> <header> <a href="/" class="logo-link"> <img class="logo" src="images/logo.webp" alt="Корпус енциклопедичних видань України Logo" > </a> <h1 class="visually-hidden">Корпус енциклопедичних видань України</h1> <button id="menu-toggle" aria-label="Відкрити меню">☰</button> <div class="header-right"> <nav id="menu" class="hidden"> <ul> <li><a href="about">Про проєкт</a></li> <li><a href="general-encyclopedias">Загальні енциклопедії</a></li> <li><a href="regional-encyclopedias">Регіональні енциклопедії</a></li> <li><a href="subject-encyclopedias">Галузеві енциклопедії</a></li> <li><a href="encyclopedias-of-persons">Персональні енциклопедії</a></li> <li><a href="childrens-encyclopedias">Дитячі енциклопедії</a></li> <li><a href="contacts">Контакти</a></li> </ul> <div class="language-switcher"> <nav class="flex items-center gap-4"> <a href="#" id="lang-ua" class="lang active">UA</a> <span>|</span> <a href="#" id="lang-en" class="lang">EN</a> </nav> </div> </nav> </div> </header> <main> <section class="hero"> <h2>Корпус енциклопедичних видань України</h2> <span><strong>Бібліографічний онлайн-покажчик</strong></span> <p class="typing_text" style="margin-top: 28px;color: #f8b864;">Довідково про українські енциклопедії та енциклопедичні словники.</p> <div class="search-box"> <input type="text" id="search-input" placeholder="Пошук енциклопедичних видань..." autocomplete="off"> <div id="search-results" class="search-results"></div> </div> </section> <section class="stats-section"> <h3>Кількість енциклопедичних видань у Корпусі</h3> <div class="stats-number"> </div> <span class="circle-number">439</span><br> <p style="margin: 40px"><strong>Розподіл за типами видань</strong></p> <div style="display: ruby;"> <canvas id="myChart"></canvas> <script src="https://cdn.jsdelivr.net/npm/chart.js@2.9.3/dist/Chart.min.js"></script> <script> window.onload = function() { var ctx = document.getElementById("myChart").getContext("2d"); var myBar = new Chart(ctx, { type: 'bar', data: { labels: ["Галузеві", "Регіональні", "Персональні", "Дитячі", "Загальні"], datasets: [{ // label пропущено data: [264, 131, 17, 16, 11], backgroundColor: "#febc61", borderColor: "#febc61", borderWidth: 1 }] }, options: { responsive: false, maintainAspectRatio: false, legend: { display: false // Вимикаємо легенду }, tooltips: { enabled: false }, scales: { xAxes: [{ ticks: { fontSize: 14 } }], yAxes: [{ ticks: { beginAtZero: true, fontSize: 14 } }] }, animation: { onComplete: function () { var ctx = this.chart.ctx; ctx.font = "16px Arial"; ctx.fillStyle = '#000'; ctx.textAlign = 'center'; ctx.textBaseline = 'bottom'; this.data.datasets.forEach(function (dataset) { for (var i = 0; i < dataset.data.length; i++) { var model = dataset._meta[Object.keys(dataset._meta)[0]].data[i]._model; ctx.fillText(dataset.data[i], model.x, model.y - 5); } }); } } } }); } </script> </div> </section> <section class="section"> <h4>Нові видання</h4> <div class="cards"> <div class="card"> <img src="images/img_67f4cd2dd7bbd.webp" alt="Обкладинка"> <div class="card-content"> <h5> <a href="item/487"> Biograma: Енциклопедія імен української преси </a> </h5> <p>галузеве енциклопедичне видання</p> <p>2025</p> </div> </div> <div class="card"> <img src="images/img_66fe7250a919b.jpg" alt="Обкладинка"> <div class="card-content"> <h5> <a href="item/485"> Сучасна митна енциклопедія </a> </h5> <p>галузеве енциклопедичне видання</p> <p>2024</p> </div> </div> <div class="card"> <div class="card-content"> <h5> <a href="item/181"> Шевченківська енциклопедія: Образотворча спадщина </a> </h5> <p>енциклопедичне видання про персоналію</p> <p>2023 </p> </div> </div> </div> </section> </main> <footer> <div class="footer-top"> <div class="footer-column"> ISBN: 978-966-02-9625-1 <br> DOI: <a href="https://doi.org/10.37068/b/cuebi">10.37068/b/cuebi</a> <br> Створено у 2017 році </div> <div class="footer-column"> <b>Покликання на джерело:</b> <br> Корпус енциклопедичних видань України: бібліографічний онлайн-покажчик [веб-сайт] / Укл. М.Г. Железняк, О.С. Іщенко та ін. Київ: Інститут енциклопедичних досліджень НАН України, 2025. DOI: <a href="https://doi.org/10.37068/b/cuebi">https://doi.org/10.37068/b/cuebi</a> </div> <div class="footer-image"> <img src="logo-inst.png" alt="Лого" /> </div> </div> <div class="footer-bottom"> 2025 © <a href="https://encyclopedia.kyiv.ua/">Інститут енциклопедичних досліджень НАН України </a> </div> </footer> <script> document.addEventListener("DOMContentLoaded", function () { const menuToggle = document.getElementById("menu-toggle"); const menu = document.getElementById("menu"); if (menuToggle && menu) { menuToggle.addEventListener("click", function () { menu.classList.toggle("hidden"); }); } else { console.error("Елемент #menu-toggle або #menu не знайдено!"); } const categoryElement = document.querySelector(".category a"); const menuLinks = document.querySelectorAll("#menu ul li a"); if (categoryElement) { const categoryHref = categoryElement.getAttribute("href").trim(); menuLinks.forEach(link => { const linkHref = link.getAttribute("href"); if (linkHref === categoryHref) { link.classList.add("active"); } }); } const langUa = document.getElementById("lang-ua"); const langEn = document.getElementById("lang-en"); [langUa, langEn].forEach(lang => { if (lang) { lang.addEventListener("click", function (e) { e.preventDefault(); langUa.classList.remove("active"); langEn.classList.remove("active"); this.classList.add("active"); const currentPath = window.location.pathname; const isEn = this.id === "lang-en"; let targetPath; if (isEn && !currentPath.startsWith("/en/")) { targetPath = "/en" + currentPath; } else if (!isEn && currentPath.startsWith("/en/")) { targetPath = currentPath.replace(/^\/en/, ""); } else { targetPath = currentPath; } window.location.href = targetPath; }); } }); }); </script> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-34678260-5"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-34678260-5'); </script> <script> document.addEventListener("DOMContentLoaded", function () { const searchInput = document.getElementById("search-input"); const searchResults = document.getElementById("search-results"); searchInput.addEventListener("input", function () { const query = this.value.trim(); if (query.length < 2) { // Пошук починається з 2 символів searchResults.classList.remove("active"); searchResults.innerHTML = ""; return; } // Відправляємо AJAX-запит fetch("search.php", { method: "POST", headers: { "Content-Type": "application/x-www-form-urlencoded", }, body: "query=" + encodeURIComponent(query), }) .then(response => response.json()) .then(data => { searchResults.innerHTML = ""; if (data.length > 0) { data.forEach(item => { const resultItem = document.createElement("div"); resultItem.classList.add("result-item"); resultItem.innerHTML = `<a href="item/${item.id}">${item.title}</a>`; searchResults.appendChild(resultItem); }); searchResults.classList.add("active"); } else { // Додаємо повідомлення, якщо результатів немає const noResults = document.createElement("div"); noResults.classList.add("result-item"); noResults.textContent = "Немає результатів"; searchResults.appendChild(noResults); searchResults.classList.add("active"); } }) .catch(error => { console.error("Помилка AJAX-запиту:", error); searchResults.classList.remove("active"); }); }); // Приховуємо результати при кліку поза полем document.addEventListener("click", function (e) { if (!searchInput.contains(e.target) && !searchResults.contains(e.target)) { searchResults.classList.remove("active"); } }); }); </script> </body> </html>