内容提要
Node.js网站经过14年的发展,进行了全新设计,旨在提升用户体验和信息架构。新设计强调渐进式演变,减少用户干扰,采用现代技术如Next.js和Tailwind CSS。团队注重可访问性和性能,支持多语言,并通过社区贡献推动项目进展,为Node.js网站的未来奠定了坚实基础。
延伸解读
从失败中学习:2019年重设计尝试的教训
文章提到,2019年团队曾尝试在nodejs.dev新域名和新仓库上重设计网站,但最终未能持续。原因包括开发孤立、贡献者工作流缺失、维护负担过重等。这一失败促使团队转向渐进式演变和在现有仓库中开发,以最小化对用户和贡献者的干扰。这段历史提醒我们,大型开源项目的重设计需充分考虑社区现有工作流和可持续性。
技术选型:为何从Nextra转向Next.js
团队最初采用Nextra(基于Next.js的静态站点生成器)进行重设计,但随着网站规模增长,需要不断突破Nextra的约定,依赖底层Next.js功能。最终转向Next.js,因其灵活性和强大功能,同时保持静态构建以提升终端用户速度,并利用增量静态再生获取动态内容。这一选择平衡了性能与动态需求,也契合贡献者现有的React技能。
国际化重置:艰难但必要的决定
旧网站曾支持近20种语言,但由于一系列不幸事件,团队决定重置所有翻译。文章称这是一个艰难但正确的决定。目前正与Crowdin合作重新建立国际化工作,包括仔细解析新的基于MDX的内容。这意味着多语言支持将逐步恢复,社区可关注后续进展并参与翻译贡献。
社区贡献与开发者体验的强化
重设计过程中,团队通过Grace Hopper Celebration和Hacktoberfest等活动吸引新贡献者,准备了“good first issues”并提供现场指导。仅Grace Hopper就收到28位作者的40个PR,Hacktoberfest另有26个PR。同时,团队改进文档、使用TypeScript、加强CI/CD反馈,以降低贡献门槛。这些举措体现了对开发者体验和社区成长的重视。
Q&A
Node.js网站重新设计的主要目标是什么?
主要目标是提升用户体验和信息架构,确保网站在未来的可持续发展。
新设计中使用了哪些现代技术?
新设计采用了Next.js和Tailwind CSS等现代技术。
Node.js网站的访问量和内容规模如何?
网站每月处理30亿请求,包含1600多页内容。
在重新设计过程中,团队如何确保用户体验不受影响?
团队强调渐进式演变,尽量减少用户干扰,确保平稳过渡。
Node.js网站的国际化情况如何?
旧网站支持近20种语言,但由于重置翻译,正在与Crowdin合作重新建立国际化。
团队如何鼓励新贡献者参与项目?
通过提供“良好的首个问题”和现场指导,鼓励新贡献者参与。