dss-parser-variable

A variable parser for DSS (Documented Stylesheets)

Usage no npm install needed!

<script type="module">
  import dssParserVariable from 'https://cdn.skypack.dev/dss-parser-variable';
</script>

README

dss-parser-variable NPM version Dependency Status Build Status

A @variable parser for documenting SCSS/LESS variables from Documented Style Sheets (DSS).

Usage

In a file test.scss:

/**
 * @name Colours
 * @variable white
 * @variable blue - Sky blue
 * @variable dark-red Button outlines
 */
$blue: #0000FF;
$dark-red: #FF0000;
$black: #000000;

In JavaScript:

var fs = require('fs'),
    dss = require('dss'),
    variableParser = require('dss-parser-variable');

dss.parser('variable', variableParser());

var scss = fs.readFileSync('test.scss'),
    options = {},
    callback = function(parsed){
      console.log(JSON.stringify(parsed, true, 4));
    };

dss.parse(scss, options, callback);

Will output:

{
    "blocks": [{
        "name": "Colours",
        "variable": [
            { "name": "blue", "description": "Sky blue", "value": "#0000FF" },
            { "name": "dark-red", "description": "Button outlines", "value": "#FF0000" }
        ]
    }]
}

Note there is no entry for white because the variable does not exist in the file, and there is no entry for black because there is no description in the DSS block. If you pass false flag to the constructor it will include variables that does not exist in the file, i.e. there would be entry for a white in output.