内容简介:AutomatesWhile other image optimization tools are available from the command line, ImageOptim-CLI exists because theImageOptim-CLI is written in TypeScript and AppleScript but is distributed as a self-contained executable binary, you don't need Node.js ins
ImageOptim-CLI
Automates ImageOptim , ImageAlpha , and JPEGmini for Mac to make batch optimisation of images part of your automated build process.
Table of Contents
-
:warning: JPEGmini and support for assistive devices -
:bulb: Related Projects - :raising_hand|type_6:♀️ Getting Help
-
:eyes: Other Projects
:mega:
Summary
While other image optimization tools are available from the command line, ImageOptim-CLI exists because the current benchmarks suggest that ImageOptim, ImageAlpha and JPEGmini currently outperform those alternatives over lossless and lossy optimizations.
ImageOptim-CLI is written in TypeScript and AppleScript but is distributed as a self-contained executable binary, you don't need Node.js installed to use ImageOptim-CLI.
Check out this short video demo of ImageOptim-CLI to see how it works.
Installation
npm
npm install -g imageoptim-cli
homebrew
brew update brew install imageoptim-cli
Manual
Otherwise, you can install manually by downloading the latest release then adding ImageOptim-CLI to your \\$PATH .
# go to home directory cd ~ # download the tarball (change 2.0.3 to latest version if available) curl --output imageoptim-cli.tgz https://registry.npmjs.org/imageoptim-cli/-/imageoptim-cli-2.0.3.tgz # extract the tarball tar -xvzf ./imageoptim-cli.tgz # delete the tarball rm imageoptim-cli.tgz # rename the directory extracted from the tarball mv ./package ./imageoptim-cli # make imageoptim command available in your terminal export PATH=$PATH:imageoptim-cli/dist
Saving somewhere in your home directory such as ~/imageoptim-cli
is recommended, but not essential. Saving to /Applications
is not recommended, do not do this.
Usage
$ imageoptim --help Usage: imageoptim [options] [patterns...] Options: -V, --version output the version number -a, --imagealpha enable ImageAlpha -j, --jpegmini enable JPEGmini -C, --no-color output to the terminal without colors -I, --no-imageoptim disable ImageOptim -Q, --no-quit do not quit apps once finished -S, --no-stats do not display file size savings and quality loss information --number-of-colors <n> ImageAlpha palette size, defaults to 256 --quality <min>-<max> ImageAlpha quality range from 0-100, defaults to 65-80 --speed <n> ImageAlpha speed from 1 (brute-force) to 10 (fastest), defaults to 1 -h, --help output usage information Supported Apps: ImageAlpha: https://pngmini.com ImageOptim: https://imageoptim.com JPEGmini Lite: https://itunes.apple.com/us/app/jpegmini-lite/id525742250 JPEGmini Pro: https://itunes.apple.com/us/app/jpegmini-pro/id887163276 JPEGmini: https://itunes.apple.com/us/app/jpegmini/id498944723 Examples: Run ImageOptim.app over every image in current directory imageoptim Run ImageAlpha.app and ImageOptim.app over every PNG in current directory imageoptim --imagealpha '**/*.png' Run JPEGmini.app and ImageOptim.app over every JPG in current directory imageoptim --jpegmini '**/*.jpg' '**/*.jpeg' Run ImageOptim.app over every image in a specific directory imageoptim '~/Desktop'
:warning:
JPEGmini and support for assistive devices
You may be presented with the following message the first time you run ImageOptim-CLI with the --jpegmini
flag.
To automate JPEGmini we need to add Terminal.app (or iTerm.app etc) to the 'support for assistive devices' whitelist.
The JPEGmini OS X Apps don't include a command line API, so a real user is simulated by entering synthetic clicks and keyboard commands instead. This requires your permission and is easily set up in System Preferences as shown by these guides.
- Enable access for assistive devices in OS X
- OS X Mavericks: Enable access for assistive devices and applications
:bulb:
Related Projects
Grunt Plugin
The ImageOptim-CLI Grunt plugin is grunt-imageoptim .
Comparison of image optimization tools
ImageOptim-CLI features in this comparison of the performance of image optimisation tools alongside Kraken.io, CodeKit, grunt-contrib-imagemin, Smush.it, and TinyPNG.
Article for Smashing Magazine
How Optimized Are Your Images? Meet ImageOptim-CLI, a Batch Compression Tool
Alfred Workflow
The ImageOptim-CLI Workflow for Alfred app is alfred-image-optim-workflow
:question:
FAQs
General
Do ImageOptim, ImageAlpha, or JPEGmini come bundled with the ImageOptim-CLI installation?
You will need to install these applications separately.
Do I have to pay to use ImageOptim-CLI?
The CLI, ImageOptim and ImageAlpha are all free. JPEGmini is a paid-for product but you can use ImageOptim-CLI and choose not to run JPEGmini.
The WebP image format looks promising, can you get ImageOptim-CLI to convert images to it?
WebP looks great and may well overtake the formats handled by ImageOptim-CLI, but converting images to WebP is outside ImageOptim-CLI's chosen remit.
Can you get ImageOptim-CLI to skip images it has already processed, if they haven't changed?
JPEGmini does this today, but for ImageOptim and ImageAlpha I feel a feature like this belongs in those applications rather than this automator.
ImageOptim
ImageOptim makes the fans on my Mac run at full power.
Optimising images is a pretty intensive process, so instead of optimising one image at a time (which would take forever) — ImageOptim optimises many images at the same time until all of them are done.
A side effect of this is that the fans come on at full power to keep your machine cool while it's maxed out.
ImageAlpha
I don't think ImageAlpha is running, I can't see anything.
ImageOptim-CLI uses ImageAlpha's internal installation of pngquant so it's normal that nothing is shown on screen.
It's also possible that if you look in the Activity Monitor you will not see pngquant
displayed but it is being run. In my experience it's only when you run ImageOptim-CLI on a very large number of PNGs that you have enough time to spot it. ensure that Activity Monitor's Update Frequency is set to Very Often (1 sec) .
JPEGmini
Can I use ImageOptim-CLI with JPEGmini Lite, the free version of JPEGmini?
Yes.
I upgraded from JPEGmini Lite to JPEGmini but ImageOptim-CLI still says JPEGmini is not installed.
Performing the in-app upgrade leaves the app named as jpegmini-lite, so ImageOptim-CLI can't determine whether it's the free or full version. It is better to instead buy the full version of JPEGmini separately.
ImageOptim-CLI says “To automate JPEGmini we need to enable GUI Scripting”, how do I do that?
See this tutorial on how to manage Accessibility preferences and GUI Scripting . In the case of OS X Mavericks, you will want to add the Applications JPEGmini and Terminal (or equivalent such as iTerm).
Windows and Linux
Can I use ImageOptim-CLI on Windows or Linux?
ImageOptim-CLI is responsible for automating 3 OS X applications so is inherently bound to OS X for that reason.
Are there any plans for ImageOptim-CLI to support Windows or Linux?
It would first require ImageOptim, ImageAlpha, and JPEGmini to be available for those platforms.
I don't have OS X, can you recommend an alternative to ImageOptim-CLI?
@addyosmani wrote a really thorough article on tools for image optimization which discusses a wide range of options in great detail.
⚙️
Contributing
Have an idea? Found a bug? Please see the Contributing Guide for information on how to install the project and start writing code.
:raising_hand|type_6:♀️ Getting Help
Get help with issues by creating a Bug Report or discuss ideas by opening a Feature Request .
:eyes:
Other Projects
If you find my Open Source projects useful, please share them
- eslint-formatter-git-log
ESLint Formatter featuring Git Author, Date, and Hash - eslint-plugin-move-files
Move and rename files while keeping imports up to date - eslint-plugin-prefer-arrow-functions
Convert functions to arrow functions - Jasmine-Matchers
Write Beautiful Specs with Custom Matchers - karma-benchmark
Run Benchmark.js over multiple Browsers, with CI compatible output - self-help
Interactive Q&A Guides for Web and the Command Line - syncpack
Manage multiple package.json files, such as in Lerna Monorepos and Yarn Workspaces
Author
I'm Jamie Mason from Leeds in England, I began Web Design and Development in 1999 and have been Contracting and offering Consultancy as Fold Left Ltd since 2012. Who I've worked with includes Sky Sports , Sky Bet , Sky Poker , The Premier League , William Hill , Shell , Betfair , and Football Clubs including Leeds United , Spurs , West Ham , Arsenal , and more.
以上所述就是小编给大家介绍的《Make optimisation of images part of your automated build process》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Flexible Pattern Matching in Strings
Gonzalo Navarro、Mathieu Raffinot / Cambridge University Press / 2007-7-30 / USD 64.99
String matching problems range from the relatively simple task of searching a single text for a string of characters to searching a database for approximate occurrences of a complex pattern. Recent ye......一起来看看 《Flexible Pattern Matching in Strings》 这本书的介绍吧!
MD5 加密
MD5 加密工具
RGB CMYK 转换工具
RGB CMYK 互转工具