natemoo-re / Microsite
Programming Languages
Projects that are alternatives of or similar to Microsite
Read the docs | See the live examples | Join our Discord
microsite
is a fast, opinionated static-site generator (SSG) built on top of Snowpack. It outputs extremely minimal clientside code using automatic partial hydration.
npm init microsite
Microsite is an ESM node package, so it needs to run in a Node environment which supports ESM. We support the latest version of
node
v12.x LTS (Erbium) — see Engines for more details.Ensure that your project includes
"type": "module"
inpackage.json
, which will allow you to use ESM in your project'snode
scripts.
Pages
Microsite uses the file-system to generate your static site, meaning each component in src/pages
outputs a corresponding HTML file.
Page templates are .js
, .jsx
, or .tsx
files which export a default
a Preact component.
Styles
Styles are written using CSS Modules. src/global.css
is, as you guessed, a global CSS file injected on every page.
Per-page/per-component styles are also inject on the correct pages. They are modules and must be named *.module.css
.
Project structure
project/
├── public/ // copied to dist/
├── src/
│ ├── global/
│ │ └── index.css // included in every generated page
│ │ └── index.ts // shipped entirely to client, if present
│ ├── pages/ // fs-based routing like Next.js
│ │ └── index.tsx
└── tsconfig.json
Acknowledgments
-
Markus Oberlehner,
vue-lazy-hydration
- Markus Oberlehner, Building Partially Hydrated, Progressively Enhanced Static Websites with Isomorphic Preact and Eleventy
- Lukas Bombach, The case of partial hydration (with Next and Preact)
- Jason Miller and Addy Osmani, Rendering on the Web
-
Poimandres,
valtio
for inspiringmicrosite/global