跳转到主要内容

Sphinx扩展,将Sphinx网站转换为渐进式网络应用

项目描述

sphinxext-pwa

🛑 停止 🛑

这项技术高度实验性和易变。使用此扩展的个人应预期以下情况

  • 完全随机的故障
  • 过度使用数据
  • 过度消耗电池电量
  • 完全破坏您的sphinx网站

当前问题

  • iOS仅部分工作
    • 由于某些奇怪的原因,服务工作者被终止且无法持续重新激活。

有关更多信息,请参阅问题

简介

渐进式网络应用,也称为PWA,是一种出色的技术,它使网站与移动设备之间的无缝集成成为可能。它赋予了网站以原生应用的方式呈现自己的能力;包括通知和离线支持。此扩展的目标是实现Sphinx和PWA之间尽可能接近的集成。

安装

安装很简单,但有几点需要注意。

首先,您需要将此依赖项添加到conf.py中的extensions列表中。

extensions = [
    "sphinxext.pwa",
]

此扩展将自动为需要用于 PWAs 的 manifest 预填充数据。但是,设置图标是强制性的。《code>pwa_icons 是一个配置变量,它接受一个数组列表。嵌套数组必须将索引 0 作为图标的目录。第二个 1 索引必须是该图标大小的字符串列表。

重要:图标必须放置在 root_static 目录中。子目录 将不起作用

pwa_icons = [["_static/myicon.webp", "48x48"]]

此扩展需要 NodeJS >= 16。如果您在 ReadTheDocs 上部署,您需要添加或自定义如所示构建配置 这里。完成此操作后,这应该足以将您的 Sphinx 网站转换为渐进式网络应用!

配置

PWAs 有很多配置。有关接受输入的详细信息,请参阅 Mozilla 文档。仅公开了一小部分选项。以下是一些公开的 manifest 选项。

注意:这些选项的无效输入可能会破坏 PWA 并难以调试。

配置 默认值 类型
pwa_name conf.py 中的 project 变量 字符串
pwa_short_name None 字符串
pwa_theme_color None 包含 HEX 颜色代码的字符串
pwa_display "standalone" 字符串
pwa_icons 强制性的 [["图像位置", "大小"]]
pwa_online_only False 布尔值

注意事项

支持的浏览器:Chrome(桌面和移动),Firefox(移动),Safari(iOS)。仅支持这些浏览器的标准、非测试版和非轻量版。

支持的操作系统:Android >= 6。iOS >= 14.2

离线工作安装时间:取决于网站,但一个 160MB 的应用程序平均需要 15 分钟才能启用离线支持。这还取决于特定设备的实现。

缓存超时:每次用户清除浏览器缓存时,都会清除资源。目前尚不清楚是否会重新触发整个缓存的下载。一些用户可能使用节省空间的程序,这可能会干扰此过程。

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分布

sphinxext-pwa-0.0.3a0.tar.gz (6.4 kB 查看哈希值)

上传

构建分布

sphinxext_pwa-0.0.3a0-py3-none-any.whl (6.8 kB 查看哈希值)

上传 Python 3

支持者