OnWorks favicon

mdoc-assemble - Online in the Cloud

Run mdoc-assemble in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command mdoc-assemble that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator



mdoc assemble - Compile documentation for use in monodoc(1)


mdoc assemble [OPTIONS]+ PATHS+


mdoc assemble creates .tree and .zip files from PATHS for use in the monodoc(1)
documentation browser.

The input files must have a supported format, specified with the --format option.

The .tree and .zip files are copied into monodoc's sources directory, alongside a .source
file which is used by monodoc(1) to specify where the documentation should be displayed.

The .source file has the following format:

<?xml version="1.0"?>
<node label="LABEL" name="PATH" parent="PARENT">
<node label="LABEL2" name="PATH2" />
<!-- ... -->
<source provider="PROVIDER" basefile="BASEFILE" path="PATH" />
<!-- other <source/> elements -->

The /monodoc/node node is an optional node that specifies where in the monodoc tree the
documentation should be displayed, and //node elements may be nested to any depth to
create trees. //node/@label is the label that will be displayed within the monodoc tree.

//node/@name is the name of the monodoc tree node, and may be used as the value of the
/monodoc/source/@path value.

//node/@parent is the node name to use as the parent node.
$MONO_INSTALL_PREFIX/lib/monodoc/monodoc.xml contains a list of such names, and this can
be any //node/@name value. If the //node/@parent value isn't found, then it's inserted
under the "Various" tree node.

The /monodoc/source/@provider attribute specifies which format provider should be used
when reading the .tree and .zip files; this must correspond to one of the --format values.

The /monodoc/source/@basefile attribute specifies the filename prefix for the
documentation files. This must be the same prefix as used with the --out parameter.
There should be no filename extension on this value.

The /monodoc/source/@path attribute specifies the parent node in monodoc(1)'s tree view
where the documentation will be inserted. See the
$MONO_INSTALL_PREFIX/lib/monodoc/monodoc.xml file for a list of PATH values (the
//node/@name values), or it may be a //node/@name value in the same .source file.

Once the BASEFILE.source has been written, the documentation can be installed so that
monodoc(1) will display the documentation with the command:

`pkg-config monodoc --variable=sourcesdir`


-f, --format=FORMAT
Specifies the documentation format used within PATHS. Valid FORMAT values include:
ecma, ecmaspec, error, hb, man, simple, and xhtml.

See the FORMATS section below for more information about these formats.

The default format (if none is specifed) is ecma.

The --format option may be interleaved with PATHS to change the format used for the
remaining parameters (until the next --format option is seen), e.g.:

mdoc assemble -o PREFIX A B --format=man C D --format=xhtml E

will assemble directories A and B with the ecma format, files C and D with the man
formt, and directory E with the xhtml format.

-o, --out=PREFIX
Specify the output file prefix. mdoc assemble creates the files PREFIX.zip and

-h, -?, --help
Display a help message and exit.


The following documentation formats are supported:

The Mono ECMA Documentation Format, an XML documentation format with one file per type.

See the mdoc(5) man page for more information.

The Mono ECMA Specification Documentation Format. This is not the format you're looking
for; it is the format used to represent the ECMA-334 (C#) standard within monodoc(1). It
is not used to display class library documentation; for class library documentation, use
the ecma format.

The Error Documentation Format is used to present detailed error messages, and is used in
monodoc(1)'s "C# Compiler Error Reference" tree.

In this format, PATHS is a configuration file, containing the XML:


The elements mean:

Specifies where to look for files.

Specifies the filename pattern to look for within the
/ErrorProviderConfig/FilesPath directory.

Specifies where within the filename the error number starts.

Specifies how many characters after /ErrorProviderConfig/ErrorNumSubstringStart to
use for the error number.

Specifies the formatting/display of the node in the monodoc(1) tree.

For each file found, it is converted to HTML with C# syntax coloring applied.

The Simple Documentation Format file format recursively adds all files and directories
underneath PATHS. When displayed, HTML files are displayed as-is. Text files are
converted into HTML by translating each newline into an HTML <br> element. No other file
type is supported.

The Man Page Documentation Format displays groff man pages. (This is not a full groff
parser, and only handles the man page constructs used within the mono man pages.)

PATHS is a set of XML files containing:

<?xml version="1.0"?>
<manpage name="NAME" page="FILE" />

There may be multiple //manpage elements within the root /manpage element.

The /manpages/manpage/@name attribute contains the display name for the tree view node,
which is also the URL of the man page when using monodoc(1)'s Lookup URL command (before
prefixing with a man: prefix). Thus, if /manpages/manpage/@name contains mono(1), then
man:mono(1) can be used in the Lookup URL command to view the mono(1) man page.

The /manpages/manpage/@page attribute is the filename that contains the man page. If this
file does not exist, then /manpages/manpage/@name will not be displayed within the tree

The XHTML provider interprets PATHS as a Windows Help file XHTML TOC file and looks for
referenced documents to create the help source.

Use mdoc-assemble online using onworks.net services

Free Servers & Workstations

Download Windows & Linux apps

  • 1
    Phaser is a fast, free, and fun open
    source HTML5 game framework that offers
    WebGL and Canvas rendering across
    desktop and mobile web browsers. Games
    can be co...
    Download Phaser
  • 2
    VASSAL Engine
    VASSAL Engine
    VASSAL is a game engine for creating
    electronic versions of traditional board
    and card games. It provides support for
    game piece rendering and interaction,
    Download VASSAL Engine
  • 3
    OpenPDF - Fork of iText
    OpenPDF - Fork of iText
    OpenPDF is a Java library for creating
    and editing PDF files with a LGPL and
    MPL open source license. OpenPDF is the
    LGPL/MPL open source successor of iText,
    Download OpenPDF - Fork of iText
  • 4
    SAGA - System for Automated
    Geoscientific Analyses - is a Geographic
    Information System (GIS) software with
    immense capabilities for geodata
    processing and ana...
    Download SAGA GIS
  • 5
    Toolbox for Java/JTOpen
    Toolbox for Java/JTOpen
    The IBM Toolbox for Java / JTOpen is a
    library of Java classes supporting the
    client/server and internet programming
    models to a system running OS/400,
    i5/OS, o...
    Download Toolbox for Java/JTOpen
  • 6
    D3.js (or D3 for Data-Driven Documents)
    is a JavaScript library that allows you
    to produce dynamic, interactive data
    visualizations in web browsers. With D3
    Download D3.js
  • More »

Linux commands