https://github.com/log-oscon/generator-log-marionette
Yeoman generator for a Marionette frontend application.
https://github.com/log-oscon/generator-log-marionette
Last synced: 12 months ago
JSON representation
Yeoman generator for a Marionette frontend application.
- Host: GitHub
- URL: https://github.com/log-oscon/generator-log-marionette
- Owner: log-oscon
- License: mit
- Created: 2015-03-13T09:30:56.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2020-07-20T13:05:36.000Z (about 6 years ago)
- Last Synced: 2025-06-04T04:12:58.736Z (about 1 year ago)
- Language: JavaScript
- Size: 70.3 KB
- Stars: 2
- Watchers: 13
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Marionette.js generator [](https://travis-ci.org/log-oscon/generator-log-marionette)
> [Yeoman](http://yeoman.io) generator
## What it is
It will generate a base Marionette project with Browserify, specs and Gulp tasks.
Also, it will generate all the base components of a Marionette project - such as ItemView's, Models, etc.
## Installation
Please read [Yeoman docs](http://yeoman.io) for Yeoman installation.
`npm install -g generator-log-marionette`
## Bootstrap
`yo log-marionette` will generate a `package.json` with the specified dependencies , an `.editorconfig`, a `.gitignore`, a `.jshintrc` and will create the following directories and files:
* tasks/
* src/
* images/
* fonts/
* styles/
* scripts/
* `main.js` - application bootstrap
* app/
* `app.js` - basic definition of `Backbone.Marionette.Application`;
* `radio.js` - basic definition of `Radio` with a predefined `global` channel;
* behaviors/
* `behaviors.js` - placeholder for other `Behavior`;
* collections/
* models/
* controllers/
* routers/
* apis/
* views/
* `root-view.js` - view used by `app.js` as a view placeholder
* templates/
* `root.(hbs|dust)` - `root-view.js` template
* regions/
* tests/
* app/
* collections/
* models/
* controllers/
* routers/
* apis/
* views/
All `package.json` will be automatically installed
## Generators
You can see a list of possible generators by typing: `yo --help`. In this case you will receive the following list - alongside other generators:
```
log-marionette
behavior
collection
collectionview
composite-template
compositeview
controller
itemview
layoutview
model
region
router
template
```
Bear in mind, `composite-template` **IS NOT** supposed to be used. It is only used internally by `compositeview`.
You can see each sub-generator and its options by typing: `yo log-marionette:[generator] --help`. E.g.: by typing `yo log-marionette:compositeview --help` it will return:
```
Usage:
yo log-marionette:compositeview [options]
Options:
-h, --help # Print the generator's options and usage
--skip-cache # Do not remember prompt answers Default: false
--all # should also create its corresponding template and itemviews
Arguments:
name Type: String Required: true
```
A few points on naming conventions; when generating a model or a collection, the input name will be the file name, e.g.: `yo log-marionette:model my-name` will generate a `my-name.js` file with the following code:
```
(function () {
'use strict';
var Backbone = require('backbone');
var MyName = Backbone.Model.extend({});
module.exports = MyName;
})();
```
In all other cases a suffix will be added to the name file and the generated object, e.g.: `yo log-marionette:behavior my-name` will generate a `my-name-behavior.js` file with the following contents:
```
(function () {
'use strict';
var Marionette = require('backbone.marionette');
var MyNameBehavior = Marionette.Behavior.extend({
defaults: {
/* your defaults */
},
events: {
/* your events */
}
});
module.exports = MyNameBehavior;
})();
```
## License
MIT