Skip to main content

Fanstatic packaging of CSS3 GitHub Buttons

Project description

css.css3githubbuttons

Introduction

This library packages CSS3 GitHub Buttons for fanstatic. Check out a demo of this library - it’s really nice. This library provides the default buttons and various extensions as per the demo. As a bonus, this library also packages up minified versions of the library’s CSS.

There’s a lot of versions of this CSS library floating around, so we’re currently using the one provided by CodeFusion, a fork of the library originally provided by necolas, on GitHub.

If development moves elsewhere, we can adjust the library accordingly. If you’re using this package and notice a change in development at https://github.com/CodeFusion/css3-github-buttons/network (such as someone has taken over development more than original author or is otherwise doing more work) before we do, let us know or send a pull request.

Usage

Install using your favourite method (pip, easy_install, buildout, etc) and then in your code do this:

import css.css3githubbuttons
css.css3githubbuttons.buttons.need()

This requires integration between your web framework and fanstatic, and making sure that the original resources (shipped in the resources directory in css.css3githubbuttons) are published to some URL.

For Pyramid, this can be as simple as installing and utilising pyramid_fanstatic.

Extensions

CodeFusion has provided a number of improvements and extensions to the original library. This Fanstatic package provides access to these extensions like so:

from css.css3githubbuttons import buttons_ext_sizes, buttons_ext_icons, buttons_ext_all

For extra button sizes (see http://demo.codefusionlab.com/css3-github-buttons/ext_button_size/index.html):

buttons_ext_sizes.need()

For extra (larger) icons (see http://demo.codefusionlab.com/css3-github-buttons/ext_button_icons/index.html):

buttons_ext_icons.need()

Or for everything, do this:

buttons_ext_all.need()

Keep in mind that extensions automatically depend on the original CSS so you don’t need to need() that again!

Updating this package

Given this package uses the latest (at the time of writing) GitHub master of the CSS library, it may (will) need updating at some point.

This process requires installation of the package for development - the suggested method to do this is via the Buildout within this package:

cd css.css3githubbuttons
python boostrap.py
./bin/buildout

For minification of resources to succeed, you require a Java installation as this process uses the YUI Compressor library (via the minify and yuicompressor Python packages).

Do this at the base of the repository:

pushd css/css3githubbuttons/resources
wget https://github.com/CodeFusion/css3-github-buttons/archive/master.tar.gz
rm -rf css3-github-buttons
tar xf master.tar.gz
rm master.tar.gz
git mv css3-github-buttons-master css3-github-buttons
git add css3-github-buttons
popd
#Minify the CSS
python setup.py minify_buttons
python setup.py minify_buttons_ext_icons
python setup.py minify_buttons_ext_size
git commit -a -m "Updated to latest version"
git push

Note

We could use Git submodules but setuptools seems to hate them, setuptools-git really doesn’t want to agree with them, zest.releaser doesn’t support recursive cloning (yet; pull request sent), and so forth. Feel free to help improve this situation! Yikes!

So, let’s resort to manually taking a copy of the files out of GitHub.

Tests - How to use

You can import buttons from css.css3githubbuttons and need it where you want these resources to be included on a page:

>>> from css.css3githubbuttons import buttons
>>> buttons.need()

Changelog

2.1 (2012-12-10)

  • Add minified versions of library and extensions and details how to produce minified versions. [davidjb]

2.0 (2012-12-07)

  • Switched to using CodeFusion’s fork of necolas’ GitHub buttons. See demo at http://demo.codefusionlab.com/css3-github-buttons/. As well as several fixes, this now provides disabled buttons, no text buttons, colours, more icons, and more sizes. Backwards compatibility should be maintained if you are not using new features (some extra CSS is introduced in the basic file). [davidjb]

1.0.2 (2012-09-05)

  • Fix another failed release. Switch away from using a Git submodule because of various pieces failing around them. [davidjb]

1.0.1 (2012-09-05)

  • Fix brown bag release. [davidjb]

1.0 (2012-09-05)

  • Initial release. [davidjb]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

css.css3githubbuttons-2.1.zip (1.5 MB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page