stylelint-config-bigchaindb/readme.md

121 lines
3.4 KiB
Markdown

# [![stylelint-config-bigchaindb](media/repo-banner@2x.png)](https://www.bigchaindb.com)
> 💅 For consistent CSS across BigchainDB, IPDB & ascribe's repos. Extends on [stylelint-config-standard](https://github.com/stylelint/stylelint-config-standard)
[![css bigchaindb](https://img.shields.io/badge/css-bigchaindb-39BA91.svg)](https://github.com/bigchaindb/stylelint-config-bigchaindb)
[![js bigchaindb](https://img.shields.io/badge/js-bigchaindb-39BA91.svg)](https://github.com/ascribe/javascript)
[![npm](https://img.shields.io/npm/v/stylelint-config-bigchaindb.svg)](https://www.npmjs.com/package/stylelint-config-bigchaindb)
[![Build Status](https://travis-ci.org/bigchaindb/stylelint-config-bigchaindb.svg?branch=master)](https://travis-ci.org/bigchaindb/stylelint-config-bigchaindb)
[![Greenkeeper badge](https://badges.greenkeeper.io/bigchaindb/stylelint-config-bigchaindb.svg)](https://greenkeeper.io/)
This cat clearly forgot to lint her CSS before deployment:
![cat not linting correctly](media/cat-linter-fail.gif)
Don't be like that cat.
## Installation
```bash
npm install stylelint-config-bigchaindb
```
## Usage
### Setup
Add this to your `.stylelintrc` file:
```json
{
"extends": "stylelint-config-bigchaindb"
}
```
If you really know what you're doing™ you can change or disable individual rules globally in your project:
```json
{
"extends": "stylelint-config-bigchaindb",
"rules": {
"selector-max-id": 1,
"selector-no-qualifying-type": null
}
}
```
Or disable blocks inline in your css:
```scss
/* stylelint-disable selector-list-comma-newline-after */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
color: $that-pink-which-burns-my-eyes;
}
/* stylelint-enable */
```
In general, try to never disable anything. Every time you disable even one rule one of those creatures gets killed:
![disable punishment](media/disable-punishment.gif)
### Linting
Use `stylelint` against your css files, e.g.:
```bash
stylelint *.scss
```
Or lint in your editor with one of the many editor plugins for [stylelint](https://stylelint.io), e.g. for Atom:
```bash
apm install linter-stylelint
```
## npm releases
For a new **patch release**, execute on the machine where you're logged into your npm account:
```bash
npm run release
```
Command is powered by [`release-it`](https://github.com/webpro/release-it) package, defined in the `package.json`.
That's what the command does without any user interaction:
- create release commit by updating version in `package.json`
- create tag for that release commit
- push commit & tag
- create a new release on GitHub, with change log auto-generated from commit messages
- publish to npm as a new release
If you want to create a **minor** or **major release**, use these commands:
```bash
npm run release-minor
```
```bash
npm run release-major
```
## License
```
Copyright 2017 BigchainDB GmbH
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
```