{"id":15017689,"url":"https://github.com/professionalwiki/maps","last_synced_at":"2025-05-15T15:04:57.317Z","repository":{"id":3297399,"uuid":"4338833","full_name":"ProfessionalWiki/Maps","owner":"ProfessionalWiki","description":"🗺 Maps is the MediaWiki extension that enables visualization of geographic data with dynamic embedded maps.","archived":false,"fork":false,"pushed_at":"2025-04-07T12:10:37.000Z","size":12564,"stargazers_count":76,"open_issues_count":100,"forks_count":62,"subscribers_count":17,"default_branch":"master","last_synced_at":"2025-04-07T21:08:25.838Z","etag":null,"topics":["geocoding","google-maps","leaflet","leaflet-maps","leafletjs","maps","mediawiki","mediawiki-extension"],"latest_commit_sha":null,"homepage":"https://maps.extension.wiki","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"elmom/MCAD","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ProfessionalWiki.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"JeroenDeDauw","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2012-05-15T18:00:19.000Z","updated_at":"2025-04-07T12:10:41.000Z","dependencies_parsed_at":"2023-02-16T18:45:28.478Z","dependency_job_id":"fbdfc42e-a0e4-46bc-8d29-d2ba92b31c6a","html_url":"https://github.com/ProfessionalWiki/Maps","commit_stats":{"total_commits":5198,"total_committers":89,"mean_commits":58.40449438202247,"dds":0.4207387456714121,"last_synced_commit":"1bf8d13ceca3b760994f7b9c0a2c15b2d751fe17"},"previous_names":[],"tags_count":115,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProfessionalWiki%2FMaps","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProfessionalWiki%2FMaps/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProfessionalWiki%2FMaps/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProfessionalWiki%2FMaps/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ProfessionalWiki","download_url":"https://codeload.github.com/ProfessionalWiki/Maps/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247730068,"owners_count":20986404,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["geocoding","google-maps","leaflet","leaflet-maps","leafletjs","maps","mediawiki","mediawiki-extension"],"created_at":"2024-09-24T19:50:51.686Z","updated_at":"2025-04-07T21:08:56.368Z","avatar_url":"https://github.com/ProfessionalWiki.png","language":"JavaScript","readme":"# Maps\n\nMaps is the [MediaWiki](https://www.mediawiki.org) extension to visualize and work with geographical\ninformation. It has been maintained since 2009 and is installed on 1000+ wikis.\n\nFeatures:\n\n* Customizable and dynamic [Leaflet maps]\n* Customizable and dynamic [Google Maps]\n* Structured data and query [integration with Semantic MediaWiki]\n* [Visual map editor]\n* [GeoJSON] and [KML] support\n* Parser functions for [geocoding], [coordinate formatting] and geospatial operations\n* Translations in over 100 languages, image layers, static maps and [more]\n\nMissing a feature? Get [software development](https://professional.wiki/en/mediawiki-development) \nvia [Professional.Wiki](https://professional.wiki/). Discounts for work that is open-sourced.\n\n## Documentation\n\n### For administrators\n\n* [Installation](https://maps.extension.wiki/wiki/Installation)\n* [Configuration](https://maps.extension.wiki/wiki/Configuration)\n* [Release notes](RELEASE-NOTES.md) - detailed list of changes per release\n* [Platform compatibility](INSTALL.md#platform-compatibility-and-release-status) - overview of PHP and MediaWiki support per release\n\n### For wiki users\n\n* [Feature overview](https://maps.extension.wiki)\n* [Displaying Leaflet maps](https://maps.extension.wiki/wiki/Displaying_Leaflet_maps)\n* [Customizing Leaflet maps](https://maps.extension.wiki/wiki/Customizing_Leaflet_maps)\n* [Displaying Google maps](https://maps.extension.wiki/wiki/Displaying_Google_maps)\n* [Customizing Google Maps](https://maps.extension.wiki/wiki/Customizing_Google_Maps)\n* [Semantic MediaWiki integration](https://maps.extension.wiki/wiki/Semantic_MediaWiki)\n\n\u003ca href=\"https://www.youtube.com/watch?v=TictndP793M\"\u003e\u003cimg src=\".github/youtube.jpg\" width=\"430px\" title=\"Play video\" /\u003e\u003c/a\u003e\n\n### Getting support\n\n* Professional support and custom development: **[Professional.Wiki](https://professional.wiki/)**\n* Ask a question on [the mailing list](https://www.semantic-mediawiki.org/wiki/Mailing_list)\n* File an issue on [our issue tracker](https://github.com/JeroenDeDauw/Maps/issues)\n\n## Project status\n\n* Latest version [![Latest Stable Version](https://poser.pugx.org/mediawiki/maps/v/stable)](https://packagist.org/packages/mediawiki/maps)\n* Downloads on [Packagist](https://packagist.org/packages/mediawiki/maps) [![Download count](https://poser.pugx.org/mediawiki/maps/downloads)](https://packagist.org/packages/mediawiki/maps)\n* Continuous integration [![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/ProfessionalWiki/Maps/ci.yml?branch=master)](https://github.com/ProfessionalWiki/Maps/actions?query=workflow%3ACI)\n* [![codecov](https://codecov.io/gh/ProfessionalWiki/Maps/branch/master/graph/badge.svg?token=GnOG3FF16Z)](https://codecov.io/gh/ProfessionalWiki/Maps)\n* [![Type Coverage](https://shepherd.dev/github/ProfessionalWiki/Maps/coverage.svg)](https://shepherd.dev/github/ProfessionalWiki/Maps)\n* [Open bugs and feature requests](https://github.com/JeroenDeDauw/Maps/issues)\n* [Maps on OpenHub](https://www.openhub.net/p/maps/)\n* [Blog posts about Maps](https://www.entropywins.wtf/blog/tag/maps/)\n\n## Contributing\n\n* [File an issue](https://github.com/JeroenDeDauw/Maps/issues)\n* [Submit a pull request](https://github.com/JeroenDeDauw/Maps/pulls) ([tasks for newcomers](https://github.com/JeroenDeDauw/Maps/issues?q=is%3Aissue+is%3Aopen+label%3Anewcomer))\n\n## Development\n\nTo ensure the dev dependencies get installed, have this in your `composer.local.json`:\n\n```json\n{\n\t\"require\": {\n\t\t\"vimeo/psalm\": \"^4\",\n\t\t\"phpstan/phpstan\": \"^1.4.9\"\n\t},\n\t\"extra\": {\n\t\t\"merge-plugin\": {\n\t\t\t\"include\": [\n\t\t\t\t\"extensions/Maps/composer.json\"\n\t\t\t]\n\t\t}\n\t}\n}\n```\n\n### Project structure\n\nThe `src/` contains the PHP code and follows PSR-4 autoloading.\n\n* `src/Map` - Map display entry points (such as handling of `#display_map`) and their supporting code\n* `src/ParserHooks` - Entry points for all parser hooks except `#display_map`\n* `src/Presentation` - Presentation layer code that does not belong to a more specific directory\n* `src/DataAccess` - Persistence layer code that does not belong to a more specific directory\n* `src/GeoJsonPages` - Code that deals with pages in the GeoJson namespace\n* `src/LegacyModel` - Badly designed and deprecated representations of map elements (markers, polygons, etc)\n* `src/LegacyMapEditor` - Deprecated and Google Maps only Special:MapEditor page\n* `src/SemanticMW` - Semantic MediaWiki code except for the map entry point (which is in `Map\\SemanticFormat`)\n* `src/WikitextParsers` - Parsers for the wikitext definitions of map elements (like the `LegacyModel`)\n\nJavaScript, CSS and other web resources go into `resources/`.\n\nTests for PHP go into `tests/` where they are grouped by test type (ie unit, integration). Within those test type\ndirectories the tests should mirror the directory structure in `src/`.\n\n### Running the tests\n\nYou can use the `Makefile` by running make commands in the `Maps` directory.\n\n* `make ci`: Run everything\n* `make test`: Run all tests and static analysis\n* `make cs`: Run all style checks\n\nAlternatively, you can execute commands from the MediaWiki root directory:\n\n* PHPUnit: `php tests/phpunit/phpunit.php -c extensions/Maps/`\n* Style checks: `vendor/bin/phpcs -p -s --standard=extensions/Maps/phpcs.xml`\n* PHPStan: `vendor/bin/phpstan analyse --configuration=extensions/Maps/phpstan.neon --memory-limit=2G`\n* Psalm: `php vendor/bin/psalm --config=extensions/Maps/psalm.xml`\n\nBeware that due to technical debt, some tests access the network.\n\n## Links\n\n* [Maps documentation wiki](https://maps.extension.wiki)\n* [Maps on OpenHub](https://www.openhub.net/p/maps/)\n* [Maps on Packagist](https://packagist.org/packages/mediawiki/maps)\n* [Maps on WikiApiary](https://wikiapiary.com/wiki/Extension:Maps)\n* [Maps on MediaWiki.org](https://www.mediawiki.org/wiki/Extension:Maps)\n* [Sponsor Maps development](https://github.com/sponsors/JeroenDeDauw)\n\n[Leaflet maps]: https://maps.extension.wiki/wiki/Displaying_Leaflet_maps\n[Google Maps]: https://maps.extension.wiki/wiki/Displaying_Google_Maps\n[integration with Semantic MediaWiki]: https://maps.extension.wiki/wiki/Semantic_MediaWiki\n[Visual map editor]: https://maps.extension.wiki/wiki/Visual_editing\n[GeoJSON]: https://maps.extension.wiki/wiki/GeoJSON\n[KML]: https://maps.extension.wiki/wiki/KML\n[geocoding]: https://maps.extension.wiki/wiki/Geocoding\n[coordinate formatting]: https://maps.extension.wiki/wiki/Coordinates_function\n[more]: https://maps.extension.wiki/wiki/Maps_for_MediaWiki\n","funding_links":["https://github.com/sponsors/JeroenDeDauw"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprofessionalwiki%2Fmaps","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprofessionalwiki%2Fmaps","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprofessionalwiki%2Fmaps/lists"}