smeagol/resources/public/content/Developing Smeagol.md

46 lines
1.6 KiB
Markdown

## Prerequisites
You will need [Leiningen](https://github.com/technomancy/leiningen) 2.0 or above installed.
You will need [node](https://nodejs.org/en/) installed.
## Running in development
To start a web server for the application during development, run:
```
lein npm install
lein ring server
```
This should start a development server, and open a new window or tab in your default browser with the default page of the wiki loaded into it.
## Editing
I generally use [LightTable](http://lighttable.com/) as my `Clojure` editor, but it doesn't really matter what you use; if you run Smeagol as described above, then all changes you make in the code (and save) will instantly be applied to the running system. This makes for a productive development environment.
## Building for deployment
*Important:* Always run `lein clean` before building a deployment build. Once you have deployed your deployment artifact, run `lein clean` again before continuing development.
### To build a standalone executable jar file
run:
```
lein ring uberjar
```
The resulting file may be run by invoking
```
java -jar \[path to uberjar file\]
```
## Documentation
It is my intention that the code should be sufficiently well documented to be easy to understand. Documentation may be generated from the code by running
```
lein codox
```
## Contributing
If you make changes to Smeagol which you think are useful, please contribute them in the form of a [pull request on github](https://help.github.com/articles/creating-a-pull-request/).