% rm /tmp/foo
Chapter 6. AsciiDoctor Primer
Table of Contents
Most FDP documentation is written with AsciiDoc. This chapter explains what that means, how to read and understand the documentation source, and the techniques used. To get a complete reference of the AsciiDoctor capabilities please consult the Asciidoctor documentation. Some of the examples used in this chapter have been taken from the AsciiDoc Syntax Quick Reference.
6.1. Overview
In the original days of computers, electronic text was simple. There were a few character sets like ASCII or EBCDIC, but that was about it. Text was text, and what you saw really was what you got. No frills, no formatting, no intelligence.
Inevitably, this was not enough. When text is in a machine-usable format, machines are expected to be able to use and manipulate it intelligently. Authors want to indicate that certain phrases should be emphasized, or added to a glossary, or made into hyperlinks. Filenames could be shown in a “typewriter” style font for viewing on screen, but as “italics” when printed, or any of a myriad of other options for presentation.
It was once hoped that Artificial Intelligence (AI) would make this easy. The computer would read the document and automatically identify key phrases, filenames, text that the reader should type in, examples, and more. Unfortunately, real life has not happened quite like that, and computers still require assistance before they can meaningfully process text.
More precisely, they need help identifying what is what. Consider this text:
To remove /tmp/foo, use rm(1).
It is easy for the reader to see which parts are filenames, which are commands to be typed in, which parts are references to manual pages, and so on. But the computer processing the document cannot reliably determine this. For this we need markup.
The previous example is actually represented in this document like this:
To remove */tmp/foo*, use man:rm[1]. [source,shell] ---- % rm /tmp/foo ----
6.2. Headings
AsciiDoctor supports six headings levels.
If the document type is article
only one level 0 (=
) can be used.
If the document type is book
then there can be multiple level 0 (=
) headings.
This is an example of headings in an article
.
= Document Title (Level 0) == Level 1 Section Title === Level 2 Section Title ==== Level 3 Section Title ===== Level 4 Section Title ====== Level 5 Section Title == Another Level 1 Section Title
Section levels cannot be skipped when nesting sections. The following syntax is not correct. = Document Title == Level 2 ==== Level 4 |
6.3. Paragraphs
Paragraphs don’t require special markup in AsciiDoc. A paragraph is defined by one or more consecutive lines of text. To create a new paragraph leave one blank line.
For example, this is a heading with two paragraphs.
= This is the heading This is the first paragraph. This is also the first paragraph. And this is the second paragraph.
6.4. Lists
AsciiDoctor supports a few types of lists, the most common are ordered
and unordered
.
To get more information about lists, see AsciiDoc Syntax Quick Reference.
6.5. Links
6.5.1. External links
To point to another website the link
macro should be used.
link:https://www.FreeBSD.org[FreeBSD]
As the AsciiDoctor documentation describes, the |
6.5.2. Internal link
To point to another book or article the AsciiDoctor variables should be used.
For example, if we are in the cups
article and we want to point to ipsec-must
these steps should be used.
Include the urls.adoc file from ~/doc/shared folder.
include::shared/{lang}/urls.adoc[]
Then create a link using the AsciiDoctor variable to the
ipsec-must
article.extref:{ipsec-must}[IPSec-Must article]
And this would be rendered as.
Last modified on: December 19, 2021 by Sergio Carlavilla Delgado