Quote from: sottwell at Sep 05, 2013, 01:11 AMIn a nutshell:
1. Contributions have to be made via Github, so you need a Git clone of Revo on your development environment (presumably localhost) so your version can be kept in sync with theirs.
2. They're using node.js, which is server-side Javascript.
3. They're using a couple of ruby apps ("gems" - how cute), sass and compass, to work with css files.
4. Grunt and Bower are node.js apps, for working with Javascript.
All of this is supposed to make it easier to work with the Manager interface. I'm sure jpdevries will come back with a more detailed explanation.
That's a really good explanation. So to contribute to MODX in general you will need to be using Github. Once you've checked out the repository, if you want to make contributions to the Manager theme files you will need to get up and running with new tools. All the required tools are opensource, free, and run on Mac/PC/Linux.
Ruby
Odds are you already have the Ruby programming language on your computer but you can see how to Install Ruby and Sass here:
http://sass-lang.com/tutorial.html
Sass
Sass is a popular CSS preprocessor. We don't edit .css files, rather the files found in _build/templates/default/sass/. Sass syntax allows things like variables, reusable mixins, silent classes, but most importantly the ability to organize things in a more Object-Oriented way.
Grunt
Grunt is a task runner used for automation. It doesn't do one thing, it's more of an abstract tool comprised of many plugins that you can use to configure front end workflows. Once installed, you just need to run npm install from the default template. That will fetch any grunt plugins being used.
cd _build/templates/default
npm install
Now you can run any of the grunt tasks which are documented here:
https://github.com/modxcms/revolution/tree/develop/_build/templates/default#grunt-commands
grunt build
grunt prod
grunt
Note: grunt prod task has been removed and replaced with grunt expand in this pull request
https://github.com/modxcms/revolution/pull/595
What is grunt?
http://gruntjs.com/
Grunt Plugins
http://gruntjs.com/plugins
Bower
Bower is a front end package manager by Twitter. Currently whenever the grunt build task is run the latest version of Bourbon is checked out from github, copied to the proper location of our project, and the full source code is stored bower_components, which is ignored by github.
http://bower.io/
Bourbon
Bourbon is a lightweight mixin library for Sass that is commonly thought of as alternative to Compass. Compass dependency has recently been removed in a pull request, and the README has been updated.
http://bourbon.io/