繁体   English   中英

如何将带有内容文件夹的HMTL文件转换为自包含的HTML文件

[英]How to convert HMTL file with content folder to a self-contained HTML file

如何将带有内容文件夹的HTML文件转换为自包含的HTML文件,可以从任何地方查看其文件等。

如何才能使其也可以编辑并保持自包含的后期编辑。

我基本上需要制作基于HTML文件的文档,可以从任何地方查看。 不幸的是它是HTML,否则我会制作PDF

谢谢

最直接的方法是将所有资产网址转换为data:网址 (有可用的在线变换器将获取提供的资产并生成data:来自它的URL。)

一种可能更简单的方法是将图像和字体URL转换为data: urls而不是内联脚本和css。


编辑:可能有兴趣: inliner ,一个用于做这种事情的Node实用程序。 “将您的网页变为单个HTML文件,内嵌所有内容”。 还执行许多缩小优化。

我不确切地知道你想象的是什么,但HTML从来就不是完全独立的。 可能有一些漏洞最终允许它,但据我所知,没有预制工具可以实现这种“转换”。 这需要以下几点:

  • 将所有链接的样式表和脚本转换为内联样式表和脚本。 这意味着只要有<script src="http://url.to/foo.js"></script>您就必须下载foo.js并将其包含在内: <script type="text/javascript"> [this is the content of foo.js] </script> 类似的东西适用于CSS和其他链接的源文件。
  • 下载所有链接的媒体(主要是我假设的图像)并将它们转换为blob(为您提供可在HTML文件中使用的base64 blob的服务是https://www.base64-image.de/ )。 这意味着用<img src="http://url.to/image.jpg" /> <img src="data:image/png;base64,[converted image data goes here] />替换<img src="http://url.to/image.jpg" /> <img src="data:image/png;base64,[converted image data goes here] /> 。所以会有那里涉及一些体力劳动,但它可能(几乎)完全完成。

可能有一种方法可以完成你想要做的另一种方式,你究竟想要这个的原因是什么?

这是另一种选择:在标记中编写文档,然后使用诸如“Marked 2”( http://marked2app.com )之类的工具转换为自包含的 html。 工作光滑。 此外,您可以在需要更新文档时返回并编辑标记,然后只需重新导出html文件即可。

您可以使用pandoc ,它可以选择创建自包含的html文件https://pandoc.org/MANUAL.html#option--self-contained

如果你从html开始,这就是命令。

pandoc in.html --self-contained -o out.html

这个工具可以做更多的事情的东西,例如,您还可以生成html的降价文件或生成pdf !而非。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM