Comments (14)
Styleguide improvements
See #48
UX improved for the entire framework
This is a fairly large piece of work that extends out to the Yeoman generator & Statix. I would like to make it much more intuitive to use the framework. Code and configuration should be easy to find.
from kickoff.
@ashleynolan I have been using gulp a lot on some personal projects and feel that it could benefit Kickoff. If I could get the exact same functionality as we have with Grunt, but use gulp instead, would you consider it?
from kickoff.
What does Gulp do better?
Have you considered including a minimal grunt or gulp file and just having what is needed to build Kickoff. A lot of what is included in Kickoff's grunt config is workflow/project specific.
For example I strip browser-sync, connect and jquery-builder straight away and add githooks. That prescribed workflow is not relevant when Kickoff's purpose is a SASS framework, maybe that specific workflow should be a separate TMW project with kickoff as a dependency?
from kickoff.
Would be worth going through the benefits of switching.
I don’t really mind either way if there’s a good use-case for it and it can do everything that Grunt can. If we do switch, it would be a shame to lose the grunt setup work, so maybe would be good to consider how we could keep that, even if we no longer really update those files in future.
Let’s chat about when you get back from holiday.
from kickoff.
Gulp is very similar but I have found it to be much easier to use whilst also being more powerful. I have started a next-gulp branch and am in the process of converting all Grunt tasks to gulp tasks. See the example gulpfile here.
I have also had problems recently with sourcemaps for Sass (when using grunt-sass), because they are broken in node-sass, but with gulp, sourcemaps are an entirely separate package which means I can add sourcemaps to anything without needing their implementation to work.
Using gulp for javascript tasks is also better in my opinion. In the gulpfile linked-to above, I have the existing JS file list concatinated, sourcemapped and uglified just as we do in Kickoff and on my personal site I use Browserify. You should be able to see that the configuration for each of these is much more simple than the grunt equivalent.
I will keep progressing with the gulp branch and would like to count on you guys, and anyone else, to test to see if it's worth the switch. Hopefully, the only real change to users would be to switch from typing grunt serve
to gulp serve
in their CLI.
from kickoff.
I have also added a flag (variable) for when the site is in production and you need to minify everything. See https://github.com/tmwagency/kickoff/blob/next-gulp/gulpfile.js#L33. It negates the need for separate tasks like grunt dev
& grunt deploy
. As @munkychop mentioned, this could actually be an environment variable or another setting in your CI setup..
from kickoff.
Also, is it worth considering just using npm scripts? It will mean better access to plugins.
http://blog.keithcirkel.co.uk/why-we-should-stop-using-grunt/
http://blog.keithcirkel.co.uk/how-to-use-npm-as-a-build-tool/
https://blog.cesarandreu.com/posts/give_npm_scripts_a_chance
from kickoff.
While I think npm scripts might be a good way to run tasks, with certainly more options available to it, I do not think using it will be as beneficial as using Grunt or gulp purely because they are both extremely well documented and have massive developer support.
[EDIT] I also forgot to mention that it then makes it easier for devs to use Kickoff.
from kickoff.
I thought I would post an update on my progress.
gulp
I have spent a fair amount of time on the next-gulp
branch and have come to the conclusion that we shouldn't switch to gulp yet. While gulp provides many benefits over Grunt, they are not substantial enough for us to make the switch at the moment. One of the main issues I found is that there is no comparable task for Grunticon; I know Filament Group are working on a standalone library for Grunticon but it is not ready for production yet.Our existing Grunt setup is so comprehensive and well-documented that it would not make sense to switch.
Grunt
The Grunt config/options is being tidied and the tasks are being refined.
Assets
There has been some movement of static assets (CSS, images & JS). We are moving all source files into ./assets/src
and all compiled code will reside in ./assets/dist
. This should make it more clear as to what-goes-where and more intuitive to use.
Javascript
Do we use Browserify by default? @nicbell @ashleynolan @munkychop
Do we need to update the existing js setup?
from kickoff.
All look good.
As for the JavaScript, I think it should still be an optional branch. Advanced users should ideally be using the generator, and then it’s pretty much included anyway with a Y/N switch.
from kickoff.
@ashleynolan good point. We should push most users to make use of the generator.
from kickoff.
I like Browserify + npm but does it have everything that bower has? Or will we mix the two?
from kickoff.
it probably doesn't have everything bower has but if you're using Browserify then you're going to need the script to use module.exports
otherwise Browserify won't work, no? Also you can place bower packages in the npm_modules
folder & require them using the normal procedure. Its a bit dirty but it does work. Most worthwhile packages are on npm IMHO.
from kickoff.
It's possible to use debowerify as a Browserify transform for Bower packages that aren't CJS compatible. If the Bower packages are CJS compatible then they can either be require
'd directly or shimmed.
from kickoff.
Related Issues (20)
- kickoff-react HOT 2
- Docs site down HOT 4
- Kickoff 8 checklist HOT 20
- Fix SVG minification HOT 3
- Finalise SVG sizing & correct CSS workflow
- Form themes HOT 1
- Hot module reloading HOT 1
- Production build requires optional dependencies HOT 5
- Generated CSS file not respect the name given in config.js HOT 1
- Kickoff Builds HOT 3
- problem with current grunt-contrib-imagemin version in package.json HOT 7
- When selecting statix in Yeoman generator missing comma in Gruntfile HOT 1
- Issue with grunt-icon/NPM, causing error HOT 1
- Remove Placeholder Mixin
- Version 7 - TODO HOT 27
- Moving to Gulp HOT 1
- KO FlexGrid HOT 11
- Broken link in Docs HOT 1
- Error in styleguide.scss HOT 3
- IE11 Printing Issue HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kickoff.