This repository contains the core functionality for Pattern Lab Node. Pattern Lab helps you and your team build thoughtful, pattern-driven user interfaces using atomic design principles.
Online Demo of Pattern Lab Output
Pattern Lab Node Core is designed to be consumed, and by default is included as a dependency within two example Node Editions.
- Pattern Lab/Node: Gulp Edition contains info how to get started within a Gulp task running environment.
- Pattern Lab/Node: Grunt Edition contains info how to get started within a Grunt task running environment.
Core, and Editions, are part of the Pattern Lab Ecosystem. With this architecture, we encourage people to write and maintain their own editions.
const config = require('./patternlab-config.json');
const patternlab = require('patternlab-node')(config);
patternlab.build(doneCallBack, boolCleanOutputDir);
- Read more about configuration via
patternlab-config.json
: https://github.com/pattern-lab/patternlab-node/wiki/Configuration - The rest of the api / command line interface is documented in the wiki, and already implemented for you within Node Editions. A full-featured command line interface is in the works, courtesy of @raphaelokon.
If you are interested in contributing to Pattern Lab, it's suggested to install an Edition of your choice and then run a local copy of this repository via npm link
.
mkdir /patternlab-node
cd /patternlab-node
git clone https://github.com/pattern-lab/patternlab-node.git
npm install
npm link
cd location/of/edition
npm link patternlab-node
The above is a bit verbose, but illustrates:
- how to clone this repository to an arbitrary location
- install all dependencies (run
npm install --dev
if your NODE_ENV is production for some reason) - setup the
npm link
to your local copy - use the local copy of patternlab-node in your edition
Make sure to change to whichever branch you intend to hack on or test within your cloned repository, such as
dev
orbugfix/fixes-broken-unittest
If you find yourself here and are looking to upgrade, check out how to upgrade from version to version of Pattern Lab Node here: https://github.com/pattern-lab/patternlab-node/wiki/Upgrading
View the ChangeLog for the latest Pattern Lab Node updates.
If you'd like to contribute to Pattern Lab Node, please do so! There is always a lot of ground to cover and something for your wheelhouse.
Please read the guidelines: https://github.com/pattern-lab/patternlab-node/blob/master/.github/CONTRIBUTING.md
- @bmuenzenmeyer - Lead Maintainer
- @geoffp - Core Contributor
- @raphaelokon - CLI Contributor
- @tburny - Core Contributor
The Pattern Lab Node team uses our gitter.im channel, pattern-lab/node to keep in sync, share updates, and talk shop. Please stop by to say hello or as a first place to turn if stuck. Other channels in the Pattern Lab organization can be found on gitter too.
There is also a dedicated Pattern Lab channel on the design system slack run by @jina.
Ask or answer Pattern Lab questions on Stack Overflow: http://stackoverflow.com/questions/tagged/patternlab.io
Pattern Lab Node is on Patreon account to allow users and organizations to directly support continued work on the Pattern Lab Node project.
I (Brian talking) need help and support to make Pattern Lab Node a sustained success. I devote a lot of free time and would-be sleep to make the project what it is, but nothing compares to hearing back from users. It means the world to me when people find value in Pattern Lab Node. I am ridiculously humbled to hear and see what you all build with it.
If you find yourself here and balk and the idea of supporting open source software monetarily - I understand. Carry on, but please do share what you build - we all learn more together.