LeanWeb is a minimal hybrid static / dynamic web framework.
LeanWeb a very lean MVC framework on top of Rack that works for static and dynamic content alike. The idea is to build static websites first, but not having to rely on dirty tricks for adding dynamism when needed.
It currently only supports ERB files by default and .haml files as input for views, but support for Markdown and org-mode is expected soonish.
leanweb gem on your system.
Create a new project with
leanweb new <project-directory>.
You're ready to go!
routes.rb, check API documentation to know how.
You can run a development server with
API documentation is in YARD, you can access a web version on
https://leanweb.hacktivista.org. Specially relevant are docs on
LEANWEB_ROOT_PATHdefines the route to the project, defaults to current directory.
RACK_ENVif set to
development, serves static files and routes too, else it will only serve dynamic routes.
You'll not need to configure neither with the default configuration.
Build static files with
rake build. This might be all you need to do for
If your website has dynamic routes, serve with
rackup -E deployment. Then
configure your webserver to serve dynamic routes by listening to port
static files on
Source code is available on https://git.hacktivista.org/leanweb.
Bug reports and patches are welcome on https://lists.hacktivista.org/hacktivista-dev.
Only tested contributions are accepted. Run tests with
rake install or
LeanWeb is libre software released under the Hacktivista General Public License 0.1 or any later version. Which means it works exactly as the GNU AGPL license but every copy counts as distribution, even for "internal usage".
To comply with license terms, if you modify this software you must prominently provide the means to access the source code of your version of the software easily and free of charge to any person that has access to it, even users which access through a network (i.e. web browser).
Any modification or inclusion of this source code will inherit the same license, that is, it can't be sublicensed.