How to write a simple Manpage - Psychology, Philosophy, and Licenses
Users browsing this thread: 2 Guest(s)
|
|||
Hello nixers,
In this thread you'll learn how to write a very simple man page for your programs. Disclaimer I won't go into the details of what and where are Manpages. If you want more information refer to the followings:
Sections of a manpage A manpage normally contains those sections (taken from the man 7 mdoc)
For example, you might want to ommit the RETURN VALUE but add a COMMANDS section if the program has a shell interface that accepts a set of commands. Groff Manpages follow a format code called Groff (or Troff). As with any markup you'll use some code to change the appearance of the text. The main format macros well use are the followings: Quote:.SH Writing the manpage The empty Manpage should look similar to this: Code: .TH name_of_program 1 "Jun 15, 2014" "" "NIXERS COMMUNITY" Let's fill it up section by section but first let's explain the first line. Code: .TH name_of_program 1 "Jun 15, 2014" "" "NIXERS COMMUNITY" Replace name_of_program with the name of the program. Replace 1 by the section the program belongs to. (1 Executable programs or shell commands) Replace "Jun 15, 2014" by the current date. The last 2 strings are other decorations. The NAME section: This section contains a one-liner with the name of the program and the simplest description. Example: Code: nixers - One line description of the nixers program The SYNOPSIS section: This section contains (for CLI) all the short-hand arguments regrouped together without any explanation. Example: Code: \fBnixers\fR [\fB-hv\fR] [\fB-r\fR \fIrice-max-mode\fR] The DESCRIPTION section: This section contains a big description of what the program purpose is. Code: .B nixers\fR is just a sample manpage. The OPTIONS section: In this section every command line arguments are explained. Code: .TP We've made the shorthands bold using ".B" and the arguments of shorthand italic "\fI \fR" You don't usually have to escape "-" but it's sometimes better to do so. The RETURN VALUE section: Here's the part where you explain what the program will return in multiple cases. (echo $?) Code: Here are the possible return values for nixers: was used just before ".RS". ".IP" is used to indent the bullet "\(bu 2" and ".B" with ".\fR" to format the return value to bold. The ENVIRONMENT section: In this section you mention what environment variable the program follows. Code: nixers doesn't follow any environment variables. The ERRORS section: It regroups well known errors that might happen while using the program. Code: You might get some errors if you run this program along \fBGNOME(1)\fR, \fBKDE(1)\fR, or \fBCINAMON(1)\fR. It's also a good idea to format them to bold. The SEE ALSO section: This section regroups all the manpages that are related or mentioned in the manpage. Code: .B rice(1) The AUTHOR section: It is an example of a custom section. Code: nixers community (http://nixers.net) Whole Sample: Code: .TH nixers 1 "Jun 15, 2014" "" "NIXERS COMMUNITY" Testing the Manpage To see what the Manpage will look like execute: Code: man ./nixers.1 I won't go into the details of putting the manpage in the manpath. Conclusion This is how a simple Manpage is written. Once you get the idea it's really easy. I haven't walked through all the format macros but those are the simpliest ones. More to read from one of our fellow users: http://kaashif.co.uk/2014/01/08/writing-...ual-pages/ |
|||
Messages In This Thread |
How to write a simple Manpage - by venam - 15-06-2014, 06:35 AM
RE: How to write a simple Manpage - by yrmt - 15-06-2014, 06:59 AM
RE: How to write a simple Manpage - by jmbi - 15-06-2014, 05:29 PM
RE: How to write a simple Manpage - by pranomostro - 07-09-2015, 03:36 PM
RE: How to write a simple Manpage - by October - 30-09-2015, 01:53 AM
|