{"id":13397899,"url":"https://github.com/mapbox/maki","last_synced_at":"2025-05-14T14:07:32.916Z","repository":{"id":2153035,"uuid":"3098186","full_name":"mapbox/maki","owner":"mapbox","description":"A POI Icon Set","archived":false,"fork":false,"pushed_at":"2025-02-27T14:26:42.000Z","size":47469,"stargazers_count":1526,"open_issues_count":66,"forks_count":215,"subscribers_count":186,"default_branch":"main","last_synced_at":"2025-04-21T08:56:52.532Z","etag":null,"topics":["icon-set","icons","maki","svg"],"latest_commit_sha":null,"homepage":"http://labs.mapbox.com/maki-icons/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mapbox.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2012-01-03T23:14:38.000Z","updated_at":"2025-04-15T13:08:49.000Z","dependencies_parsed_at":"2024-06-18T12:40:45.039Z","dependency_job_id":"9eca7f38-2fdb-4b1e-abd1-00c78129c07d","html_url":"https://github.com/mapbox/maki","commit_stats":{"total_commits":902,"total_committers":73,"mean_commits":"12.356164383561644","dds":0.7749445676274944,"last_synced_commit":"80e597d7c7c2f15f2c0e7bb825f10c4ed67bc6bb"},"previous_names":[],"tags_count":27,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mapbox%2Fmaki","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mapbox%2Fmaki/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mapbox%2Fmaki/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mapbox%2Fmaki/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mapbox","download_url":"https://codeload.github.com/mapbox/maki/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254159194,"owners_count":22024558,"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":["icon-set","icons","maki","svg"],"created_at":"2024-07-30T18:01:52.058Z","updated_at":"2025-05-14T14:07:32.896Z","avatar_url":"https://github.com/mapbox.png","language":"JavaScript","readme":"[![Build Status](https://travis-ci.com/mapbox/maki.svg?branch=main)](https://travis-ci.com/mapbox/maki)\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fmapbox%2Fmaki.svg?type=shield)](https://app.fossa.io/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fmapbox%2Fmaki?ref=badge_shield)\n\n# Maki\n\nA pixel-aligned point of interest icon set made for cartographers.\n\nThis repo only contains the source SVG files. Check out [maki website](https://mapbox.com/maki-icons/) to use an icon editing tool and read detailed design guidelines.\n\n## Format\n\n- Source icons are in the SVG file format.\n- Icons are available in one size: 15px x 15px\n- Icons should consist only of paths and groups. Paths should only have a `d` property.\n- Each icon's svg tag should have an `id` property that corresponds to its filename without the extension. This id property is added automatically as part of a pre-commit hook.\n\n## For developers\n\nMaki is ready to be used by developers. Install Maki via NPM:\n\n```\nnpm install @mapbox/maki --save\n```\n\nThe maki module exports `layouts` which is an object that can be used to organize and display icons in your app or website. Here's an example usage in Node.js:\n\n``` js\nconst { layouts } = require('@mapbox/maki');\nconst fs = require('fs');\nconst path = require('path');\n\nfiles.forEach(fileName =\u003e {\n  layouts.forEach(icon =\u003e {\n    fs.readFile(path.join(__dirname + `./icons/${icon}.svg`), 'utf8', (err, file) =\u003e {\n      // Read icons as strings in node\n      console.log(file);\n    });\n  });\n});\n```\n\n## Note about branches\n\nThe main branch for the Maki project is `main`.\n\nThe old version of Maki still exists in the `mb-pages` branch, which must remain intact because a number of old Mapbox projects depend on files it serves from its `www/` directory.\n\n## Icon requests\n\nMaki welcomes icon requests from people in need of point of interest icons. Open an issue to make a request, and make sure to provide the required information outlined in the issue template.\n\nMaki can't include an icon for everything, so we prioritize only the most common point of interest icons used in mapmaking.\n\nIf Maki doesn't have what you're looking for, you may find a suitable icon in one of these other icon repositories:\n\n- Temaki: https://github.com/ideditor/temaki\n- Font Awesome: https://fontawesome.com/\n- The Noun Project: https://thenounproject.com/\n\n## Workflow for contributing a new Maki icon\n\nMaki also welcomes contributions from designers who need icons for specific points of interest. Check out the [design guidelines](https://www.mapbox.com/maki-icons/guidelines/) before opening an issue.\n\nPlease follow these steps to contribute to Maki.\n\n#### 1: Create an issue\nOpen an issue and make sure to provide the required information outlined in the issue template. If your request is for a group of icons, create individual request issues for each icon. This ticket is where all communication and documentation regarding your icon design will occur and reside.\n\n#### 2: Create a branch\ncreate a new branch from the main branch. Name the branch after the icon; for example if you are creating a new ‘garden’ icon, your branch name would be ‘garden’. If the icon request is a group of icons, create one branch for the icon group and name it something succinct and descriptive.\n\n#### 3: Icon design\nYou are now ready to design your icon. A good place to start is using one of our Illustrator or Inkscape templates, which have the 15 pixel dimensions set and .svg exporting notes.\nAs you design your icon, post drafts to the ticket for feedback. It's recommended to post after every major draft so that at the end, the entire design process has been documented. This documentation will help future designers contribute to Maki.\n\nIf you are designing an icon for another individual, all communication between you and the requestor should occur on the ticket as well.\n\nFinalize the icon design before creating a pull request. To reiterate: try and document from start to finish the design process on the ticket.\n\n#### 4: File check \u0026 test\nCheck your file(s) for extraneous anchor points, make sure the file is a single path and double check the .svg file in a text editor. Open the .svg file in the Maki editor to ensure it is compatible, or run `npm test` to make sure tests are passing. If the icon cannot be opened by the editor or tests are failing, it's most likely an issue with the geometry or unnecessary code such as css in your .svg file(s).\n\nEvery icon in Maki must pass the automated tests in [tests/maki.test.js](https://github.com/mapbox/maki/tree/main/test/maki.test.js). These tests check the following:\n\n- Filename must end with '.svg'.\n- SVG file cannot contain the following elements: rectangle, circle, ellipse, line, polyline, polygon.\n- SVG file cannot contain transformed groups or paths.\n- Both height and width must equal 15, and height and width must be equal.\n- Height, width, and viewbox must use pixel units.\n\n#### 5: Create a pull request \u0026 final review\nCreate a pull request and if needed, a Maki team member will support you with technical feedback. Make sure to include a link to the relevant ticket in your pull request.\n\n#### 6: Merge to the main branch\nAfter the final review approval, a Maki team member will merge the icon branch to the main branch and close your request ticket.\n\n\n## Releasing\n\n#### 2: Deploying\n\n1. Move changes from from the [headlog](./CHANGELOG.md#head) to the new version heading\n1. Increment the `version` key in [`package.json`](./package.json)\n1. Push changes to main\n1. Tag the release in git with `git tag -a vX.X.X -m 'Tag release' \u0026\u0026 git push --tags`\n1. Publish your changes to npm with [`mbx npm publish`](https://github.com/mapbox/mbxcli/blob/master/docs/commands/npm.md#publishing-deprecating-and-unpublishing-packages)\n\n#### 2: Update the Maki website\nIn the maki-icons repository, update the Maki dependency version number in the package.json file.\n\n## License\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fmapbox%2Fmaki.svg?type=large)](https://app.fossa.io/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fmapbox%2Fmaki?ref=badge_large)\n","funding_links":[],"categories":["JavaScript","others"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmapbox%2Fmaki","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmapbox%2Fmaki","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmapbox%2Fmaki/lists"}