A Yeoman generator for quickly scaffolding a static one page website. Useful for things like landing pages and coming soon pages.
Dependencies
- Yeoman:
npm install -g yo
- Grunt:
npm install -g grunt-cli
Installation
To install and use this generator simply run npm install -g generator-one-pager
.
Usage
Running this generator is as easy as typing yo one-pager
.
It has plenty of options to get the build to your taste, but all versions use Jade as the html templating engine.
Included
These libraries/extensions/tasks are included in every build.
Options
The options which can be turned on or off are:
Project Structure
The Structure of this app is a a little opinionated to my current workflow but currently looks like this:
one-pager
|-- dist
|-- src
| |-- index.jade
| |-- images
| |-- yo.png
| |-- js
| |-- scripts.js
| |-- partials
| |-- _header.jade
| |-- scss
| |-- components
| |-- _footer.scss
| |-- _global.scss
| |-- _manifest.scss
| |-- _navbar.scss
| |-- _typography.scss
| |-- _variables.scss
| |-- pages
| |-- index
| |-- _content.scss
| |-- _manifest.scss
| |-- _manifest.scss
| |-- vendor
| |-- _manifest.scss
| |-- _normalize.scss
| |-- styles.scss
Page Sub-Generator
There is a :page
sub-generator that is available to use that can generate additional pages (then its no longer a one pager I guess).
To use it is as simple as yo one-pager:page
. It will then ask for the pages name and then create the scss file and jade file for that page.
Gruntfile
So far the only grunt command is grunt default
or simply grunt
, which builds it out then starts and connects to port :9001
then watches for changes.
SCSS Structure
Currently one-pager is set up to use the manifest pattern, where every section of the scss structure is broken up semantically and all can be imported at once by simply importing the manifest file in every directory.
Note
This is the first generator I've built and as such mistakes are expected, any feedback would be appreciated.
License
MIT License