A pocketful of small, ready-to-use online tools — built with Astro, served as plain static HTML/CSS/JS, and deployed to Cloudflare Pages.
Live: https://tools.ropean.org
- Static output — one standalone
.htmlper page plus extracted CSS/JS. No runtime framework on the page; interactivity is small vanilla-JS islands. - Searchable catalog — home page groups tools by category with instant search.
- Favorites — star any tool with the heart; favorites are saved locally and pinned to the top.
- External tools — off-site tools link out with their favicon and an "External ↗" marker.
- Dark mode — warm dark theme with a header toggle, following your system preference by default.
pnpm install
pnpm dev # http://localhost:4321| Command | What it does |
|---|---|
pnpm dev |
Astro dev server with HMR |
pnpm build |
Production build to _site/ |
pnpm preview |
Build, then locally preview _site/ |
pnpm ship |
Build + deploy to Cloudflare Pages (tools) |
pnpm ship:ci |
Build + deploy to Cloudflare Pages (tools-ci) |
src/
data/tools.js # Tool catalog (categories + tools) and helpers
layouts/ # Base shell + shared tool-page chrome (ToolLayout)
components/ # Header, Footer, cards, icons
pages/ # index, about, and one page per tool
styles/theme.css # Design tokens (light + dark) and shared styles
public/ # Static assets served at the site root
astro.config.mjs # Build config (outputs to _site/)
- Add an entry to
TOOLSinsrc/data/tools.js({ id, category, name, desc, ready: true, icon }). - Create
src/pages/<id>.astrousingToolLayout(copy an existing tool page as a starting point). For an off-site tool, setexternal: 'https://…'instead of creating a page. pnpm buildand verify.
See CLAUDE.md for the full contributor guide and conventions.
Pushing to a ci* or release* branch triggers
.github/workflows/deploy-to-cloudflare.yml, which builds and deploys _site/
to Cloudflare Pages (ci* → staging, release* → production).
The visual system is a warm "paper" theme documented in
design/lovable-DESIGN.md.