MakeDoc is a
lightweight markup language
A lightweight markup language (LML), also termed a simple or humane markup language, is a markup language with simple, unobtrusive syntax. It is designed to be easy to write using any generic text editor and easy to read in its raw form. Lightwei ...
created in 2000 by
Carl Sassenrath
Carl Sassenrath (born 1957 in California) is an architect of operating systems and computer languages. He brought multitasking to personal computers in 1985 with the creation of the Amiga, Amiga Computer operating system kernel, and he is the ...
for creating documentation and
web pages using simple text notations. The language is used extensively in the
REBOL community for documentation, websites, and wikis.
Overview
MakeDoc was originally designed to allow authors to create formatted documentation without the need for word processing software.
[Origins of MakeDoc](_blank)
/ref> Any ordinary text editor, including web input forms can be used for input, and the output can be HTML
The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaScri ...
, PDF
Portable Document Format (PDF), standardized as ISO 32000, is a file format developed by Adobe in 1992 to present documents, including text formatting and images, in a manner independent of application software, hardware, and operating systems. ...
, or ordinary text.
An additional goal of MakeDoc was that the text input format itself should be readable—uncluttered with markup notations commonly found in the SGML
The Standard Generalized Markup Language (SGML; ISO 8879:1986) is a standard for defining generalized markup languages for documents. ISO 8879 Annex A.1 states that generalized markup is "based on two postulates":
* Declarative: Markup should des ...
-based markup languages such as HTML
The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaScri ...
and XML
Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. T ...
. This was done to enable distribution of documentation for software packages, where often such documents are being viewed (or even created) in text-only command shells.
Basic Format
The format of MakeDoc is intended for input and editing from any text editor, including those often used in shell-environments, such as vi and Emacs
Emacs , originally named EMACS (an acronym for "Editor MACroS"), is a family of text editors that are characterized by their extensibility. The manual for the most widely used variant, GNU Emacs, describes it as "the extensible, customizable, s ...
.
Titles, headings, and paragraphs
Title of document
Optional boiler plate
Such as author name, date, etc.
Primary headings
This is an example paragraph. All this text will remain in
the same paragraph until a blank line is reached.
This is a separate paragraph.
--- Subheading
Text continues from here...
Command Lines
Bullets, numeric lists, definitions, and other special document formats are notated by beginning a line with a special character.
For example:
*Bullet item
*Another
#Numbered item
#Another numbered item
Other command lines begin with an equal (=) followed by the command itself.
For example, to include an image:
=image nyc.jpg
Many other commands are also provided. See the reference links below.
Special Commands
The language also allows the evaluation (execution) of code sections in order to produce the results for example or output images. This make it possible to accurately generate code sections that contain accurate results.
For example, if the command:
=view
follows a code example, the processor will automatically generate an image of whatever the code displayed in its window.
Processing the Language
The MakeDoc language is processed using a free script under an open BSD license.MakeDoc source
(BSD open source) Its source code is written in the REBOL language and is only about 17KB.
The processor is divided into a text-input scanner and an output generator. The scanner output is in REBOL block format and can be input into one of several output formatters.
The output generator for HTML is included in the standard MakeDoc script. Output generators for PDF are separate.
References
See also
*
Lightweight markup language
A lightweight markup language (LML), also termed a simple or humane markup language, is a markup language with simple, unobtrusive syntax. It is designed to be easy to write using any generic text editor and easy to read in its raw form. Lightwei ...
MakeDoc Pro(free extensions to MakeDoc)
Lightweight markup languages