Skip to content
/ amagaki Public

A high-performance TypeScript static website generator for building highly-interactive websites. Localization inbuilt. Flexible URLs. Content managed and templates separated.

License

Notifications You must be signed in to change notification settings

blinkk/amagaki

Repository files navigation

Amagaki

NPM Version GitHub Actions codecov TypeScript Style Guide

Amagaki is a marketing website generator. It's written in TypeScript and TS is a first-class citizen. It's specifically built for hand-coding marketing and informational websites. Flexible URLs, benchmarking, localization, a plugin system, and multiple template engines are all built-in.

Amagaki takes concepts from Grow.dev and evolves them to a TypeScript-first ecosystem.

Key concepts

  • TypeScript and Node
  • Minimal core dependencies
  • Inbuilt build metrics (memory usage, generated file size, routes, locales, translations)
  • Multiple template languages (Nunjucks as default)
  • A static site generator (not a frontend framework)
  • Renders pages at request time (unlike other static generators which watch and rebuild)
  • Localization is an inbuilt feature
  • Custom YAML types for extending the content layer
  • Plugin system
  • Benchmarking inbuilt

Try it out

Amagaki is distributed as an npm package. When starting a new site from scratch, we recommend using create-amagaki which uses the official amagaki-starter.

# Create a new Amagaki project interactively
npx create-amagaki

# Start the dev server
npm run dev

# Build the site
npm run build

If you are integrating into an existing project, you can install Amagaki directly.

# Install Amagaki
npm install --save @amagaki/amagaki

Benchmarks

You can view the benchmark history that shows the benchmark metrics when running amagaki build against the amagaki-benchmark test repository.