All Projects → lazarljubenovic → Grassy

lazarljubenovic / Grassy

Licence: mit
Build layout through ASCII art in Sass (and more). No pre-built CSS. No additional markup.

Projects that are alternatives of or similar to Grassy

Gaintime
GainTime é um framework de HTML, CSS e JS para desenvolvimento de projetos responsivos, focado na simplicidade.
Stars: ✭ 19 (-94.33%)
Mutual labels:  grid-layout, grid-system, sass
tb-grid
tb-grid is a super simple and lightweight 12 column responsive grid system utilizing css grid.
Stars: ✭ 19 (-94.33%)
Mutual labels:  grid, grid-layout, grid-system
60gs
60GS - 60 Columns Grid System based on CSS Grid Layout
Stars: ✭ 65 (-80.6%)
Mutual labels:  grid, grid-layout, grid-system
React Awesome Styled Grid
A responsive 8-point grid system layout for React using styled-components
Stars: ✭ 157 (-53.13%)
Mutual labels:  grid, grid-layout, grid-system
Dragact
a dragger layout system with React style .
Stars: ✭ 710 (+111.94%)
Mutual labels:  grid, grid-layout, grid-system
Cssgridgenerator
🧮 Generate basic CSS Grid code to make dynamic layouts!
Stars: ✭ 3,943 (+1077.01%)
Mutual labels:  grid, grid-layout, grid-system
grid-garden
Solutions to CSS Grid Garden
Stars: ✭ 79 (-76.42%)
Mutual labels:  grid, grid-layout, grid-system
Tabulator
Interactive Tables and Data Grids for JavaScript
Stars: ✭ 4,329 (+1192.24%)
Mutual labels:  grid, grid-layout, grid-system
React Rasta
React Rasta is a powerful and flexible grid system for React
Stars: ✭ 88 (-73.73%)
Mutual labels:  grid, grid-layout, grid-system
Reactsimpleflexgrid
A way to quickly add a Grid Layout to your React app 🚀
Stars: ✭ 181 (-45.97%)
Mutual labels:  grid, grid-layout, sass
flexboxes
CSS flexbox framework with pure flexbox grid ability
Stars: ✭ 27 (-91.94%)
Mutual labels:  grid, grid-system
css-grid-playground
A simple interface for experimenting with CSS Grid Layout.
Stars: ✭ 84 (-74.93%)
Mutual labels:  grid, grid-system
Magic Grid
A simple, lightweight Javascript library for dynamic grid layouts.
Stars: ✭ 2,827 (+743.88%)
Mutual labels:  grid, grid-layout
Barekit
A bare minimum responsive framework
Stars: ✭ 201 (-40%)
Mutual labels:  grid, sass
gridbugs-ru
Перевод списка багов в CSS Grid Layout, курируемого Рейчел Эндрю
Stars: ✭ 27 (-91.94%)
Mutual labels:  grid, grid-layout
grid-container
A grid for the future, CSS Grid Layout + Web Components (Custom Elements v1 + Shadow DOM v1)
Stars: ✭ 51 (-84.78%)
Mutual labels:  grid, grid-layout
Grd
A CSS grid framework using Flexbox. Only 321 bytes (Gzipped).
Stars: ✭ 2,210 (+559.7%)
Mutual labels:  grid, grid-layout
flex-box-grid
Responsive, mobile first Flexbox Grid
Stars: ✭ 39 (-88.36%)
Mutual labels:  grid, grid-layout
ginger
A minimal flexbox grid system named after a cute dog.
Stars: ✭ 31 (-90.75%)
Mutual labels:  grid-layout, grid-system
simple-grid-system
A CSS Flexbox grid system for web page . Easy to use it !!
Stars: ✭ 15 (-95.52%)
Mutual labels:  grid, grid-system

Grassy | Docs | Playground

What you ASCII is what you get.

Build layout through ASCII art in Sass (and more).

Installation and Usage

yarn add grassy -D
@import "node_modules/grassy/grassy";

Quick overview

ASCII art

HTML:

<section>
  <article>Hello</article>
  <article>Grassy</article>
  <article>World!</article>
</section>

Sass:

section {
  @include grid((
    'x-x',
    'x x',
  ));
}

Result:

A grid with two columns. The first column has one cell; the second column has two cells.

As complex as you like!

HTML never requires any additional classes, wrappers, etc.

@include grid(
  'x-x-x x   x'
  'x   x-x-x-x'
  '    x-x   x'
  '  x   x-x  '
);

distribute syntax

Don't lose count of your xs! Freely combine distribute with your ASCII art.

section {
  @include grid((
    'x-x x x',
     distribute 7,
  ));
}

Quick n-column layouts

As basic as it gets.

section {
  @include fixed-grid(3);
}

Don't like dangling elements?

Just tell Grassy to distribute dangling elements.

section {
  @include fixed-grid(
    3,
    $distribute-dangling: true
  );
}

Or distribute them at the top if you prefer it that way.

section {
  @include fixed-grid(
    3,
    $distribute-dangling: true,
    $dangling-at-beginning: true,
  );
}

Also take a look at full documentation. (Includes both the public API and explanation of some internal functions to help you if you want to contribute but have no idea where to start from.)

Playground

Try it out now in the Codepen playground.

Why Grassy?

  • No additional markup.
  • CSS is generated based on your needs: you won't have styles you don't use.
  • The syntax makes it almost like you're drawing boxes instead of doing CSS.
  • Great for generated content.
  • Zero runtime dependencies.

More coming soon™©®.


NOTE This is still in rapid development phase. There might be breaking changes along the way. For this reason, I advise you not to use this in serious projects. However, to find (and fix) bugs, people have to use it somewhere. So if you have a suitable non-critical project, it would be awesome if you could try out Grassy.

Please report bugs and suggest ideas by opening an issue.


Grassy is heavily inspired by Effortless Style, a talk by Heydon Pickering.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].