2.0.0 β€’ Published 4 years ago

buldy v2.0.0

Weekly downloads
3
License
MIT
Repository
github
Last release
4 years ago

Buldy

Key Features

Built using the tastiest flavours of larger frameworks this minimal CSS framework is a suitable companion and starter point for small web projects as well as big design systems.

  • 🏸  Everything you need to create a solid project
  • πŸ“–Β  Typography system where all font sizes are intertwined
  • πŸ“οΈΒ  Powerful responsive spacing system using multipliers of a unit value
  • πŸ—Β  Easily editable and extendable CSS variables
  • 🍱  A handful of elements, components & utilities
  • 🎯  No preprocessor necessary β€” just plug'n'play
  • βœ…Β  Good Semantics

Introduction

Buldy is a CSS framework. As such, the sole output is a single CSS file: buldy.css

You can use that file out of the box and adapt it to your needs by changing the corresponding colors, typography, spacing and much more CSS variables.

Folder Structure β€” What's Included?

Some notes about the folder structure with some additional comments on important files.

buldy/scss/
|
|   # Core mixin configuration
β”œβ”€β”€ config/
|   |
|   |   # Breakpoint viewport sizes & responsiveness helpers like `@media-breakpoint-above()`
|   β”œβ”€β”€ _breakpoints.scss
|   |
|   |   # Elegantly scales type and space without breakpoints
|   β”œβ”€β”€ _fluid-scales.scss
|   |
|   |   # Global Sass mixins for various components
|   └── _mixins.scss
|
|   # Main stem of the framework
β”œβ”€β”€ base/
|   |
|   |   # Tiny CSS reset that covers the basics, may also be used standalone
|   |   # Built on top of Bootstrap's # [`reboot.scss`](https://github.com/twbs/bootstrap/blob/main/scss/_reboot.scss), Jeremy Thomas' (creator of Bulma) [`minireset.sass`](https://github.com/jgthms/minireset.css/blob/master/minireset.css)
|   |   # and Jonathan Neal's [`sanitize.css`](https://github.com/csstools/sanitize.css/blob/master/sanitize.css)
|   β”œβ”€β”€ resets.scss
|   |
|   |   # Fluid type and space scales, semantic color definitions, themes & more CSS variables
|   β”œβ”€β”€ variables.scss
|   |
|   |   # Scoped theme containers via `[data-theme]` 
|   β”œβ”€β”€ themes.scss
|   |
|   |   # Extends standalone resets with further generic opiniated styles
|   β”œβ”€β”€ generic.scss
|   |
|   |   # Support for `:focus-visible` polyfill
|   |   # See: https://github.com/WICG/focus-visible
|   └── accessibility.scss
|
|   # Design the structure of your webpage with these CSS classes
β”œβ”€β”€ layout/
|   |
|   |   # Simple way to build responsive columns with Flexbox
|   β”œβ”€β”€ columns.scss
|   |
|   |   # Simple container to center content horizontally
|   β”œβ”€β”€ container.scss
|   |
|   |   # Simple container to divide your page into sections 
|   β”œβ”€β”€ section.scss
|   |
|   |   # Let elements flow vertically or horizontally
|   └── stack.scss
|
|   # Essential interface elements that only require a single CSS class
β”œβ”€β”€ components/
|   |
|   |   # Container for fixed or auto-growing responsive embeds
|   β”œβ”€β”€ aspect-ratio.scss
|   |
|   |   # A colored box to contain other elements
|   β”œβ”€β”€ box.scss
|   |
|   |   # Buttons in different colors, sizes, and states
|   β”œβ”€β”€ button.scss
|   |
|   |   # Handle WYSIWYG generated content, where only HTML tags are available
|   β”œβ”€β”€ content.scss
|   |
|   |   # Basic indispensable form controls
|   β”œβ”€β”€ form.scss
|   |
|   |   # Classic modal overlay
|   β”œβ”€β”€ modal.scss
|   |
|   |   # Sass port of the [Raster Grid System](https://rsms.me/raster/) by Rasmus Andersson
|   β”œβ”€β”€ raster.scss
|   |
|   |   # Simple headings to add depth to your page
|   └── title.scss
|
|   # Modular helper classes to handle common layout tasks
β”œβ”€β”€ helpers/
|   |
|   |   # Adds bottom gap to other `.block` elements
|   β”œβ”€β”€ block.scss
|   |
|   |   # Essentials
|   β”œβ”€β”€ miscellaneous.scss
|   |
|   |   # Hide content visually but make it available for screen readers
|   β”œβ”€β”€ screen-reader-only.scss
|   |
|   |   # Make any element clickable by stretching”a nested link
|   └── stretched-link.scss
|
|   # For faster mobile-friendly and responsive development
|   # Includes utility classes for showing, hiding, aligning, sizing and spacing content
β”œβ”€β”€ utilities/
|   |
|   |   # Runner to create all utility classes from `utilities.scss`
|   β”œβ”€β”€ _api.scss
|   |
|   |   # The utility generator function
|   β”œβ”€β”€ _generator.scss
|   |
|   |   # Editable list to generate utilities programmatically
|   └── utilities.scss
|
|   # Main entry point
└── buldy.scss

How Did We Get Here

Well, yet another framework which seeks to be used? Yes. I used Bulma and Bootstrap heavily over the years – Bulma's class naming syntax was a breeze to work with, although I preferred Bootstraps grid breakpoints. I often found myself removing unwanted stuff from every big framework I worked with (Bulma came as close as it can probably get to be the perfect allrounder).

One influental dev once said that every programmer should develop his own framework. I guess he's right as this is my try. I wanted to use a framework which only includes the essentials a project needs. Everything else should be added per project. Thoroughly searching the interweb didn't brought me closer to what I wished to find.

Then Codyhouse came along and presented the world with a series of articles and shortly after published their own framework. The use of CSS custom properties for a framework blew my mind. Which is pretty common nowadays, even Bootstrap 5 adapts them. But again, some design choices incorporated into the framework weren't my taste. So I used their great ideas and created my own framework.

Improvements and suggestions are always welcome.

Browsers Support

All of the latest and greatest browsers. Including Safari.

Credits

Big shoutout to @CodyHouse and @jgthms for their inspiring frameworks.

License

Code released under the MIT License.

2.0.0

4 years ago

1.6.0

4 years ago

1.5.0

4 years ago

1.4.0

4 years ago

1.3.1

4 years ago

1.3.0

4 years ago

1.2.0

4 years ago