SingleFile
SingleFile 是一个与 Chrome、Firefox(桌面版和移动版)、Microsoft Edge、Safari、Vivaldi、Brave、Waterfox、Yandex 浏览器和 Opera 兼容的网页扩展(也是一个命令行工具)。它可以帮助您将完整的网页保存为单个 HTML 文件。
目录
演示
https://user-images.githubusercontent.com/396787/156664907-cc458e35-f41b-45ca-91eb-372213812b44.mp4
安装
SingleFile 可以从以下应用商店安装:
- Firefox:https://addons.mozilla.org/firefox/addon/single-file
- Firefox for Android:https://addons.mozilla.org/android/addon/single-file
- Chrome:https://chrome.google.com/extensions/detail/mpiodijhokgodhhofbcjdecpffjipkle
- Safari(macOS 和 iOS):https://apps.apple.com/us/app/singlefile-for-safari/id6444322545
- Microsoft Edge:https://microsoftedge.microsoft.com/addons/detail/efnbkdcfmcmnhlkaijjjmhjjgladedno
您也可以下载项目的 zip 文件(https://github.com/gildas-lormeau/SingleFile/archive/master.zip),将其解压到磁盘上的某个位置,然后按照以下说明手动安装:
- Firefox:https://extensionworkshop.com/documentation/develop/temporary-installation-in-firefox
- Chrome 和 Microsoft Edge:请参阅 https://github.com/gildas-lormeau/SingleFile-MV3
- Safari:请参阅 https://github.com/gildas-lormeau/SingleFile-Safari-Extension
入门
- 点击扩展工具栏中的 SingleFile 按钮以保存页面。
- 处理页面时,您可以再次点击该按钮取消操作。
其他说明
- 右键点击扩展工具栏中的 SingleFile 按钮或网页上打开上下文菜单。它允许您保存:
- 当前标签页
- 选中的内容
- 选中的框架
- 您还可以一键处理多个标签页并保存:
- 选中的标签页
- 未固定的标签页
- 所有标签页
- 在上下文菜单中选择"注释并保存页面..."以:
- 高亮文本
- 添加注释
- 删除内容
- 上下文菜单还允许您激活以下内容的自动保存:
- 当前标签页
- 未固定的标签页
- 所有标签页
- 激活自动保存后,页面会在每次加载后(或在未加载时之前)自动保存。
- 右键点击 SingleFile 按钮并选择"管理扩展"(Firefox)/"选项"(Chrome)以打开选项页面。
- 启用"目标 > 保存到 Google Drive"或"目标 > 上传到 GitHub"选项,以分别将页面上传到 Google Drive 或 GitHub。
- 启用"其他 > 添加存在证明"选项,通过将页面的 SHA256 链接到区块链来证明已保存页面的存在。
- 您可以使用可自定义的快捷键 Ctrl+Shift+Y 来保存当前标签页或选中的标签页。在 Firefox 中,转到 about:addons 并在齿轮菜单中选择"管理扩展快捷键"以更改它。在 Chrome 中,转到 chrome://extensions/shortcuts 以更改它。
- 默认保存文件夹是浏览器中配置的下载文件夹,Firefox 中请参阅 about:addons,Chrome 中请参阅 chrome://settings。
- 有关选项和技术说明的更详细信息,请参阅选项页面中的扩展帮助。
常见问题
请参阅 https://github.com/gildas-lormeau/SingleFile/blob/master/faq.md
发布说明
请参阅 https://addons.mozilla.org/firefox/addon/single-file/versions/
已知问题
- 所有浏览器:
- 出于安全原因,您无法保存托管在 https://chrome.google.com、https://addons.mozilla.org 和其他一些 Mozilla 域名上的页面。当这种情况发生时,SingleFile 图标上会显示 🛇。
- 出于安全原因,SingleFile 有时无法保存 canvas 的图像表示和 video 元素的快照。
- 默认情况下无法记住上次保存的路径。要解决这个限制,请禁用"其他 > 在后台保存页面"选项。
- 文件名中的以下字符会被替换为
_
:~
、+
、\
、?
、%
、*
、:
、|
、"
、<
、>
。这样做是为了保持与各种操作系统和文件系统的兼容性。如果您不需要这种级别的兼容性并且知道自己在做什么,可以在隐藏选项中更改禁用字符列表。
- 基于 Chromium 的浏览器:
- 您必须在扩展页面中启用"允许访问文件 URL"选项,以便在查看保存的页面时显示信息栏,以及保存或注释存储在文件系统中的页面。
- 如果保存的页面的文件名看起来像 "56833935-156b-4d8c-a00f-19599c6513d3.html",请禁用"其他 > 在后台保存页面"选项。重新安装浏览器也可能解决这个问题。您可以在这里找到有关此错误的更多信息。
- 禁用"文件名 > 打开"另存为"对话框以确认文件名"选项仅在 chrome://settings/downloads 中的"下载前询问每个文件的保存位置"选项被禁用时才有效。
- Firefox:
- Waterfox Classic
- 除非在
about:config
中启用dom.webcomponents.enabled
,否则不会显示页面中显示的用户界面元素(进度条、日志面板)。 - 打开使用"图像 > 将重复图像分组"选项启用保存的页面时,某些重复图像可能不会显示。建议禁用此选项。
- 除非在
未知问题故障排除
如果您发现未知问题,请按照以下步骤操作:
- 在隐身模式下保存页面。
- 如果在隐身模式下保存页面没有解决问题,请重置 SingleFile 选项。
- 如果重置选项没有解决问题,请重启浏览器。
- 如果重启浏览器没有解决问题,请尝试禁用所有其他扩展,看看是否存在冲突。
- 如果存在冲突,请尝试确定与哪些扩展冲突。
- 请在此处报告问题,并附上简短的复现步骤说明:https://github.com/gildas-lormeau/SingleFile/issues。
命令行界面(SingleFile CLI)
您可以从命令行界面将网页保存为 HTML。有关更多信息,请参阅:https://github.com/gildas-lormeau/single-file-cli。
与用户脚本集成
您可以在 SingleFile 保存页面之前(和之后)执行用户脚本。有关更多信息,请参阅 https://github.com/gildas-lormeau/SingleFile/wiki/How-to-execute-a-user-script-before-a-page-is-saved。
文件格式比较
HTML | 自解压 ZIP | MHTML | Webarchive (Safari) | HTML+文件夹 | |
---|---|---|---|---|---|
页面保存为单个文件 | ✓ | ✓ | ✓ | ✓ | |
HTML 和样式被压缩 | ✓ | ✓ | |||
从文件中删除未使用的 HTML 和样式 | ✓ | ✓ | |||
二进制资源不以 base64 编码 | ✓ | ✓ | ✓ | ||
文件被压缩 | ✓ | ||||
无需安装任何扩展即可查看文件 | ✓ | ✓¹ | ✓² | ✓³ | ✓ |
无需运行JavaScript即可查看文件 | ✓ | ✓ | ✓ | ✓ | |
可以解压文件以提取页面资源 | ✓ | 不适用 | |||
文件包含可索引的页面文本(纯文本或格式化) | ✓ | ✓⁴ | ✓ | ✓ | ✓ |
注释:
¹ 使用"通用"自解压文件格式时。
² 仅适用于基于Chromium的浏览器和Internet Explorer。
³ 仅适用于Safari。
⁴ 必须在扩展中启用一个选项。
使用/兼容SingleFile的项目
- ArchiveBox - 开源自托管网页存档: https://github.com/ArchiveBox/ArchiveBox
- htmls-to-datasette - 将HTML文件索引到Sqlite数据库的工具: https://github.com/pjamar/htmls-to-datasette
- linkding - 可自行托管的书签管理器。设计为最小化、快速且易于使用Docker设置: https://github.com/sissbruecker/linkding
- obsidian-html-plugin - 在Obsidian中读取HTML页面的插件: https://github.com/nuthrash/obsidian-html-plugin
- Petal Cite Web Importer - 在Petal Cite中保存PDF和捕获网页的浏览器扩展: https://github.com/ks-collab/cite-extension
- singlefile2trilium - 使用SingleFile将网页忠实副本保存为Trilium笔记的工具: https://github.com/nil0x42/singlefile2trilium
- SingleFileMac - 使用webkit将SingleFile集成到swift应用程序中: https://github.com/david-littlefield/SingleFileMac
- Trilium-SingleFile - Trilium Notes的插件,可轻松导入SingleFile html页面: https://github.com/rauenzi/Trilium-SingleFile
- Trilium Simple SingleFile Renderer - 为Trilium添加新模板笔记以渲染SingleFile创建的文件的插件: https://github.com/xnohat/trilium-simple-singlefile-renderer
- web document - 用于本地保存网页文档的浏览器扩展,允许您离线访问并快速搜索网页: https://github.com/wvit/web-document
- Zotero Connector - Zotero的浏览器扩展,Zotero是一个帮助您收集、组织、引用和分享研究资源的工具: https://github.com/zotero/zotero-connectors
隐私政策
请参阅 https://github.com/gildas-lormeau/SingleFile/blob/master/privacy.md
贡献者
- 中文翻译由yfdyh000 (https://github.com/yfdyh000)、 KrasnayaPloshchad (https://github.com/KrasnayaPloshchad)、frostblazergit (https://github.com/frostblazergit)、dnknn (https://github.com/dnknn)、 lqzhgood (https://github.com/lqzhgood)完成
- 繁体中文翻译由frostblazergit (https://github.com/frostblazergit)、 lqzhgood (https://github.com/lqzhgood)完成
- 荷兰语翻译由jooleer (https://github.com/jooleer)完成
- 德语翻译由womotroll (https://github.com/womotroll)、bannmann (https://github.com/bannmann)完成
- 意大利语翻译由Fastbyte01 (https://github.com/Fastbyte01)完成
- 日语翻译由Shitennouji(四天王寺) (https://github.com/Shitennouji)完成
- 波兰语翻译由xesarni (https://github.com/xesarni)完成
- 葡萄牙语翻译由Blackspirits (https://github.com/Blackspirits)完成
- 巴西葡萄牙语翻译由@mezysinc、Blackspirits (https://github.com/Blackspirits)完成
- 俄语翻译由rstp14、kramola-RU (https://github.com/kramola-RU)、 solokot (https://github.com/solokot)、TotalCaesar659 (https://github.com/TotalCaesar659)完成
- 西班牙语翻译由strel (https://github.com/strel)完成
- 土耳其语翻译由hbaklan943 (https://github.com/hbaklan943)完成
- 乌克兰语翻译由perdolka (https://github.com/perdolka)、gildas-lormeau完成
源自第三方项目的代码
- csstree: https://github.com/csstree/csstree
- postcss-media-query-parser: https://github.com/dryoma/postcss-media-query-parser
- postcss-selector-parser: https://github.com/postcss/postcss-selector-parser
- UglifyCSS: https://github.com/fmarcia/UglifyCSS
- parse-srcset: https://github.com/albell/parse-srcset
- parse-css-font: https://github.com/jedmao/parse-css-font
- Readability: https://github.com/mozilla/readability
- whatwg-mimetype: https://github.com/jsdom/whatwg-mimetype
图标
- 图标由Kiranshastry制作, 来自Flaticon,根据 CC 3.0 BY许可使用
许可证
SingleFile根据AGPL许可。源自第三方项目的代码根据MIT许可。如果您有兴趣将SingleFile代码用于商业服务或产品,请通过gildas.lormeau <at> gmail.com与我联系。
欢迎提出建议 :)