jkphl / iconizr

A PHP command line tool for converting SVG images to a set of CSS icons (SVG & PNG, single icons and / or CSS sprites) with support for image optimization and Sass output. Created by Joschi Kuphal (@jkphl), licensed under the terms of the MIT license
http://iconizr.com
MIT License
485 stars 36 forks source link

PNG #9

Closed bajere closed 10 years ago

bajere commented 10 years ago

Hey,

I might be missing something, but i cannot seem to get this to produce an svg sprite and a png sprite. Its giving me svg only. My last attempt was this in terminal:

iconizr --png 32768 --out css/png img/svg

So im outputting into "css/png" all the svg's in "img/svg". But its placing an svg sprite, not a png.

From the docs, its seems like iconizr can do both at the same time...

(The svg sprite is great btw)

jkphl commented 10 years ago

Hey,

glad you like iconizr. I guess the only thing you're missing is the --css (and / or --sass) switch to tell iconizr to produce the CSS resources. You don't see them as well, right? So your command should e.g. be

iconizr --css --png 32768 --out css/png img/svg

The string argument after the --css switch is optional, but the switch itself is required.

Does this work for you now?

bajere commented 10 years ago

Hi,

Thanks for the quick response. Its giving me this error, in terminal:

Warning: date(): It is not safe to rely on the system's timezone settings. You are required to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in /iconizr-master/iconizr.phps on line 611

I have recently upgraded to OSX Mavericks... If that makes any difference, that is :)

bajere commented 10 years ago

I just removed the date reference, i believe it was only setting the year for your copy right line, it ran fine (no error/warnings) but still no png sprite... so i don't think thats the blocker.odd

jkphl commented 10 years ago

Good morning!

Well, first of all, the message you posted says it all:

  1. It is a PHP warning, not an error, so the script should still perform well despite of this message.
  2. You get this message because of the setting date.timezone not properly set in your php.ini. This is exactly what the message reads and has nothing to do with iconizr. So go and fix this in your php.ini and the warning will disappear.

I've never tried running iconizr on a Mac / OSX, although I can imagine that it just runs fine there. Have you double-checked that you match all requirements, especially proper GD support in your PHP installation? Sorry but I can't give you any support on preparing your PHP installation the right way.

As a start, I'd recommend running the example included in the iconizr distribution. Please read these instructions on how to do so. However, you should empty (or remove) the subfolders css and sass prior to running the command in order to see if iconizr works as expected.

In any case, as you apparently work on a Mac, I'd love to hear your results, especially regarding the additional tools you used with success. I have no idea which of the exist under OSX ...

jkphl commented 10 years ago

Hi!

Are you still working on this? Any chance you're going to feedback once more? Otherwise I'd close this issue soon ...

Cheers, Joschi

bajere commented 10 years ago

Hi, sorry, still no joy.

I ending up manually making a png sprite in the end. My project has ramped up considerably, so no real time to investigate, so feel free to close this, and i'll make a new one on the next project when i have time to work it out.

Thanks for your help though.

jkphl commented 10 years ago

Alright, will close this issue then. I wish you good luck with your project and please feel free to get in touch with me if I can help you further! Cheers!

ostroffsky commented 10 years ago

Hi there! My last attempt was

iconizr --verbose --css icons --prefix ic --out out icons/

and i'm facing these errors at png-optimization step:

Optimizing PNG images ...

Warning: filesize(): stat failed for /Users/alexey.ostrovskiy/Projects/icons/test/out/icons//Users/alexey.ostrovskiy/Projects/icons/test/out/icons/iconmonstr-gamepad-13-icon.png in /Users/alexey.ostrovskiy/Projects/icons/iconizr/iconizr.phps on line 914

Warning: filesize(): stat failed for iconmonstr-gamepad-13-icon in /Users/alexey.ostrovskiy/Projects/icons/iconizr/iconizr.phps on line 914

Warning: file_get_contents(iconmonstr-gamepad-13-icon): failed to open stream: No such file or directory in /Users/alexey.ostrovskiy/Projects/icons/iconizr/iconizr.phps on line 977

Warning: filesize(): stat failed for /Users/alexey.ostrovskiy/Projects/icons/test/out/icons//Users/alexey.ostrovskiy/Projects/icons/test/out/icons/iconmonstr-gamepad-5-icon.png in /Users/alexey.ostrovskiy/Projects/icons/iconizr/iconizr.phps on line 914

Warning: filesize(): stat failed for iconmonstr-gamepad-5-icon in /Users/alexey.ostrovskiy/Projects/icons/iconizr/iconizr.phps on line 914

Warning: file_get_contents(iconmonstr-gamepad-5-icon): failed to open stream: No such file or directory in /Users/alexey.ostrovskiy/Projects/icons/iconizr/iconizr.phps on line 977

Warning: filesize(): stat failed for /Users/alexey.ostrovskiy/Projects/icons/test/out/icons//Users/alexey.ostrovskiy/Projects/icons/test/out/icons/iconmonstr-script-icon.png in /Users/alexey.ostrovskiy/Projects/icons/iconizr/iconizr.phps on line 914

Warning: filesize(): stat failed for iconmonstr-script-icon in /Users/alexey.ostrovskiy/Projects/icons/iconizr/iconizr.phps on line 914

Warning: file_get_contents(iconmonstr-script-icon): failed to open stream: No such file or directory in /Users/alexey.ostrovskiy/Projects/icons/iconizr/iconizr.phps on line 977

Output folder contains only svg sprite.

jkphl commented 10 years ago

hi @ostroffsky,

thanks for the error log! Yes, you were right — there was a file path bug when no PNG optimization could be applied (due to missing Pngcrush / pngquant / OptiPNG binaries). Should be fixed with release bf64374d82174ba7042745442704481e345400b3 now.

Cheers, Joschi

ostroffsky commented 10 years ago

Thank you, now it works fine!