Skip to content

Mastro 👨‍🍳

Craft kit for people that care about websites

Section titled “Craft kit for people that care about websites”

A painter cares about pigments and paper.
A cook cares about plants, herbs and meat.
A “webmastro” cares about HTML and CSS.

Since 1991, people building websites have been called lots of things: webmaster, web designer, frontend engineer. What has stayed the same, is that to create truly great websites, you need to care about your users, and you need to care about your HTML and CSS.

Introductory guide to HTML, CSS and JavaScript. Learn how to handcraft a website and publish it to GitHub Pages for free – all from within your browser.

Build and publish your first website

The static site generator that runs in your browser

Section titled “The static site generator that runs in your browser”

The Mastro Visual Studio Code for the Web extension generates a website right in your browser.

Get started

Mastro is also a minimal Astro-like framework and static site generator built from first principles.

  • No bundler: gives you a small number of composable abstractions to write HTML, CSS and JS – without any complex tool messing with your code before it reaches the browser.
  • No client-side JavaScript: create lean websites, that load blazingly fast.
  • No bloat: written in just ~700 lines of TypeScript, Mastro is easy to fork and adapt. It runs either in a VS Code extension, or on Deno (Node.js, Bun and Workers are in the works).

Give it a try! To start a new project: install Deno, run the following command, and follow the guide.

deno run --allow-write jsr:@mastrojs/mastro@0.0.5/init
Learn more on GitHub API docs

Reactive Mastro – interactivity simplified

Section titled “Reactive Mastro – interactivity simplified”

A tiny (2.8k min.gz) client-side reactive GUI library for your existing MPA or Mastro project.

Build interactive user interfaces Why Reactive Mastro?