I've been working on a css framework for the past few months (yep, just recounted, it's been since march *o* ). It's fairly close to the already well known Blueprint and 960 grid system, with the difference that it works on any page width.
If you don't see what I'm talking about, check the 960 grid system demo here : http://960.gs/demo.html and compare it with the one I created : http://fluidgrid.net/example/960-fluidified
The more I play with my framework, that I called 'fluidgrid', the more I realize the potential. For example, the framework can be applied to, of course, fluid layouts, but also, it can be use only on a specific area of the page. Let me explain this a bit more.
As Fluidgrid is only based on markup, and works with percentages, the grid can be set to any part of your layout. It could either be the entire page, or just the content, or just the header, or just ... well ... whatever you want.
Example : you could use fluidgrid to create article nodes with multiple columns, like in a news paper, changing for each node you create, as long as you know how to create the markup.
You could also create a sidebar with a very complicated layout using fluidgrid, even if the rest of the page doesn't use fluidgrid to create the layout.
Anyway, I hope that this makes sense, and that you see where I'm going with this.
If fluidgrid and Panels could work together, you could create a system where the content follows the grid without writing any markup. I know that Panels already have a layout builder working, and I don't think PANELS should change to adapt to fluidgrid, at all. But I was wondering how hard would it be to create a panels style, or plug-in, to join both systems, like a views plug-in extends views. You could then create panels (page/node/blocks) that would apply to the grid that fluidgrid would define (using the drupal theme for example : http://drupal.org/project/fluidgrid ).
This could be a fairly complicated task, I understand that, but this could be worth it, as 80% of the time, when I present the framework to a Drupalist, the question "does it integrate with panels" is one of the first.
Anyone interested into helping on this ?
Thanks.
Comments
Comment #1
merlinofchaos commentedI can give you a better answer later, but a very very quick answer is that the flexible layout builder is a plugin.
This means that you could copy it, call it the fluidgrid layout, and change it around so that it works appropriately for your builder. This isn't an easy task, but it's completely doable, and I would absolutely love to see it.
One downside: That part of the system documented. =)
Comment #2
merlinofchaos commentedOh, and your theme can provide the layout. You don't even need a module.
Comment #3
Anonymous (not verified) commentedNice, I'm going to take a deep breath, and plunge into te Panels plugin system.
Thanks Merlin, I'll try to report here.
Comment #4
darkodev commentedcouzinhub, let me know if you need any help coding!
Comment #5
merlinofchaos commentedOut of curiousity, have you made any progress on this? I'm very curious.
Comment #6
Anonymous (not verified) commentedI made a lot of progress into moving to Australia, changing job, planning a wedding, buying a car, find a new place (close to the beach of course), and also watching the Australian tennis open.
But about Fluidgrid, I have to admit, I didn't work much on it. Nothing to worry about though, as I should have internet at home + a desk + a chair soon :)
I know, I could have just say "not much" but I'm so happy about the background stories that I felt like bragging a bit ;)
Comment #7
jaochoo commentedI would like to use this thread (please move my post to a new thread otherwise) to address a similar question I have:
I am using the 960.gs gridsystem (16 columns with each 50px width and 10px gutter between) and I would like to know if Panels 3 seemlessly integrate with that or if my grid will be broken (columns not aligned anymore). I would build my template with just one region (full 16 columns) and then use Panels to make more regions; or should I better do everything with templates (e.g. preparing a one-region template with full 16 columns, a two-regions template with 8+8 columns, etc.) to prevent my grid from being broken?
Comment #8
smoothify commentedI am thinking about creating a flexible layout that works with grids (likely to be pluggable so it can do either fluid or fixed).
Merlin, I noticed all your great work for the flexible layout in #834084: Allow flexible layouts to be re-usable, If I wanted to use the reusable & exportable layout system you now have - would you still recommend copying all of flexible layout and modifying it to suit?
Comment #9
merlinofchaos commentedYes. The layout builder can work with any layout plugin that declares itself as a builder.
Which grid system do you want? I've got some partial (earlier) work on a system that uses 960gs that I was never very happy with. Though at this point I'm not sure that work is valid since it was before I made a giant swath of fixes to flexible.
Comment #10
lelizondo commentedI'm interested, I currently work with a Grid system of my own based on 960 and on top of that I use a base theme that implements what I call the "Drupal stuff" (Tabs, messages, basic Js, fieldset, lists, etc). I call it Izzy. Izzy has like 15 custom panels layouts based on a 960 Grid custom theme, those layouts are the most frequently used layouts (at least by me) based on a 12 grid columns, E.g. 2cols+8cols+2cols would be "Layout 282"; 2cols+10cols would be "Layout 210"
Implementing a new layout is really, really easy, anyone with basic HTML knowledge can do it. About Izzy, once is stable (and is getting there) I might commit it to D.o
Comment #11
smoothify commentedFor projects I usually use my own base theme with a fluid version of 960, so initially i would look at integrating that or something very similar so its all contained in a module.
I think fluid is a good way to go as it would allow it to work in the main content area of most themes - however, I would like to also like to work with a theme that has its own grid system, such as NineSixty or ZenNineSixty but that may come after the initial thing works.
Like lelizondob, I also have created a lot of panels layouts using the grid, but it would be cool to have layout builder instead to allow them to be created on the fly.
Merlin, I would appreciate seeing your partial work, even if the changes may render some of it redundant.
Comment #12
amitaibuNot a framework, but here's a panels layout for 960 - #780782: Add Panels layout
Comment #13
japerryLayouts have changed a bit in D7, not fixing for D6.