为 MediaWiki 添加各种地图功能

赞助包维护!
JeroenDeDauw

安装量: 117,428

依赖项: 4

建议者: 0

安全: 0

星标: 74

关注者: 21

分支: 61

开放问题: 98

语言:JavaScript

类型:mediawiki-extension

10.2.0 2024-05-13 13:32 UTC

README

Maps 是 MediaWiki 的扩展,用于可视化和管理地理信息。自 2009 年以来一直得到维护,并在 1000 多个维基上安装。

功能

缺少功能?如果开源,Professional.Wiki 提供折扣的定制开发。

文档

管理员文档

维基用户文档

获取支持

项目状态

贡献

开发

为了确保开发依赖项被安装,请在您的 composer.local.json 中包含以下内容

{
	"require": {
		"vimeo/psalm": "^4",
		"phpstan/phpstan": "^1.4.9"
	},
	"extra": {
		"merge-plugin": {
			"include": [
				"extensions/Maps/composer.json"
			]
		}
	}
}

项目结构

src/ 目录包含 PHP 代码并遵循 PSR-4 自动加载

  • src/Map - 地图显示入口点(如处理 #display_map)及其支持代码
  • src/ParserHooks - 除了 #display_map 之外的所有解析器钩子入口点
  • src/Presentation - 不属于更具体目录的表示层代码
  • src/DataAccess - 不属于更具体目录的持久化层代码
  • src/GeoJsonPages - 处理 GeoJson 命名空间中页面的代码
  • src/LegacyModel - 设计不良且已弃用的地图元素(如标记、多边形等)的表示
  • src/LegacyMapEditor - 已弃用且仅适用于 Google Maps 的特殊:地图编辑页面
  • src/SemanticMW - 除了地图入口点之外的所有语义媒体Wiki代码(该入口点位于 Map\SemanticFormat
  • src/WikitextParsers - 地图元素(如 LegacyModel)的 wikitext 定义的解析器

JavaScript、CSS 和其他网络资源放入 resources/ 目录。

PHP 测试放入 tests/ 目录,并根据测试类型(即单元、集成)分组。在这些测试类型目录中,测试应与 src/ 目录中的目录结构相对应。

运行测试

您可以通过在 Maps 目录中运行 make 命令来使用 Makefile

  • make ci:运行所有内容
  • make test:运行所有测试和静态分析
  • make cs:运行所有样式检查

或者,您可以从 MediaWiki 根目录执行命令

  • PHPUnit:php tests/phpunit/phpunit.php -c extensions/Maps/
  • 样式检查:vendor/bin/phpcs -p -s --standard=extensions/Maps/phpcs.xml
  • PHPStan:vendor/bin/phpstan analyse --configuration=extensions/Maps/phpstan.neon --memory-limit=2G
  • Psalm:php vendor/bin/psalm --config=extensions/Maps/psalm.xml

请注意,由于技术债务,某些测试会访问网络。

链接