Third-Party Libraries
While Pictogrammers supports several first party libraries, utilities, and components, our core team leaves a lot of the integrations up to the third-party community.
Any developer that provides an integration that relies on Pictogrammers libraries. This can be components, utilities, or plugins for existing open-source projects.
The top priority of building an integration is knowing where you'll get the libraries. There are three ways to get the them: NPM, the CDN, and GitHub.
NPM packages are built after each release.
- The @pictogrammers and @mdi organizations on NPM.
@mdi/util
- Node scripting utility for building your own scripts.@mdi/font-build
- This is what builds the webfont! (
@mdi/svg
and@mdi/light-svg
containfont-build.json
for this reason).
- This is what builds the webfont! (
@mdi/js
- ES6/TypeScript module.@mdi/svg
- Individual optimized SVG filesmeta.json
- All icon meta data, tags, aliases, font codepoints.
@mdi/font
- Webfont files.
@mdi/light-js
- ES6/TypeScript module.@mdi/light-svg
- Individual optimized SVG filesmeta.json
- All icon meta data, tags, aliases, font codepoints.
@mdi/light-font
- Webfont files.
If your project can use one of the first-party libraries indirectly, we recommend telling people to install them separately. For instance @mdi/react
can use any icon version.
npm install @mdi/js @mdi/react
This allows one to swap out other icon packs or upgrade/downgrade independently. Not all projects can do this, but we recommend it when possible.
When we release, @mdi/svg
and @mdi/light-svg
are also published to the CDN.
https://cdn.jsdelivr.net/npm/@mdi/svg
https://cdn.jsdelivr.net/npm/@mdi/light-svg
GitHub is where we store all the NPM distribution repos. Each release is tagged so it's easy to view previous changes.
- MaterialDesign - Main Repo Synced Real-time
- MaterialDesign-SVG - SVG Versioned
- MaterialDesign-JS - JS Versioned
- MaterialDesign-Webfont - Webfont Versioned
- MaterialDesignLight - Main Repo Synced Real-time
- Distribution repos will be moving to the above repo.
- MaterialDesignLight-SVG - SVG Versioned
- MaterialDesignLight-JS - JS Versioned
- MaterialDesignLight-Webfont - Webfont Versioned
Third parties should be able to do anything that helps their respective community integrate the use of the libraries. With that said, there are a few things we advise against.
Don't do this... | Maybe Try... |
---|---|
Scraping the website for data | Let us know through an issue if meta.json is missing anything. |
Expecting us to add icons since you use the project | We recommend projects to be built to support multiple icon packs and not to rely entirely on ours. |
Not required, but the core team loves seeing what the community makes. Funny enough, we are often the last ones that find out about all the cool integrations.
Definitely search around and check out all the existing projects before starting. Your idea might already exist that you can help expand.