A small Poops template for static sites with JS + SCSS bundling and Markdown-based page generation.
Requires Node.js and git (both scaffolders shell out to git).
npm create poops@latest my-appThis uses create-poops to pull the latest template. Pick a flavor as the second argument (default base):
| Template | Ships with |
|---|---|
base |
this repo — clean poops starter |
sulphuris |
+ sulphuris CSS framework, book-of-spells |
hat |
+ htmx, Alpine.js, Tailwind |
npm create poops my-app baseOr clone this repo directly without create-poops:
npx degit stamat/shitstorm my-app| Layer | Included |
|---|---|
| Runtime | Node.js + npm |
| Build tool | poops (npm run dev, npm run build) |
| Scripts | ES modules from src/scripts/script.js |
| Styles | SCSS entry points in src/styles/ |
| Markup | Markdown content + layout templating in src/markup/ |
| Data | YAML data files (example: src/markup/_data/fonts.yaml) |
| Static assets | Copied from src/static to dist |
| Dev UX | Local server on port 4040 + live reload |
| Lint | ESLint (JS) + Stylelint (SCSS) |
| Tests | Jest (npm test) |
| CI | GitHub Actions — lint + test on push/PR, deploy on main |
| Output | Built site in dist/ with minified assets + source maps |
src/
markup/ # pages, layouts, data
scripts/ # JavaScript entry points
styles/ # SCSS entry point
static/ # copied as-is to dist
dist/ # generated output
poops.json # build + serve config
npm install
npm run devBuild for production:
npm run buildnpm run lint # ESLint (JS) + Stylelint (SCSS)
npm test # Jest — builds and asserts dist/ outputCI runs both on every push and pull request (.github/workflows/ci.yml); pushes to main also deploy to GitHub Pages (.github/workflows/pages.yml).