Thanks to visit codestin.com
Credit goes to github.com

Skip to content

geomlattice/orbit

 
 

Repository files navigation

🪐 Orbit - a Gemini app framework for Elixir

Module Version Hex Docs

A simple framework for a simple protocol.

Orbit is a framework for building Gemini applications, known as "capsules".

This framework focuses primarily on the Gemini protocol itself, intent on getting a request into your application, handling it, and sending a Gemtext response.

It doesn't make any assumptions about your business logic, backing database, migrations, or anything like that. If you need a database, you can add it manually.

Concepts

Orbit borrows a lot of ideas from Plug and Phoenix.

  • Orbit.Endpoint - the TLS server that accepts incoming requests (Phoenix.Endpoint + cowboy)
  • Orbit.Request - encapsulates the request-response lifecyle (Plug.Conn)
  • Orbit.Pipe - the behaviour for request middleware (Plug)
  • Orbit.Router - defines pipelines and routes (Phoenix.Router)
  • Orbit.Controller - processes requests (Phoenix.Controller)
  • Orbit.Gemtext - renders Gemtext templates (Phoenix.Component)

Some additional niceties:

  • Orbit.Static - serves up files from priv/statc (Plug.Static)
  • Orbit.Status - a canonical list of all status codes
  • Orbit.ClientCertificate - extracts client certificates from the request

Installation

Orbit can be added to a new or existing application, including a Phoenix one.

See the quickstart guide for installation instructions.

About

A Gemini app framework for Elixir

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Elixir 97.8%
  • HTML 2.2%