openpeeps/madam
Madam ๐ A lightweight local web server for Design Prototyping ๐จ and Front-end Development ๐ WIP

Madam ๐ A lightweight local web server for Design Prototyping โข Front-end Development ๐
Pew pew pew! ZWIFF! Boom!
๐ 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
MITlicense - 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 requestMadam 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
-
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
0.2.0
- Fake content generator based on Faker Nim library
0.3.0
- Madam GUI
๐ฉ License
Madam | MIT license. Made by Humans from OpenPeeps.
Copyright ยฉ 2023 OpenPeeps & Contributors โ All rights reserved.
