npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

shell-csslib

v2.1.0

Published

A powerful, lightweight, unopinionated, responsive friendly CSS library that provides a solid foundation for any UI build. Developed at Campaign Monitor

Downloads

6

Readme

Contents

What is Shell?

A powerful, lightweight, mostly unopinionated, responsive friendly CSS library that provides a solid foundation for any UI build.

Built with  :blue_heart:  by Campaign Monitor, which is why we say mostly unopinionated :smile:.

A docs website is in the works, in the meantime Shell's code is heavily documented.

If you would like to suggest any new additions or improvements to Shell, log any issues or bugs, or just ask a question, please open a new GitHub issue and label it appropriately. If you would like to contribute see CONTRIBUTING.md.

Install

npm install shell-csslib --save-dev

There are other install options e.g. git clone, however, it's advised to use a package manager like NPM to handle your third-party dependencies :+1:.

Setup

Once the shell-csslib NPM module is installed your project will look like this:

project root
└── node_modules
    ├── shell-csslib

Your master Sass stylesheet—we typically call ours style.scss—should be setup like this:

@charset 'UTF-8';

/* ============================================================================
   MASTER STYLESHEET
   ========================================================================= */

/**
 * CONTENTS:
 *
 * 1. Your settings
 * 2. Shell CSS library
 * 3. Your styles
 *
 * N.B. the above order of sections #1 and #2 must be maintained otherwise Sass
 * will not compile!
 */




/* 1. Your settings incl. any Shell setting overrides
   ========================================================================= */

@import 'settings';




/* 2. Shell CSS library
   ========================================================================= */

/**
 * N.B. do not change the order of these partial imports!
 */

@import '~shell-csslib/src/settings';

@import '~shell-csslib/src/mixins-functions';

@import '~shell-csslib/src/normalise-reset';

@import '~shell-csslib/src/base';

@import '~shell-csslib/src/container';

@import '~shell-csslib/src/grid';

@import '~shell-csslib/src/helpers';




/* 3. Your styles
   ========================================================================= */

// Away you go!

Shell won't work without _settings.scss and _mixins-functions.scss, the rest are optional.

Example architecture

project root
├── css
│   ├── components
│   ├── vendor
│   ├── _settings.scss
│   └── style.scss
└── node_modules
    ├── shell-csslib

Dependencies

  • Sass (either Ruby or LibSass, we recommend LibSass).

  • Autoprefixer.

    PostCSS plugin to parse CSS and add vendor prefixes to CSS rules using values from Can I Use.

    We advise setting up Autoprefixer as part of your build process.

Docs and tests

Linting

Stylelint is used for linting and Shell follows these CSS conventions applied by stylelint.config.js.

Eventually linting will be setup as part of CI, see: #19.

For now, you can go to your Terminal, cd into the root of Shell, and run:

gulp lint

This will lint all of the .scss files in:

  • src/**/*.scss
  • docs/src/**/*.scss
  • test/src/**/*.scss

Browser support

  • Chrome (latest version)
  • Firefox (latest version)
  • Opera (latest version)
  • Safari (latest version)
  • Edge (latest version)
  • IE 10/11

Versioning

Shell is maintained under the Semantic Versioning guidelines. We'll do our best to adhere to those guidelines and strive to maintain backwards compatibility.

See the CHANGELOG.

License

Copyright 2016 Campaign Monitor.

View license.