Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/devbridge/styleguide
https://github.com/devbridge/styleguide
Last synced: 2 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/devbridge/styleguide
- Owner: devbridge
- License: mit
- Created: 2015-04-01T09:00:09.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2024-03-25T22:18:06.000Z (10 months ago)
- Last Synced: 2024-12-27T12:02:55.498Z (9 days ago)
- Language: JavaScript
- Size: 5.77 MB
- Stars: 1,440
- Watchers: 57
- Forks: 86
- Open Issues: 52
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Styleguide [![Known Vulnerabilities](https://snyk.io/test/github/devbridge/Styleguide/badge.svg)](https://snyk.io/test/github/devbridge/Styleguide)
===Devbridge Styleguide helps you create, share, and automate a living visual style library of your brand. Share your digital brand standards, improve team collaboration, and implement an independent easily-extendable modular structure.
Installation:
---Make sure you have following components installed on your machine:
- [node.js](https://nodejs.org/en/)
- [gulp](http://gulpjs.com/) or [grunt](http://gruntjs.com/)##### #1 Install Styleguide node package to your local project's directory: #####
`npm install devbridge-styleguide --save-dev`_**Note**, do not download files directly from git repository, unless you know what you are doing._
##### #2 Make sure you have installed it globally: #####
`npm install devbridge-styleguide -g`##### #3 Initialize styleguide: #####
`styleguide initialize `_**Note**, make sure you run command inside your project directory._
Copy of the styleguide will be generated and placed in your project's root directory under `'/styleguide/'` folder. If you want to change folder name run `styleguide initialize folder-name`
##### #4 Setup Gulp task: #####
```javascript
var styleguide = require('devbridge-styleguide');gulp.task('start-styleguide', function () {
styleguide.startServer();
});
````If your styleguide is placed in different directory than /styleguide/ you need to specified it in the task:
```javascript
styleguide.startServer({
styleguidePath: 'folder-name'
});
```Run styleguide server: `gulp start-styleguide`
##### For Grunt users: #####
Setup grunt task:
```javascript
module.exports = function (grunt) {
var styleguide = require('devbridge-styleguide');
grunt.registerTask('start-styleguide', function () {
var done = this.async();
styleguide.startServer().then(function (instance) {
instance.on('close', done);
});
});
}
```Run styleguide server: `grunt start-styleguide`
##### For Plain CLI usage: #####
Enter command:
```
styleguide start
```***
_**Note**, the purpose of the styleguide server is to expose API for styleguide data manipulation **ONLY**. In order to view the styleguide in the browser, you need to setup and run your own project’s server. We recommend using simple [http server - live-server](https://www.npmjs.com/package/live-server)._
***
Open your project in the browser and navigate to `/styleguide/` directory. Happy styleguideing!!
Usage:
---The Styleguide component has two modes - **“view only”** and **“edit”**.
**"View only"** mode does not have editing controls and is meant for presentation. It is a purely client-side application without any backend dependencies (html, css, and javascript only). It is delightly easy to share, publish, move, or export!
In order to switch to **“Edit”** mode and see all additional controls for editing, you need to run the styleguide server.
##### - To manage categories: #####
Categories can be managed on your styleguide web page by clicking menu in the right top corner. You will be able to create, delete or modify categories.##### - To work with Snippets: #####
All snippet management is done in the browser, on your styleguide web page. While styleguide server is running, you should be able to see additional controls for editing.##### - To scrape scss variables: #####
Scraping scss files you can automatically generate color palette or create a list of fonts used in the project.
* First you need to add smart comment tags to your scss file to identify your variables:For color variables:
```sass
//-- colors:start --//
$color-black: #000000;
$color-dark: #141823;
$red-lighter: #d26262;
//-- colors:end --//
```For font variables:
```sass
//-- typo:start --//
$font-proxima: 'Neue Helvetica W01', helvetica, sans-serif; // 300, 700
$font-proxima-alternative: 'Neue Helvetica W01', helvetica, sans-serif; // 400, 400 italic
$font-newsgothic: 'Neue Helvetica W01', helvetica, sans-serif; // 700
//-- typo:end --//
```* Next, declare scss, less or styl file path references in styleguide config file:
`"cssVariables": ["/path/to/your/project/scss/file.scss"]`
* Lastly, open styleguide web page and select from the menu 'Scrape Variables'. Note, make sure you have styleguide server running.
##### - To add CSS resources of the project to the styleguide: #####
Styleguide snippets are loaded through iframe using `template.html` file. All css references should be defined there.##### - To modify styleguide settings: #####
You can add project name, project logo or change settings modifying `config.txt` file, located in your styleguide directory:
```javascript
{
"projectName": "", //Project name
"projectUrl": "", //Domain name of your project
"projectLogo": "", //path to your project logo
"jsResources": [], //Javascript resources that's going to be included into the snippets
"viewportWidths": [ //Predefinded viewport breakpoints
480,
768,
1200
],
"serverPort": 8889, //Default server port for styleguide component
"snippetTemplate": "styleguide/template.html", //HTML template which will be used to wrap and show html snippets. Project CSS resources of the project should be placed in this template as well.
"cssVariables": [], //Paths to your scss variables files
"maxSassIterations": 2000,
"database": "styleguide/db",
"categories": "styleguide/db/categories.txt",
"uniques": "styleguide/db/uniques.txt",
"sassData": "styleguide/db/sassdata.txt",
"extension": ".txt"
}
```[![Analytics](https://ga-beacon.appspot.com/UA-73039601-2/Styleguide/readme)](https://github.com/igrigorik/ga-beacon)