内置优化插件¶
优化插件在构建您的项目时自动识别并优化所有媒体文件,使用常见的压缩和转换技术。因此,您的网站加载速度显著提高,并在搜索引擎中获得更好的排名。
目标¶
工作原理¶
该插件扫描docs目录中的媒体文件和资产,自动优化它们以减少site目录的最终大小。这导致加载时间更快,因为您向用户传送的数据量更少,同时也减少了离线可用文档的下载量。
优化后的图像会被智能缓存[intelligent caching],这就是为什么插件只会优化自上次构建以来发生变化的媒体文件。这使得您可以更换或更新图像,而不必担心优化它们,或者更糟的是,忘记这样做。
为了优化媒体文件,您的系统需要具备一些依赖项。
何时使用¶
通常建议使用该插件,因为媒体文件会自动优化,无需干预,确保您的网站尽可能快速加载。优化后的媒体文件是搜索引擎中高且稳定排名的关键组成部分之一。
此外,该插件可以与Material for MkDocs提供的其他内置插件结合使用,以创建针对您项目的复杂构建管道:
配置¶
与所有内置插件一样,使用优化插件非常简单。只需将以下行添加到mkdocs.yml中,观察媒体文件如何自动优化:
优化插件内置于Material for MkDocs中,无需安装。
但是,为了优化所有媒体文件,必须安装图像处理的依赖项,如果它们尚未在您的系统上可用。链接的指南包含多个操作系统的说明,并提到了一些替代环境。
一般¶
以下设置可用:
enabled¶
9.7.0 true
使用此设置在构建您的项目时启用或禁用插件。如果您想禁用插件,例如用于本地构建,可以在mkdocs.yml中使用环境变量:
此配置仅在持续集成(CI)期间启用插件。
concurrency¶
9.7.0 available CPUs - 1
在可用的CPU更多时,插件可以并行处理更多工作,从而更快地完成媒体文件优化。如果您想完全禁用并发处理,请使用:
默认情况下,插件使用所有可用的CPU - 1,最少为1。
缓存¶
该插件实现了智能缓存机制,确保只有在媒体文件或资产的内容发生变化时,才会通过优化管道。如果您更换或更新图像,插件会检测到并更新媒体文件的优化版本。
以下设置可用于缓存:
cache¶
9.7.0 true
使用此设置指示插件绕过缓存,以重新优化所有媒体文件,即使缓存可能并未过期。通常不需要指定此设置,除非在调试插件本身时。可以通过以下方式禁用缓存:
cache_dir¶
9.7.0 .cache/plugin/optimize
通常不需要指定此设置,除非您想更改媒体文件在根目录中的缓存路径。如果您想更改它,请使用:
如果您使用多个实例的插件,为两个实例设置不同的缓存目录可能是个好主意,以免它们相互干扰。
优化¶
文档通常使用屏幕截图或图表来更好地可视化事物,这两者都是优化的主要候选对象。该插件使用pngquant自动优化.png文件,使用Pillow优化.jpg文件。
以下设置可用于优化:
optimize¶
9.7.0 true
使用此设置启用或禁用媒体文件优化。目前,插件的唯一目的是优化媒体文件,因此它等同于enabled设置,但在不久的将来,可能会添加其他功能。如果您想禁用优化,请使用:
optimize_png¶
9.7.0 true
使用此设置启用或禁用对.png文件的优化。通常不需要指定此设置,但如果您想禁用对.png文件的优化,请使用:
optimize_png_speed¶
9.7.0 3 of 1-10
使用此设置指定pngquant在优化.png文件时应用的速度/质量权衡。数字越低,表示pngquant将更积极地进行优化:
10的因子质量降低5%,但速度比默认的3快8倍。
optimize_png_strip¶
9.7.0 true
使用此设置指定pngquant是否应从.png文件中剥离不需要显示图像的可选元数据,例如EXIF。如果您想保留元数据,请使用:
optimize_jpg¶
9.7.0 true
使用此设置启用或禁用对.jpg文件的优化。通常不需要指定此设置,但如果您想禁用对.jpg文件的优化,请使用:
optimize_jpg_quality¶
9.7.0 60 of 0-100
使用此设置指定Pillow在优化.jpg文件时应用的图像质量。如果图像看起来模糊,建议微调并更改此设置:
optimize_jpg_progressive¶
9.7.0 true
使用此设置指定Pillow在优化.jpg文件时是否应使用渐进编码,以便在慢速连接上更快呈现。如果您想禁用渐进编码,请使用:
optimize_include¶
使用此设置为项目的特定目录启用媒体文件优化,例如,当使用多个实例的插件以不同方式优化媒体文件时:
此配置为包含在docs目录中的screenshots文件夹及其子文件夹中的所有媒体文件启用优化。
optimize_exclude¶
使用此设置为项目的特定目录禁用媒体文件优化,例如,当使用多个实例的插件以不同方式优化媒体文件时:
此配置禁用对包含在docs目录中的vendor文件夹及其子文件夹中的所有媒体文件的优化。
报告¶
以下设置可用于报告:
print_gain¶
9.7.0 true
使用此设置控制插件是否应打印优化每个文件后获得的字节数。如果您想禁用此行为,请使用:
print_gain_summary¶
9.7.0 true
使用此设置控制插件是否应打印优化所有文件后获得的总字节数。如果您想禁用此行为,请使用: