/orbit

A Gemini app framework for Elixir

Primary LanguageElixirMIT LicenseMIT

🪐 Orbit - a Gemini app framework for Elixir

Module Version Hex Docs

A simple framework for a simple protocol.

🚧 🚧 🚧 Alpha software - under active delopment 🚧 🚧 🚧

Orbit borrows a lot of ideas from Plug and Phoenix.

  • The foundation consists of:

    • Orbit.Capsule - TLS endpoint that accepts incoming connections (like Phoenix.Endpoint and cowboy combined)
    • Orbit.Request - encapsulates the request-response lifecyle (like Plug.Conn)
  • Your application implements:

    • Orbit.Pipe - the behaviour for request middleware (like Plug)
    • Orbit.Router - defines pipelines and routes
    • Orbit.Controller - processes requests and render views
    • Orbit.View - renders Gemtext content
  • Some additional niceties:

    • Orbit.Static - serves up static content
    • Orbit.Status - applies response status codes

There's still a lot TODO!

See the GitHub project for the latest progress.

Installation

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

See the Quick Start guide for installation instructions.