89d04f1eb8 | ||
---|---|---|
less | ||
lib | ||
locale | ||
public | ||
routes | ||
test | ||
views | ||
.gitignore | ||
.jsbeautifyrc | ||
.jshintrc | ||
.no-cache | ||
.travis.yml | ||
CONTRIBUTING.md | ||
Gruntfile.js | ||
LICENSE.txt | ||
Procfile | ||
README.md | ||
angular-i18n-ignoreKeys.json | ||
app.js | ||
bower.json | ||
cluster.js | ||
env.dist | ||
gtf-ignored-keys.json | ||
navigation.json | ||
package.json |
README.md
webmaker.org
TLDR; if you've done this before
####Development
git clone https://github.com/mozilla/webmaker.org
npm install
cp env.dist .env
grunt dev
(Builds front end js. If you aren't working on front end assets you can just donode app
)
####Submitting PRs
grunt
(validate and compress images)- Make a pull request against
mozilla/master
##New Contributors
Please review our contributing guidelines here.
Dependencies
The setup portion of this README assumes you have the following installed:
- Node.js & npm
- Bower:
npm install -g bower
- grunt-cli:
npm install -g grunt-cli
You should also have these Webmaker stack applications running:
- MakeAPI: https://github.com/mozilla/MakeAPI
- Webmaker Login: https://github.com/mozilla/login.webmaker.org
Project Setup
- Clone webmaker.org and enter the directory:
git clone https://github.com/mozilla/webmaker.org && cd webmaker.org
- Install webmaker.org's Node and Bower dependencies:
npm install
- Copy the configuration template to its expected location:
cp env.dist .env
- Open
.env
in your favourite text editor and ensure that yourPORT
,MAKE_ENDPOINT
,LOGIN
andLOGINAPI
environment variables are set to the correct values.PORT
can be any available port.MAKE_ENDPOINT
,LOGIN
andLOGINAPI
should point to the URL of your running MakeAPI and Webmaker Login service instances. - Run
grunt dev
, and open uphttp://localhost:7777/
in your favourite web browser!
Grunt Tasks
grunt
- Validate LESS, beautify and lint JS, compress images as needed. Run before you push.grunt dev
- Run the server and build js files as they are changedgrunt verify
- Verify LESS and JS are formatted and lint free. Read only. Used by Travis.
Localization
To add a new language simply add a directory with a locale code under the locale
directory with a JSON file(s) for your strings for example:
locale/id_ID/strings.json
You also need to make sure you enable the language in your config by changing the value of SUPPORTED_LANGS
export SUPPORTED_LANGS='[ "en", "id-ID" ]'