diff --git a/scripts/release_notes.py b/scripts/release_notes.py index 86dff1c..18dd02a 100755 --- a/scripts/release_notes.py +++ b/scripts/release_notes.py @@ -45,6 +45,8 @@ ] BREW = "brew install --cask thinkwatchproject/tap/thinkwatch-lite" +SITE = "https://thinkwat.ch/lite/" +DOCS = "https://thinkwat.ch/docs/lite/" INSTALL_SH = f"curl -fsSL https://github.com/{REPO}/releases/latest/download/install.sh | sh" # CalVer:2026.9.16 @@ -121,7 +123,9 @@ def named(suffix: str) -> str: {INSTALL_SH} ``` -Both commands install the latest release. First-launch steps for each platform, such as removing the quarantine attribute from a copy downloaded on macOS, are described in the [README](https://github.com/{REPO}#install).""" +Both commands install the latest release. First-launch steps for each platform, such as removing the quarantine attribute from a copy downloaded on macOS, are described in the [README](https://github.com/{REPO}#install). + +The [ThinkWatch Lite page]({SITE}) describes each feature, and the [documentation]({DOCS}) covers installing, connecting clients and routing.""" ) parts.append( diff --git a/scripts/release_notes_test.py b/scripts/release_notes_test.py index f17eb9c..4ca6d03 100755 --- a/scripts/release_notes_test.py +++ b/scripts/release_notes_test.py @@ -101,6 +101,11 @@ def test_the_portable_zip_is_described(self): self.assertIn("start `ThinkWatch Lite.exe`", body) self.assertNotIn("thinkwatch-lite.exe", body) + def test_the_website_is_linked(self): + body = rn.render("2026.10.4", "", None) + self.assertIn("(https://thinkwat.ch/lite/)", body) + self.assertIn("(https://thinkwat.ch/docs/lite/)", body) + def test_the_install_commands(self): body = rn.render("2026.9.16", CHANGES, None) self.assertIn("\nbrew install --cask thinkwatchproject/tap/thinkwatch-lite\n", body)