Foundation with Sass: Difference between revisions
No edit summary |
No edit summary |
||
| Line 68: | Line 68: | ||
Question: how well does this arrangement accommodate upgrades? Do these two files get overwritten in the course of an upgrade? How to preserve changes? | Question: how well does this arrangement accommodate upgrades? Do these two files get overwritten in the course of an upgrade? How to preserve changes? | ||
== Integrating Foundation with Django == | |||
* Install Foundation in a directory outside the Django project. | |||
* Compile Foundation assets. | |||
* Point Django's static files directories at the compiled Foundation resources: | |||
<syntaxhighlight lang="python"> | |||
# myapp/settings.py | |||
# ... | |||
STATICFILES_DIRS = ( | |||
('foundation', '/path/to/foundation/root/bower_components/foundation'), # all Foundation assets | |||
('javascripts', '/path/to/foundation/root/javascripts'), # might still have some customizations here | |||
('stylesheets', '/path/to/foundation/root/stylesheets'), # my generated CSS | |||
) | |||
</syntaxhighlight> | |||
To use the Foundation assets in a template: | |||
<syntaxhighlight lang="html5"> | |||
<script src="{% static 'foundation/js/vendor/modernizr.js' %}"></script> | |||
</syntaxhighlight> | |||
== Prerequisites == | == Prerequisites == | ||
| Line 73: | Line 94: | ||
* Node.js | * Node.js | ||
* Ruby 1.9+ | * Ruby 1.9+ | ||
* Bower | |||
== Links == | == Links == | ||
Revision as of 19:44, 4 February 2016
CDN
CDNs for stubbing out projects.
//cdn.foundation5.zurb.com/foundation.css//cdn.foundation5.zurb.com/foundation.js
or
//cdnjs.cloudflare.com/ajax/libs/foundation/5.5.0/js/foundation.min.js//cdnjs.cloudflare.com/ajax/libs/foundation/5.5.0/css/foundation.min.css
Installing Foundation with Sass
Installing the Foundation CLI
$ npm install --global foundation-cli
Creating a new project
The foundation new command will create a foundation directory. It prompts for the following project properties:
- Framework - Foundation for Sites
- Template
- "Basic" includes Sass and a flat directory structure
- "ZURB" includes JavaScript processing, Handlebars templating, and image compression
- Directory/Project Name is relative to the current directory. So a directory with the project name will be created in the current directory.
These properties can be set with arguments to foundation new:
$ foundation new --framework sites --template basic --directory [app_name]
Upgrading from earlier versions
First uninstall the existing Foundation installation
$ npm uninstall foundation
Compiling Sass
Foundation 6
Foundation 6 uses gulp to compile.
Creating a new Foundation project creates a gulpfile.js in the project directory. The default action is to watch for changes in .scss and .js files, so simply running gulp will spawn a process that will compile the project.
Compiling Compass
I couldn't figure out a way to use config.rb to use the compass compile command with the Foundation for Sites 6 libraries. It's necessary to use the gulp task.
These Compass mixins emulate the compass mixins. Download them and place the lib directory in the project's scss/ directory. Then e.g. include with @include "compass-mixins\compass\animation";
Foundation 5
Foundation 5 offers a collection of Sass files that they suggest customizing. [1]
- Variables controlling appearance are located in
_settings.scss - The documentation recommends placing custom styles in
app.scss - Foundation components can be included or excluded by commenting them out in
app.scss
Question: how well does this arrangement accommodate upgrades? Do these two files get overwritten in the course of an upgrade? How to preserve changes?
Integrating Foundation with Django
- Install Foundation in a directory outside the Django project.
- Compile Foundation assets.
- Point Django's static files directories at the compiled Foundation resources:
# myapp/settings.py
# ...
STATICFILES_DIRS = (
('foundation', '/path/to/foundation/root/bower_components/foundation'), # all Foundation assets
('javascripts', '/path/to/foundation/root/javascripts'), # might still have some customizations here
('stylesheets', '/path/to/foundation/root/stylesheets'), # my generated CSS
)
To use the Foundation assets in a template:
<script src="{% static 'foundation/js/vendor/modernizr.js' %}"></script>
Prerequisites
- Git
- Node.js
- Ruby 1.9+
- Bower
Links
Reference
- Getting Started with Foundation and Sass - Foundation Documentation
Notes
- ↑ How to Use Foundation Sass Foundation documentation (version 5)