Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/Etiene/sailor
Browse files Browse the repository at this point in the history
  • Loading branch information
Etiene committed May 15, 2015
2 parents 6d6116b + 29da1a2 commit 5be8319
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 18 deletions.
33 changes: 20 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,39 +5,36 @@ A Lua MVC Framework. www.sailorproject.org
[![Support via Gratipay](http://img.shields.io/gratipay/Etiene.svg)](https://gratipay.com/Etiene)

### Features
* Up until last release
* Luarocks setup
* Runs over Apache2, NginX or Mongoose webservers
* Runs over Apache2, NginX, Mongoose, Lighttpd, Xavante and Lwan web servers
* Using Windows, Mac or Linux systems
* Compatible with MySQL, PostgreSQL, SQLite and others
* Compatible with MySQL, PostgreSQL, SQLite and other databases supported by the luasql library
* MVC structure
* Parsing of Lua pages
* Routing
* Email sending
* Basic Object-relational mapping
* Validation
* Layouts support
* App comes already shipped with Bootstrap
* Include, redirect
* Sessions, cookies
* Login module
* Easy deployment (unix only) -> sailor_create "app name" /dir/to/app
* Form generation
* Lua at client (possible through a Lua=>JS virtual machine deployed with the app)

* Features not yet released through Luarocks, but present in master branch
* Friendly urls
* Inspect function for better debugging => similar to a var dump
* Custom 404 pages
* Runs over Lighttpd, Xavante and Lwan web servers
* Relations
* Model generation (reading from DB)
* CRUD generation (reading from model)
* Theme and layout (now you can have multiple layouts inside a theme. e.g. 1-column and 2-column)


### Development progress
So far I have integrated with @mascarenhas's Lua Pages as a nice templater for views, we also have controllers, a mailer module, routes, basic models, db connection, a validation module, integration with lua51.js so we can use Lua at client-side, basic form generation, sessions, basic authentication, auto generation for models and CRUDs and some other stuff. We are now working on researching, refactoring, and making documentation for releasing a version 0.3. After that is done the roadmap is rewriting the DB module for benefiting from mod_lua's API, improving the autogen and the form features.
### Roadmap
* Integration with a test suite
* Improvements of Lua on the client side
* Integration with mod_lua's DB API and DB module refactor
* Improvements with the ORM

More about this project's motivation can be found here: http://etiene.net/sailor-building-a-lua-based-mvc-framework/

Expand All @@ -50,7 +47,7 @@ More about this project's motivation can be found here: http://etiene.net/sailor

### Supported Environments

Sailor has been tested under Linux, Mac OS X and Windows and is currently compatible with Apache with [mod_lua](http://www.modlua.org/) or [mod_pLua](https://github.com/Humbedooh/mod_pLua), Nginx with [ngx_lua](https://github.com/chaoslawful/lua-nginx-module), Lighttpd with [mod_magnet](http://redmine.lighttpd.net/projects/1/wiki/Docs_ModMagnet), or any CGI-enabled web server, like [Civetweb](https://github.com/bel2125/civetweb), [Mongoose](https://github.com/cesanta/mongoose) and [Xavante](http://keplerproject.github.io/xavante/), if [CGILua](https://github.com/keplerproject/cgilua) is present.
Sailor has been tested under Linux, Mac OS X and Windows and is currently compatible with Apache with [mod_lua](http://www.modlua.org/) or [mod_pLua](https://github.com/Humbedooh/mod_pLua), Nginx with [ngx_lua](https://github.com/chaoslawful/lua-nginx-module), [Lwan](http://lwan.ws/), Lighttpd with [mod_magnet](http://redmine.lighttpd.net/projects/1/wiki/Docs_ModMagnet), or any CGI-enabled web server, like [Civetweb](https://github.com/bel2125/civetweb), [Mongoose](https://github.com/cesanta/mongoose) and [Xavante](http://keplerproject.github.io/xavante/), if [CGILua](https://github.com/keplerproject/cgilua) is present.

### Installation

Expand Down Expand Up @@ -105,10 +102,20 @@ For more information on what you can do with html and Lua Pages, visit http://ke

For more examples, you can check the test controller (/controllers/test.lua), the test views (/views/test/*) and the User model (/models/user.lua)

### Suggestions or questions
### Documentation & Reference Manual
http://sailorproject.org/?r=docs


### Contributing
Contributions are welcome! Just make a pull request :)


### Suggestions, questions & hugs
Hugs! Not bugs. For bugs, fill an issue! :)

[email protected]

http://twitter.com/etiene_d


##### If you are having trouble to get it working or if you got it working using different specs, please contact me so we can exchange info and I can improve this manual. Thanks!
##### If you are having trouble to get it working or if you got it working using different specs, please contact me so we can exchange info and I can improve the manual. Thanks!
18 changes: 13 additions & 5 deletions docs/INSTALL_MAC.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,23 @@
## Installation for Mac

Sailor is compatible with a variety of operating systems and webservers. On this example, we will use OS X 10.9 Mavericks and Apache 2.4.
Sailor is compatible with a variety of operating systems and webservers. On this example, we will use OS X 10.10 Yosemite and Apache 2.4

### Installing dependencies

Sailor is compatible with both Lua 5.1 and Lua 5.2. OS X 10.9 Mavericks already comes with Apache 2.2 by default, but you can't use Lua scripts on it.
Sailor is compatible with both Lua 5.1 and Lua 5.2.

You need to install Lua, luarocks and Apache 2.4.

brew update
brew install lua luarocks zlib homebrew/apache/httpd24
brew install lua luarocks zlib

The default apache build however, does not come with Lua module by default.

brew edit httpd24

Find the list of enabled flags, after `args = %W[`, add `--enable-lua` and save the file.

brew install httpd24

After installing those packages, you need to enable `mod_lua` in Apache's configuration file. The file will probably be located at `/usr/local/etc/apache2/2.4/httpd.conf`. Add or uncomment the following directive:

Expand All @@ -19,9 +27,9 @@ It's also necessary to allow `.htaccess` files. Look for the `AllowOverride` dir

Now, you should restart Apache. You can use the following command for that:

sudo /usr/local/Cellar/httpd24/2.4.10/bin/apachectl restart
sudo /usr/local/Cellar/httpd24/2.4.12/bin/apachectl restart

Keep in mind that the specific version of Apache (in this case 2.4.10) might change.
Keep in mind that the specific version of Apache (in this case 2.4.12) might change.

### Installing Sailor

Expand Down

0 comments on commit 5be8319

Please sign in to comment.