Skip to main content

Provides Bootstrap3 and other static resources in a modular fashion.

Project description

Provides Bootstrap3 and other static resources in a modular fashion.

The main purpose of this extension is to “modularize” static resources (css and js files) on a per-template basis. In a large Flask application, all views/templates don’t use the same static resource such as d3js. If only one view uses d3js out of five or more, there is no reason to have the d3js <script /> tag included in all views.

This extension also provides a base template to be extended by your Flask application’s templates for Bootstrap3 (like other Bootstrap3 extensions such as this or this).

  • Python 2.6, 2.7, 3.3, and 3.4 supported on Linux and OS X.

  • Python 2.7, 3.3, and 3.4 supported on Windows (both 32 and 64 bit versions of Python).

Build Status Windows Build Status Coverage Status Latest Version Downloads

Quickstart

Install:

pip install Flask-Statics-Helper

Enable:

# example.py
from flask import Flask
from flask.ext.statics import Statics

app = Flask(__name__)
Statics(app)

Use with Bootstrap3 (automatically enables jQuery):

{% extends 'flask_statics_helper/bootstrap.html' %}
{% set STATICS_ENABLE_RESOURCE_CSSHAKE = True %}
{% block title %}My Application{% endblock %}

{% block navbar %}
    <div class="navbar navbar-inverse navbar-static-top" role="navigation">
        <div class="container">
            <div class="navbar-header"> <!-- navbar-header -->
                <button type="button" class="navbar-toggle" data-toggle="collapse"
                        data-target=".navbar-collapse">
                    <span class="sr-only">Toggle navigation</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>
                <a class="navbar-brand" href="/">My Application</a>
            </div> <!-- /navbar-header -->
            <div class="collapse navbar-collapse"> <!-- navbar-collapse -->
                <ul class="nav navbar-nav">
                    <li><a href="/">Home</a></li>
                </ul>
            </div> <!-- /navbar-collapse -->
        </div>
    </div>
{% endblock %}

{% block container %}
    <div class="jumbotron">
        <h2 class="shake shake-constantly">Hello World.</h2>
    </div>
{% endblock %}

Available Resources

Configuration

The only app.config specific setting is STATICS_MINIFY. Everything else may be set to True either in individual templates (so that css/js is included only for that template) or you may set it to True in the app.config if you want the resource enabled for all templates for some reason or another.

The following config settings are searched for in the Flask application’s configuration dictionary:

  • STATICS_MINIFY – Have minified resources selected instead of uncompressed resources.

  • STATICS_ENABLE_RESOURCE_ANGULARJS – include resource in all templates.

  • STATICS_ENABLE_RESOURCE_BOOTSTRAP – include resource in all templates.

  • STATICS_ENABLE_RESOURCE_BOOTSTRAP_EDITABLE – include resource in all templates.

  • STATICS_ENABLE_RESOURCE_BOOTSTRAP_GROWL – include resource in all templates.

  • STATICS_ENABLE_RESOURCE_BOOTSTRAP_TYPEAHEAD – include resource in all templates.

  • STATICS_ENABLE_RESOURCE_BOOTSTRAP_VALIDATOR – include resource in all templates.

  • STATICS_ENABLE_RESOURCE_CSSHAKE – include resource in all templates.

  • STATICS_ENABLE_RESOURCE_D3 – include resource in all templates.

  • STATICS_ENABLE_RESOURCE_DATATABLES – include resource in all templates.

  • STATICS_ENABLE_RESOURCE_FONT_AWESOME – include resource in all templates.

  • STATICS_ENABLE_RESOURCE_JQUERY – include resource in all templates.

  • STATICS_ENABLE_RESOURCE_WHHG_FONT – include resource in all templates.

  • STATICS_ENABLE_RESOURCE_ANGULARJS_ANIMATE – include resource in all templates.

  • STATICS_ENABLE_RESOURCE_ANGULARJS_COOKIES – include resource in all templates.

  • STATICS_ENABLE_RESOURCE_ANGULARJS_CSP – include resource in all templates.

  • STATICS_ENABLE_RESOURCE_ANGULARJS_LOADER – include resource in all templates.

  • STATICS_ENABLE_RESOURCE_ANGULARJS_MESSAGES – include resource in all templates.

  • STATICS_ENABLE_RESOURCE_ANGULARJS_MOCKS – include resource in all templates.

  • STATICS_ENABLE_RESOURCE_ANGULARJS_RESOURCE – include resource in all templates.

  • STATICS_ENABLE_RESOURCE_ANGULARJS_ROUTE – include resource in all templates.

  • STATICS_ENABLE_RESOURCE_ANGULARJS_SANITIZE – include resource in all templates.

  • STATICS_ENABLE_RESOURCE_ANGULARJS_SCENARIO – include resource in all templates.

  • STATICS_ENABLE_RESOURCE_ANGULARJS_TOUCH – include resource in all templates.

Changelog

1.0.0

  • Windows compatibility.

  • Updated Bootstrap to 3.3.1.

  • Updated Angular JS to 1.3.4.

  • Updated BootstrapValidator to 0.5.3.

  • Updated D3 to 3.4.13.

  • Updated Data Tables to 1.10.4.

  • Updated Font Awesome to 4.2.0.

  • Updated WHHG Font to latest as of November 26, 2014.

0.3.0

  • Replaced Bootstrap 3 Typeahead with Twitter typeahead.js.

0.2.0

  • Added BootstrapValidator resource.

0.1.1

  • Added Python 2.6 and 3.x support.

0.1.0

  • Initial release.

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

Flask-Statics-Helper-1.0.0.tar.gz (3.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