一位开发者介绍了他如何为自己的个人网站构建一个适合 curl 访问的版本,使其能够在终端中查看。运行诸如 curl nytpu.com 之类的命令时,返回的不是标准 HTML,而是带有 ANSI 颜色的文本。作者指出,由于 cmd.exe 默认禁用 ANSI 支持,Windows 用户可能会看到原始的转义代码;另外,PowerShell 会将 curl 别名为 Invoke-WebRequest,除非使用 curl.exe。
这一想法源自 trinkey 和 strongsand 所构建的 curl 网站,作者将其视为灵感来源。作者使用 ESC 转义字符手动编写了首页和关于页面,并参考了维基百科上的图形代码列表来设置样式。然而,完整的博客则依赖于一种名为 Gemroff 的自定义标记语言,它本身就能输出带 ANSI 标记的纯文本,用于在终端中预览草稿。将该输出接入静态站点生成器后,只需添加几行配置,便为每篇文章生成了 curl 版本。
最后一步是修改 Nginx 配置,使包含 curl 字符串的任何用户代理都能获得 curl 版本。用户还可以通过 X-Original: true 请求头获取未经修改的原始 HTTP 响应。作者强调,这套方案之所以易于实现,是得益于早先的设计选择,例如支持多种输出格式的静态站点生成器。作者希望有更多网站尝试这一技术。
来源: Hacker News · 由HeadlinesBriefing整理摘要