Icon Resize Plugin
render function
render source
def render(markata: "MarkataIcons") -> None: if "icon" not in markata.config: return base_out_file = Path(markata.config["output_dir"]) / markata.config["icon"] with Image.open(Path(markata.config["assets_dir"]) / markata.config["icon"]) as img: markata.icons = [] for width in [48, 72, 96, 144, 192, 256, 384, 512]: height = int(float(img.size[1]) * float(width / float(img.size[0]))) filename = Path( f"{base_out_file.stem}_{width}x{height}{base_out_file.suffix}" ) markata.icons.append( { "src": str(filename), "sizes": f"{width}x{width}", "type": f"image/{img.format}".lower(), "purpose": "any maskable", } )
save function
save source
def save(markata: "MarkataIcons") -> None: if "icon" not in markata.config: return base_out_file = Path(markata.config["output_dir"]) / markata.config["icon"] for width in [48, 72, 96, 144, 192, 256, 384, 512]: with Image.open( Path(markata.config["assets_dir"]) / markata.config["icon"] ) as img: height = int(float(img.size[1]) * float(width / float(img.size[0]))) img = img.resize((width, height), Image.ANTIALIAS) filename = Path( f"{base_out_file.stem}_{width}x{height}{base_out_file.suffix}" ) out_file = Path(markata.config["output_dir"]) / filename img.save(out_file)
MarkataIcons class
MarkataIcons source
class MarkataIcons(Markata): icons: List[Dict[str, str]]