This repository contains code for a Drupal 8 theme from which NICS sites should be sub-themed from.
- Quick start
- What's included
- Bugs and feature requests
- Using the NPM scripts
- Sub-theming
- Documentation
- Download the latest release or clone the repo:
git clone https://github.com/dof-dss/nicsdru_origins_theme.git
npm install
The theme uses NPM scripts and packages to create tooling to:
- write and compile scss to css
- apply appropriate prefixing for css rules
- write and uglify js
- detect features the user’s browser has to offer (via Modernizr)
- code linting
- optimise and compress images for the web
Within the download you'll find the following directories and files, logically grouping common assets, you'll see something like this:
nicsdru_origins_theme/
└── config/
│ ├── install/
│ ├── .sass-lint.yml
│ ├── modernizr-config.json
└── css/
└── docs/
└── js/
└── src/
│ ├── images/
│ ├── js/
│ ├── scss/
│ ├── styleguide/
└── templates/
└── .gitignore
└── composer.json
└── mkdocs.yml
└── nicsdru-origins-theme.breakpoints.yml
└── nicsdru-origins-theme.info.yml
└── nicsdru-origins-theme.layouts.yml
└── nicsdru-origins-theme.libraries.yml
└── nicsdru-origins-theme.theme
└── package.json
└── README.md
└── screenshot.png
The package.json
includes the following commands and tasks:
Task | Description |
---|---|
npm run build |
npm run build compiles files into their build directories ready for use in a production environment. Uses Sass, Autoprefixer, Modernizr and UglifyJS. |
npm run watch |
Watches for changes to scss and js files & compiles them for development purposes. |
npm run lint |
Will run all .scss and .js files through their respective linting tools - eslint & sass-lint |
npm run lint-scss |
Will run all .scss files through sass-lint. The command can also accept a parameter to lint an individual file. To do this npm run lint-scss -- scssfile:name-of-file where name-of-file is the file you want to lint relative to the package.json for the project. |
Run npm run
to see all the npm scripts.
TODO: add in how to sub-theme from this theme.
TODO: add documentation.