/baseless

A minimal approach to base UI design and templating

Primary LanguageCSSMIT LicenseMIT

BASELESS ("bs" for short) is a small (~23k) modular ui framework for any modern website. The idea behind bs was to create a living styleguide for your website, with pre assembled common use components. You'll find a lot of familiarity between this framework and many other popular frameworks, as a huge fan of @mdo and of his ideas I take a lot of naming conventions found in twbs, this is namely just to help anyone else on a team pickup a basic naming convention, have you not one of your own.

Components

bs components are all modular, so you can include only the components you need.

  • alerts.less - ever feel the need to get your point across, use me.
  • buttons.less - dynamic buttons, can morph their colors in the time it takes you to mouseup
  • forms.less - ...
  • grid.less - highly experimental, mostly volatile and will be refactored 12 column grids
  • labels.less - from price tags to ctas to push notifications, labels wont let you down
  • lists.less - gives you a little more control over the display of your list items
  • panels.less - panels are an everyday item from dashboard ui's to user profiles, get 'em
  • shapes.less - ...
  • tables.less - very, very simple table styling, there's still a time and place for tables
  • wells.less - wells also double as utility-boxs very easily, what you'd expect

Folder Structure

while bs is small it may have some confusing parts. Here's how it's all layed out:

.
├── bower.json
├── config.js
├── dist
   ├── bs-stats.md
   ├── style.css
   ├── style.css.map
   ├── style.min.css
   └── style.min.css.gz
├── gruntfile.js
├── gulpfile.js
├── less
   ├── _base.less
   ├── components
      ├── _alerts.less
      ├── _buttons.less
      ├── docs
         ├── alerts.hbs
         ├── buttons.hbs
         ├── forms.hbs
         ├── grid.hbs
         ├── includes
            ├── form-label.hbs
            ├── form-label-select.hbs
            ├── form-label-textarea.hbs
            ├── form-label-text-input.hbs
            └── form-label-text-input--inline.hbs
         ├── labels.hbs
         ├── lists.hbs
         ├── panels.hbs
         ├── shapes.hbs
         ├── tables.hbs
         └── wells.hbs
      ├── _forms.less
      ├── _grid.less
      ├── _labels.less
      ├── _lists.less
      ├── _panels.less
      ├── _shapes.less
      ├── _tables.less
      └── _wells.less
   ├── _constants.less
   ├── _helpers.less
   ├── _mixins.less
   ├── _normalize.less
   ├── _print.less
   ├── styleguide.md
   ├── style.less
   └── template
       ├── helpers
          └── cssPrefix.js
       ├── index.html
       ├── less
          └── style.less
       ├── package.json
       ├── public
          ├── kss.css
          ├── kss.js
          ├── less.js
          ├── prettify.js
          ├── style.css
          └── style.css.map
       └── template_config.js
├── LICENSE
├── package.json
├── README.md
└── styleguide
    ├── index.html
    ├── public
       ├── kss.css
       ├── kss.js
       ├── less.js
       ├── prettify.js
       ├── style.css
       └── style.css.map
    ├── section-1.html
    └── section-2.html

Tasks

bs uses gulp or grunt under the hood to do all the compilation and build steps. With that said I'm not unnecessarily forcing you to download devDependencies for both of them. For whichever task runner you'd want to use included you'll find an npm script: npm run gulp-init or npm run grunt-init. :neckbeard:

Available Tasks

Task Desc
default Runs watching task that does all of the tasks needed for active development on file change
styleguide Runs all the tasks to create updated styleguide, moves files and compiles less
styleguide:clean Runs task to clean output directories for releases
styleguide:dist Runs task to compile basless less dist
styleguide:less Runs task to compile baseless styleguide less
styleguide:kss Runs task to compiles styleguide with kss-node
styleguide:kss:less Runs task to compile styleguide less
styleguide:readme Runs task to compile and copy the readme file to the styleguides index page
styleguide:parker Runs task to compile the parker report for our selectors
styleguide:ghpages Runs task to update github pages html with the latest styleguide files
styleguide:screenshots Runs task to take screenshots of the components in various screen widths