npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

generator-zf5plus

v0.1.1

Published

Yeoman generator for Zurb Foundation 5 plus other plugins

Downloads

9

Readme

generator-zf5Plus

Yeoman generator for Zurb Foundation 5 Plus extra features.

Important note:

This Project is a child of generator-zf5. It adds some functionality and libraries I am using frequently

NPM

NPM

Yo Foundation 5!

  • Sass compiling
  • Jade templating engine (option)
  • Publishing to dist directory
  • Server with LiveReload (127.0.0.1:9000)
  • Bower install
  • JSHint
  • Font Awesome (option)
  • Owl Carousel (option) v1.3 debugged
  • NiceScroll (option)
  • Fabric (option)
  • Threejs (option)
  • SpriteSpin (option)
  • Bourbon (option)

Getting Started

$ npm install -g yo

To install generator-zf5plus from npm, run:

$ npm install -g generator-zf5plus

Finally, initiate the generator:

$ yo zf5plus

Grunt tasks:

run project (compile Jade, compile Sass, bower install, livereload (server on 127.0.0.1:9000), watch)

$ grunt

publishing project (into dist directory) (compile Jade, compile Sass, validate-js, copy, concatenation, minifications)

$ grunt publish

dist directory preview (server on 127.0.0.1:9001)

$ grunt server-dist

Other Grunt tasks (if you want to use it)

..for validating javascript

$ grunt validate-js

..for injecting bower libraries (also in default grunt task)

$ grunt bower-install

..for compiling Sass files

$ grunt compile-sass

..for compiling Jade files

$ grunt compile-jade

Ruby Sass with Compass or Node Sass (Libsass)

From version 0.7.0 you can use Ruby version of Sass with Compass. If you want to use Ruby version first of all you need to install compass by 'gem install compass' (it will install Sass gem too).

You don't need to use the config.rb file, all is configured in Gruntfile.js (Sass block). There will be also Compass imports in _appstyles.scss (You can modify it). If you have any problems with using Sass with Compass it is good to uninstall any of your Sass gems and Compass gems and install only Compass gem again. It will fetch proper version of Sass gem.

Ruby Sass config info: https://github.com/gruntjs/grunt-contrib-sass

You can also use Libsass version (default) which is very fast, but it is compatible with only older Sass 3.3. For Foundation it is ok. And I think soon it will be improved.

Node Sass config info: https://github.com/sindresorhus/grunt-sass

Please test this and send issues if any.

Jade templating engine (early stage.. PR are welcomed)

From version 0.8.0 you can use Jade templating engine (option). It gives you clean and simple html syntax and (whats important) it allows you to use partials includes like header or footer. Example:

html(class="no-js", lang="en")
    include partials/header
    body
        div.row
            div(class="small-12 columns panel radius")
                h1 Yo Foundation 5!
                h2(class="text-right")
                    a(href="https://github.com/juliancwirko/generator-zf5")
                        i(class="fa fa-twitter")
        include partials/footer

LiveReload

For LiveReload call 'grunt' (watching) command and go to http://127.0.0.1:9000

Usemin

Read more about grunt-usemin

Bower-install

Now you can install your libraries much faster. Example:

bower search magnific-popup
...
bower install magnific-popup --save
...
grunt bower-install

This should inject the proper js and css paths into your html files. But you should be careful and check what was injected. 'grunt publish' will then minify and concatenate them into a clean (libraries.min.css and libraries.min.js) files. Instead of a 'bower install' with '--save' you can manualy edit the bower.json file and then run a 'grunt bower-install'. It is also included in the default task - 'grunt'.

Tips

  • Sometimes after new version is released if you have errors when running yo zf5plus You should run npm cache clean
  • If you have problems with permissions in Linux run this : sudo chown -R `whoami` ~/.npm
  • if you want you can delete not used javascript components in index.html file. All remaining components will be minified and concatenated into one foundation.min.js
  • if you have problems with connection to http://127.0.0.1:9000 change 'hostname' in Gruntfile.js 'connect' config. Just add hostname: '[your hostname]' line to options: {...}
  • if you want you can delete unnecessary/unused Foundation components from main app.scss (it will be lightest main Foundation css file)
  • place all your html files in the root folder (app) or you have to change assets paths (build etc.)
  • grunt useminPrepare reference file is only index.html (prevents multiple the same operations) but all html files will be processed, so remember to keep the same usemin 'comments blocks' in all your html files (for now it is good to simply copy index.html, rename it and leave header and footer css and js inclusions with 'comments blocks')
  • try to avoid situation when you have the same build blocks in two html files with different assets so (examples):
<!-- build:js js/mfpopup/mfpopup.min.js -->
    <script src="js/mfpopup/mfpopup.js"></script>
<!-- endbuild -->

and

<!-- build:css css/mfpopup/mfpopup.min.js -->
    <script src="js/mfpopup/mfpopup.js"></script>
    <script src="js/mfpopup/other_script.js"></script>
<!-- endbuild -->

you can add new ones

  • always verify what 'grunt bower-install' injects
  • You must look aut where you initialize your project. It is better to not initialize your projec in a subfolder next to .yo-rc.json because your files will land here and not in your subfolder from where you are initializing project
  • if you use Jade templating remember to place at least header.jade and footer.jade in main app folder - this is needed for bower install injections

You can test it and tell me please if something is not working.

Getting To Know Yeoman

Yeoman has a heart of gold. He's a person with feelings and opinions, but he's very easy to work with. If you think he's too opinionated, he can be easily convinced.

If you'd like to get to know Yeoman better and meet some of his friends, Grunt and Bower, check out the complete Getting Started Guide.

License

MIT License

Maybe someone (English speaker) would like to prepare tutorial for zf5 generator? I will be very thankful :)

Contact

@tomeralmog | [email protected]

Changelog

..see CHANGELOG.md file