Giter Club home page Giter Club logo

myicons's Introduction

MyIcons

links: homepage, screenshots

Yes, this is yet another web icon font builder. But it's also designed to be your or your team's flat icons manager with enhanced team member management and revisions tracking. It is also very easy to deploy.

The main idea of this web-based application is:

  1. At first you upload font files (.tff or .woff) with the corresponding CSS. The application will retrieve the shapes and names of icons and build them into a pack.
  2. Then you add a new collection to organize the icons. You can pick icons from a pack or upload a SVG icon file directly.
  3. After added icons to a collection, you can preview the icons in your own web pages with live testing. Live testing provides a URL to testing CSS that you can insert into your page when debuging
  4. At last, when you are satisfied with the icons' appearance, you can download the icon fonts built and replace the live testing url.

There are nine build-in smart labels which classify the icons automatically immediately after uploaded.

This web app can be deployed to heroku in 3 minutes. Go to Get Started

Compatibility

Both this application and the icon fonts it builds has been tested under IE11+, Chrome, Firefox and Safari. IE6-IE8 are NOT supported by now.

If you meet any compatibility problems under IE11+, Chrome, Firefox and Safari, please report a issue.

Known issues and possible improvements

  1. Some public web icon fonts can not be uploaded (incompatible with the app's parser).
  2. No webhooks supported so that you can not integrate it with slack or other services (feature in plan).
  3. Modification of the shape of icons is not supported (feature in plan).

Pull request is welcome. Also feel free to report a issue or request a feature, but don't forget to support by donation.

Get started

The simplest way to get started is to deploy this app to heroku. It will be same simple if you have a heroku-like enviroment such as dokku and deis. You can also deploy it on you own Linux server with just a few more steps.

Deploy to heroku in 3 minutes

Before deploying to heroku, please make sure you have already had a heroku account and the heroku cli tools has been installed.

At first, clone this repo with git:

git clone https://github.com/shanzi/myicons.git

Then cd myicons and configure your local settings:

cp myicons/local_settings.py.example myicons/local_settings.py

The default contents of myicons/local_settings.py is OK with heroku, but DON'T forget to replace the value of SECRET_KEY with a new generated key!

Before commit, you have to remove local_settings.py from .gitignore:

sed -i '' /local_settings.py/d .gitignore
git add .
git ci -m'add local settings'

Now you can start deploying to heroku, please use the build pack I forked for this app, replace [your app name] with your desired app name:

heroku create [your app name] -s cedar-14 -b https://github.com/shanzi/heroku-buildpack-python.git
git push heroku master

Then the heroku will start building the app. After all done, init your database and super user:

heroku run python manage.py migrate
heroku run python manage.py createsuperuser

Fill in your super user's information according to the prompt's instructions.

At last, start your web process and start using MyIcons!

heroku scale web=1
heroku open

Deploy to dokku/deis

Dokku and deis are two of heroku-like systems you can use on your own server or VPS. They are compitible to heroku's build packs, so with the build pack prepared for this app, there won't be any significant differences with deploying to heroku.

In case you'd like to use MySQL/MariaDB instead of PostgreSQL(which is heroku's default database), you can modify requirements.txt and replace psycopg2 with MySQLdb, Please refer to django's documentation for using with MySQL.

Deploy to your own server

Deploying MyIcons to your own server is a little complex because of the dependency of fontforge. You have to install python-fontforge with your linux distribution's packages manager. For example, under Ubuntu 14.04, you run

apt-get install python-fontforge

Please refer to fontforge's instruction.

If you'd like to use the system's python environment, what you do next is just install the dependencies of MyIcons by execute:

pip install -r requirements.txt

And then initialize the database like that has described for heroku. You also have to configure databases yourself. All database compitible with django is OK for MyIcons. You may need refer to dj-database-url.

Fontforge's python extension (which is needed by MyIcons) doesn't works well with virtualenv, So it is recommended that you use docker for enviroment separation.

The official docker image for MyIcons is in future's plan.

About the author

I regard myself as an indie web and Mac developer. You can find me at twitter. I am still a student at SJTU, so don't forget to donate to support the development of this application. :)

Donation

You can support the development of MyIcons by donation with Gratipay or Paypal.

Note that the tips on gratipay will recur every week by default so you should keep an eye on it if you'd like to stop giving tips someday.

As for paypal, it will charge a lot on the donation itself, so please don't donate too little.

License

This application itself is released under BSD license, see LICENSE.

All 3rd party open sourced libs distributed with this application are still under their own license.

myicons's People

Contributors

shanzi avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.