All the ways to write a timer

One phase for every way you can write a timer — seconds, minutes, hours, clock-style, and an open-ended phase with no timer at all.

ready to use download the file

The pattern

---
weave-script-version: 1
title: Duration forms
description: Exercises every accepted duration syntax in one pattern.
---

# Raw seconds <!-- duration: 90 -->

Body.

# Seconds suffix <!-- duration: 30s -->

Body.

# Minutes <!-- duration: 2m -->

Body.

# Compound <!-- duration: 1h30m -->

Body.

# mm:ss <!-- duration: 2:30 -->

Body.

# hh:mm:ss <!-- duration: 1:00:00 -->

Body.

# Open-ended

No duration — host advances manually.

What Weave sees

When Weave reads this file, it pulls out the information below. You don't need to write any of this yourself.

{
  "schemaVersion": 1,
  "meta": {
    "sourceSpecVersion": 1,
    "title": "Duration forms",
    "description": "Exercises every accepted duration syntax in one pattern.",
    "attributes": {}
  },
  "phases": [
    {
      "id": "1-raw-seconds",
      "index": 0,
      "name": "Raw seconds",
      "durationSeconds": 90,
      "perParticipant": false,
      "body": "Body.",
      "attributes": {}
    },
    {
      "id": "2-seconds-suffix",
      "index": 1,
      "name": "Seconds suffix",
      "durationSeconds": 30,
      "perParticipant": false,
      "body": "Body.",
      "attributes": {}
    },
    {
      "id": "3-minutes",
      "index": 2,
      "name": "Minutes",
      "durationSeconds": 120,
      "perParticipant": false,
      "body": "Body.",
      "attributes": {}
    },
    {
      "id": "4-compound",
      "index": 3,
      "name": "Compound",
      "durationSeconds": 5400,
      "perParticipant": false,
      "body": "Body.",
      "attributes": {}
    },
    {
      "id": "5-mm-ss",
      "index": 4,
      "name": "mm:ss",
      "durationSeconds": 150,
      "perParticipant": false,
      "body": "Body.",
      "attributes": {}
    },
    {
      "id": "6-hh-mm-ss",
      "index": 5,
      "name": "hh:mm:ss",
      "durationSeconds": 3600,
      "perParticipant": false,
      "body": "Body.",
      "attributes": {}
    },
    {
      "id": "7-open-ended",
      "index": 6,
      "name": "Open-ended",
      "durationSeconds": 0,
      "perParticipant": false,
      "body": "No duration — host advances manually.",
      "attributes": {}
    }
  ]
}