从Tinderbox导出非常灵活,我一直这样做。导出为 HTML 时,嵌入注释文本中的图像将导出为单独的图像并链接到生成的 HTML 中。这在大多数情况下都可以正常工作。但有时,我更喜欢有一个独立的 HTML 文件来共享或备份,而不必处理外部图像。
对于常规网站,我使用 Safari 出色的SingleFile扩展来呈现完全独立的 HTML 版本。然而,使用本地 HTML 文件会比较棘手。
这是我当前从包含内联图像的 Tinderbox 笔记中获取独立 HTML 文档的方法。尽管如此,我相信这适用于在 HTML 导出中包含图像的任何方法。
这可能不适合胆小的人,我可能是唯一想要这个的人,但我不能不管它。
这是简短的版本:
- 通过 Tinderbox 正常导出 HTML
- 使用本地 Web 服务器来提供导出的文件
- 使用SingleFile CLI 工具生成独立的 HTML 文件
我在 Tinderbox 中使用以下内容(作为Stamp ):
# Save as HTML via SingleFile var vURL = "http://" + $Text(/Config/WebServerHostname) + $HTMLExportPath; var vCmd = "export PATH=/opt/homebrew/bin/:\$PATH && "; vCmd += "single-file " + vURL; vCmd += " ~/Desktop/" + $HTMLExportPath.split("/").at(-1) ; $Text(/Debug)=runCommand(vCmd);
? 在调用single-file
之前,我必须将 homebrew 文件夹添加到 $PATH 中,否则会抛出“env: node: No such file or directory”错误。
要求并不简单,但如果您已经是 macOS 上的 Node 和/或 Homebrew 用户,那就很简单了。
- 本地网络服务器。我在终端中使用 Caddy,或者使用 IconFactory 中的简单WorldWideWeb应用程序。
- Node.js 、 Deno和 Chromium (通过 Homebrew 安装)。
- 通过 npm 安装的
single-file-cli
。
毕竟,我意识到我可以跳过所有 single-file-cli 位,只需在浏览器中打开导出的 HTML 文件并正常使用 SingleFile 扩展即可。 SingleFile 不会处理本地file:///path/to/file.html
路径,因此 Web 服务器仍然是必要的。
var vURL = "http://" + $Text(/Config/WebServerHostname) + $HTMLExportPath; var vCmd = "export PATH=/opt/homebrew/bin/:\$PATH && "; vCmd += "/usr/bin/open " + vURL; $Text(/Debug)=runCommand(vCmd);
我想这两种方法都有空间。 ¯_(ツ)_/¯
不管怎样,很有趣!
原文: https://baty.net/2024/11/creating-self-contained-html-exports-from-tinderbox/