MakeDoc
Encyclopedia
MakeDoc is a lightweight markup language
Lightweight markup language
A lightweight markup language is a markup language with a simple syntax, designed to be easy for a human to enter with a simple text editor, and easy to read in its raw form....

 created in 2000 by Carl Sassenrath
Carl Sassenrath
Carl Sassenrath is an architect of operating systems and computer languages. He brought multitasking to personal computers in 1985 with the creation of the Amiga Computer operating system kernel, and he is currently the designer of the REBOL computer language as well as the CTO of REBOL...

 for creating documentation and web pages using simple text notations. The language is used extensively in the REBOL
REBOL
REBOL is a cross-platform data exchange language and a multi-paradigm dynamic programming language originally designed by Carl Sassenrath for network communications and distributed computing. The language and its official implementation, which is a proprietary freely redistributable software are...

 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. Any ordinary text editor, including web input forms can be used for input, and the output can be HTML
HTML
HyperText Markup Language is the predominant markup language for web pages. HTML elements are the basic building-blocks of webpages....

, PDF, 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-based markup languages such as HTML
HTML
HyperText Markup Language is the predominant markup language for web pages. HTML elements are the basic building-blocks of webpages....

 and XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....

. 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
Vi
vi is a screen-oriented text editor originally created for the Unix operating system. The portable subset of the behavior of vi and programs based on it, and the ex editor language supported within these programs, is described by the Single Unix Specification and POSIX.The original code for vi...

 and Emacs
Emacs
Emacs is a class of text editors, usually characterized by their extensibility. GNU Emacs has over 1,000 commands. It also allows the user to combine these commands into macros to automate work.Development began in the mid-1970s and continues actively...

.

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

  1. Numbered item

  1. Another numbered item



Other command lines begin with an equal (=) followed by the command itself.

For example, to include an image:


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. Its source code is written in the REBOL language and is only about 17KB.

The processor is divided into a text-input scanner and a output generator. The scanner output is in REBOL block format and can be input in to one of several output formatters.

The output generator for HTML is included in the standard MakeDoc script. Output generators for PDF are separate.

See also

  • Lightweight markup language
    Lightweight markup language
    A lightweight markup language is a markup language with a simple syntax, designed to be easy for a human to enter with a simple text editor, and easy to read in its raw form....

  • MakeDoc Pro (free extensions to MakeDoc)
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK