open-keychain/graphics/android-icon-copier/README.md
2017-02-10 08:56:02 +01:00

113 lines
3.6 KiB
Markdown

[![Android Arsenal](https://img.shields.io/badge/Android%20Arsenal-android--icon--copier-brightgreen.svg?style=flat)](https://android-arsenal.com/details/1/1325)
What is this
============
A commandline tool to copy Android Material Design and FontAwesome icons to your
project folders: `drawable-ldpi`, `drawable-mdpi`, and etc.
How it works
============
It downloads from these repos:
- Material design: https://github.com/google/material-design-icons
- FontAwesome and "Classic" Android: https://github.com/svenkapudija/Android-Action-Bar-Icons
Resolution supported
====================
| l | m | h | xh | xxh | xxxh |
--------|---|---|---|----|-----|------|
FA | Y | Y | Y | Y | Y | - |
Classic | - | Y | Y | Y | Y | - |
Material| - | Y | Y | Y | Y | Y |
Sizes supported
===============
Material: 18, 24, 36, 48 dp.
FA and Classic: 32 dp only.
Usage
=====
<pre>
Usage:
Material : ./copy {proj path} {category} {color} {icon name} [size]
Classic and FA: ./copy {proj path} {fa/classic} {color} {icon name}
</pre>
`[]` denotes optional args.
**Args are case sensitive!**
- `proj path`: Path to project folder relative to `base path`.
- `base path` can be defined in options file (see below).
- Auto-detects new or old project structure: `MyProject/src/main/res` or
`MyProject/res`.
- `category`: Either "classic", "fa", or Material category.
- `color`: Color of icon: Either "white", "grey" or "black".
- For Classic and FA, "white" refers to the Holo Dark theme (dark background).
"Grey" refers to the Holo Light theme.
- For Material, "grey" refers to grey600.
- `icon name`: Name of icon (must replace spaces and dashes with underscores).
- Without any prefix. Examples: FontAwesome "thumbs_up", Classic "search".
- `size` (integer): for Material only, Size in dp, defaults to 24 which is the
action bar icon size for material design.
Examples
--------
- `./copy MyProject maps white place`
- Downloads to `BasePath/MyProject/{src/main}/res/drawable-{m,h,xh,xxh,xxh}dpi
- `./copy MyProject maps white place 48`
- `./copy Path/to/MyProject fa grey thumbs_up`
Windows users need to use `python copy` instead (I think).
Filename mapping
================
The tool also supports filename mapping of destination png files. (see options)
Mapping vars:
- `cat`: category
- `name`: name as specified in commandline.
- `color`: color as specified: white, black, grey.
- `size`: integer only.
- `bg`: derived from color. black => bright, white => dark, grey => light.
- `bgSuffix`: "_dark" if bg is dark else empty string.
Options file
============
*In this project, if you need to fetch new icons, rename options.templ.json to options.json. And then run script get-material-icons.sh*
Named `options.json` in same dir. Sample:
```json
{
"basePath": "~/Documents",
"filenameMap": {
"classic": "ic_action_{name}{bgSuffix}.png",
"fa": "ic_action_fa_{name}{bgSuffix}.png",
"material": "ic_{name}_{color}_{size}dp.png"
}
}
```
~ is expanded to the user home dir.
`./copy Path/to/MyProject fa white thumbs_up` results in the
target filename of `ic_action_fa_thumbs_up_dark.png`.
Installation
============
- Python >= 2.7 (older or newer ver might work, you may try.)
- Python Requests package: `pip install requests`
- Git clone this repo or download the script.
Icon cheatsheet
===============
- Material: http://google.github.io/material-design-icons/
- FA: http://fortawesome.github.io/Font-Awesome/icons/ (icons in 4.2 not supported)
- Classic: coming soon.
License
=======
This project is under the MIT License. (see LICENSE)
Please refer to the respective icon library for its licensing info.