GithubHelp home page GithubHelp logo

notwoods / maskable Goto Github PK

View Code? Open in Web Editor NEW
184.0 3.0 20.0 2.73 MB

Create and preview maskable icons in the browser!

Home Page: https://maskable.app

License: MIT License

HTML 26.94% JavaScript 44.95% CSS 12.31% TypeScript 8.21% Handlebars 7.58%
maskable-icons pwa pwa-icons masking adaptive-icons hacktoberfest

maskable's Introduction

Maskable.app

Preview maskable icons in the browser!

Demo usage


Maskable icons allow web developers to specify a full-bleed icon that will be cropped by the user-agent to match other icons on the device. On Android, this lets developers get rid of the default white background around their icons and use the entire provided space.

It's important to test maskable icons to ensure the important regions of the icon are visible on any device and in any shape. Upload a maskable icon or drag and drop it into Maskable.app, then preview how it will appear on different Android launchers.

Developing

Install dependencies:

npm install

Once the modules are installed, run:

npm run dev

This starts a development server using Vite.

Licensing

This project is available under the MIT License.

maskable's People

Contributors

amanagarwal041 avatar byronalley avatar carlosrafaelgn avatar dependabot[bot] avatar fredkschott avatar furotmark avatar justingolden21 avatar kaykayehnn avatar notwoods avatar saif-malik-01 avatar tuanthanh2067 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

maskable's Issues

Minimum Safe Image does not match chrome Dev Tools

Cool tool :) It would be really nice if the output image matches the "show minimum safe image" in the chrome dev tools. Notice in the following images how chrome's y value is higher:

Maskable.app:
Image from Gyazo

Chrome Dev Tools:
Image from Gyazo

SVG Upload Problems

You can create a svg without height and width in the svg tag and most programs support that. I exported an svg from illustrator and wanted to upload it to the maskable.app. But it doesn't work. You don't see the uploaded svg.

Expected Behavior

You should be able to upload an svg without a width and a height in the svg tag. After the upload you should be able to see the svg in the preview.

OR

Show an error message, that the svg needs a given height and width in the svg tag.

Current Behavior

You can upload such a svg without height and width in the svg tag, but you can't see it in the preview or in the export.

Steps to Reproduce

Click on the editor and then try to upload this svg:

<svg id="Ebene_1" data-name="Ebene 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 77.47 87.69">
  <circle cx="50" cy="50" r="40" stroke="black" stroke-width="3" fill="red" />
</svg> 

if you upload the following svg it works:

<svg id="Ebene_1" data-name="Ebene 1" xmlns="http://www.w3.org/2000/svg" width="27.33mm" height="30.94mm" viewBox="0 0 77.47 87.69">
  <circle cx="50" cy="50" r="40" stroke="black" stroke-width="3" fill="red" />
</svg> 

Context (Environment)

Tested in Mozilla Firefox for Ubuntu 104.0 (64-Bit)

Export dialog broken on safari

Probably due to no support for the dialog element.

I'd also like to improve accessibility while working on the dialog updates.

Exporting multiple sizes

Would it be possible to add an option that allows choosing the sizes to export?

Nice tool!

In the meanwhile I'm using:

for r in 72 96 128 144 152 192 384 512; do
    convert icon-maskable.png -resize $r icon-maskable-${r}x${r}.png
done

Add export size 192x192

I’ve checked the manifests of a bunch of popular PWAs, and the ones that implements maskable icons are mainly using two sizes, which are 192x192 and 512x512, so I suggest adding the export size 192x192 as well. There are also articles mentioning 196x196, but I have yet to find any PWA using that size.

Exported image is incorrect when X and Y are not 0

When changing X and Y, the Layer preview to the right is not corresponding with the Maskable icon preview on the left and when exporting, the downloaded icon doesn't correspond with either of the previews.

Add undo support to editor

We should support undo-ing the previous action in the editor, ideally when Ctrl-Z is pressed.

  • Sliding around colors or ranges should only track the initial and final value
  • The stack should be as large as possible and track changes across layers

Show UI for getting icon from URL

Currently https://maskable.app/?demo=<url> can be used to load an image from a URL, but having some UI for this would be nice too. Ideally just use a form so no JS is needed.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.