Sublime Text3主题与配色方案深度解析:原理、协同与高分屏适配
2026/9/18 18:29:34
NewsNow 是一个由开发者ourongxing创建的开源实时新闻聚合器,旨在将分散在各个平台的热点信息统一到一个简洁优雅的界面中,帮助用户高效获取有价值的信息,摆脱传统资讯平台的算法绑架和信息茧房。
⚠️重要区分:请勿与英国商业新闻网站 newsnow.co.uk 混淆,二者完全无关。
演示站点使用提示:
NewsNow 主打用户主权和反算法绑架:
server/sources/目录中每个新闻源独立实现适配器,将不同平台的数据结构统一为内部NewsItem格式,便于扩展新源。interval、type(hottest/latest)等动态调整抓取策略。推荐使用 Docker,最简方式:
# docker-compose.ymlservices:newsnow:image:ghcr.io/ourongxing/newsnow:latestcontainer_name:newsnowrestart:alwaysports:-'4444:4444'执行docker-compose up -d后,访问http://localhost:4444即可。
远程访问建议:配合内网穿透工具(如 cpolar)可获得公网地址,实现随时随地访问。
NewsNow 最强大的特性之一是极易添加自定义新闻源。
shared/sources.json中添加配置:{"github-trending":{"name":"GitHub Trending","type":"hottest","column":"tech","home":"https://github.com/trending","color":"gray","interval":600000,"title":"今日热门仓库"}}server/sources/创建github.ts:import*ascheeriofrom'cheerio';import{myFetch}from'../utils/fetch';exportdefaultdefineSource({'github-trending':async()=>{consturl='https://github.com/trending';consthtml=awaitmyFetch(url);const$=cheerio.load(html);constitems=[];$('article.Box-row').each((_,element)=>{consttitle=$(element).find('h2 a').text().trim();constrelativeUrl=$(element).find('h2 a').attr('href');constdescription=$(element).find('p.pr-4').text().trim();if(title&&relativeUrl){items.push({id:relativeUrl,title:title.replace(/\s+/g,' '),url:`https://github.com${relativeUrl}`,extra:{description:description||''}});}});returnitems.slice(0,10);}});pnpm dev测试,确认新源在界面正常显示。MCP Newsnow Server:
pip install mcp-newsnow,然后在 AI 助手配置中添加即可。NewsNow 既是高效的个人资讯工具,又是学习现代全栈开发、设计模式和可扩展架构的优秀开源样本。如需部署细节、特定新闻源抓取技巧或性能优化指导,可进一步提问。