ITADN
maplibre/maplibre-style-spec
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

MapLibre Logo MapLibre Logo

MapLibre 样式规范与实用工具

NPM Version License PRs codecov

本仓库包含定义 MapLibre 样式规范的代码和参考文件,并提供了一些用于处理 MapLibre 样式的实用工具。

样式规范用于 MapLibre GL JS 和 MapLibre Native。我们的长期目标是实现 Web 库和原生库之间的功能对等。

贡献

如果您想为样式规范做出贡献,请提交一个包含设计提案的 issue。一旦您的设计提案被接受,您就可以提交一个 pull request 并实现您的更改。

我们力求避免在 MapLibre 样式规范中进行破坏性更改,因为这会让用户的生活更轻松。

文档

样式规范的文档也位于本仓库中。 我们使用 Zensical

要在本地处理文档,您需要启动 Zensical。当您已安装并运行 Docker 时,您可以使用:

npm run start-docs

或者,如果您已安装 uv,您可以使用:

uvx zensical serve --open

大部分文档是生成的(例如,来自 v8.json)。 在另一个终端中,运行:

npm install
WATCH=1 npm run generate-docs

这将在需要时重新运行生成脚本。

请注意,生成的文件不应被提交,并且已在 .gitignore 中被排除。 请确保保持此文件为最新状态,并在忽略生成文件的同时确保静态 Markdown 文件不被忽略。

NPM 包

MapLibre 样式规范和工具作为单独的 npm 包发布,以便可以在不安装 GL JS 大部分内容的情况下进行安装。

npm install @maplibre/maplibre-gl-style-spec

CLI 工具

如果你全局安装此包,你将可以使用多个 CLI 工具。

npm install @maplibre/maplibre-gl-style-spec --global

gl-style-migrate

此仓库包含用于将任意版本的 GL 样式迁移到最新版本(当前为 v8)的脚本。 你可以按以下方式迁移样式:

gl-style-migrate bright-v7.json > bright-v8.json

要就地迁移文件,您可以使用 moreutils 包中的 sponge 实用工具:

brew install moreutils
gl-style-migrate bright.json | sponge bright.json

gl-style-format

gl-style-format style.json

将使用标准缩进和排序的对象键来格式化给定的样式 JSON。

gl-style-validate

gl-style-validate style.json

将验证给定的样式 JSON 并将错误打印到标准输出。 提供 --json 标志以获取 JSON 输出。