Writing project documentation in HTML

Writing project documentation in HTML
Jim Hall
Fri, 08/12/2022 – 03:00

Register or Login to like
Register or Login to like

Documentation is an important part of any technical project. Good documentation tells the end user how to run the program, how to use it, or how to compile it. For many projects, plain text documentation is the standard. After all, every system can display plain text files.

However, plain text is limiting. Plain text files lack formatting elements like italics text, bold text, and titles. To add these elements, we can leverage HTML. HyperText Markup Language (HTML) is the markup language used in all web browsers. And with a little extra effort, you can use HTML to write project documentation that can be read by everyone.

HTML uses a series of tags enclosed in angle brackets to control how different parts of a document should be displayed. These tags define elements in an HTML document, such as document headings, paragraphs, italics text, bold text, and other kinds of text. Almost every tag comes in a pair: an opening tag, like

to start a paragraph, and a closing tag to end the element, such as

to end a paragraph. When using these tags, remember this rule: if you open a tag, you need to close it. Not closing a tag properly can result in the web browser incorrectly.

Some tags define a block within the HTML document, while others are inline. For more information about block and inline elements, read my other article about a gentle introduction to HTML.

Start an empty document

Begin by creating a boilerplate empty HTML document. Every HTML document should provide a document type declaration. Use the single tag on the first line of the HTML file to define an HTML document. The HTML standard also requires that pages wrap the document text in two block elements: to define the HTML document, and to define the body text. While HTML doesn’t require indenting each new code block, but I add it anyway so you can see that is actually “inside” the block:


html>
  body>
 
  /body>

/html>

HTML documents also need a

block before the that provides extra information called metadata about the page. The only required metadata is the title of the document, defined by the element. An empty document might look like this:</p> <pre> <div class="geshifilter"><div class="html5 geshifilter-html5"><span class="sc0"><br><span class="sc2"><span class="kw2">html</span>></span><br>   <span class="sc2"><span class="kw2">head</span>></span><br>     <span class="sc2"><span class="kw2">title</span>></span>Title of the document<span class="sc2">/</span><a href="http://december.com/html/4/element/title.html"><span class="kw2">title</span></a>></span><br>   <span class="sc2">/</span><a href="http://december.com/html/4/element/head.html"><span class="kw2">head</span></a>><br>   <span class="sc2"><span class="kw2">body</span>></span><br>   <br>   <span class="sc2">/</span><a href="http://december.com/html/4/element/body.html"><span class="kw2">body</span></a>><br><span class="sc2">/</span><a href="http://december.com/html/4/element/html.html"><span class="kw2">html</span></a>></div></div></pre> <h2>Add the text</h2> <p>Let’s exercise some HTML knowledge by adapting an existing plain text “Readme” file to HTML. For this example, I’m using part of the documentation about how to play an open source board game, called Simple Senet:</p> <pre> <div class="geshifilter"><div class="text geshifilter-text">HOW TO PLAY SIMPLE SENET<br><br> The game will automatically "throw" the throwing sticks for you, and<br> display the results in the lower-right corner of the screen.<br><br> If the "throw" is zero, then you lose your turn.<br><br> When it's your turn, the game will automatically select your first<br> piece on the board. You may or may not be able to make a move with<br> this piece, so select your piece to move, and hit Space (or Enter) to<br> move it. You can select using several different methods:<br><br> -  Up/down/left/right to navigate to a specific square.<br><br> -  Plus (+) or minus (-) to navigate "left" and "right" on the<br>    board. Note that this will automatically follow the "backwards S"<br>    shape of the board.<br><br> -  Tab to select your next piece on the board.<br><br> To quit the game at any time, press Q (uppercase Q) or hit Esc, and<br> the game will prompt if you want to forfeit the game.<br><br> You win if you move all of your pieces off the board before your<br> opponent. It takes a combination of luck and strategy!</div></div></pre> <p>Start by adding this Readme text into your empty HTML file. The main content of an HTML page is the , so that’s where you put the text:</p> <pre> <div class="geshifilter"><div class="html5 geshifilter-html5"><span class="sc0"><br><span class="sc2"><span class="kw2">html</span>></span><br>   <span class="sc2"><span class="kw2">head</span>></span><br>     <span class="sc2"><span class="kw2">title</span>></span>Title of the document<span class="sc2">/</span><a href="http://december.com/html/4/element/title.html"><span class="kw2">title</span></a>></span><br>   <span class="sc2">/</span><a href="http://december.com/html/4/element/head.html"><span class="kw2">head</span></a>><br>   <span class="sc2"><span class="kw2">body</span>></span><br>     HOW TO PLAY SIMPLE SENET<br>     <br>     The game will automatically "throw" the throwing sticks for you, and<br>     display the results in the lower-right corner of the screen.<br>     <br>     If the "throw" is zero, then you lose your turn.<br>     <br>     When it's your turn, the game will automatically select your first<br>     piece on the board. You may or may not be able to make a move with<br>     this piece, so select your piece to move, and hit Space (or Enter) to<br>     move it. You can select using several different methods:<br>     <br>     - Up/down/left/right to navigate to a specific square.<br>     <br>     - Plus (+) or minus (-) to navigate "left" and "right" on the<br>       board. Note that this will automatically follow the "backwards S"<br>       shape of the board.<br>     <br>     - Tab to select your next piece on the board.<br>     <br>     To quit the game at any time, press Q (uppercase Q) or hit Esc, and<br>     the game will prompt if you want to forfeit the game.<br>     <br>     You win if you move all of your pieces off the board before your<br>     opponent. It takes a combination of luck and strategy!<br>   <span class="sc2">/</span><a href="http://december.com/html/4/element/body.html"><span class="kw2">body</span></a>><br><span class="sc2">/</span><a href="http://december.com/html/4/element/html.html"><span class="kw2">html</span></a>></div></div></pre> <p>Without further changes, this HTML document looks completely wrong when you view it in a web browser. That’s because HTML, like most markup systems, collects <em>words</em> from the input file and fills <em>paragraphs</em> in the output. Because you have not yet added other markup, a web browser displays the text in a single paragraph:</p> <article class="align-center media media--type-image media--view-mode-default"> <div class="field field--name-field-media-image field--type-image field--label-hidden field__item"> <img decoding="async" loading="lazy" src="https://opensource.com/sites/default/files/2022-08/html-senet-1.webp" width="940" height="270" alt="This is how a web browser displays our bare HTML file."></div> <div class="field field--name-field-caption field--type-text-long field--label-hidden caption field__item"><span class="caption__byline">Image by: </span></p> <p>(Jim Hall, CC BY-SA 4.0)</p> </div> </article> <h2>Body paragraphs</h2> <p>Your first step in updating this Readme file to HTML is to mark every paragraph so the web browser can display it properly. The tag to define a paragraph is </p> <p>. While not everything in this file is actually a paragraph, start by wrapping everything in </p> <p> and </p> <p> tags:</p> <pre> <div class="geshifilter"><div class="html5 geshifilter-html5"><span class="sc0"><br><span class="sc2"><span class="kw2">html</span>></span><br>   <span class="sc2"><span class="kw2">head</span>></span><br>     <span class="sc2"><span class="kw2">title</span>></span>Title of the document<span class="sc2">/</span><a href="http://december.com/html/4/element/title.html"><span class="kw2">title</span></a>></span><br>   <span class="sc2">/</span><a href="http://december.com/html/4/element/head.html"><span class="kw2">head</span></a>><br>   <span class="sc2"><span class="kw2">body</span>></span><br>     <span class="sc2"><span class="kw2">p</span>></span>HOW TO PLAY SIMPLE SENET<span class="sc2">/</span><a href="http://december.com/html/4/element/p.html"><span class="kw2">p</span></a>><br>     <br>     <span class="sc2"><span class="kw2">p</span>></span>The game will automatically "throw" the throwing sticks for you, and<br>     display the results in the lower-right corner of the screen.<span class="sc2">/</span><a href="http://december.com/html/4/element/p.html"><span class="kw2">p</span></a>><br>     <br>     <span class="sc2"><span class="kw2">p</span>></span>If the "throw" is zero, then you lose your turn.<span class="sc2">/</span><a href="http://december.com/html/4/element/p.html"><span class="kw2">p</span></a>><br>     <br>     <span class="sc2"><span class="kw2">p</span>></span>When it's your turn, the game will automatically select your first<br>     piece on the board. You may or may not be able to make a move with<br>     this piece, so select your piece to move, and hit Space (or Enter) to<br>     move it. You can select using several different methods:<span class="sc2">/</span><a href="http://december.com/html/4/element/p.html"><span class="kw2">p</span></a>><br>     <br>     <span class="sc2"><span class="kw2">p</span>></span>- Up/down/left/right to navigate to a specific square.<span class="sc2">/</span><a href="http://december.com/html/4/element/p.html"><span class="kw2">p</span></a>><br>     <br>     <span class="sc2"><span class="kw2">p</span>></span>- Plus (+) or minus (-) to navigate "left" and "right" on the<br>          board. Note that this will automatically follow the "backwards S"<br>          shape of the board.<span class="sc2">/</span><a href="http://december.com/html/4/element/p.html"><span class="kw2">p</span></a>><br>     <br>     <span class="sc2"><span class="kw2">p</span>></span>- Tab to select your next piece on the board.<span class="sc2">/</span><a href="http://december.com/html/4/element/p.html"><span class="kw2">p</span></a>><br>     <br>     <span class="sc2"><span class="kw2">p</span>></span>To quit the game at any time, press Q (uppercase Q) or hit Esc, and<br>     the game will prompt if you want to forfeit the game.<span class="sc2">/</span><a href="http://december.com/html/4/element/p.html"><span class="kw2">p</span></a>><br>     <br>     <span class="sc2"><span class="kw2">p</span>></span>You win if you move all of your pieces off the board before your<br>     opponent. It takes a combination of luck and strategy!<span class="sc2">/</span><a href="http://december.com/html/4/element/p.html"><span class="kw2">p</span></a>><br>   <span class="sc2">/</span><a href="http://december.com/html/4/element/body.html"><span class="kw2">body</span></a>><br><span class="sc2">/</span><a href="http://december.com/html/4/element/html.html"><span class="kw2">html</span></a>></div></div></pre> <p>This makes the Readme look more like a document you want to read. When you view the new document in a web browser, every paragraph starts on a new line, with some extra space above and below. The paragraph is the most common example of a block element.</p> <article class="align-center media media--type-image media--view-mode-default"> <div class="field field--name-field-media-image field--type-image field--label-hidden field__item"> <img decoding="async" loading="lazy" src="https://opensource.com/sites/default/files/2022-08/html-senet-2.webp" width="960" height="597" alt="Our first step is to define everything as paragraphs."></div> <div class="field field--name-field-caption field--type-text-long field--label-hidden caption field__item"><span class="caption__byline">Image by: </span></p> <p>(Jim Hall, CC BY-SA 4.0)</p> </div> </article> <div class="embedded-resource-list callout-float-right"> <div class="field field--name-title field--type-string field--label-hidden field__item">More great content</div> <div class="field field--name-links field--type-link field--label-hidden field__items"> <div class="field__item"><a href="https://www.redhat.com/en/services/training/rh024-red-hat-linux-technical-overview?intcmp=7016000000127cYAAQ">Free online course: RHEL technical overview</a></div> <div class="field__item"><a href="https://developers.redhat.com/cheat-sheets/advanced-linux-commands/?intcmp=7016000000127cYAAQ">Learn advanced Linux commands</a></div> <div class="field__item"><a href="https://opensource.com/downloads/cheat-sheets?intcmp=7016000000127cYAAQ">Download cheat sheets</a></div> <div class="field__item"><a href="https://opensource.com/tags/linux?intcmp=7016000000127cYAAQ">Find an open source alternative</a></div> <div class="field__item"><a href="https://opensource.com/resources?intcmp=7016000000127cYAAQ">Explore open source resources</a></div> </p></div> </p></div> <h2>Headings and subheadings</h2> <p>The first line in your content is your document’s title, so you should make this into a heading. HTML provides six levels of headings, from </p> <h1> to </p> <h6>. In most documents, you might use </p> <h1> to define the title of the document, and </p> <h2> for major subsections. Make this change in your sample Readme document. Use the name of the program (“Simple Senet”) as the main section title, and “How to Play” as a subsection in the document.<br /> </h2> </h1> </h6> </h1> <p>Note that in this example, I’ve also updated the </p> <p><title> in the document metadata to use the same title as the </p> <h1> heading. This doesn’t actually change how browsers display the document, but it is a good practice to use:</p> <pre> <div class="geshifilter"><div class="html5 geshifilter-html5"><span class="sc0"><br><span class="sc2"><span class="kw2">html</span>></span><br>   <span class="sc2"><span class="kw2">head</span>></span><br>     <span class="sc2"><span class="kw2">title</span>></span>Simple Senet<span class="sc2">/</span><a href="http://december.com/html/4/element/title.html"><span class="kw2">title</span></a>></span><br>   <span class="sc2">/</span><a href="http://december.com/html/4/element/head.html"><span class="kw2">head</span></a>><br>   <span class="sc2"><span class="kw2">body</span>></span><br>     <span class="sc2"><span class="kw2">h1</span>></span>Simple Senet<span class="sc2">/</span><a href="http://december.com/html/4/element/h1.html"><span class="kw2">h1</span></a>><br>     <span class="sc2"><span class="kw2">h2</span>></span>How to Play<span class="sc2">/</span><a href="http://december.com/html/4/element/h2.html"><span class="kw2">h2</span></a>><br>     ...<br>   <span class="sc2">/</span><a href="http://december.com/html/4/element/body.html"><span class="kw2">body</span></a>><br><span class="sc2">/</span><a href="http://december.com/html/4/element/html.html"><span class="kw2">html</span></a>></div></div></pre> </h1> <p>By adding these section headings, you’ve made the document easier to read:</p> <article class="align-center media media--type-image media--view-mode-default"> <div class="field field--name-field-media-image field--type-image field--label-hidden field__item"> <img decoding="async" loading="lazy" src="https://opensource.com/sites/default/files/2022-08/html-senet-3.webp" width="940" height="197" alt="By itself, HTML will display headings and subheadings in a different style than the paragraphs."></div> <div class="field field--name-field-caption field--type-text-long field--label-hidden caption field__item"><span class="caption__byline">Image by: </span></p> <p>(Jim Hall, CC BY-SA 4.0)</p> </div> </article> <h2>Ordered and unordered lists</h2> <p>Your document includes a list of different ways to navigate the board game. Because this document started out as a plain text file, each item in the list starts with a hyphen. But you can use HTML to define these three paragraphs as list items.</p> <p>HTML supports two kinds of lists: <em>ordered</em> and <em>unordered</em> lists. An ordered list </p> <ol> is a numbered series, which you might use to define a sequence of steps. An unordered list </ol> <ul> defines a list of items that may or may not be related, but are generally not done in order. Both lists use list items </p> <li> for entries within the list. <p>Update the Readme document to use an ordered list instead of paragraphs. This presents the three navigation options in a numbered list:</p> <pre> <div class="geshifilter"><div class="html5 geshifilter-html5">   <span class="sc2"><span class="kw2">ol</span>></span><br>       <span class="sc2"><span class="kw2">li</span>></span>Up/down/left/right to navigate to a specific square.<span class="sc2">/</span><a href="http://december.com/html/4/element/li.html"><span class="kw2">li</span></a>><br><br>       <span class="sc2"><span class="kw2">li</span>></span>Plus (+) or minus (-) to navigate "left" and "right" on the<br>           board. Note that this will automatically follow the "backwards S"<br>           shape of the board.<span class="sc2">/</span><a href="http://december.com/html/4/element/li.html"><span class="kw2">li</span></a>><br>     <br>       <span class="sc2"><span class="kw2">li</span>></span>Tab to select your next piece on the board.<span class="sc2">/</span><a href="http://december.com/html/4/element/li.html"><span class="kw2">li</span></a>><br>     <span class="sc2">/</span><a href="http://december.com/html/4/element/ol.html"><span class="kw2">ol</span></a>></div></div></pre> <p>This presents the three options in a numbered list:</p> <article class="align-center media media--type-image media--view-mode-default"> <div class="field field--name-field-media-image field--type-image field--label-hidden field__item"> <img decoding="async" loading="lazy" src="https://opensource.com/sites/default/files/2022-08/html-senet-4.webp" width="940" height="108" alt="The three options are in an ordered list, numbered 1, 2, and 3."></div> <div class="field field--name-field-caption field--type-text-long field--label-hidden caption field__item"><span class="caption__byline">Image by: </span></p> <p>(Jim Hall, CC BY-SA 4.0)</p> </div> </article> <p>However, these three items aren’t really a sequence of steps, but different options to move the selection in the Simple Senet game. So instead of an ordered list, we want to use an unordered list. This requires updating the </p> <ol> to </ol> <ul> in the document: </ul> <pre> <div class="geshifilter"><div class="html5 geshifilter-html5">   <span class="sc2"><span class="kw2">ul</span>></span><br>       <span class="sc2"><span class="kw2">li</span>></span>Up/down/left/right to navigate to a specific square.<span class="sc2">/</span><a href="http://december.com/html/4/element/li.html"><span class="kw2">li</span></a>><br><br>       <span class="sc2"><span class="kw2">li</span>></span>Plus (+) or minus (-) to navigate "left" and "right" on the<br>           board. Note that this will automatically follow the "backwards S"<br>           shape of the board.<span class="sc2">/</span><a href="http://december.com/html/4/element/li.html"><span class="kw2">li</span></a>><br>     <br>       <span class="sc2"><span class="kw2">li</span>></span>Tab to select your next piece on the board.<span class="sc2">/</span><a href="http://december.com/html/4/element/li.html"><span class="kw2">li</span></a>><br>     <span class="sc2">/</span><a href="http://december.com/html/4/element/ul.html"><span class="kw2">ul</span></a>></div></div></pre> <p>The unordered list uses bullets for each list item, because the entries are not part of a sequence:</p> <article class="align-center media media--type-image media--view-mode-default"> <div class="field field--name-field-media-image field--type-image field--label-hidden field__item"> <img decoding="async" loading="lazy" src="https://opensource.com/sites/default/files/2022-08/html-senet-5.webp" width="940" height="108" alt="The three options are in an unordered or bulleted list."></div> <div class="field field--name-field-caption field--type-text-long field--label-hidden caption field__item"><span class="caption__byline">Image by: </span></p> <p>(Jim Hall, CC BY-SA 4.0)</p> </div> </article> <h2>Bold and italics</h2> <p>You can highlight certain information in the document by applying <strong>bold</strong> and <em>italics</em> styles. These are very common text styles in technical writing. You might use bold to highlight important information, or italics to emphasize key phrases and new terms.</p> <p>The bold tag was originally defined as <b>, but newer versions of the HTML standard prefer the <strong> tag to indicate strong importance, such as key steps in a set of instructions. Both tags are valid, but are semantically slightly different. <b> now means “bring attention to.”</b></strong></b></p> <p>Similarly, the original HTML standard used <i> for italics text. Later versions of HTML instead prefer <em> to bring emphasis to parts of the text. Instead, <i> now identifies idiomatic text or technical terms.</i></em></i></p> <p>For this example, use bold to identify the single-letter keypresses, and italics to indicate special keys on a keyboard like <em>Enter</em> and <em>Space</em>. For simplicity, use <b> and <i> tags here (but you could use <strong> and <em> tags instead to get the same effect:)</em></strong></i></b></p> <pre> <div class="geshifilter"><div class="html5 geshifilter-html5"><span class="sc0"><br><span class="sc2"><span class="kw2">html</span>></span><br>   <span class="sc2"><span class="kw2">head</span>></span><br>     <span class="sc2"><span class="kw2">title</span>></span>Simple Senet<span class="sc2">/</span><a href="http://december.com/html/4/element/title.html"><span class="kw2">title</span></a>></span><br>   <span class="sc2">/</span><a href="http://december.com/html/4/element/head.html"><span class="kw2">head</span></a>><br>   <span class="sc2"><span class="kw2">body</span>></span><br>     <span class="sc2"><span class="kw2">h1</span>></span>Simple Senet<span class="sc2">/</span><a href="http://december.com/html/4/element/h1.html"><span class="kw2">h1</span></a>><br>     <span class="sc2"><span class="kw2">h2</span>></span>How to Play<span class="sc2">/</span><a href="http://december.com/html/4/element/h2.html"><span class="kw2">h2</span></a>><br>     <br>     <span class="sc2"><span class="kw2">p</span>></span>The game will automatically "throw" the throwing sticks for you, and<br>     display the results in the lower-right corner of the screen.<span class="sc2">/</span><a href="http://december.com/html/4/element/p.html"><span class="kw2">p</span></a>><br>     <br>     <span class="sc2"><span class="kw2">p</span>></span>If the "throw" is zero, then you lose your turn.<span class="sc2">/</span><a href="http://december.com/html/4/element/p.html"><span class="kw2">p</span></a>><br>     <br>     <span class="sc2"><span class="kw2">p</span>></span>When it's your turn, the game will automatically select your first<br>     piece on the board. You may or may not be able to make a move with<br>     this piece, so select your piece to move, and hit <span class="sc2"><span class="kw2">i</span>></span>Space<span class="sc2">/</span><a href="http://december.com/html/4/element/i.html"><span class="kw2">i</span></a>> (or <span class="sc2"><span class="kw2">i</span>></span>Enter<span class="sc2">/</span><a href="http://december.com/html/4/element/i.html"><span class="kw2">i</span></a>>) to<br>     move it. You can select using several different methods:<span class="sc2">/</span><a href="http://december.com/html/4/element/p.html"><span class="kw2">p</span></a>><br><br>     <span class="sc2"><span class="kw2">ul</span>></span><br>       <span class="sc2"><span class="kw2">li</span>><span class="kw2">i</span>></span>Up<span class="sc2">/</span><a href="http://december.com/html/4/element/i.html"><span class="kw2">i</span></a>>/<span class="sc2"><span class="kw2">i</span>></span>down<span class="sc2">/</span><a href="http://december.com/html/4/element/i.html"><span class="kw2">i</span></a>>/<span class="sc2"><span class="kw2">i</span>></span>left<span class="sc2">/</span><a href="http://december.com/html/4/element/i.html"><span class="kw2">i</span></a>>/<span class="sc2"><span class="kw2">i</span>></span>right<span class="sc2">/</span><a href="http://december.com/html/4/element/i.html"><span class="kw2">i</span></a>> to navigate to a specific square.<span class="sc2">/</span><a href="http://december.com/html/4/element/li.html"><span class="kw2">li</span></a>><br><br>       <span class="sc2"><span class="kw2">li</span>></span>Plus (<span class="sc2"><span class="kw2">b</span>></span>+<span class="sc2">/</span><a href="http://december.com/html/4/element/b.html"><span class="kw2">b</span></a>>) or minus (<span class="sc2"><span class="kw2">b</span>></span>-<span class="sc2">/</span><a href="http://december.com/html/4/element/b.html"><span class="kw2">b</span></a>>) to navigate "left" and "right" on the<br>           board. Note that this will automatically follow the "backwards S"<br>           shape of the board.<span class="sc2">/</span><a href="http://december.com/html/4/element/li.html"><span class="kw2">li</span></a>><br>     <br>       <span class="sc2"><span class="kw2">li</span>><span class="kw2">em</span>></span>Tab<span class="sc2">/</span><a href="http://december.com/html/4/element/em.html"><span class="kw2">em</span></a>> to select your next piece on the board.<span class="sc2">/</span><a href="http://december.com/html/4/element/li.html"><span class="kw2">li</span></a>><br>     <span class="sc2">/</span><a href="http://december.com/html/4/element/ul.html"><span class="kw2">ul</span></a>><br><br>     <span class="sc2"><span class="kw2">p</span>></span>To quit the game at any time, press <span class="sc2"><span class="kw2">b</span>></span>Q<span class="sc2">/</span><a href="http://december.com/html/4/element/b.html"><span class="kw2">b</span></a>> (uppercase Q) or hit <span class="sc2"><span class="kw2">i</span>></span>Esc<span class="sc2">/</span><a href="http://december.com/html/4/element/i.html"><span class="kw2">i</span></a>>, and<br>     the game will prompt if you want to forfeit the game.<span class="sc2">/</span><a href="http://december.com/html/4/element/p.html"><span class="kw2">p</span></a>><br>     <br>     <span class="sc2"><span class="kw2">p</span>></span>You win if you move all of your pieces off the board before your<br>     opponent. It takes a combination of luck and strategy!<span class="sc2">/</span><a href="http://december.com/html/4/element/p.html"><span class="kw2">p</span></a>><br>   <span class="sc2">/</span><a href="http://december.com/html/4/element/body.html"><span class="kw2">body</span></a>><br><span class="sc2">/</span><a href="http://december.com/html/4/element/html.html"><span class="kw2">html</span></a>></div></div></pre> <p>These extra styles help special items to stand out in the text:</p> <article class="align-center media media--type-image media--view-mode-default"> <div class="field field--name-field-media-image field--type-image field--label-hidden field__item"> <img decoding="async" loading="lazy" src="https://opensource.com/sites/default/files/2022-08/html-senet-6.webp" width="960" height="662" alt="The extra formatting makes these gameplay instructions easier to read."></div> <div class="field field--name-field-caption field--type-text-long field--label-hidden caption field__item"><span class="caption__byline">Image by: </span></p> <p>(Jim Hall, CC BY-SA 4.0)</p> </div> </article> <p>The point of writing documentation is for users to understand how to use the software, so every open source project should make the effort to write documentation in a way that is easy to read. With a few basic HTML tags, you can write documentation that presents the information more clearly to your users.</p> <p>For more information on using HTML to write documentation, check out the complete <a href="https://developer.mozilla.org/en-US/docs/Web/HTML" target="_blank" rel="noopener">HyperText Markup Language reference</a> at MDN, the Mozilla Developer Network, hosted by the Mozilla web project.</p> </li> </ul> <p>

HyperText has more features than plain text to level up your documentation.

5 trends in open source documentation

Internet Archive Book Images. Modified by Opensource.com. CC BY-SA 4.0


Creative Commons License
This work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.

Powered by WPeMatico

Author: dasuberworm

Standing just over 2 meters and hailing from о́стров Ратма́нова, Dasuberworm is a professional cryptologist, entrepreneur and cage fighter. When he's not breaking cyphers and punching people in the face, Das enjoys receiving ominous DHL packages at one of his many drop sites in SE Asia.

Share This Post On