StrongHelp Development
This skill provides guidance for developing StrongHelp manuals, which are the standard hypertext help format for RISC OS.
Quick Start
- List the container contents first:
riscos-shextract --list <manual_file,3d6> - Extract a manual for inspection or editing:
riscos-shextract --extract-dir <dirname> <manual_file,3d6> - Read the extracted page files, not the packed
,3d6bytes directly. - Build a manual:
riscos-strongcopy -o <manual_file,3d6> <directory>
Developing Pages
Every StrongHelp page is a text file where the first line is the title. Use #Parent on every page to ensure navigation works correctly.
Workflow
- List the manual: Use
riscos-shextract --listto see the real page names and directories before making assumptions about the structure. - Extract the manual: Use
riscos-shextract --extract-dirand inspect the extracted files in the filesystem. - Identify the target page: Find the existing page or determine the filename for a new one.
- Apply Syntax: Use the syntax guide in references/syntax.md for formatting and links.
- Organize Structure: Use the structure guide in references/structure.md for directory organization and special files.
- Verify Links: Ensure all links point to valid page names or files.
- Build: Use
riscos-strongcopyto package the directory into a.3d6manual file.
Tools
- riscos-shextract: Extracts contents from a StrongHelp
.3d6container. - riscos-strongcopy: Packages a directory into a StrongHelp
.3d6container.
Best Practices
- Inspection: Do not treat a packed
,3d6manual as plain text and do not run unrelated decoders over it. Extract it first, then read the extracted page files. - Navigation: Include
#Parent !Root(or the appropriate parent) on every page. - Columns: Use
TABfor alignment instead of spaces to ensure correct rendering. - Formatting: Use
#fCodefor examples and#H1for main headers. - Organization: For manuals with many pages, use prefix directories (e.g.,
Wimp_) or first-letter ranges (e.g.,[a-z]). - Filenames: Remember that StrongHelp uses special filenames for redirection (e.g.,
OLD>NEW).