Open Collective
Open Collective
Loading

WebServer.ex

PROJECT
Part of: Situs.run

Powerful, context-aware hypertext pre-processor and content supervisor.

About


The first release of the Situs.run/WebServer.ex (Elixir web server) is almost complete!

This is an elegant and powerful content supervisor and context-aware, hypertext-preprocessor that manages "sites", which are expressed as simple content directories. Composition of hypertext partials is delivered as an in-built Twig-style templating engine (codename: "Sprig") as well as providing pre-processing for encursive hypertext partials, which may be further trans-published and routed on the client-side with the front-end Situs `hypertext.mjs` module (automatically by swapping the `href`).

The Elixir server is rapidly approaching a state of completion as a minimum viable solution (minimal being an incredible understatement), considering that this includes IPFS resolution and hypertext composition.

The Situs.run/WebServer.ex will be released as a single-file binary executable BEAM Burrito,
cross-compiled for Linux, Mac, and Windows. Installation and usage will be as simple as:
  1. add the binary to your PATH
  2. change to site directory
  3. run the binary to launch a web server . . 
     
Changes to your content are immediately reflected on next requests without a compilation step of course! The Elixir Web Server is pre-compiled and generic . . . run as many sites as you want. 

You may optionally configure your site with a `site.yaml` file at the root of your site directory; otherwise there is only a public directory, optionally configurable: call it what you want, but "public" is default. Will also want to provide a protected directory in a future release but currently undecided the best way to manage permissions for it and deferring pending more contextual awareness.

The server is IPFS-aware, so if you have `ipfs` on your PATH, then it will be used to replicate everything published to your public directory. It will also resolve IPFS links, serving them directly or through gateway according to a client's capabilities.

Our team

Gyuri Lajos

Core Contributor

Gien Wong

Core Contributor

Contribute


Become a financial contributor.

Financial Contributions

Custom contribution
Donation
Make a custom one-time or recurring contribution.