Skip to content

SRWieZ/svgtinyps-cli

Repository files navigation

svgtinyps

GitHub release (with filter) Packagist PHP Version Packagist License (custom server)

CLI Tool for SVG Tiny P/S (Portable and Secure) conversion and BIMI compliance.

Read more from bimi group and the RFC

🧪 If you just want to convert your SVG in a nice UI, you can use the online version of the converter!

You can also checkout the PHP package that this project is based on.

🚀 Installation

Via Composer global install command

composer global install srwiez/svgtinyps-cli

By downloading binaries on the latest release, currently only these binaries are compiled on the CI:

  • macOS x86_64
  • macOS arm64
  • linux x86_64
  • linux arm64
  • windows x64

📚 Usage

Identify issues in an SVG file

svgtinyps issues input.svg

Convert an SVG file to SVG (P/S)

svgtinyps convert input.svg output.svg

If in the identified issues, you missing th title tag, you can set its value with the --title option

svgtinyps convert input.svg output.svg --title="My awesome company"

🚦 Testing

This project use Pest for testing.

composer test

👥 Contribute

This project follows PSR coding style. You can use composer pint to apply.

All tests are executed with pest. Use composer pest

It's recommended to execute composer qa before commiting (alias for executing Pint and Pest)

🔧 Build from sources

This project use box, php-static-cli and php-micro. A build script has been created to build the project. (tested only on macOS x86_64)

composer build

Then you can build the binary that you can retrieve in build/bin/

📋 Roadmap

Pull requests are welcome! Here are some ideas to get you started:

  • Use Symfony Console for better ui
  • Publish on Homebrew

👥 Credits

svgtinyps was created by Eser DENIZ.

Inspired by the official scripts of authindicators/svg-ps-converters

Thanks to gilbarbara/logos for the logos used in the tests.

📝 License

svgtinyps PHP is licensed under the MIT License. See LICENSE for more information.