the sampu Haskell blog engine

https://eversole.co

a work-in-progress blog engine using simple flat-file Markdown content storage

sampu is a word in Lojban with the English definition:

"x1 is simple/unmixed/uncomplicated in property x2"

Therefore, la sampu cu sampu lo ka samtci!

Stack

Goal

Provide a simple blog engine that is easily customizable via HTML fragments.

Build and Deployment

Only Nix build instructions are provided below.

No Containers

  1. Clone this repository
  2. Build the application (with flakes enabled): nix build '.#'
  3. Set the environment variables
    • File: cp data/.env.example ./.env; $EDITOR ./.env
    • If you want to set them in a different way, you already know how.
  4. Run the application: ./result/bin/sampu

Containers

  1. Clone this repository
  2. Build the container image (with flakes enabled): nix build .#sampu-container
  3. Load the container image: podman load -i result
  4. Run the container using your favorite orchestrator or...
  5. Use a NixOS configuration:
virtualisation.oci-containers.containers.sampu = {
  image = "sampu";
  ports = [ "${SAMPUR_EXTERNAL_PORT}:3000" ];
  volumes = [
    "/PATH/TO/SAMPU/data:/app/data"
  ];
  environment = {
    SAMPU_PORT = "3000";
    SAMPU_TITLE = "Your Blog Title Here!";
    SAMPU_BASEURL = "http://example.public.tld"; 
  };
};

Development and Support

Per the permissive ISC license, you are free to do what you wish with this software. No guarantees are made to its usability, security, or functionality.

Copyright James Eversole (james@eversole.co)

Description
The sampu blog engine
Readme
Languages
Haskell 91.1%
Nix 8.9%