Skip to content

Commit 29def45

Browse files
authored
feat(panel): read the manual inside the admin panel (#1136)
1 parent 3e6fce3 commit 29def45

21 files changed

Lines changed: 1552 additions & 33 deletions

‎.github/workflows/data-checks.yml‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ name: Data checks
33
# Guards the two classes of breakage the Python test suite can't see:
44
# 1. a locale that drifted out of sync with en.json (renders raw keys in the UI)
55
# 2. a shipped YAML/JSON file that doesn't parse (blows up at install time)
6+
# 3. a wiki/ change that breaks the admin panel's Manual: a page the bundle
7+
# can't build, or a "?" button whose page or heading has gone
68

79
on:
810
push:
@@ -57,3 +59,9 @@ jobs:
5759

5860
- name: Parse blueprints, sentences, locales and metadata
5961
run: python3 scripts/check_data_files.py
62+
63+
- name: Install the docs toolchain
64+
run: python -m pip install -r requirements-docs.txt
65+
66+
- name: Bundle the manual and check the panel's help links
67+
run: python3 scripts/build_manual.py --check

‎.github/workflows/release-zip.yml‎

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ name: Attach HACS zip to release
77
#
88
# The zip's root must contain manifest.json directly: HACS extracts the archive
99
# straight into custom_components/taskmate/.
10+
#
11+
# The zip also carries the Manual (wiki/ bundled by scripts/build_manual.py),
12+
# which is not in git: a release without it shows "read it on the website".
1013

1114
on:
1215
release:
@@ -31,6 +34,20 @@ jobs:
3134
ref: ${{ github.event.release.tag_name }}
3235
persist-credentials: false
3336

37+
- name: Set up Python
38+
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
39+
with:
40+
python-version: "3.14"
41+
42+
# The admin panel's Manual page reads wiki/ from inside the integration.
43+
# It is built here, not committed, so every release carries the docs as
44+
# they stood at the tag. Same markdown setup as the website (docs.yml).
45+
- name: Bundle the manual
46+
run: |
47+
python -m pip install -r requirements-docs.txt
48+
python scripts/build_manual.py
49+
test -s custom_components/taskmate/www/manual/manual.json || (echo "manual bundle missing" && exit 1)
50+
3451
- name: Build taskmate.zip
3552
id: build
3653
run: |
@@ -40,6 +57,7 @@ jobs:
4057
cd "$GITHUB_WORKSPACE"
4158
echo "--- zip contents (top level) ---"
4259
unzip -l taskmate.zip | grep -E 'manifest.json' || (echo "manifest.json missing from zip root" && exit 1)
60+
unzip -l taskmate.zip | grep -E 'www/manual/manual.json$' || (echo "manual bundle missing from zip" && exit 1)
4361
echo "sha256=$(sha256sum taskmate.zip | cut -d' ' -f1)" >> "$GITHUB_OUTPUT"
4462
4563
- name: Attest build provenance for taskmate.zip

‎.gitignore‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ dev/config/.cloud/
3333
docs/
3434
.DS_Store
3535

36+
# The Manual bundle: built from wiki/ by scripts/build_manual.py at release
37+
custom_components/taskmate/www/manual/
38+
3639
# Node / JS tooling (CI-3)
3740
node_modules/
3841

‎custom_components/taskmate/www/locales/da.json‎

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2017,7 +2017,22 @@
20172017
"panel.tab_templates": "Skabeloner",
20182018
"panel.tab_today": "I dag",
20192019
"panel.tab_unknown": "Ukendt fane",
2020-
"panel.wiki_tooltip": "Åbn TaskMate-dokumentationen",
2020+
"panel.manual": "Vejledning",
2021+
"panel.manual_help": "Hjælp til denne side",
2022+
"panel.manual_open_web": "Åbn på hjemmesiden",
2023+
"panel.manual_open_full": "Åbn i vejledningen",
2024+
"panel.manual_search": "Søg i vejledningen",
2025+
"panel.manual_contents": "Indhold",
2026+
"panel.manual_on_this_page": "På denne side",
2027+
"panel.manual_prev": "Forrige",
2028+
"panel.manual_next": "Næste",
2029+
"panel.manual_version": "Dokumentation til v{version}",
2030+
"panel.manual_results": "Fundne sider: {count}",
2031+
"panel.manual_no_results": "Intet i vejledningen matcher det.",
2032+
"panel.manual_loading": "Indlæser vejledningen…",
2033+
"panel.manual_missing": "Vejledningen følger ikke med denne installation. Du kan læse den på hjemmesiden.",
2034+
"panel.manual_failed": "Vejledningen kunne ikke indlæses.",
2035+
"panel.manual_img_offline": "Skærmbilleder kræver en internetforbindelse.",
20212036
"panel.notif_add_custom": "Tilføj egen notifikation",
20222037
"panel.notif_add_parent": "Tilføj forælder",
20232038
"panel.notif_custom_empty": "Ingen egne notifikationer endnu.",

‎custom_components/taskmate/www/locales/de.json‎

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1953,7 +1953,22 @@
19531953
"panel.tab_templates": "Vorlagen",
19541954
"panel.tab_today": "Heute",
19551955
"panel.tab_unknown": "Unbekannter Tab",
1956-
"panel.wiki_tooltip": "TaskMate-Dokumentation öffnen",
1956+
"panel.manual": "Handbuch",
1957+
"panel.manual_help": "Hilfe zu dieser Seite",
1958+
"panel.manual_open_web": "Auf der Website öffnen",
1959+
"panel.manual_open_full": "Im Handbuch öffnen",
1960+
"panel.manual_search": "Handbuch durchsuchen",
1961+
"panel.manual_contents": "Inhalt",
1962+
"panel.manual_on_this_page": "Auf dieser Seite",
1963+
"panel.manual_prev": "Zurück",
1964+
"panel.manual_next": "Weiter",
1965+
"panel.manual_version": "Dokumentation für v{version}",
1966+
"panel.manual_results": "Gefundene Seiten: {count}",
1967+
"panel.manual_no_results": "Nichts im Handbuch passt dazu.",
1968+
"panel.manual_loading": "Handbuch wird geladen…",
1969+
"panel.manual_missing": "Das Handbuch ist in dieser Installation nicht enthalten. Du kannst es auf der Website lesen.",
1970+
"panel.manual_failed": "Das Handbuch konnte nicht geladen werden.",
1971+
"panel.manual_img_offline": "Screenshots brauchen eine Internetverbindung.",
19571972
"panel.notif_add_custom": "Benutzerdefinierte Benachrichtigung hinzufügen",
19581973
"panel.notif_add_parent": "Elternteil hinzufügen",
19591974
"panel.notif_custom_empty": "Noch keine benutzerdefinierten Benachrichtigungen.",

‎custom_components/taskmate/www/locales/en-GB.json‎

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2017,7 +2017,22 @@
20172017
"panel.tab_templates": "Templates",
20182018
"panel.tab_today": "Today",
20192019
"panel.tab_unknown": "Unknown tab",
2020-
"panel.wiki_tooltip": "Open the TaskMate documentation",
2020+
"panel.manual": "Manual",
2021+
"panel.manual_help": "Help for this page",
2022+
"panel.manual_open_web": "Open on website",
2023+
"panel.manual_open_full": "Open in Manual",
2024+
"panel.manual_search": "Search the manual",
2025+
"panel.manual_contents": "Contents",
2026+
"panel.manual_on_this_page": "On this page",
2027+
"panel.manual_prev": "Previous",
2028+
"panel.manual_next": "Next",
2029+
"panel.manual_version": "Docs for v{version}",
2030+
"panel.manual_results": "Pages found: {count}",
2031+
"panel.manual_no_results": "Nothing in the manual matches that.",
2032+
"panel.manual_loading": "Loading the manual…",
2033+
"panel.manual_missing": "The manual isn't included in this install. You can read it on the website.",
2034+
"panel.manual_failed": "The manual couldn't be loaded.",
2035+
"panel.manual_img_offline": "Screenshots need an internet connection.",
20212036
"panel.notif_add_custom": "Add custom notification",
20222037
"panel.notif_add_parent": "Add parent",
20232038
"panel.notif_custom_empty": "No custom notifications yet.",

‎custom_components/taskmate/www/locales/en.json‎

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2017,7 +2017,22 @@
20172017
"panel.tab_templates": "Templates",
20182018
"panel.tab_today": "Today",
20192019
"panel.tab_unknown": "Unknown tab",
2020-
"panel.wiki_tooltip": "Open the TaskMate documentation",
2020+
"panel.manual": "Manual",
2021+
"panel.manual_help": "Help for this page",
2022+
"panel.manual_open_web": "Open on website",
2023+
"panel.manual_open_full": "Open in Manual",
2024+
"panel.manual_search": "Search the manual",
2025+
"panel.manual_contents": "Contents",
2026+
"panel.manual_on_this_page": "On this page",
2027+
"panel.manual_prev": "Previous",
2028+
"panel.manual_next": "Next",
2029+
"panel.manual_version": "Docs for v{version}",
2030+
"panel.manual_results": "Pages found: {count}",
2031+
"panel.manual_no_results": "Nothing in the manual matches that.",
2032+
"panel.manual_loading": "Loading the manual…",
2033+
"panel.manual_missing": "The manual isn't included in this install. You can read it on the website.",
2034+
"panel.manual_failed": "The manual couldn't be loaded.",
2035+
"panel.manual_img_offline": "Screenshots need an internet connection.",
20212036
"panel.notif_add_custom": "Add custom notification",
20222037
"panel.notif_add_parent": "Add parent",
20232038
"panel.notif_custom_empty": "No custom notifications yet.",

‎custom_components/taskmate/www/locales/fr.json‎

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1953,7 +1953,22 @@
19531953
"panel.tab_templates": "Modèles",
19541954
"panel.tab_today": "Aujourd'hui",
19551955
"panel.tab_unknown": "Onglet inconnu",
1956-
"panel.wiki_tooltip": "Ouvrir la documentation TaskMate",
1956+
"panel.manual": "Manuel",
1957+
"panel.manual_help": "Aide pour cette page",
1958+
"panel.manual_open_web": "Ouvrir sur le site",
1959+
"panel.manual_open_full": "Ouvrir dans le manuel",
1960+
"panel.manual_search": "Rechercher dans le manuel",
1961+
"panel.manual_contents": "Sommaire",
1962+
"panel.manual_on_this_page": "Sur cette page",
1963+
"panel.manual_prev": "Précédent",
1964+
"panel.manual_next": "Suivant",
1965+
"panel.manual_version": "Documentation de la v{version}",
1966+
"panel.manual_results": "Pages trouvées : {count}",
1967+
"panel.manual_no_results": "Rien dans le manuel ne correspond.",
1968+
"panel.manual_loading": "Chargement du manuel…",
1969+
"panel.manual_missing": "Le manuel n'est pas inclus dans cette installation. Vous pouvez le lire sur le site.",
1970+
"panel.manual_failed": "Le manuel n'a pas pu être chargé.",
1971+
"panel.manual_img_offline": "Les captures d'écran nécessitent une connexion Internet.",
19571972
"panel.notif_add_custom": "Ajouter une notification personnalisée",
19581973
"panel.notif_add_parent": "Ajouter un parent",
19591974
"panel.notif_custom_empty": "Aucune notification personnalisée pour l'instant.",

‎custom_components/taskmate/www/locales/nb.json‎

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1953,7 +1953,22 @@
19531953
"panel.tab_templates": "Maler",
19541954
"panel.tab_today": "I dag",
19551955
"panel.tab_unknown": "Ukjent fane",
1956-
"panel.wiki_tooltip": "Åpne TaskMate-dokumentasjonen",
1956+
"panel.manual": "Brukerveiledning",
1957+
"panel.manual_help": "Hjelp for denne siden",
1958+
"panel.manual_open_web": "Åpne på nettstedet",
1959+
"panel.manual_open_full": "Åpne i brukerveiledningen",
1960+
"panel.manual_search": "Søk i brukerveiledningen",
1961+
"panel.manual_contents": "Innhold",
1962+
"panel.manual_on_this_page": "På denne siden",
1963+
"panel.manual_prev": "Forrige",
1964+
"panel.manual_next": "Neste",
1965+
"panel.manual_version": "Dokumentasjon for v{version}",
1966+
"panel.manual_results": "Sider funnet: {count}",
1967+
"panel.manual_no_results": "Ingenting i brukerveiledningen passer.",
1968+
"panel.manual_loading": "Laster brukerveiledningen…",
1969+
"panel.manual_missing": "Brukerveiledningen følger ikke med denne installasjonen. Du kan lese den på nettstedet.",
1970+
"panel.manual_failed": "Brukerveiledningen kunne ikke lastes.",
1971+
"panel.manual_img_offline": "Skjermbilder krever internettilkobling.",
19571972
"panel.notif_add_custom": "Legg til egendefinert varsel",
19581973
"panel.notif_add_parent": "Legg til foresatt",
19591974
"panel.notif_custom_empty": "Ingen egendefinerte varsler ennå.",

‎custom_components/taskmate/www/locales/nl.json‎

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2017,7 +2017,22 @@
20172017
"panel.tab_templates": "Sjablonen",
20182018
"panel.tab_today": "Vandaag",
20192019
"panel.tab_unknown": "Onbekend tabblad",
2020-
"panel.wiki_tooltip": "De TaskMate-wiki openen",
2020+
"panel.manual": "Handleiding",
2021+
"panel.manual_help": "Hulp bij deze pagina",
2022+
"panel.manual_open_web": "Op de website openen",
2023+
"panel.manual_open_full": "In de handleiding openen",
2024+
"panel.manual_search": "Zoeken in de handleiding",
2025+
"panel.manual_contents": "Inhoud",
2026+
"panel.manual_on_this_page": "Op deze pagina",
2027+
"panel.manual_prev": "Vorige",
2028+
"panel.manual_next": "Volgende",
2029+
"panel.manual_version": "Documentatie voor v{version}",
2030+
"panel.manual_results": "Gevonden pagina's: {count}",
2031+
"panel.manual_no_results": "Niets in de handleiding komt overeen.",
2032+
"panel.manual_loading": "Handleiding laden…",
2033+
"panel.manual_missing": "De handleiding zit niet in deze installatie. Je kunt hem op de website lezen.",
2034+
"panel.manual_failed": "De handleiding kon niet worden geladen.",
2035+
"panel.manual_img_offline": "Voor schermafbeeldingen is een internetverbinding nodig.",
20212036
"panel.notif_add_custom": "Eigen melding toevoegen",
20222037
"panel.notif_add_parent": "Ouder toevoegen",
20232038
"panel.notif_custom_empty": "Nog geen eigen meldingen.",

0 commit comments

Comments
 (0)