
Madam π A lightweight local web server for Design Prototyping β’ Front-end Development π
Pew pew pew! ZWIFF! Boom!
- 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
MITlicense - Pew pew pew! ZWIFF! π
Because NodeJS environment sucks and there are no other lightweight / easy to setup alternatives.
Prototyping. Showcase. JavaScript, HTML, CSS projects, libraries or packages. Also best for testers and designers. Pew pew again!
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/binMadam π 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.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 requestThe way you can stay DRY. Madam brings layouts, views and partials logic to your project.
On hold, Madam depends on π Tim Template Engine (WIP)
todo
- Create logo
- Embedding Httpbeast
- Routes Handler
- Static Assets Handler
-
initcommand -
runcommand with--verboseflag -
buildcommand - 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
- Fake content generator based on Faker Nim library
- Madam GUI
Madam | MIT license. Made by Humans from OpenPeeps.
Copyright Β© 2023 OpenPeeps & Contributors β All rights reserved.
