Coder Social home page Coder Social logo

grassy's Introduction

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.

grassy's People

Contributors

lazarljubenovic avatar dbox avatar superbuggy avatar

Watchers

James Cloos avatar Lakshman.Javvadi  avatar

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.