标签: CodeMirror
-
在为 A Tour of Go 多语言项目新增阿拉伯语版本时,我第一次真正处理 RTL(从右到左)语言。翻译本身仍沿用既有 TranslationUnit、Quality Check、Course SEO 和 Locale Surface Review 流程,但 RTL 很快暴露了桌面双栏重叠、移动端编辑器被压窄、课程导航方向语义变化、代码区必须保持 LTR 等问题。最终通过调整共享布局、响应式规则和浏览器回归测试完成阿拉伯语正式上线,并在排查 PageUp/PageDown 快捷键时进一步确认了一个可在官方 go.dev/tour 复现的上游焦点问题。整门阿拉伯语实际投入约 7 小时,相比普通 LTR 语言多出的时间,主要来自首个 RTL locale 的一次性基础设施建设。
-
A Tour of Go 的广告优化在方案 B 与 103 页 Prerender 上线后,又进入了一轮真正的生产稳定性收尾。本文按时间线记录了从方案 A 因复杂 DOM 监听与操作而出现难以稳定复现的问题,到方案 B 改用 Angular course view 生命周期管理广告,再到 Prerender、Angular、CodeMirror 交接过程中出现短暂源码空白,以及真实 AdSense 写入 height: auto !important、min-height: 0px !important 导致课程高度塌缩和 footer 提前进入第一屏的完整过程。最终没有恢复复杂的方案 A,而是仅将其中已经验证有效的局部 layout protection 接回方案 B,并通过浏览器回归测试和真实广告展示完成最终验收。
-
A Tour of Go 的 SPA SEO 问题早已存在:对用户来说,103 个课程 URL 明明对应不同内容,但 Google Search Console 曾将多个页面判断为“重复网页,用户未选定规范网页”。这一次在继续优化 AdSense 的过程中,我最终决定为全部 103 个正式课程页生成独立 Prerender HTML,让服务器首次响应就直接包含本页标题、正文、Go 示例源码、canonical 和 description,同时继续保留 Angular SPA、CodeMirror 与 Playground。本文记录了为什么 SEO 与广告上下文理解共同推动了这次 Prerender 实现,以及如何让每个课程 URL 真正拥有独立页面身份。
