
关于使用它的维基媒体项目,一张照片能告诉我们什么?五个小用户脚本提供了一种找出答案的方法。
想象一下,在 Wikimedia Commons 上打开一张照片,发现它已在 Wikimedia 项目中以 100 多种语言版本使用了近 10,000 次。现在想象一下能够在不离开文件页面的情况下探索该信息。
在文件 Einstein Head.jpg 上测试我的文件影响快照脚本时,我发现了一些意想不到的事情。测试快照记录了 141 种语言版本的 9,908 个文件使用条目。波斯语维基百科的使用次数为 2,643 次,而英语维基百科的使用次数为 492 次。这些数字于 2026 年 11 月 2 日记录,可能会随着时间的推移而变化。这些用法条目并不一定意味着图像直接出现在文章的主要内容中。有些用途可以通过模板来实现,这是图像在维基媒体项目中传播的另一个有趣的方面。
我原以为英语维基百科将成为最大的用户。数字讲述了不同的故事。
这个小发现让我思考普通的共享文件页面背后隐藏着多少信息。照片不仅仅是上传的图像。它可以具有地理历史、使用网络、类别层次结构中的位置以及与使用不同语言的社区的联系。
但要找到所有这些信息通常需要多次点击和一些探索。
我开始问自己: 我们能否让共享文件页面告诉我们更多信息,而不会让贡献者更加努力地找到它?
这个问题促使我开发了五个用户脚本来改进日常维基媒体工作流程的不同部分。其中四个重点是让 Commons 文件页面提供更多信息,而第五个则帮助贡献者跟踪整个 Wikimedia wiki 的更改。
启发五种工具的五个问题
我没有构建一个大型工具,而是探索了五个可以独立工作的较小改进。
这张照片是在哪里拍的?
纬度/经度查找器将 Commons 文件页面上可用的 GPS 坐标转换为可读位置。使用 OpenStreetMap 的 Nominatim 服务,它可以在一个小型浮动面板中显示城市、州或地区、国家和国旗,以及指向地图上确切位置的链接。当坐标不可用时,面板根本不会出现。

这张照片能到达多远?
这是文件影响快照添加另一个维度的地方。它将全球使用数据转换为可视化摘要,显示总使用量、项目类型和语言版本,然后是项目方面的条形图和八个最常用维基的排名。
爱因斯坦的照片提醒我们,图像的范围并不总是分布在我们期望的地方。

这个文件分类是否足够具体?
共享类别对于可发现性至关重要,但即使存在更具体的选项,文件有时也可能保留在广泛的类别中。类别深度检查器检查可见类别并识别具有超过 10 个直接子类别的类别。它会显示警告并建议最多五个可能的子类别以供进一步探索。
在对泰姬陵照片进行测试时,它确定了“对称印象”这一广泛类别,并提出了更具体的选项。重要的是,它永远不会自动更改类别。贡献者始终做出最终决定。

此页面位于类别层次结构中的哪个位置?
最后,面包屑注入器通过在文件和类别页面的标题上方添加可点击的路径,使类别导航变得更加容易。它遵循父类别最多五个级别,帮助贡献者了解页面的更广泛上下文并更轻松地在类别树中移动。
前四个工具一起使 Commons 文件的不同方面更易于探索:其位置、全球范围、分类以及在类别层次结构中的位置。监视列表通知程序解决了另一个日常需求:帮助贡献者随时了解他们关注的页面的更改。

自上次访问以来发生了什么变化?
对于关注多个维基媒体页面的贡献者来说,定期检查监视列表可能会变得重复。当有很多页面需要监控时,很容易错过新的编辑。
监视列表通知程序每 60 秒检查一次用户的监视列表,并在检测到新编辑时发送浏览器通知,从而使此过程更加方便。
它还在工具侧栏中添加了一个会话面板,贡献者可以在其中跟踪浏览会话期间的更改。
该脚本可以安装在任何维基媒体维基上。当贡献者浏览正常页面浏览模式时,它每 60 秒检查一次 wiki 的监视列表。通知特定于每个 wiki,因此将其安装在 Commons 上会跟踪 Commons 监视列表的更改,而单独安装在 Wikipedia 上则会跟踪 Wikipedia 的更改。
第一次检查建立基线,防止旧的编辑生成不必要的通知。

有趣的部分不仅仅是编写代码
构建这些脚本也是了解维基媒体运行的技术环境的练习。
并非所有听起来有用的想法都一定是实用的。维基媒体的内容安全策略限制对许多外部网站的请求。这影响了我可以采取的一些方法。例如,OpenStreetMap Nominatim 具有合理使用限制,因此纬度/经度查找器旨在浏览单个文件页面而不是批量处理。
我还学会了在构建新东西之前检查现有的小工具、模板和平台功能。新脚本应该解决尚未充分解决的问题。
调试带来了自己的教训。在浏览器控制台中运行的脚本在页面加载时的行为方式可能不同。了解 MediaWiki API、页面加载行为和浏览器开发工具成为该过程的重要组成部分。
我希望这些工具保持小而专注。这些脚本都不会编辑维基媒体页面内容、共享文件或类别。他们通过附加的界面元素、通知和导航辅助来检索信息并改善浏览体验。监视列表通知程序还将最后查看的修订 ID 存储在浏览器存储中,以避免发送重复的通知。
仔细查看 Commons 文件
所有五个脚本都可以通过我的维基共享资源脚本集合获得。它们根据 CC0-1.0 许可证发布,允许其他人复制、改编和共享它们。
要尝试四个 Commons 特定脚本,请访问 Commons common.js 页面,添加各自的导入行,保存并执行硬刷新 (Ctrl+Shift+R)。
监视列表通知程序可以单独安装在您想要接收通知的任何维基媒体维基上。将其导入行添加到该 wiki 自己的 common.js 页面。
与任何用户脚本一样,请在安装之前阅读源代码。用户脚本以您帐户的权限运行。
轮到你了:Commons 文件还应该告诉我们什么?
这是对 Commons 贡献者的一个小挑战:选择一张您熟悉的照片并使用这五个脚本对其进行探索。
您能否找到它的拍摄地点、发现使用它的意想不到的维基媒体项目、了解其跨语言版本的影响力或确定更具体的类别?
然后再思考一个问题:
您希望 Commons 直接在文件页面上向您显示哪些信息,但目前却让您在其他地方搜索?
在评论中分享您的想法、建议或潜在用例。也许下一个有用的 Commons 用户脚本将从您每天遇到的问题开始。
因为改善维基媒体体验并不总是需要构建一些大的东西。有时,首先要让一小段信息更容易找到。
你能帮我们翻译这篇文章吗?
为了让尽可能多的人看到这篇文章,我们需要您的帮助。你能翻译这篇文章以传达信息吗?
开始翻译