// Верхнее меню из config.json: pages. На главной показывается, только если есть страницы; на остальных всегда. (function () { window.siteConfig.then(function (c) { var nav = document.getElementById('topnav'); if (nav && c) { var pages = (c.pages || []).filter(function (p) { return !p.draft; }); // черновики в меню не попадают var norm = function (p) { return p.replace(/\/+$/, '') + '/'; }; var here = norm(location.pathname); var home = here === '/'; if (pages.length || !home) { var brand = document.createElement('a'); brand.className = 'brand'; brand.href = '/'; var parts = (c.name || 'Главная').split(' '); brand.appendChild(document.createTextNode(parts[0])); if (parts.length > 1) { var rest = document.createElement('span'); rest.className = 'brand-rest'; rest.textContent = ' ' + parts.slice(1).join(' '); brand.appendChild(rest); } nav.appendChild(brand); var ul = document.createElement('ul'); pages.forEach(function (p) { if (!/^\/[\w\-./]*$/.test(p.url)) return; // только внутренние адреса var a = document.createElement('a'); a.className = 'pill'; a.href = p.url; a.textContent = p.label; var u = norm(p.url); if (u === here || (u !== '/' && here.indexOf(u) === 0)) a.setAttribute('aria-current', 'page'); var li = document.createElement('li'); li.appendChild(a); ul.appendChild(li); }); nav.appendChild(ul); document.body.classList.add('has-nav'); } } }).then(window.siteReady); })();