Skip to content

Commit

Permalink
Merge pull request #6 from conedevelopment/variable-destructure
Browse files Browse the repository at this point in the history
v2
  • Loading branch information
adamlaki authored May 4, 2023
2 parents f350400 + 1c5c816 commit 6e4a2a4
Show file tree
Hide file tree
Showing 107 changed files with 14,944 additions and 8,192 deletions.
Binary file added .github/thumbnail-3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 0 additions & 3 deletions .stylelintignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,2 @@
# Layout mixins
scss/mixin/_layout.scss

# Normalize
scss/plugin/_normalize.scss
3 changes: 1 addition & 2 deletions .stylelintrc.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
{
"extends": "stylelint-config-sass-guidelines",
"rules": {
"function-parentheses-space-inside": "never-single-line",
"max-nesting-depth": 4,
"max-nesting-depth": 6,
"selector-no-vendor-prefix": [true,
{
"ignoreSelectors": ["/-moz-.*/", "/-ms-.*/", "/-webkit-.*/"]
Expand Down
25 changes: 25 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,30 @@
# Spruce CSS Changelog

## v2.0.0 (2023-05-04)

### What's Changed
- Reverse `prefers-reduced-motion` behavior.
- Add CSS custom property mode through [css-custom-properties](https://sprucecss.com/docs/customization/settings/#css-custom-properties) setting.
- Fix `selection` mixin
- Use `margin-block-start` at `layout-stack`.
- Rework utility handling.
- Fix `::-webkit-slider-thumb` bug.
- Reorganize generators.

### Breaking changes
- Because it is a major release, there are breaking changes:
- The most significant change is the reorganization of variables. Almost all are in a Sass map and accessible with the [config()](https://sprucecss.com/docs/sass/functions/#config) function.
- We modified the generators; please visit the [related page](https://sprucecss.com/docs/elements/generators/).

### Misc
- Clean up the complete documentation.
- Update all of the Spruce UI components to v2.
- Comment code.
- Start with Sass tests.
- Remove JS code from the package.
- Update coding guides: use quotes when asking for a string value.
- Remove namespaced imports to simplify to using of members.

## v1.2.1 (2023-01-28)

### Improvements
Expand Down
13 changes: 9 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,25 +18,30 @@
[![Back-end](https://img.shields.io/github/actions/workflow/status/conedevelopment/sprucecss/test.yml?branch=main&logo=github&style=for-the-badge&label=Test)](https://github.com/conedevelopment/sprucecss/actions/workflows/test.yml)
[![License](https://img.shields.io/badge/license-MIT-2350f6?style=for-the-badge)](https://github.com/conedevelopment/sprucecss/blob/main/LICENSE)

<img src="./.github/thumbnail-3.png" alt="The Spruce CSS logo, a minimalistic, low-level CSS framework caption and an abstract 3D illustration.">

## What is Spruce CSS?

- It is a Sass-based, small framework that operates with just a few utility classes.
- It takes advantage of the Sass members: variables, mixins, and functions.
- It embraces Sass modules, so it uses @use and namespacing for import.
- It is relatively small. Right now just over 1000 lines, but it will expand in the future. As we see right now, the maximum is somewhere near 2000 lines of code.
- It is modern. By modern, we mean using the newest CSS features like the grid, aspect-ratio, logical properties, etc.
- Spruce is a good choice if you prefer writing CSS instead of HTML. It uses just a few classic utility classes.
- It is a relatively small (~7kb gzipped) framework with a smaller learning curve. The codebase is small but can add more to any project with the available mixins and functions.
- It is that bunch of code you keep manually carrying from project to project.
- It is themeable. You can create different themes using CSS custom properties like a dark one.
- The generated CSS code is separated from the framework. You can use only the tools (variables, mixins, functions) in your project [without the generated styles](https://sprucecss.com/docs/elements/generators).
- It uses just a few classical components (form elements mostly). We plan a separate component library for Spruce named UI.
- Include just a few components. For UI, we have a separate project named [Spruce UI](/ui/getting-started/introduction), where you can find drop-in components.
- [It comes with dark-mode](https://sprucecss.com/docs/customization/themes) (or any theme mode) support. It uses CSS custom properties, so it isn’t that hard to create a new color theme.
- It doesn’t come with a classical grid system.
-

## How to start with Spruce?

Firstly, we suggest checking out the documentation, precisely the [installation page](https://sprucecss.com/docs/getting-started/installation).

There is nothing new if you previously used Sass unless you don’t know the newer [module system](https://sass-lang.com/blog/the-module-system-is-launched).

To start a new Spruce-based project (or experiment), we suggest using our [starter kit](https://github.com/conedevelopment/sprucecss-starter-kit) containing a simple Sass build environment.
We made a [Spruce CSS Eleventy Starter](https://github.com/conedevelopment/sprucecss-eleventy-starter), a boilerplate starter template based on the popular static site generator 11ty. It includes a basic compile setup and, of course, Spruce CSS. You can find more information about it on GitHub.

## Documentation

Expand Down
Loading

0 comments on commit 6e4a2a4

Please sign in to comment.