1.0.0-beta-9 • Published 3 years ago

alga-css v1.0.0-beta-9

Weekly downloads
92
License
SEE LICENSE IN li...
Repository
github
Last release
3 years ago

Alga CSS

Alga CSS is a scope or component oriented CSS toolkit for quickly reuse CSS components via @use directive and it can be stored in .alga format file as a custom CSS component using @alga directive and also it has many built-in customizable CSS properties that can be directly inserted to HTML Element class, visit https://algacss.com.

This Alga CSS is still in a beta version, so it is not stable yet, a lot of features or built-in components need to be added and for the documentation is also still in the development stage, so we expected it will finish around 2024. Because of that, if you use this Alga CSS, please check the examples folder, I put all the HTML/UI testing files in that folder and test folder as well.

All the main features: 1. Created for scoped CSS 2. As a PostCSS plugin 3. Can be store as a CSS component 4. Extract classes from any major JS Frameworks

Installation and Setup

Alga CSS built on top of PostCSS, so before installing Alga CSS, you need to have PostCSS first and after that you can use NPM or Yarn to install this Alga CSS.

npm install alga-css --save-dev

#or

yarn add alga-css

If you use tool that support PostCSS out of the box like Vite for instance, you just need to create a new config file which is postcss.config.cjs and add the code below to that file.

const algacss = require('alga-css')

module.exports = {
  plugins: [
    algacss({
      extract: [
        './src/**/*.html', 
        './src/**/*.{otherFormat}'
      ],
      src: './src/styles/*.alga'
    })
  ]
}

Class Name Structure

Alga CSS uses special character - to gab classes from HTML elements or Vue components, and it uses : for breakpoints and states and also _ as a divider or separator of css values.

/* highly recommended */
<span class="marginTop-0.75rem padding-10px md:marginTop-5pct color-rgb(205,45,67) backgroundColor-hexfff"></span>

.className {
  ref: marginTop-0.75rem padding-10px color-rgb(205,45,67) backgroundColor-hexfff;
  screen-md: marginTop-5pct;
}

/* class structure: property (camelCase for prop name and prop value separated by - or dash) */
justifyContent-spaceBetween

/* class structure: unit size (pct is unit size in percent) */
width-100pct
height-250px
padding-1.75rem

/* class structure: screen, ss (extra small), sr (smaller), sm (small), md (medium), lg (large), lr (larger), ls (largest), wd (wide), wr (wider) */
ss:paddingLeft-3px

/* class structure: mode */
dark:backgroundColor-hex242424
light:backgroundColor-hexf2f2f2

/* (prefers-color-scheme: light) { [data-mode=dark] .backgroundColor-hex242424 {} } */
toDark:backgroundColor-hex242424

/* (prefers-color-scheme: dark) { [data-mode=light] .backgroundColor-hexf2f2f2 {} } */
toLight:backgroundColor-hexf2f2f2

mode:backgroundColor-hexfff /* for [data-mode=dark] .backgroundColor-hexfff {} */

/* class structure: state */
hover:backgroundColor-hex2f2f2f
facus:paddingLeft-3px

CSS Component

We provide alga format .alga for creating CSS component.

/* navBar.alga */
@define refs {
  name: navBar;
}

@define props {
  size: 0.75rem;
}

@alga {refs.name} {
  .{refs.name} {
    ref: position-relative zIndex-3;
    ref-paddingTop: {props.size};
    ref-paddingBottom: {props.size};
  }
}

/* navBar.vue <style scoped> */
@use navBar {
  size: 20px;
}

Mixin and Composing CSS Component

to compose the CSS component.

/* layout.alga */

@import 'navBar.alga'

@alga layout {
  use: navBar;
}

@use layout;
1.0.0-beta-50

2 years ago

1.0.0-beta-49

2 years ago

1.0.0-beta-48

2 years ago

1.0.0-beta-46

2 years ago

1.0.0-beta-47

2 years ago

1.0.0-beta-45

2 years ago

1.0.0-beta-44

2 years ago

1.0.0-beta-43

2 years ago

1.0.0-beta-41

2 years ago

1.0.0-beta-40

2 years ago

1.0.0-beta-34

2 years ago

1.0.0-beta-35

2 years ago

1.0.0-beta-32

2 years ago

1.0.0-beta-33

2 years ago

1.0.0-beta-30

2 years ago

1.0.0-beta-31

2 years ago

1.0.0-beta-38

2 years ago

1.0.0-beta-39

2 years ago

1.0.0-beta-36

2 years ago

1.0.0-beta-37

2 years ago

1.0.0-beta-29

3 years ago

1.0.0-beta-28

3 years ago

1.0.0-beta-27

3 years ago

1.0.0-beta-23

3 years ago

1.0.0-beta-24

3 years ago

1.0.0-beta-25

3 years ago

1.0.0-beta-26

3 years ago

1.0.0-beta-22

3 years ago

1.0.0-beta-21

3 years ago

1.0.0-beta-20

3 years ago

1.0.0-beta-12

3 years ago

1.0.0-beta-13

3 years ago

1.0.0-beta-10

3 years ago

1.0.0-beta-11

3 years ago

1.0.0-beta-18

3 years ago

1.0.0-beta-19

3 years ago

1.0.0-beta-16

3 years ago

1.0.0-beta-17

3 years ago

1.0.0-beta-14

3 years ago

1.0.0-beta-15

3 years ago

1.0.0-beta-4

3 years ago

1.0.0-beta-9

3 years ago

1.0.0-beta-5

3 years ago

1.0.0-beta-6

3 years ago

1.0.0-beta-7

3 years ago

1.0.0-beta-8

3 years ago

1.0.0-emerald-8

3 years ago

1.0.0-emerald-7

3 years ago

1.0.0-emerald-6

3 years ago

1.0.0-emerald-9

3 years ago

1.0.0-pearl-1

3 years ago

1.0.0-pearl-2

3 years ago

1.0.0-pearl-0

3 years ago

1.0.0-pearl-3

3 years ago

1.0.0-platinum-6

3 years ago

1.0.0-platinum-5

3 years ago

1.0.0-platinum-8

3 years ago

1.0.0-platinum-7

3 years ago

1.0.0-platinum-2

3 years ago

1.0.0-platinum-1

3 years ago

1.0.0-platinum-4

3 years ago

1.0.0-platinum-3

3 years ago

1.0.0-gold-0

3 years ago

1.0.0-platinum-0

3 years ago

1.0.0-gold-4

3 years ago

1.0.0-gold-3

3 years ago

1.0.0-gold-2

3 years ago

1.0.0-gold-1

3 years ago

1.0.0-platinum-9

3 years ago

1.0.0-gold-8

3 years ago

1.0.0-gold-7

3 years ago

1.0.0-gold-6

3 years ago

1.0.0-gold-5

3 years ago

1.0.0-gold-9

3 years ago

1.0.0-sapphire-8

3 years ago

1.0.0-stone-4

4 years ago

1.0.0-sapphire-7

3 years ago

1.0.0-stone-5

4 years ago

1.0.0-stone-6

4 years ago

1.0.0-sapphire-9

3 years ago

1.0.0-stone-7

4 years ago

1.0.0-sapphire-4

3 years ago

1.0.0-stone-0

4 years ago

1.0.0-sapphire-3

3 years ago

1.0.0-stone-1

4 years ago

1.0.0-sapphire-6

3 years ago

1.0.0-stone-2

4 years ago

1.0.0-sapphire-5

3 years ago

1.0.0-stone-3

4 years ago

1.0.0-stone-8

4 years ago

1.0.0-stone-9

4 years ago

1.0.0-sapphire-0

3 years ago

1.0.0-sapphire-2

3 years ago

1.0.0-sapphire-1

3 years ago

1.0.0-emerald-5

3 years ago

1.0.0-emerald-4

3 years ago

1.0.0-emerald-3

3 years ago

1.0.0-emerald-2

3 years ago

1.0.0-emerald-1

3 years ago

1.0.0-silver-8

3 years ago

1.0.0-silver-9

3 years ago

1.0.0-silver-6

3 years ago

1.0.0-silver-7

3 years ago

1.0.0-silver-4

3 years ago

1.0.0-silver-5

3 years ago

1.0.0-silver-2

3 years ago

1.0.0-bronze-1

4 years ago

1.0.0-silver-3

3 years ago

1.0.0-bronze-2

3 years ago

1.0.0-silver-0

3 years ago

1.0.0-silver-1

3 years ago

1.0.0-bronze-0

4 years ago

1.0.0-emerald-0

3 years ago

1.0.0-bronze-5

3 years ago

1.0.0-bronze-6

3 years ago

1.0.0-bronze-3

3 years ago

1.0.0-bronze-4

3 years ago

1.0.0-bronze-9

3 years ago

1.0.0-bronze-7

3 years ago

1.0.0-bronze-8

3 years ago

1.0.0-diamond-9

3 years ago

1.0.0-diamond-4

3 years ago

1.0.0-diamond-3

3 years ago

1.0.0-diamond-2

3 years ago

1.0.0-diamond-1

3 years ago

1.0.0-diamond-8

3 years ago

1.0.0-diamond-7

3 years ago

1.0.0-diamond-6

3 years ago

1.0.0-diamond-5

3 years ago

1.0.0-ruby-8

3 years ago

1.0.0-ruby-7

3 years ago

1.0.0-ruby-9

3 years ago

1.0.0-ruby-4

3 years ago

1.0.0-diamond-0

3 years ago

1.0.0-ruby-3

3 years ago

1.0.0-ruby-6

3 years ago

1.0.0-ruby-5

3 years ago

1.0.0-ruby-0

3 years ago

1.0.0-wood-4

4 years ago

1.0.0-wood-5

4 years ago

1.0.0-ruby-2

3 years ago

1.0.0-wood-6

4 years ago

1.0.0-ruby-1

3 years ago

1.0.0-wood-7

4 years ago

1.0.0-wood-1

4 years ago

1.0.0-wood-2

4 years ago

1.0.0-wood-3

4 years ago

1.0.0-iron-9

4 years ago

1.0.0-iron-6

4 years ago

1.0.0-wood-8

4 years ago

1.0.0-iron-5

4 years ago

1.0.0-wood-9

4 years ago

1.0.0-iron-8

4 years ago

1.0.0-iron-7

4 years ago

1.0.0-iron-2

4 years ago

1.0.0-iron-1

4 years ago

1.0.0-iron-4

4 years ago

1.0.0-iron-3

4 years ago

1.0.0-iron-0

4 years ago

1.0.0-alpha1

4 years ago

0.0.1-alpha4

5 years ago

0.0.1-alpha3

5 years ago

0.0.1-alpha2

5 years ago

0.0.1-alpha1

5 years ago