Home

Awesome

x-pages

Build Status NPM Downloads NPM Version License Dependency Status devDependency Status Code Style

A static site development workflow (Convention over Configuration)

Installation

$ yarn add x-pages --dev

# or npm
$ npm install x-pages --save-dev

in your package.json scripts:

{
  "scripts": {
    "clean": "x-pages clean",
    "lint": "x-pages lint",
    "serve": "x-pages serve",
    "build": "x-pages build",
    "start": "x-pages start",
    "deploy": "x-pages deploy --production"
  }
}

You can also use the x-pages template provided by the CAZ scaffold tool to quickly generate a project that uses x-pages.

$ npx caz x-pages my-project

CLI Usage

$ x-pages <task> [options]

e.g.

# Runs the app in development mode
$ x-pages serve --port 5210 --open
# Builds the app for production to the `dist` folder
$ x-pages build --production

Available Scripts

yarn lint or npm run lint

Lint the styles & scripts files.

yarn compile or npm run compile

Compile the styles & scripts & pages file.

yarn serve or npm run serve

Runs the app in development mode with a automated server.

options

yarn build or npm run build

Builds the app for production to the dist folder. It minify source in production mode for the best performance.

options

yarn start or npm run start

Running projects in production mode.

options

yarn deploy or npm run deploy

Deploy the dist folder to GitHub Pages.

options

yarn clean or npm run clean

Clean the dist & temp files.

Examples

Folder Structure

└── my-awesome-pages ································· project root
   ├─ public ········································· static folder
   │  └─ favicon.ico ································· static file (unprocessed)
   ├─ src ············································ source folder
   │  ├─ assets ······································ assets folder
   │  │  ├─ fonts ···································· fonts folder
   │  │  │  └─ pages.ttf ····························· font file (imagemin)
   │  │  ├─ images ··································· images folder
   │  │  │  └─ logo.png ······························ image file (imagemin)
   │  │  ├─ scripts ·································· scripts folder
   │  │  │  └─ main.js ······························· script file (babel / uglify)
   │  │  └─ styles ··································· styles folder
   │  │     ├─ _variables.scss ······················· partial sass file (dont output)
   │  │     └─ main.scss ····························· entry scss file (scss / postcss)
   │  ├─ layouts ····································· layouts folder
   │  │  └─ basic.html ······························· layout file (dont output)
   │  ├─ partials ···································· partials folder
   │  │  └─ header.html ······························ partial file (dont output)
   │  ├─ about.html ·································· page file (use layout & partials)
   │  └─ index.html ·································· page file (use layout & partials)
   ├─ .csscomb.json ·································· csscomb config file
   ├─ .editorconfig ·································· editor config file
   ├─ .gitignore ····································· git ignore file
   ├─ .travis.yml ···································· travis ci config file
   ├─ CHANGELOG.md ··································· repo changelog
   ├─ LICENSE ········································ repo license
   ├─ README.md ······································ repo readme
   ├─ gulpfile.js ···································· gulp tasks file
   ├─ package.json ··································· package file
   └─ yarn.lock ······································ yarn lock file

Related

Contributing

  1. Fork it on GitHub!
  2. Clone the fork to your own machine.
  3. Checkout your feature branch: git checkout -b my-awesome-feature
  4. Commit your changes to your own branch: git commit -am 'Add some feature'
  5. Push your work back up to your fork: git push -u origin my-awesome-feature
  6. Submit a Pull Request so that we can review your changes.

NOTE: Be sure to merge the latest from "upstream" before making a pull request!

License

MIT © 汪磊