PageSourceSearch

https://azure-sandy-phi.vercel.app/assets/js/blog.js

js azure-sandy-phi.vercel.app collected 2026-10-03 06:09:32 UTC 1,377 bytes, 42 lines download raw bytes

1/* ============================================================
2   AZURE — журнал
3   ============================================================ */
4(() => {
5'use strict';
6const $  = (s, r = document) => r.querySelector(s);
7const $$ = (s, r = document) => [...r.querySelectorAll(s)];
8const T  = (ru, en) => AZI18N.t(ru, en);
9
10AZI18N.addDict({
11  'bl.title':'Travel <i>journal</i>',
12  'bl.lead':'What twelve years of work taught us: when to go, what to pack and why some routes work while others do not.',
13});
14
15let cat = 'all';
16const cats = () => {
17  const seen = new Map();
18  AZ.ARTICLES.forEach(a => seen.set(a.cat.ru, a.cat));
19  return [...seen.values()];
20};
21
22const paint = () => {
23  const L = AZ.lang();
24  $('#blCats').innerHTML =
25    `<button type="button" class="bl-cat${cat==='all'?' is-on':''}" data-c="all">${T('Все','All')}</button>`
26    + cats().map(c => `<button type="button" class="bl-cat${cat===c.ru?' is-on':''}" data-c="${AZR.esc(c.ru)}">${AZR.esc(c[L])}</button>`).join('');
27
28  const list = AZ.ARTICLES.filter(a => cat === 'all' || a.cat.ru === cat);
29  $('#blGrid').innerHTML = list.map((a, i) => AZR.postCard(a, i, i === 0 && cat === 'all')).join('');
30  AZReveal();
31};
32
33$('#blCats').addEventListener('click', e => {
34  const b = e.target.closest('.bl-cat');
35  if (!b) return;
36  cat = b.dataset.c;
37  paint();
38});
39
40paint();
41AZI18N.onLang(paint);
42})();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.