/vinland

Common Lisp web framework

Primary LanguageCommon LispApache License 2.0Apache-2.0

vinland

Common Lisp web framework

Website: https://www.vinland.dev/

Vinland is a Clack-based web framework built on the Raven URL router.

Warning

Vinland is BETA software. Breaking API changes may be introduced.

Additionally, struct definitions may be updated from time to time, so it is recommended to restart the Lisp process whenever upgrading.

Getting Started

Quickstart

Refer to the Quickstart Guide in this repository for instructions on generating a new project and getting started with Vinland.

Demo app

See vinland-todo-app for an example of an application built with Vinland and Hotwire.

Installation

Not in Quicklisp, so clone the repository to "local-projects/".

Development

Run tests:

(ql:quickload "foo.lisp.vinland")

(asdf:test-system :foo.lisp.vinland)

Roadmap

The Vinland skeleton does not yet provide, but plans to support:

  • integration with a configuration library (under development)
  • migrations and database integrations (support is planned for at least: cl-migratum, cl-dbi, and postmodern)
  • integration with system managers: Qlot, CLPM, ocicl
  • integration with a templating library as an alternative to Spinneret
  • integration with a JavaScript bundler as an alternative to importmaps

These features will be added in approximately the order listed above.

Dependencies

Test dependencies

Contributing

Open an Issue or Pull Request on GitHub.

If you decide to open a Pull Request, please provide context to your changes: describe the impact, what problem it solves for you, and any alternative approaches you considered.

Author

Copyright

Copyright (c) 2024 John Newton

License

Apache-2.0