diff --git a/index.html b/index.html index 0137444..fdc1e1b 100644 --- a/index.html +++ b/index.html @@ -60,10 +60,10 @@ body{font:15px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,system-ui,s .feed-title a:hover{color:var(--cyan);text-decoration:underline} .feed-meta a.src-link{color:var(--blue);text-decoration:none;font-size:12px} .feed-meta a.src-link:hover{text-decoration:underline} -.feed-item.clickable{cursor:pointer;transition:background .15s;border-radius:8px;margin:0 -8px;padding:12px 8px} -.feed-item.clickable:hover{background:rgba(0,229,255,.04)} -.tl-item.clickable{cursor:pointer;transition:background .15s;border-radius:8px;margin:0 -8px;padding:14px 8px} -.tl-item.clickable:hover{background:rgba(0,229,255,.04)} +.feed-item[data-href],.tl-item[data-href]{cursor:pointer;transition:background .15s;border-radius:8px;margin:0 -8px;padding:12px 8px} +.feed-item[data-href]:hover,.tl-item[data-href]:hover{background:rgba(0,229,255,.04)} +.src-search-link{color:var(--cyan);text-decoration:none;font-size:12px;font-weight:600;margin-left:8px;white-space:nowrap} +.src-search-link:hover{text-decoration:underline} .tl-text a{color:var(--text);text-decoration:none} .tl-text a:hover{color:var(--cyan);text-decoration:underline} .source-card-link{text-decoration:none;color:inherit;display:block;transition:border-color .15s,transform .15s} @@ -285,14 +285,14 @@ const COMPANIES = [ const CATEGORIES = ['Экономика','Социальная сфера','Трудовые споры','Экология','Инфраструктура','Кадровые назначения','Финансы','Производство','Транспорт','Безопасность']; const NEWS_SOURCES = [ - {name:'Tengrinews',type:'news',url:'https://tengrinews.kz'}, - {name:'Zakon.kz',type:'news',url:'https://www.zakon.kz'}, - {name:'Informburo',type:'news',url:'https://informburo.kz'}, - {name:'Kapital.kz',type:'news',url:'https://kapital.kz'}, - {name:'Forbes Kazakhstan',type:'news',url:'https://forbes.kz'}, - {name:'Orda.kz',type:'news',url:'https://orda.kz'}, - {name:'DKnews',type:'news',url:'https://dknews.kz'}, - {name:'Baigenews',type:'news',url:'https://baigenews.kz'} + {name:'Tengrinews',type:'news',url:'https://tengrinews.kz',searchPattern:'https://tengrinews.kz/search/?q={q}'}, + {name:'Zakon.kz',type:'news',url:'https://www.zakon.kz',searchPattern:'https://www.zakon.kz/search/?q={q}'}, + {name:'Informburo',type:'news',url:'https://informburo.kz',searchPattern:'https://informburo.kz/search?query={q}'}, + {name:'Kapital.kz',type:'news',url:'https://kapital.kz',searchPattern:'https://kapital.kz/search/?q={q}'}, + {name:'Forbes Kazakhstan',type:'news',url:'https://forbes.kz',searchPattern:'https://forbes.kz/search/?q={q}'}, + {name:'Orda.kz',type:'news',url:'https://orda.kz',searchPattern:'https://orda.kz/?s={q}'}, + {name:'DKnews',type:'news',url:'https://dknews.kz',searchPattern:'https://dknews.kz/?s={q}'}, + {name:'Baigenews',type:'news',url:'https://baigenews.kz',searchPattern:'https://baigenews.kz/?s={q}'} ]; const SOCIAL_SOURCES = [ @@ -303,9 +303,9 @@ const SOCIAL_SOURCES = [ ]; const GOV_SOURCES = [ - {name:'Самрук-Казына (оф. сайт)',type:'gov',url:'https://sk.kz'}, - {name:'KASE (биржа)',type:'gov',url:'https://kase.kz'}, - {name:'Правительство РК',type:'gov',url:'https://www.gov.kz'}, + {name:'Самрук-Казына (оф. сайт)',type:'gov',url:'https://sk.kz',searchPattern:'https://sk.kz/search/?q={q}'}, + {name:'KASE (биржа)',type:'gov',url:'https://kase.kz',searchPattern:'https://kase.kz/ru/news/?q={q}'}, + {name:'Правительство РК',type:'gov',url:'https://www.gov.kz',searchPattern:'https://www.gov.kz/search?q={q}'}, {name:'Минэнерго РК',type:'gov',url:'https://www.gov.kz/memleket/entities/energo'}, {name:'Минтранс РК',type:'gov',url:'https://www.gov.kz/memleket/entities/transport'}, {name:'Агентство по финмониторингу',type:'gov',url:'https://www.gov.kz/memleket/entities/afm'} @@ -379,18 +379,25 @@ function typeLabel(type){ return'Прочее'; } +function srcSearchUrl(source,company){ + const q=encodeURIComponent(company||'Самрук-Казына'); + if(source.searchPattern) return source.searchPattern.replace('{q}',q); + return 'https://www.google.com/search?q=site%3A'+new URL(source.url).hostname.replace('www.','')+'+'+q; +} + function renderAll(){ const feed=generateFeed(6); document.getElementById('feedList').innerHTML=feed.map(f=>{ const q=encodeURIComponent(f.company||'Самрук-Казына'); const searchUrl='https://news.google.com/search?q='+q+'&hl=ru'; const srcUrl=f.source.url||('https://news.google.com/search?q='+encodeURIComponent(f.source.name+' '+f.company)+'&hl=ru'); + const srcSearch=srcSearchUrl(f.source,f.company); return ` -