The static website manager.
WARNING: This is a work in progress, tests are missing, documentation is missing... a lot of stuff is missing, and it has NOT been deployed in production yet.
Build a typical showcase website thanks to a modern admin web app. You website is generated statically everytime you make a change to it.
A static website is easy to deploy, cost effective and really fast.
With kowa, create a website for your organisation with:
- a customizable
activitiespage to clearly explain what your organisation is about
postspage: post your latests news, and publish them automatically on social networks (not implemented yet)
eventspage: inform your audience about your ongoing events
memberspage featuring your organisation team
- and as many custom pages as you want
All these features are optionnals: only take what your need.
The server is written in Go and the client is an Ember.js application that you can find at https://github.com/aymerick/kowa-client.
Follow instructions at: https://github.com/aymerick/kowa-client
Fetch all themes:
$ git clone --recursive email@example.com:aymerick/kowa-themes.git
You need a running mongodb server running on standard port.
It is tedious to pass flags to
kowa commands, so let's create a
$HOME/.kowa/config.toml config file, with TomML syntax like that:
upload_dir = "/path/to/kowa-client/upload" themes_dir = "/path/to/kowa-themes" serve_output = true
upload_dirsetting indicates where uploaded files are stored (ie. the
themes_dirsetting points to the
kowa-themesdirectory that you previously cloned.
serve_outputsetting activates serving of static sites for the
$ go get github.com/aymerick/kowa $ go get github.com/tools/godep $ go get github.com/jteeuwen/go-bindata/...
$ cd $GOPATH/src/github.com/aymerick/kowa $ make build
Add an administrator user with two sites:
$ ./kowa add_user mike firstname.lastname@example.org Michelangelo TMNT pizzaword true $ ./kowa add_site site1 'My First Site' mike $ ./kowa add_site site2 'My Second Site' mike
$ ./kowa server
The server is now waiting for API requests on port
35830 and serves generated sites on port
$ go get -u github.com/jteeuwen/go-bindata/...
When you modify translations files in
locales/ or mailers templates in
mailers/templates/, you have to regenerate
core/bindata.go file with:
$ make gen
When you change server code, you have to rebuild it with
make build and restart it.
When you change a
SASS file in a theme you don't have to rebuild the server, but you have to rebuild the theme, for example:
$ cd kowa-themes/willy $ grunt build
Every time you make a change on a site thanks to the client app, the corresponding static site is rebuilt in the background.
You can still trigger a manual rebuild of a static site with this command:
$ ./kowa build site1
If you modify the code that handles images, you can regenerate all derivatives for a given site with this command:
$ ./kowa gen_derivatives site1
To add a dependcy:
$ go get foo/bar
Edit your code to import foo/bar, then:
$ godep save
To update a dependency:
$ go get -u foo/bar $ godep update foo/bar $ godep save
To launch tests, go to
kowa root directory, then:
$ make test