This repo serves several purposes:
- Contains code for building and deploying the gh-pages branch behind https://mozilla.github.io/webdev/.
- Contains small tools that are useful for the Mozilla Webdev group.
These steps assume you have Node.js installed.
-
Clone this repo:
$ git clone https://github.com/mozilla/webdev.git
-
Install dependencies:
$ npm install -g gulp $ npm install
-
(Optional) Add your Github credentials to a
.envfile in the repo's root. These are used by thebuildcommand when downloading metadata from Github. For security, you should probably use a Personal Access Token for the password and limit it topublic_repopermissions only. For example:GITHUB_USERNAME=Osmose GITHUB_PASSWORD=some_personal_access_token
projects.json contains a categorized list of projects the Webdev group is
responsible for. It's intended to be manually kept up-to-date and is useful for
running scripts across all Webdev projects.
Run a development server for the Github pages site on port 8000. Auto-builds the
site when anything is changed in the src directory.
Builds the site in the build directory. Runs all the HTML files through
Nunjucks with the following context:
projects: Object containing the parsed contents ofbuild/projects.json.
The metadata added to the projects list is downloaded from the Github API and
is cached for 24 hours. The --force flag will force a re-download of this
data.
Note that it's very easy to hit API limits if you haven't added your credentials to a .env file.
Build the site and commit the changes to the gh-pages branch, pushing them to
origin.
Fetch contribute.json files for all of the projects in projects.json and
validate them. Currently only supports repos hosted on Github.
Licensed under the Apache 2.0 License. For details, see the LICENSE file.