README 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. The manpages are generated by processing *.m4 files using m4.
  2. Manpages are written in "roff", which is an ancient text formatting/markup system and language
  3. with a lot of peculiarities. For the Dinit manpages we try to stick to the subset documented here.
  4. Roff formatting guide:
  5. Inline formatting ("escapes"):
  6. \fB - set bold
  7. \fI - set italic (may show as underlined when output on console)
  8. \fR - set regular (i.e. unset bold & italic)
  9. Special characters:
  10. '\ ' - (backslash followed by space) - non-breaking space
  11. \& - zero-width space
  12. \- - literal hyphen (also suppresses line breaking through dash)
  13. \(em - em-dash (GNU groff accepts "\[em]" as well but it may not be portable)
  14. \(en - en-dash
  15. \(bu - bullet point
  16. Line commands ("requests"):
  17. .\" - begins a comment line (may be used for spacing in source document without the effect that having a
  18. line would)
  19. .sp - vertical space (i.e. blank line without breaking paragraph)
  20. ... and macros (which behave like requests). Arguments can be quoted ("...") if they contain
  21. spaces.
  22. .TH <title> <section> [<up to three extras>] - title macro. See "structure" notes below.
  23. .SH <name> - section heading for <name> (name usually capitalised). If name is omitted the
  24. next line is used.
  25. .LP - begin a new normal paragraph
  26. .HP - begin a hanging paragraph (lines after the first are indented)
  27. .TP - begin an indented paragraph with unindented label (label is on the next line); .TQ can be used
  28. immediately after the first label, in order to specify additional labels, each appearing on their
  29. own line.
  30. .IP - indented paragraph (can be used to follow on from .TP)
  31. .IP \(bu - indented paragraph with bullet point
  32. .RS - increase left margin by one level (and reset indentation)
  33. .RE - decrease left margin by one level
  34. .EX - begin example (monospace font, line ends as they appear in source)
  35. .EE - end example
  36. Structure:
  37. Documents should start with a .TH header line ("8" is the man section):
  38. .TH DINIT "8" "October 2022" "Dinit 0.16.1" "Dinit - service management system"
  39. This should be followed by a NAME section:
  40. .SH NAME
  41. dinit \- supervise processes and manage services
  42. Gotchas:
  43. * Sentences should always end at the end of a line (this affects spacing in output).
  44. * hyphens which are actually part of a word (part of a setting name for example) should be
  45. preceded by a backslash ("\-") which will prevent the literal from being split over multiple lines.
  46. * Blank lines should be avoided. Use .LP/.HP/.TP/.IP for example to start a paragraph. Use .IP for
  47. follow-on paragraphs after .TP. Use .sp for space within a paragraph in the rare case that is
  48. needed.
  49. For synopsis:
  50. .PD 0 -- no space between paragraphs
  51. .nh -- disable hyphenation
  52. .HP -- begin hanging paragraph
  53. (command goes here)
  54. .HP
  55. (next command variant)
  56. .PD -- default paragraph spacing
  57. .hy -- default hyphenation