如何使用 MediaWiki 扩展 CSS 引用的图像资源?

How can I use an image resource referenced by a MediaWiki extension's CSS?

问题

如何将图像添加到 MediaWiki 扩展中,以便它们可以被注册为 ResourceModules 的 css 个文件引用?

情况

我正在开发一个利用 third party tool 的 MediaWiki 扩展,并且我包括该工具的副本作为扩展资源的一部分。

该工具有 js 和 css,我是这样包含的:

...
  "ResourceModules": {
    "ext.leaflet": {
      "scripts": "ext.leaflet/leaflet.js",
      "styles": "ext.leaflet/leaflet.css"
    }
  },
...

第三方工具 包含一个图像目录,其中包含 leaflet.css 引用的各种图像,但我不知道该把它放在哪里MediaWiki 将与 CSS / JS 一起提供它。

图像 url 正在解析为 {SERVER}/ext.leaflet/images/marker-icon.png

您可以将图像资源放在扩展文件夹中的图像文件夹中,并以相对方式在您的 CSS 中引用它。

以 Echo 扩展为例:

图片在css

中是这样引用的

background-image: url( ../../images/pending.gif );

https://github.com/wikimedia/mediawiki-extensions-Echo/search?q=pending.gif

并存储在这里: {SERVER}/extensions/Echo/images

https://github.com/wikimedia/mediawiki-extensions-Echo/tree/master/images

CSS在这一行注册为ResourceModule

https://github.com/wikimedia/mediawiki-extensions-Echo/blob/97771e3369b7949db242f72551ac6efe803881e5/extension.json#L460

在你的 JS 中你可以使用 mw.config.get('wgExtensionAssetsPath') 在我的例子中这个 returns /extensions