# Electron / Atom

## [Electron](http://electron.atom.io/)

* [electron-react-boilerplate](https://github.com/chentsulin/electron-react-boilerplate)
* [awesome-electron](https://github.com/sindresorhus/awesome-electron)

### Build Error `npm ERR! Failed at the nslog@3.0.0 install script 'node-gyp rebuild'.`

NOTE: if you see the error after `npm install`, it's because there is a problem when building node-gyp on some Windows machines.

Try to delete the 'node\_modules' folder, and call `npm install` from a "VS2013 x86 Native Tools Command Prompt" window (found in VS2013 installation).

See related issue on [Github](https://github.com/nodejs/node-gyp/issues/733)

### How to use bootstrap?

```javascript
// use jquery
import $ from 'jquery';

// use bootstrap with jqeury
global.jQuery = require('jquery');
require('bootstrap');
```

### How to use Select2 or Jquery?

1. install npm package: `npm install select2`
2. reference css file in app.html: \`
3. require the package so webpack will pack it: `import S2 from 'select2'`

## Atom

### How to build custom syntax file for Atom Editor

*   Reference this: [https://github.com/lee-dohm/language-generic-config](https://github.com/lee-dohm/language-generic-config)

    and any familiar language syntax file, for example, [Ruby](https://github.com/atom/language-ruby/blob/master/grammars/ruby.cson)
* Use dev tool to find out class names
* Open two window: one for dev and one for preview the syntax; Ctrl+Alt+r on preview window to reload.
*   Don't forget to escape `\` in the regex string in the cson file:

    ```
    'match': '\\s*(defined)\\b(?![?!])'
    ```
