GithubHelp home page GithubHelp logo

ryanburgess / sassysass Goto Github PK

View Code? Open in Web Editor NEW
44.0 4.0 7.0 346 KB

Sassy Sass is a scaffolding tool to help you organize your project’s Sass structure

Home Page: http://sassysass.com

License: MIT License

JavaScript 51.33% CSS 48.67%

sassysass's Introduction

Sassy Sass

npm version npm Build Status

Sassy Sass Logo

Sassy Sass is a scaffolding tool to help you organize your project’s Sass structure.

With a simple command, add a well-structured architecture for your project's CSS. Based off the SMACSS methodology, SassySass creates a simple, maintainable structure for your Sass files.

SassySass in the terminal

Install

npm install sassysass -g

Use

Run sassysass install in your project directory.

To create new individual Sass files run sassysass page. If the name isn't set the file will be named 'page' and if the path isn't set it assumes the directory is 'sass'.

To create new Sass module run sassysass module. If the name isn't set the file will be named 'module' and if the path isn't set it assumes the directory is 'sass/modules'.

Sassy Sass Architecture

  1. Utils The utils directory contains Sass partials like:
  • Vendor dependencies (Compass, Foundation)
  • Authored dependencies (Mixins, Extends)
  1. Base

The base directory contains Sass partials like:

  • Variables
  • Fonts
  • Reset
  1. Layout

The layout directory contains Sass partials like:

  • Responsive Grid
  • Page specific layouts
  1. Modules

The modules directory contains Sass partials like:

  • Header
  • Footer
  • Navigation
  • Content Block
  1. Themes

The themes directory contains Sass partials that overwrite the styles in layout or modules.

Contributing

  1. Fork it
  2. Run npm install
  3. Run gulp
  4. Create your feature branch (git checkout -b my-new-feature)
  5. Commit your changes (git commit -am 'Add some feature')
  6. Push to the branch (git push origin my-new-feature)
  7. Create new Pull Request

License

MIT © Ryan Burgess

sassysass's People

Contributors

andrii-github avatar jaydurant avatar ryanburgess avatar w4ilun avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

sassysass's Issues

Prevent overwriting

There needs to be an error or way to prevent files from being overwritten. Currently, if a file has already been created, using the commands sassysass, sassysass-module and sassysass-page will overwrite the file that already exists. There should be a prompt of y/n or create a second version option.

PostCSS / CSSnext?

@ryanburgess, I'm gonna throw a big spanner in the works (sorry!). Would you ever consider moving from SASS to PostCSS / CSSnext? I've tried it out on a few projects at the BBC, and it's faster to compile, and way more readable as it's essentially just transpiling the future CSS spec into the current spec.

No worries if its out of scope as it's just my 2 cents. I may potentially fork and try it out.

Update main SCSS file

It would be great to automatically add import reference to root SCSS file once a new module is created.

Create mixin feature

We have create new page and module, it would be great to have create a new mixin added to CL functions.

When creating we should ask for a mixin name and section where it should fall in the root mixin file. It should then automatically be added it to the mixin root file.

Module command not working

Since updating to Node.js 4.2.1 the module command isn't working. It's missing the module request.

$ sassysass module

module.js:340
throw err;
^
Error: Cannot find module 'request'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)

Prompting users instead of specifying path arguments

Right now if you want to create custom modules and/or pages, the user has to input

sassysass-page name=[filename] path=[path to Sass directory]

This is fine, but I think if we could simply prompt the user similar to how when you do npm init to make a package.json it will go line-by-line what things the user can fill out. This would also help when users want to enter extra information including description, etc. If a user enters nothing, it will go to the default.

screen shot 2015-05-24 at 1 50 38 pm

I'm looking into this and possibly leveraging prompt to help do this.

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.