RESTAS is a Common Lisp web application framework. Its key features are: RESTAS was developed to simplify development of web applications following the REST architectural style. RESTAS is based on the Hunchentoot HTTP server. Web application development with RESTAS is in many ways simpler than with Hunchentoot, but some knowledge of Hunchentoot is required, at least about working with hunchentoot:request and hunchentoot:reply. Request dispatch is based on a route system. The route system is the key concept of RESTAS and provides unique features not found in other web frameworks. The other key RESTAS concept is its module system, which provides a simple and flexible mechanism for modularized code reuse. Interactive development support. Any RESTAS code (such as the definition of a route, a module or a submodule) can be recompiled at any time when you work in SLIME and any changes you made can be immediately seen in the browser. No web server restart or other complicated actions are needed. SLIME integration. The inner structure of a web application can be investigated with the standard "SLIME Inspector." For example, there is a "site map" and a simple code navigation with this map. Easy to use, pure Lisp web application daemonization facility based on RESTAS and SBCL in Linux without the use of Screen or detachtty. RESTAS is not an MVC framework, although it is not incompatible with the concept. From the MVC point of view, RESTAS provides the controller level. Nevertheless, RESTAS provides an effective and flexible way for separation of logic and representation, because it does not put any constraints on the structure of applications. Separation of model and controller can be effectively performed with Common Lisp facilities, and, hence, doesn't need any special support from the framework. RESTAS does not come with a templating library. cl-closure-template and HTML-TEMPLATE are two good templating libraries that can be used with RESTAS. RESTAS is distributed under the terms of the Lisp LGPL license. https://github.com/archimag/restas Also available plugins for Restas: https://github.com/archimag/restas-directory-publisher - plugin for publish directories with optional support AutoIndex and execute CGI-scripts https://github.com/archimag/restas-planet - plugin for aggregate and publish news feeds https://github.com/archimag/restas-colorize - - simple wiki engine, based on Dokuwiki markup https://github.com/archimag/restas-wiki - pastebin plugin Sample ebuild can be found at: https://github.com/archimag/archimag-lisp-overlay/tree/master/dev-lisp/restas https://github.com/archimag/archimag-lisp-overlay/tree/master/www-restas
forgot to add some more plugins: https://github.com/archimag/restas-forum - Forum module for RESTAS https://github.com/archimag/restas-simple-auth - Simple RESTAS-plugin for user registration and authentication
Sample ebuilds working ok without any modification just by copying into the lisp tree
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/lisp.git/commit/?id=4c99d2bb9c095e711767aa8a912a90c4bc82c0c9 commit 4c99d2bb9c095e711767aa8a912a90c4bc82c0c9 Author: Chema Alonso Josa <nimiux@gentoo.org> AuthorDate: 2017-10-22 08:21:01 +0000 Commit: Chema Alonso Josa <nimiux@gentoo.org> CommitDate: 2017-10-22 08:21:01 +0000 dev-lisp/restas: Adds new ebuild. Bug: https://bugs.gentoo.org/379625 dev-lisp/restas/Manifest | 4 +++ dev-lisp/restas/files/70restas-gentoo.el | 2 ++ dev-lisp/restas/files/restas.lo | 33 +++++++++++++++++++++ dev-lisp/restas/restas-0.1.4.ebuild | 51 ++++++++++++++++++++++++++++++++ 4 files changed, 90 insertions(+)}
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/lisp.git/commit/?id=c96f8b9f5c0f5e15455ae18ff0374a30f2f85ae7 commit c96f8b9f5c0f5e15455ae18ff0374a30f2f85ae7 Author: Chema Alonso Josa <nimiux@gentoo.org> AuthorDate: 2017-10-22 08:21:01 +0000 Commit: Chema Alonso Josa <nimiux@gentoo.org> CommitDate: 2018-03-09 17:38:38 +0000 dev-lisp/restas: Adds new ebuild. Bug: https://bugs.gentoo.org/379625 dev-lisp/restas/Manifest | 4 +++ dev-lisp/restas/files/70restas-gentoo.el | 2 ++ dev-lisp/restas/files/restas.lo | 33 +++++++++++++++++++++ dev-lisp/restas/restas-0.1.4.ebuild | 51 ++++++++++++++++++++++++++++++++ 4 files changed, 90 insertions(+)}
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/lisp.git/commit/?id=b69b0724aa977f316a4db92c8347db5dad22e8cc commit b69b0724aa977f316a4db92c8347db5dad22e8cc Author: Chema Alonso Josa <nimiux@gentoo.org> AuthorDate: 2017-10-22 08:21:01 +0000 Commit: Chema Alonso Josa <nimiux@gentoo.org> CommitDate: 2018-03-09 21:34:19 +0000 dev-lisp/restas: Adds new ebuild. Bug: https://bugs.gentoo.org/379625 dev-lisp/restas/Manifest | 4 +++ dev-lisp/restas/files/70restas-gentoo.el | 2 ++ dev-lisp/restas/files/restas.lo | 33 +++++++++++++++++++++ dev-lisp/restas/restas-0.1.4.ebuild | 51 ++++++++++++++++++++++++++++++++ 4 files changed, 90 insertions(+)}