Skip to content

Latest commit

 

History

History
25 lines (13 loc) · 2.15 KB

CONTRIBUTING.md

File metadata and controls

25 lines (13 loc) · 2.15 KB

The ionic website repo is licensed and managed separately from the ionic repo itself.

By contributing to the driftyco/ionic-site repo, you agree to have your contributions licensed under the Apache 2.0 license. See the LICENSE file for details on this license.

GUIDELINES

When in doubt, keep pull requests small. Just a few related changes and nothing else. Separate different features or changes into different PRs to make it easy to merge.

Always use two spaces and no tabs for indentation.

Structure

Note that content/docs/api, content/docs/api, content/docs/native, content/docs/storage, and anything in content/dist is automatically generated. The v1, v2, Ionic Native, and Ionic Storage docs are generated by dgeni on every commit to their respective source repos, using inline code comments.

This site's humble beginnings started as a Github Pages site, and much of that core structure remains. Now it is a tiny Node.js/Express app that lives on a Heroku server. The Node.js app for the most part serves static html files that have been generated by Jekyll. Some pages are generated server-side via traditional Express routes with Nunjucks templates (very similar to jekyll). These are contained within the server directory.

On every commit, Heroku runs a clean build and starts a node server at ionic-site-staging.herokuapp.com. Periodically the Ionic core team will inspect the site and promote the staging server to ionicframework.com.

This project is in some ways multiple sites in one and has multiple build/compile processes. gulp watch will run all of these, and should meet most style and JS processing needs. Some older docs pages are ignored for performance reasons. A bundle exec jekyll build should update these.

v1 styles are in content/scss and output to content/css/site.css. v2 styles are in assets/scss and output to content/css/v2.css.

v2 images and JS are preprocessed and optimized. Their working directories should be assets/img and assets/js respectively.

Per Jekyll conventions, any directory starting with an underscore does not get copied to production.