Coder Social home page Coder Social logo

Let's discuss Jeet... about axis HOT 9 CLOSED

static-dev avatar static-dev commented on June 14, 2024
Let's discuss Jeet...

from axis.

Comments (9)

corysimmons avatar corysimmons commented on June 14, 2024

I planned on redesigning/developing http://jeetframework.com with a big focus on screencast tutorials for each and every item. Naturally there would be text-based doc, but having screencasts explaining everything will help a lot, and I was thinking about doing a series of full site-builds with Jeet to pop on there somewhere. People love site builds.

Also, I wouldn't be opposed to merging Axis and Jeet, but I'd have to talk to Jeff a lot about it and keep the Jeet brand (as I like it better). There are a lot of things I wouldn't include in Jeet (for instance bold() and such). I think the world of Axis, but I also feel a lot of the shortcuts aren't needed, especially with something like Emmet out there. Also, I kinda like to encourage people to use/learn original/pure CSS and feel a lot of Axis' abstractions take away from that. Then there are things I really like about Axis like how it makes gradients simple, has some styling for things you wouldn't usually think about (code and pre stick out), has easing built in, etc..., but in my personal, very opinionated workflow, I think it suffers from the same problem Bourbon and a lot of other bulky frameworks suffer from: it tries to do something with everything.

I absolutely love Jeff's sense of style though. His buttons and other elements look way better than any other framework out there.

Long story short, I'd love to merge the two, use Jeet's name (because I'm an egocentric freak), and work closely on getting rid of what's not needed, and making a few, really powerful/flexible/beautiful/helpful mixins.

from axis.

jescalan avatar jescalan commented on June 14, 2024

Agreed overall. I suggested recently that the jeet grid be split out from the rest of the build system, and maintain that this is the right direction to keep things modular and cleanly separated if need be. I'd like to talk about a few things here:

Jeet's Build System

I would love to see jeet's build system merged into roots. Roots has support for everything in the jeet build system and more, other than the dependency on ruby (which I think is a good thing). In fact, if I'm not mistaken, jeet's build system could be built out of roots and offered as a custom roots template, which would look like roots new example --jeet. The template piece would cover html5 boilerplate, modernizr, respond.js, placeholder.js, and boxsizing.htc. This means the only thing left would be the sass/compass compatibility which I think could easily be replaced with a nib/axis/jeet stack as discussed below. If not, it would be easy to write a roots plugin that would compile sass for backwards-compatibility.

There would be tons of benefits here. Not only would the jeet build system gain huge huge amounts of functionality and active maintenance by a core team, but it would take development of the build system of corey's plate (unless he wanted to contribute to roots of course, which would be welcome), and wouldn't be a noticeable setback for any current users of jeet.

Jeet's Goodies

The build system comes with a couple nice ui mixins for stylus which corey calls goodies. I think these are awesome, and this is the exact goal of axis. Axis will soon be dropping out much of the base mixins and merging them into nib, acting only as a library that contains ui-targeted mixins. This seems to be the exact same goal as the jeet goodies, so I think these two should be merged, and it would be easy to do so.

Reading Corey's comment above, I just want to add in that all the mixins in axis are optional, and do not add any extra weight to the page when compiled. So if you don't like the bold() mixin, you just don't bother using it and everything is good. I don't disagree with learning simple css first, but that's the beauty of a mixin framework -- you can not use any part of it, and your code will be just as quick and lean. You can use just the parts you want and skip 90% of it, and same result. Because mixins are optional and disappear if not used when compiled, it's an easy decision to offer more options rather than fewer with a mixin library.

Jeet's Grid

In my opinion, this is by far the strongest point of jeet, and why we are looking to integrate it, and judging by the work mentioned above by Declan, it looks like it's going to be getting even stronger. I would love to see the grid split out on it's own and actively maintained. I would be happy to try to help with this, and I know Corey is a beast as that stuff, and it looks like with some new contributors on board, the grid could really shine.

I think this is the piece that should maintain jeet's brand hard, because it is the heart and soul of jeet. It also will keep the brand strong -- rather than diluting it by having jeet apply to a bunch of somewhat related components, by doing this, you'd keep the brand focused. This all fits nicely with the unix philosophy, and a lot of the core people working on roots, axis, etc are leaning more and more that way. I'm happy to give up the base mixins for nib to deal with. I'd like to start breaking down a lot of pieces roots into smaller components with their own uses and brand. We've seen this happen with yeoman/grunt/bower as well, and it is good.

I also think that a nib/axis/jeet stack would be dominant. Not only does it keep components separate, but each of them are awesome and maintained by a different set of awesome people, and they all will fit together very nicely if we work together - since we have people here in the discussion on core teams of all three (cc @slang800) it would be easy to align the goals and sort out what responsibilities each would have.

from axis.

corysimmons avatar corysimmons commented on June 14, 2024

Alright! You convinced me (I'm awfully tired right now). Axis can stay (although seriously, reconsider the mixins for one liners like bold() = font-weight bold - all the other ones are fine) and I'll probably actually end up contributing to it.

I also wouldn't mind is Roots ignored the SCSS bandwagon. I kind of have to do it because I have a preprocessor framework, but between me and you and everyone else reading this, SCSS' syntax is god-awful newb-bait (SASS ain't so bad but it vastly less popular) and I'm actually kinda interested in using Roots since I love the stack and deployment looks so breezy.

I'm also going to try to get my real-life friend (who is a fucking insanely good JS dev) to jump in on Roots. He's got some cool sockety crap that is way beyond me that might be useful. Either way you guys should get in touch. @AndrewJHart (his Github and hair look pretty newb but he's legit as they come and loves Coffeescript)

Jeff, can you screenshare with me (Google Hangouts) and hold my hand through all this stuff? I'm pretty sure if I do it alone I'm going to end up fucking everything up and breaking jeet create when it tries to pull from the repo.

from axis.

jescalan avatar jescalan commented on June 14, 2024

Whoo! Yeah definitely we should go over a bunch of stuff. There is so much to organize everywhere (for roots and axis too) but we'll get through it. We'll have to get organized with milestones and such as well. I think this will be awesome and am super excited.

from axis.

corysimmons avatar corysimmons commented on June 14, 2024

Ok, right now Jeet 3's grid is pretty much tested and planned out but will be complete sometime early next week unless something pops up (doubt it).

I'm really, really, almost, pretty serious about dropping SCSS support just because fuck SCSS and it will give me more maintability (right now I have to port everything to SCSS and SASS, or wait for someone else to, before I can push changes which is a pain). I figure if people want SCSS they can fork Jeet and port it themselves, and I'd gladly link to it, but right now it just feels so gross to be watching Stylus and SCSS and compiling all kinds of crap and forcing people to install crappy Ruby and it's crappy crap (get a ton of Issues in my queue on the sheer installation of Ruby/Compass). This way I could do all kinds of awesome stuff to it as fast as I want.

So yeah, I'm probably gonna drop SCSS.

Anyway, don't worry about SCSS. Let's start putting dents in it with an awesome stack.

When is convenient for you to do a huge screensharing session and put a big dent on this? Want to wait until the grid is officially complete? Should be sometime early next week.

It's effectively one .styl file (https://github.com/CorySimmons/jeet/blob/master/web/css/styl/jeet/framework.styl) and the index.html is HTML5BoilerPlate (which I think we should keep) and it's loading some polyfills.

We can get rid of the placeholder polyfill, but I'd like to keep Selectivizr and boxsizing.htc so old IE (7-8) can use Jeet fairly seamlessly (Jeet has a lot of fans just because it supports IE7 whereas some frameworks are dumping support for 8 already). Maybe keep Modernizr. Personally I rarely use it and it's not required for Jeet at all, so I'll leave it up to you.

I would like to keep respond.js as well, again, old IE support.

Anyway, once we figure out how to structure this, and the new system is in place, I can just get rid of all the old stuff and keep this repo right? Is there any way to version Jeet 2 (current version) for when people crap their pants for it?

Edit Just saw Axis in action and you're right about the single line things being so much nicer/faster. e.g. fs(10) is nice. http://www.youtube.com/watch?v=Kv6H6mMDeuA

from axis.

jescalan avatar jescalan commented on June 14, 2024

Haha wow lots of hate for ruby. I mean I very purposely didn't want to have ruby as a dependency for a lot of those reasons. I love ruby, but I do not love installing it.

For the session, we can do it whenever really - we have so much we're trying to take care of and it would be great to get you involved.

As for what you keep from the boilerplate, you can keep it all and have it be exactly the same : ) That's what roots custom templates are for. You can create a jeet template for roots with all the utils you need and have in there already.

Yeah we can go over how to handle the repo and version it out correctly when we do the hangout. None of it is too crazy, it's just stuff you don't think about until you have a lot of people depending on your code working, which is both great and a pain sometimes haha.

from axis.

corysimmons avatar corysimmons commented on June 14, 2024

I'm literally passing out over and over in front of computer. Going on 48 with 1 hour sleep so not tonight, and I have to go out of town tomorrow. But sometime this weekend. Preferably during the day would be awesome.

from axis.

corysimmons avatar corysimmons commented on June 14, 2024

Not sure what else I need to do exactly. Make a new branch specifically for Roots?

from axis.

jescalan avatar jescalan commented on June 14, 2024

All grid functionality has been removed from axis as of 0.2.0, as it's not axis' responsibility to deal with this, and users should be allowed to choose their own grids. As an alternative to this, you can use jeet as a stylus plugin or grate for just the grid as a stylus plugin

from axis.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.