nerdstein / nerdstein-design-library

Design Library for the 2017 Nerdstein Site Redesign
6 stars 4 forks source link

Nerdstein.net 2017 Design

This repository provides all design-related assets for my site redesign. This readme explains how to participate.

There are two main parts of this code repository.

There previously was a prototype that has been deprecated in favor of this Pattern Lab design library. The current progress of the design library pages are also represented as HTML.

Architecture

The prototype was intended to be nothing more than a quick visual of design elements on pages.

The design library is intended to split up the prototype into discrete, reusable parts. The library is based on Pattern Lab leveraging the Twig convention, which aligns with Drupal 8.

While the end goal of the design library is to integrate with Drupal 8, the intent is for it to be completely decoupled from the site (and potentially reused in other digital properties).

Workflows will exist to synchronize the design library and the site. The design library will maintain releases which will be managed by github and used to segment the downstream change management for the site.

Contribution Guide

We will leverage the issue queue and pull requests to organize and review respective changes.

Making Changes

Visual changes will be made to both the prototype (a quick visual spot check) and the design library simultaneously. Pull requests that change one without the other will not be accepted.

Prototype

Updates will include changes to markup (html) or to the assets that exist under the files directory (CSS, images, etc).

The markup/CSS is rather irrelevant as long as the responsive visual representation is correct.

Design Library

Dependencies

Installation

Steps are run from the design-library directory on your local machine

Common Structures

All patterns live in design-library/patterns and organized as atoms, molecules, organisms, and pages.

Each pattern is a subdirectory under the atom/molecule/organism/page directories. Patterns leverage numbers in the directory name to promote ordering. Numbers are ignored by pattern lab otherwise.

Each pattern maintains the following uniform structure:

SCSS and Gulp

Gulp is used to compile the SCSS into one merged CSS file. This approach was used to minimize the creation and synchronization of specific CSS assets, which would warrant config changes to both Pattern Lab and Drupal respectively.

Twig

TODO - Capture any best practices learned about Twig usage

Workflows

Design Library

Steps are run from the design-library directory on your local machine.

Alternatively, all of these tasks can be run automatically using the default gulp task.