Resources & guides
The public site includes a Resources section at https://sailboat.racing/resources — guides and
free calculators about sailing race scoring, aimed at sailors and race officers. It is separate from
this system documentation (which lives at docs.sailboat.racing). It is reachable from the main site
navigation (header and footer) on every page.
Portsmouth Yardstick
The first cluster covers the Portsmouth Yardstick, at /resources/portsmouth-yardstick:
- How it works — what a Portsmouth Number is and where the numbers come from.
- How returns work — how clubs' results feed the RYA's annual recalculation.
- Corrected time formula — how the
elapsed × 1000 ÷ PNformula works, with a worked example. - Corrected time calculator — enter boats, sail numbers, and elapsed times to rank a full fleet by corrected time (uses national PY numbers).
- Pursuit racing — what a pursuit race is, why clubs run them (typically as a one-off or annual fixture), how the staggered start is worked out, and how it differs from handicap racing, with a worked example.
- Pursuit race calculator — standalone staggered start-time calculator using national PY numbers.
- Average lap racing — scoring boats that sail different numbers of laps, including the Same PN adjustment.
- Average lap calculator — enter boats with class, sail number, elapsed time, and lap count to rank a fleet by corrected time with the Same PN adjustment applied automatically (uses national PY numbers).
- Club adjustments — when and how to adjust national numbers or set your own.
- National PY number lists — the full RYA Portsmouth Yardstick list for each year held in the
system (e.g. 2025, 2026), sourced from the public handicap lists named
RYA PY List <year>.
"How it works", "How returns work", and "Club adjustments" are authored as Markdown. The corrected
time, average lap, and pursuit racing explainers are server-rendered Scalatags pages (they carry FAQ
structured data inline), as are the calculators and number lists. All are included in the sitemap and
llms.txt so search engines and AI tools can find them.
Racing Rules of Sailing
The second cluster covers the Racing Rules of Sailing, at /resources/racing-rules:
Scoring rules:
- Official sources — where to find the current RRS, how often it is updated, and what RYA prescriptions add for UK clubs.
- Low points scoring — how finish positions become scores, penalty scores (DNF, DNS, OCS, DSQ, N+1), and why consistency is rewarded.
- Discards — how dropping your worst result works, common formulas, and the DNE (Disqualification, Not Excludable) score that can never be discarded.
- Tie-breaking — the RRS Appendix A sequence for breaking equal series totals, including why discarded races re-enter the picture.
On-the-water rules:
- Port and starboard right of way — Rule 10, how to tell which tack you are on, and what keep clear means.
- Windward and leeward rule — Rule 11 (windward keeps clear when overlapped), luffing rights, and Rule 17 (overlap from astern restriction).
- Room at the mark — Rule 18, the three-boat-length zone, establishing overlap, and the starting mark exception.
- Starting line rules — the 5-4-1-0 signal sequence, OCS, individual and general recalls, and the I (Rule 30.1), Z (30.2), U (30.3), and black flag (30.4) penalties.
- Penalty turns — Rule 44.1 (720 for Part 2 breaches), Rule 44.2 (360 for touching a mark), and how to execute turns correctly.
- How to protest — when and how to hail, fly flag B, file the form, and what happens at a hearing.
Alternative formats:
- Match racing — one-on-one format, pre-start tactics, on-water umpiring, famous competitions, and club-level participation.
- Team racing — 3v3 combined scoring, attack/defend tactics, Appendix D rules, and where it is popular (BUSA, RYA, US college sailing).
All articles are Markdown files under web/src/main/resources/content/racing-rules/. The hub page (/resources/racing-rules) is a static Scalatags page in RacingRulesHubPage.scala, served through the ContentRegistry.
How content is authored
Prose guides are Markdown files under web/src/main/resources/content/, with YAML front-matter
(title, description, optional updated, noindex, and an faq list that becomes FAQ structured
data). Interactive calculators and the national number lists are server-rendered pages. A content
registry keeps routing, the sitemap, and llms.txt in sync, so new guides appear everywhere
automatically.
Front-matter is parsed as YAML, so any title or description value containing a colon must be
quoted (for example title: "Room at the mark: how Rule 18 works"); otherwise the article fails to
load and the page 404s.