# Datevora

30 free date calculators with an English interface. Static HTML, CSS and vanilla JavaScript. No build step or runtime library is needed. Open index.html in a current browser. Calculations require JavaScript.

## Files

- calculators.js: pure calculation engine and definitions of all 30 calculators.
- app.js: forms, validation, results, clipboard, search, category filtering and current-month display.
- tools/: 30 individual calculator pages, each with a title and description.
- about.html: calendar conventions and methodology.
- privacy.html: local calculations, Cloudflare hosting and Google advertising disclosure.
- ads.txt: Google AdSense publisher authorization.
- catalog.json, sitemap.xml, robots.txt: tool metadata and discovery.
- tests/calculators.test.cjs: automated engine checks and edge cases.

## Conventions

Proleptic Gregorian calendar, years 1600–9999. Date-only arithmetic uses UTC internally and avoids daylight-saving offsets. Browser-local today is used for default inputs. No time-zone conversion is performed. Working days are Monday–Friday with only manually supplied holidays excluded. Earlier boundary excluded, later boundary included. Each tool describes its conventions, examples, month clamping and leap-day treatment. Results are general calendar calculations, not jurisdiction-specific deadlines or statutory age determinations.

## Tests

With Node.js 20+ and no dependencies:

```sh
node --test tests/calculators.test.cjs
```

The suite exercises every calculator, leap years, invalid inputs, month ends, ISO-year boundaries, birthdays, recurrence and working-day arithmetic. A separate daily-count reference checks 400 business-day intervals in both directions.

## Hosting

Cloudflare Pages: create a Direct Upload project, upload this folder or its ZIP with index.html at the root, then deploy. No build command or environment variables. On GitHub Pages, upload to a public repository and choose main / root as the Pages publishing source. Include .nojekyll. tools/ pages use relative base paths.

## Advertising

AdSense account ca-pub-9210134728441760 is integrated in the homepage and calculator pages. Advertising requires Google's site approval, account readiness, Auto ads settings and the relevant consent configuration. ads.txt authorizes this publisher. Privacy and About pages deliberately contain no ad script. The source package is not a guarantee of AdSense approval.

## License

MIT; see LICENSE. Created for this project with AI assistance. No third-party date-calculation library, icon library, remote fonts or analytics library is bundled. Google AdSense loads an external advertising script on calculator pages.
