kss-scheibo
Version:
A custom template for the kss-node living styleguide.
253 lines (174 loc) • 5.58 kB
Markdown
# KSS-Scheibo - a template for the KSS-node styleguide
[](https://npmjs.org/package/kss-scheibo)
[]( https://github.com/scheibome/kss-scheibo/issues) 

## Install
``npm install kss-scheibo --save-dev``
## Setup
Create a ``kss-homepage.md`` and add your styles like [style-documentation](https://github.com/kss-node/kss/blob/spec/SPEC.md#style-documentation) in your source folder.
#### Builder
``node_modules/kss-scheibo/kss_styleguide/scheibo-template/``
#### Custom
``["Colors", "Wrapper", "RequireJS", "BodyClass", "HtmlLang"]``
##### Optional
Create a JSON file like `kss-scheibo.json` in your package.json root with the following lines.
For all configurations see [kss-node documentation](https://github.com/kss-node/kss-node#using-the-command-line-tool)
```
{
"title" : "the name of your styleguide",
"builder" : "node_modules/kss-scheibo/kss_styleguide/scheibo-template/",
"custom" : ["Colors", "Wrapper", "RequireJS", "HTMLClass", "BodyClass", "HtmlLang"],
"source" : "assets/",
"destination" : "../styleguide/",
"css" : ['URL_of_a_CSS_file_to_include_in_the_style_guide.css'],
"scriptModule" : false,
"themeColor" : "#1B7AC8",
"themeTextColor" : "#FFFFFF"
}
```
## Generate
Generate your styleguide with the following line:
``node node_modules/kss/bin/kss --config [yourconfigname].json``
or
``node node_modules/kss/bin/kss --source "assets/" --destination "../styleguide/" --builder "node_modules/kss-scheibo/kss_styleguide/scheibo-template/" --custom "['Colors', 'Wrapper', 'RequireJS']" `` etc.
## Using kss-scheibo
```js
const fs = require('fs-extra');
const { build, watch } = require('kss-scheibo');
const config = fs.readJsonSync('kss-scheibo.json');
const buildStyleguide = async () => {
await build(config);
};
// build styleguide initially
build({ kssOptions });
// rebuild styleguide on every change to the css files
watch('path/to/css/files/**/*.css', buildStyleguide);
```
## Modifications
#### Insert section into another
You can include another section in a section.
This is possible with ``<insert-markup>``.
The digits after the ``-`` are the specified classes, starting at 0
Here is an [example](https://kss-scheibo.scheibitz.com/section-2.html#kssref-2-2):
```
Markup:
<form action="#" method="get" class="form {{modifier_class}}">
<insert-markup>2.1-0</insert-markup>
<insert-markup>2.1-0</insert-markup>
<insert-markup>2.1-0</insert-markup>
<insert-markup>1.2-0</insert-markup>
</form>
```
#### Colors
add the following config in your ``kss-scheibo.json``
```
{
"custom" : ["Colors"]
}
```
The markup for the colors is specified as follows:
```
/*
Colors
Colors:
$color-primary : #FF6400 - This is the primary color
$cloudburst : #354052 - Font color
$dodgerblue : #2EA2F8
$crimson : #ED1C24
$kellygreen : #1BB934
Styleguide Colors
*/
```
#### Wrapper
add the following config in your ``kss-scheibo.json``
```
{
"custom" : ["Wrapper"]
}
```
The markup for the wrapper is specified as follows:
```
/*
Form
Markup: templates/02_components/form.html
Wrapper:
<div style="background-color: grey;">
<wrapper-content/>
</div>
form-input--small - This is a large style
Styleguide 2.2
*/
```
#### RequireJS
##### Global
You can add RequireJs as global option and in every single fullscreen mode.
To add RequireJs global, add ``"requirejs": ["/javascripts/Vendor/require.js", "/javascripts/main"]`` into the ``kss-scheibo.json`` as new option.
##### Only in the fullscreen mode and every single element
The first option is the path to requireJS, the second is the path to the data-main file.
Add the following config in your ``kss-scheibo.json``
```
{
"custom" : ["RequireJS"]
}
```
The markup for requireJs in fullscreen mode is specified as follows:
```
/*
Form
Markup: templates/02_components/form.html
Requirejs:
/javascripts/Vendor/require.js : /javascripts/main
Styleguide 2.2
*/
```
#### HTMLclass
The markup for htmlclass in fullscreen mode is specified as follows:
```
/*
Form
Markup: templates/02_components/form.html
htmlclass: demohtmlclass1 demohtmlclass2
Styleguide 2.2
*/
```
#### Bodyclass
##### Global
You can add a global body class and in every single fullscreen mode.
To add your class global, add ``"bodyclass": "yourclassname"`` into the ``kss-scheibo.json`` as new option.
##### Only in the fullscreen mode and every single element
You can add your own bodyclass for every single fullscreen mode.
Add the following config in your ``kss-scheibo.json``
```
{
"custom" : ["BodyClass"]
}
```
The markup for bodyclass in fullscreen mode is specified as follows:
```
/*
Form
Markup: templates/02_components/form.html
bodyclass: demobodyclass
Styleguide 2.2
*/
```
#### HTML lang attribute
##### Global
You can change the global [lang attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/lang).
To change the lang attribute, add ``"htmllang": "de"`` into the ``kss-scheibo.json`` as new option.
```
{
"custom" : ["HtmlLang"],
"htmllang": "de"
}
```
#### Hint
Is the markup a file, the name must be unique.
#### Theme Color
You can set your own theme colors by using these options:
```
{
"themeColor" : "#1B7AC8",
"themeTextColor" : "#FFFFFF"
}
```