Skip to content

zeroasiccorp/zaui

Repository files navigation

zaui

Generate a website from markdown with a minimum of fuss.

  1. pnpm install -D @zeroasic/zaui
  2. pnpm zaui dev
  3. Type o to open your browser.

More details in the guide at zaui.zeroasic.com.

zaui

This library provides

  • A preconfigured SvelteKit app with a Vite dev server and build.
  • Tailwind CSS, and the Tailwind typography plugin.
  • Markdown rendering based on Markdoc.
  • A set of built-in website navigation and page components.
  • A way to customize the design, and add your own Svelte components.
  • Static publishing using the SvelteKit static adapter.
  • TypeScript

Coming soon

  • Contact and newsletter forms
  • User signup and authentication.

Background

The name 'zaui' originated from "Zero ASIC UI", where it powers the zeroasic.com website.

Inspiration for the developer experience of zaui came from VitePress. The main achitectural difference is that zaui can fetch and render markdown dynamically in the browser, similar to docsify.

Installation

Use npm, pnpm, or yarn. E.g.

pnpm install -D @zeroasic/zaui

Usage

  • zaui dev launches a dev server to render a preview of the website while you edit content.
  • zaui build produces a static build of the website files.

The zaui project directory can be passed as an argument E.g. zaui dev docs when your zaui project lives in the docs subdirectory of your repo.

For non-global installs, these commands should be added as package.json scripts E.g.

  "scripts": {
    "dev": "zaui dev",
    "build": "zaui build"
  }

Directories

You can override the default directories with env vars. More details in zaui.js

  • ZAUI_PROJECT_DIR defaults to current working directory, with other directories below that.
  • ZAUI_CONTENT_DIR is where markdown files live - defaults to ./content
  • ZAUI_BUILD_DIR is where build output is written - defaults to ./build
  • ZAUI_SRC_DIR: is optional, where custom components live - defaults to ./src