Skip to content

openpeeps/madam

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

89 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation


Madam πŸ’‹ A lightweight local web server for Design Prototyping β€’ Front-end Development 🌈
Pew pew pew! ZWIFF! Boom!

πŸ‘‹ Madam Welcome Screen is sooo POP! πŸ™€ Madam - Welcome screen

😍 Key Features

  • Compiled, Fast, Low memory foot-print πŸƒ
  • < 1MB file size binary app
  • < 3MB RAM usage in Welcome Screen πŸ₯³
  • Install once, run anytime, as many servers you need πŸ‘Œ
  • No code required
  • Serve Static Assets πŸ“¦
  • Configuration via madam.yml
  • Static HTML Website Generator
  • Routes Management via madam.routes.yml
  • Supports all HTTP verbs, GET, POST, HEAD, etc.
  • Madam Skins / Template Engine via Tim for layout, view, partials
  • Made for Design Prototyping and Front-end Development
  • Works on Linux and OS X
  • Open Source under MIT license
  • Pew pew pew! ZWIFF! πŸ’‹

Why ?

Because NodeJS environment sucks and there are no other lightweight / easy to setup alternatives.

πŸ₯³ Best for

Prototyping. Showcase. JavaScript, HTML, CSS projects, libraries or packages. Also best for testers and designers. Pew pew again!

πŸ’… Installing

Madam is currently available for OS X and Linux distributions only. You can compile Madam by yourself, or get the latest version from GitHub releases.

Setup Madam to your PATH and do the do πŸ€“ Better said, do the blue! 😎

ln -s ~/path/to/your/madam /usr/local/bin

✨ Madam Commands

Madam πŸ’‹ A Lightweight & Fast Local Web Server for
Design Prototyping 🎨 and Front-end Development 🌈
πŸ‘‰ Info, updates and bugs: https://github.com/openpeeps/madam

Usage:
   init                           Create a new Madam configuration file from CLI
   run [--verbose]                Run local server. Use verbose flag for tracking requests
   build                          Build current project to Static HTML Website

Options:
  -h --help                       Show this screen.
  -v --version                    Show Madam version.

Developing with Madam

Run madam init in your project directory and setup your madam.yml via command line wizard.

Here you can find a beautiful madam.yml configuration that covers all Madam features.

name: "Awesome Madam"
path: "./example"                   # path to your root HTML project
port: 1230                          # optional | default 1010

# Paths for layouts, views or partials
# These paths are prepended with project path provided above
# For example, layouts will point to "./example/layouts"
templates:
    layouts: "layouts"              # directory path for layouts
    views: "views"                  # directory path for views
    partials: "partials"            # directory path for partials


routes:
    get:
        about: "about.html"
        products/my-product: "product.html"
        publish: "publish.html"

# Define your custom Middlewares
middlewares:
    auth: "@login.session"      # a fake auth middleware

# Setup Static Assets to serve any kind of static files via Madam
assets:
    source: "./dist/assets/*"        # Path on disk for indexing the static assets
    public: "/assets"                # Public route for accessing the static assets

# Customize console output
console:
    logger: true                    # Enable http request logger
    clear: true                     # Clear previous console output on request

Madam Skins

The way you can stay DRY. Madam brings layouts, views and partials logic to your project.

On hold, Madam depends on πŸ‘‰ Tim Template Engine (WIP)

Create the first page

todo

Roadmap

0.1.0

  • Create logo
  • Embedding Httpbeast
  • Routes Handler
  • Static Assets Handler
  • init command
  • run command with --verbose flag
  • build command
  • Multi-threading while generating project to Static HTML
  • Templating via Tim Engine supporting layouts, views, partials
  • GitHub Workflow Action for Cross Compilation and Release
  • Talk about it on ycombinator / stackoverflow / producthunt

0.2.0

0.3.0

  • Madam GUI

🎩 License

Madam | MIT license. Made by Humans from OpenPeeps.
Copyright Β© 2023 OpenPeeps & Contributors β€” All rights reserved.

Releases

No releases published

Packages

No packages published

Languages