GitXplorerGitXplorer
b

ip-bootstrap

public
7 stars
4 forks
0 issues

Commits

List of commits on branch master.
Unverified
a99fb601e74f5f7d6d7c08c7311ef107f33a010a

flake8

bbollwyvl committed 10 years ago
Unverified
40cef6d118fd8b326605eb6b46bbbea47883d1bc

refactor button

bbollwyvl committed 10 years ago
Unverified
d9a5f18b33d7f98245f789bad3f0bfa07a4d7d4b

refactoring, dealing wth async view creation

bbollwyvl committed 10 years ago
Unverified
a77d7e94e4d8bc56e233206cf114d35352d79b63

refactor of grid, label

bbollwyvl committed 10 years ago
Unverified
43e220914b554ea85ecf66170295dbead190dac8

starting refactor to manager-less widgets

bbollwyvl committed 10 years ago
Unverified
ea968deccf2f2c3aef5d6ba8cf0dec2307ade37a

updating tests

bbollwyvl committed 10 years ago

README

The README file for this repository.

IPython Bootstrap Widgets

Build Status

The standard IPython Notebok widgets are enough to get the job done for most quick layouts. If you are building richer applications, it's pretty nice to have access to all of the lovely Twitter Bootstrap baseline CSS and components. You could hack in some additional features with add_class, but this is cumbersome for one-off widgets, and limiting for more complex ones.

This library extends existing widgets, like enhanced versions of Button, while adding new containers, typographic elements and layouts. See the roadmap to get an idea of what is done and what is left to do.

Installation/Development

While still in development, the best way to try this out would be:

pip install -e git+https://github.com/bollwyvl/ip-bootstrap.git#egg=IPythonBootstrap

Usage Example

from ipbs.widgets import Panel, Label, Button, Icon
from ipbs.bootstrap import Context
from ipbs.icons import FontAwesome
fa = FontAwesome()

fro = Button(body=[Icon(fa.empire * 2), Label("Fro")], context=Context.danger)
boz = Button(body=[Icon(fa.rebel * 2), Label("Boz")], context=Context.primary)
Panel(
    title="Frobnosticator",
    body=[fro, boz],
    footer="Millions and millions of frobs bozzed",
    context=Context.success
)

example panel

Check the example notebooks in the docs, or on nbviewer.

Testing

The test suite is small, but growing. To run the tests, use:

python setup.py nosetests

This will run the browser tests, and refresh the screenshots in docs/img.

Note that the automated browser tests requires CasperJS, therefore PhantomJS. These are most easily installed with npm, which is now included with NodeJS.

Roadmap

not neccessarily in order!

See something else that makes sense to add? Suggest a change!

  • CSS
    • [X] Grid
    • [ ] Table
    • [ ] Forms
    • [X] Button
    • Typography
      • [X] Lead
      • [X] Transform 3.2?
      • [X] Alignment 3.2?
  • Components
    • [ ] Glyphs (Glyphicons)
      • needed?
    • [ ] Input Group
    • [ ] Navbar
    • [ ] Badges
    • [ ] Alert
    • [ ] Wells
    • [X] Button Group
    • [X] Button Toolbar
    • [X] Panel
  • JavaScript
    • [ ] Tooltip
    • [ ] Popover
    • [ ] Alert
    • Button
      • [ ] Single Toggle
      • [ ] Checkbox
      • [ ] Radio
    • [ ] Carousel
    • [ ] Affix
  • Third-Party