This repository houses the logic for the web site
https://madwizard.io. It showcases
madwizard
, which is a way
to automate turning markdown source into a wizard user experience.
This repo uses the Kui
project to generate a static single page web app. Kui includes a
plugin that visualizes the madwizard
wizard experience.
You may use this repo as a starting point for crafting your own (similar) site. After cloning, start the watcher:
npm run watch
then visit http://localhost:9080. We use
Playwright for tests. Run the
tests via npm test
.
This repository uses a GitHub Actions workflow to build the webpack bundles and deploy them to a site managed by GitHub Pages.
If you want to build the bundles manually, use npm run build
, and
look in dist/webpack
for the index.html, etc.
You can customize your web app in the following ways:
-
Custom list of guidebooks: guidebook config; you can also specify which of these should be displayed onload via autoplay config. Drop any new guidebooks in
plugins/plugin-client-offline/config.d/notebooks/
, and they will automatically be available on the filepath e.g./kui/client/foo.md
for a filefoo.md
that you dropped into thenotebooks/
directory. Use this filepath in theautoplay.json
andnotebooks.json
config files. -
Custom name: name config
-
Custom icon: icon files and icon config
-
Custom bottom stripe widgets: modify the React client code. In particular, look for the
ContextWidgets
andMeterWidgets
bits. Here are some example bottom stripe widgets:Beware that the latter two may make less sense (in their current form) in an offline static-single-page web application. Hopefully they can provide at least some inspiration.
-
Custom info to be displayed when pasting your URL in Slack, Twitter, etc. OpenGraph config.