Giter Club home page Giter Club logo

bassplate's Introduction

Basscss

Low-level CSS toolkit – the original Functional CSS library https://basscss.com

Build Status npm version

Lightning-Fast Modular CSS with No Side Effects

Basscss is a lightweight collection of immutable utilities designed for speed, clarity, performance, and scalability.

Stable

Basscss v8 is the final version of Basscss, which means no major, breaking changes will be introduced. Minor features and patches may be added, but due to the nature of this CSS approach, there are virtually no bugs in Basscss.


Features

Code with Confidence

Using clear, humanized naming conventions, Basscss is quick to internalize and easy to reason about while speeding up development time with more scalable, more readable code.

No Side Effects

Things behave exactly as expected with immutable utilities and styles that follow the open/closed principle to help prevent common pitfalls with CSS.

Composable

Reusable, interoperable styles work like building blocks to lay the foundation for any stylesheet and can be mixed and matched in any number of combinations.

Designed for Design

Basscss strikes a balance between consistency and flexibility to allow for rapid prototyping and quick iterative changes when designing in the browser.

Responsive by Default

Basscss provides lightweight, performant styles and flexible utilities to design for any device and to help reduce boilerplate in stylesheets.

Unassuming

Modular and customizable typography and layout styles don’t dictate what things should look like and play well with other stylesheets and frameworks.

Read More


Other Packages

Base styles

The core Basscss package does not include any base element styles. For an out-of-the-box solution, see:

https://github.com/basscss/basic

Addons

In addition to the core modules, optional modules, including responsive margin, padding, layout, and typography styles, can be found here:

https://github.com/basscss/addons

Ace.css

For a bundle with the core Basscss and all optional modules, see:

https://github.com/basscss/ace


Contributing

See CONTRIBUTING.md

Related

Thanks

This library was largely inspired and influenced by the following people


MIT license

bassplate's People

Contributors

brianzelip avatar huggan avatar jxnblk avatar mgustafsson1 avatar olizilla 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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bassplate's Issues

@import for basscss modules not working as intended?

I'll preface this by stating that I'm new to PostCSS, so this may be user error. After installing and running bassplate as instructed, the imports for standard modules such as @import 'basscss-typography'; simply output themselves instead of the CSS in the corresponding file.

I've found that if I use @import 'basscss/node_modules/basscss-typography'; it will work as expected.

And if it makes any difference, I'm using Node 4.4.5 on Windows.

npm script

Hello - thank you for basscss.

I am trying to use it for my site, starting with the "bassplate" template. I like how bassplate uses npm scripts for the build tool.

It's using cssnext to autoprefix, but looking into node_modules after installing, this module appears to be deprecated. I think it is working still, but, how could it be upgraded to a more future-proof method?

Also, I'm wondering if you can perhaps point me in the right direction to process js files in a similar way in an npm script?

Thank you,
Rick

Build fails with v8

I was testing v8 with bassplate, and it fails to build. I didn't update the existing project, but did the clean install. I guess it has to do with incorrect paths after the update to v8. Here's the excerpt:

postcss-import: /Users/petar/Dropbox/Projects/basscss8/src/base.css:20:1: Failed to find 'basscss-padding' in [ /Users/petar/Dropbox/Projects/basscss8/src ]

postcss-import: /Users/petar/Dropbox/Projects/basscss8/src/base.css:21:1: Failed to find 'basscss-grid' in [ /Users/petar/Dropbox/Projects/basscss8/src ]

postcss-import: /Users/petar/Dropbox/Projects/basscss8/src/base.css:22:1: Failed to find 'basscss-flexbox' in [ /Users/petar/Dropbox/Projects/basscss8/src ]

bassplate on Windows, single quotes and parallel scripts

The watch:css script does not work on Windows 10 and probably all Win versions. Being quite new to node and npm it took me a while to figure out that the single quotes where the problem here. Some info here: keithamus/npm-scripts-example#5

Using escaped double quotes solves the problem and should work on all OS's.

"watch:css": "watch \"npm run css && npm run minify:css\" ./src"

Also the parallel running with & in the start script does not work on Windows. Only the watch:css runs. If you change the order only serve is being run. I don't need the http-server so not a problem for me but you could mention this somewhere. Maybe Windows users should look at https://www.npmjs.com/package/npm-run-all or maybe there is another solution i'm not aware of.

Optional button modules causing bassplate build fail

When you uncomment all optional basscss modules in bassplate's src/base.css in order to include them in the build, $ npm start fails. It's been happening for at least a month.

I'm not sure what the actual problem is, but i've narrowed down the list of modules that throw the error:

/*@import 'basscss-color-buttons';*/
/*@import 'basscss-button-blue';*/
/*@import 'basscss-button-blue-outline';*/
/*@import 'basscss-button-gray';*/
/*@import 'basscss-button-light-gray';*/
/*@import 'basscss-button-red';*/

Here is the npm error message:

npm ERR! Darwin 14.4.0
npm ERR! argv "node" "/usr/local/bin/npm" "run" "minify:css"
npm ERR! node v0.12.4
npm ERR! npm  v2.10.1
npm ERR! code ELIFECYCLE
npm ERR! [email protected] minify:css: `cssnext -c src/base.css css/base.min.css`
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the [email protected] minify:css script 'cssnext -c src/base.css css/base.min.css'.
npm ERR! This is most likely a problem with the bassplate package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     cssnext -c src/base.css css/base.min.css
npm ERR! You can get their info via:
npm ERR!     npm owner ls bassplate
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/brianzelip/WebProjects/leaflet-map-sandbox/testing_customization/npm-debug.log

And here is the content of npm-debug.log:

0 info it worked if it ends with ok
1 verbose cli [ 'node', '/usr/local/bin/npm', 'run', 'minify:css' ]
2 info using [email protected]
3 info using [email protected]
4 verbose node symlink /usr/local/bin/node
5 verbose run-script [ 'preminify:css', 'minify:css', 'postminify:css' ]
6 info preminify:css [email protected]
7 info minify:css [email protected]
8 verbose unsafe-perm in lifecycle true
9 info [email protected] Failed to exec minify:css script
10 verbose stack Error: [email protected] minify:css: `cssnext -c src/base.css css/base.min.css`
10 verbose stack Exit status 2
10 verbose stack     at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/lifecycle.js:213:16)
10 verbose stack     at EventEmitter.emit (events.js:110:17)
10 verbose stack     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/spawn.js:24:14)
10 verbose stack     at ChildProcess.emit (events.js:110:17)
10 verbose stack     at maybeClose (child_process.js:1015:16)
10 verbose stack     at Process.ChildProcess._handle.onexit (child_process.js:1087:5)
11 verbose pkgid [email protected]
12 verbose cwd /Users/brianzelip/WebProjects/leaflet-map-sandbox
13 error Darwin 14.4.0
14 error argv "node" "/usr/local/bin/npm" "run" "minify:css"
15 error node v0.12.4
16 error npm  v2.10.1
17 error code ELIFECYCLE
18 error [email protected] minify:css: `cssnext -c src/base.css css/base.min.css`
18 error Exit status 2
19 error Failed at the [email protected] minify:css script 'cssnext -c src/base.css css/base.min.css'.
19 error This is most likely a problem with the bassplate package,
19 error not with npm itself.
19 error Tell the author that this fails on your system:
19 error     cssnext -c src/base.css css/base.min.css
19 error You can get their info via:
19 error     npm owner ls bassplate
19 error There is likely additional logging output above.
20 verbose exit [ 1, true ]

utility-typography and utility-layout listed as core modules

If you list basscss as an npm dep, then most of the modules listed in the Basscss Modules section load fine, but

@import 'basscss-utility-typography';
@import 'basscss-utility-layout';

... fail the postcss compilation as they have to be explicitly added as additional deps.

@import 'basscss-utility-layout';

Should baseplate list them in the commented out optional section, or should basscss add them as a core dependency?

Installing basks instead of individual package

I realize this is likely a PostCSS question...this demo shows a package.json that depends on each Basscss individual package. I'd like to switch to just doing:

npm install basscss

But then each Basscss component is under node_modules/basscss/node_modules/*. I can't figure out the correct @import to use for a case like this.

I think it is worth documenting somewhere as people are more likely to use the single npm package. I don't know if this demo is the correct place or the Basscss docs themselves.

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.