All Projects → felippe-regazio → Plume Css

felippe-regazio / Plume Css

Licence: gpl-3.0
A lightweight, minimal and highly themeable CSS Micro-Framework

Labels

Projects that are alternatives of or similar to Plume Css

Incontent
Image content with description building with CSS3 and SASS/LESS.
Stars: ✭ 58 (-21.62%)
Mutual labels:  scss
Znlbwo.github.io
Stars: ✭ 65 (-12.16%)
Mutual labels:  scss
Nodetyped
Node.js Express Startup Seed with ES6, Typescript, SCSS, EJS, Nodemon, Bootstrap 4, TSLint, TypeDoc
Stars: ✭ 69 (-6.76%)
Mutual labels:  scss
Rizzo Next
The evolution of Lonely Planet's pattern library.
Stars: ✭ 59 (-20.27%)
Mutual labels:  scss
Selectize Bootstrap 4 Style
Selectize (https://github.com/selectize/selectize.js) Theme for Bootstrap v4.4.1
Stars: ✭ 64 (-13.51%)
Mutual labels:  scss
Ifme
Free, open source mental health communication web app to share experiences with loved ones
Stars: ✭ 1,147 (+1450%)
Mutual labels:  scss
Genesis Starter Theme
This repo is no longer maintained. The starter theme can now be found at:
Stars: ✭ 57 (-22.97%)
Mutual labels:  scss
Frontnote
Node.jsを使ったスタイルガイドジェネレーター
Stars: ✭ 73 (-1.35%)
Mutual labels:  scss
Ttoos
开源之道,致力于开源相关思想、知识和价值的探究!
Stars: ✭ 64 (-13.51%)
Mutual labels:  scss
Bem Kit
💄 CSS UI kit with BEM convention and SASS
Stars: ✭ 69 (-6.76%)
Mutual labels:  scss
Roman.nurik.net
My personal site.
Stars: ✭ 60 (-18.92%)
Mutual labels:  scss
Numix Gtk Theme
A modern flat theme with a combination of light and dark elements.
Stars: ✭ 1,122 (+1416.22%)
Mutual labels:  scss
Gulp Wechat Webapp
基于gulp,以scss的方式写wxss,、提高开发效率的一个入门示例
Stars: ✭ 68 (-8.11%)
Mutual labels:  scss
Next React Graphql Apollo boostrap
React + GraphQL + Next.js project architecture that I play with right now
Stars: ✭ 59 (-20.27%)
Mutual labels:  scss
Opendataday
Open Data Day website
Stars: ✭ 70 (-5.41%)
Mutual labels:  scss
Openshift Origin Design
Design repository for all things OpenShift
Stars: ✭ 58 (-21.62%)
Mutual labels:  scss
Iina Website
The source code of IINA's new website at iina.io.
Stars: ✭ 66 (-10.81%)
Mutual labels:  scss
Sing App
💥Free and open-source admin dashboard template built with Bootstrap 4.5 💥
Stars: ✭ 1,187 (+1504.05%)
Mutual labels:  scss
Libsasshost
.NET wrapper around the LibSass library with the ability to support a virtual file system.
Stars: ✭ 71 (-4.05%)
Mutual labels:  scss
Ohana Web Search
A mobile-friendly website for finding human and social services in your community
Stars: ✭ 68 (-8.11%)
Mutual labels:  scss

Plume CSS

Welcome to Plume CSS, a lightweight and highly themeable CSS Micro-Framework. No JS, no Dependencies. This is the Plume's repository and technical documentation. If you want to know exactly what Plume is, what it does and its main characteristics, please visit: https://felippe-regazio.github.io/plume-css/. For usage and technical information, please follow the README.

Compatibility

Full compatibility with the following Browsers:

  • Google Chrome 80.0.3987.132
  • Mozilla Firefox 76.0.1
  • Opera 68.0.3618.125
  • Safari 11.1.2

Installing

With NPM (Also available with Yarn)

npm install plume-css

Then on your app

import 'plume-css'

Browser Instalation

Clone or download this repository, or download the dist package on the github page.
Now just add it on your page:

<link rel="stylesheet" href="plume-css/lib/plume-all.css">

Tested in a browser thats isn't here? Send a PR with the results. Found an issue? Send a PR describing it :)

Getting Started

Since Plume is scoped, after installing it, you must add the plume class on a wrapper div to apply local styles, or add it on the body tag to style the entire page. You can also add the pm-container class to have a containerized wrapper.

  <!-- apply styles to entire document -->
  <body class="plume"> ... </body>  
  
  <!-- wrapper with plume local style -->
  <div class="plume"> ... </div>

Now you're ready to go

Loading by Modules

When you load plume-all.css or import 'plume-all', you bring the entire Plume lib to your app. Thats ok since the complete lib has only 5kb gziped. But you may want to load only some modules, as Buttons, or Form styles for example. You just need to load the plume-core module, then load the modules you want:

import 'plume-css/lib/plume-core'

or

<link rel="stylesheet" href="plume-css/lib/plume-core.css">

Now you can load the modules that you want. The following modules are available

  • typography
  • buttons
  • form
  • tables
  • lists
  • pre-code
  • effects
  • utilities

So, if you want to add only typography and buttons, for example, you can do:

import 'plume-css/lib/plume-core';
import 'plume-css/lib/typography';
import 'plume-css/lib/buttons';

Or

<link rel="stylesheet" href="lib/plume-core.css">
<link rel="stylesheet" href="lib/typography.css">
<link rel="stylesheet" href="lib/buttons.css">

This method is specially useful if you want to import Plume styles on your SCSS projects.

@import 'plume-css/lib/plume-core.css';
@import 'plume-css/lib/typography.css';

h1 {
  // this will override plume's H1 default style
}

Utilities

Plume apply styles on bare components, but there is a large set of functional utilities - classes and data properties - that you can apply on your elements to alter its behavior. You can check the complete list of Utilities on this link: https://felippe-regazio.github.io/plume-css/.

NOTE: Plume is scoped under a main class plume by default, and all the classes and properties are prefixed with pm- by default. This guarantee highly compatibility and Collision Free CSS. If you are interested in change Plume's main class and prefix, please read the Building from Source section of this README.

Theming

Plume is written using a lot of custom properties (70+) that controls important aspects of the default style. Here we assume that you are familiarized with "CSS Custom Properties". You can override these properties to alter default elements style, or to create your own custom Theme. So, a custom theme is nothing more then a set of CSS Custom Properties overriding. You can check the complete Plume's Custom Properties List on the Github Page. You can add a theme by:

  1. Creating and downloading or Theme using the theme editor on Plume's Github Page.

  2. Manually overriding the variables on your code

HTML & Body Normalizing

Plume is already normalized, but since its scoped, it cant access the HMTL and Body directly. So, to completely normalize the entire APP you must also normalize the HTML and Body. To do it, just use this snippet:

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

body {
  margin: 0;
}

Building

Starting

npm install

Developing

npm run dev

Building

npm run build

Building Sass & Docs

npm run build-all

Building Docs

The documentation and the Theme Editor is automatically generated. New properties, prefixes and base configuration changes will be automatically updated.

Developing

npm run dev-docs

Building

npm run build-docs

Developing from Sources

Plume has a very simple and solid architecture. You can tune and modify most of its basic aspects in a very simple manner. Its possible to change the main classes, prefixes, and other characteristics. If you want to know how Plume works under the hood, please read the developing.md.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].