(style)=

# Style Guide

Writing code for olympia? Awesome! Please help keep our code readable by,
whenever possible, adhering to these style conventions.

## Python

- see <https://wiki.mozilla.org/Webdev:Python>

## Markup

- `<!DOCTYPE html>`
- double-quote attributes
- Soft tab (2 space) indentation
- Title-Case `<label>` tags
  \- "Display Name" vs "Display name"
- to clearfix, use the class `c` on an element

## JavaScript

- Soft tabs (4 space) indentation

- Single quotes around strings (unless the string contains single quotes)

- variable names for jQuery objects start with \$. for example:

  - `var $el = $(el);`

- Element IDs and classes that are not generated by Python should be separated
  by hyphens, eg: #some-module.

- Protect all functions and objects from global scope to avoid potential name
  collisions. When exposing functions to other scripts use
  the `z` namespace.

- Always protect code from loading on pages it's not supposed to load on.
  For example:

```javascript
$(document).ready(function() {
    if ($('#something-on-your-page').length) {
        initYourCode();
    }

    function initYourCode() {
        // ...
    }
});
```