// Заполняет страницу из config.json (function () { var $ = function (id) { return document.getElementById(id); }; var make = function (tag, cls, text) { var n = document.createElement(tag); if (cls) n.className = cls; if (text) n.textContent = text; return n; }; var safe = function (u) { return /^https?:\/\//i.test(u) ? u : '#'; }; window.siteConfig.then(function (c) { if (!c) return; if (c.name) { $('name').textContent = c.name; document.title = c.name + ': давай общаться'; $('initials').textContent = c.name.split(/\s+/).map(function (w) { return w.charAt(0); }).join('').slice(0, 2).toUpperCase(); } if (c.status) $('status').textContent = c.status; if (c.tagline) { // текст раскладывается на слова: каждое появляется по очереди (стили в css, .w) var tg = $('tagline'); tg.textContent = ''; c.tagline.split(/\s+/).forEach(function (word, i, all) { var w = make('span', 'w', word); w.style.setProperty('--i', i); tg.appendChild(w); if (i < all.length - 1) tg.appendChild(document.createTextNode(' ')); }); } (c.facts || []).forEach(function (f) { var li = make('li'); li.appendChild(make('span', 'em', f.emoji || '')); li.appendChild(document.createTextNode(' ' + f.text)); $('facts').appendChild(li); }); if (c.cta) $('cta').textContent = c.cta; if (c.photo && /^\/[\w\-./]+$/.test(c.photo)) { var img = document.createElement('img'); img.src = c.photo; img.alt = ''; img.width = 480; img.height = 480; img.fetchPriority = 'high'; $('avatar').textContent = ''; $('avatar').classList.add('has-photo'); $('avatar').appendChild(img); } (c.tags || []).forEach(function (t) { var li = make('li'); li.appendChild(make('span', 'em', t.emoji || '')); li.appendChild(document.createTextNode(' ' + t.text)); $('tags').appendChild(li); }); var list = $('links'), mailLi = $('mail').parentNode; (c.socials || []).forEach(function (s) { var a = make('a', 'link'); a.href = safe(s.url); a.target = '_blank'; a.rel = 'me noopener'; a.appendChild(make('span', 'ic', (s.label || '?').charAt(0))); a.appendChild(make('span', 'lk', s.label)); a.appendChild(make('span', 'lh', s.handle || '')); var li = make('li'); li.appendChild(a); list.insertBefore(li, mailLi); }); if (c.email) { $('mail').href = 'mailto:' + c.email; $('mail').querySelector('.lh').textContent = c.email; } }).then(window.siteReady); })();