mdassembler(1)
π mdassembler(1) π
okay bestie, welcome to the mdassembler page β it lives in the General Commands Manual, section 1, and it's all about compiling your docs so the monodoc browser can actually show them. π¦
β¨ NAME β¨
mdassembler β compile documentation for use in the monodoc browser π
β¨ SYNOPSIS β¨
mdassembler OPTIONS* DIRS+
β¨ DESCRIPTION β¨
real talk first: mdassembler has been obsoleted by mdoc(1). so likeβ¦ go look at the mdoc-assemble(1) man page instead, bestie. it's the glow-up. π
but for the lore: mdassembler is a program that creates .tree and .zip files, and those are for the monodoc documentation browser.
here's how the vibe works π β the .tree and .zip files get copied into monodoc's sources directory, and they hang out there with a .source file. monodoc uses that .source file to figure out where the documentation should be displayed. the .source file's /monodoc/source/@basefile attribute specifies the filename prefix for the documentation files. and β important β this must be the same prefix as the one you used with the --out parameter. no mismatches, no chaos. π
β¨ OPTIONS β¨
--ecmaβ the documentation insideDIRSis in the Mono ECMA documentation format. peek the Mono ECMA Documentation Format section below. π--ecmaspecβ the documentation insideDIRSis in the ECMA Specification documentation format. check the Mono ECMA Specification Documentation Format section below. π§--errorβ the documentation insideDIRSis in "error" format. see the Error Documentation Format section below. π--helpβ show program argument information. the classic. π«Ά--manβ the documentation insideDIRSis in man page format. see the Man Page Documentation Format section below. π-o,--out PREFIXβ specify the output file prefix.mdassemblercreates the filesPREFIX.zipandPREFIX.tree. β¨--simpleβ the documentation insideDIRSis in "simple" format. see the Simple Documentation Format section below. πΈ--xhtml,--hbβ the documentation insideDIRSis in XHTML format. see the XHTML Documentation Format section below. π
β¨ FORMATS β¨
the following documentation formats are supported, bestie:
π¦ Mono ECMA Documentation Format
an XML documentation format with one file per type.
see the mdoc(5) man page for more information.
π¦ Mono ECMA Specification Documentation Format
this is not the format you're looking for. π«
this is the format used to represent the ECMA-334 (C#) standard within monodoc. it is not used to display class library documentation; for class library documentation, use the --ecma format. periodt.
π¦ Error Documentation Format
used to present detailed error messages, and it's used in monodoc's "C# Compiler Error Reference" tree. DIRS is not a directory here β instead it's a configuration file, containing the XML:
<ErrorProviderConfig>
<FilesPath>../../mcs/errors</FilesPath>
<Match>cs????*.cs</Match>
<ErrorNumSubstringStart>2</ErrorNumSubstringStart>
<ErrorNumSubstringLength>4</ErrorNumSubstringLength>
<FriendlyFormatString>CS{0:0###}</FriendlyFormatString>
</ErrorProviderConfig>
let's break it down π :
/ErrorProviderConfig/FilesPathspecifies where to look for files./ErrorProviderConfig/Matchspecifies the filename pattern to look for within/ErrorProviderConfig/FilesPath./ErrorProviderConfig/ErrorNumSubstringStartand/ErrorProviderConfig/ErrorNumSubstringLengthcontrol which portion of the filename is used as the error number./ErrorProviderConfig/FriendlyFormatStringcontrols how the formatting/display of the node in the monodoc tree.
for each file found, it is converted to HTML with C# syntax coloring applied. iconic. π
π¦ Simple Documentation Format
converts text files into HTML by translating each newline into an HTML <br> element. simple, like the name says. β¨
π¦ Man Page Documentation Format
converts man pages into HTML for display. (hi, that's literally this.) π
π¦ XHTML Documentation Format
copies the XHTML file as-is. no notes. π
β¨ EXAMPLES β¨
to install your documenation for use with monodoc:
- Create a
PREFIX.sourcefile β with the contents:
<?xml version="1.0"?>
<monodoc>
<source provider="FORMAT" basefile="PREFIX" path="PATH"/>
</monodoc>
where FORMAT is the documentation format contained within the PREFIX.tree file, e.g. ecma, or simple. PREFIX is the basename of the .tree and .zip files that mdassembler creates. PATH is the "path" in the monodoc tree that should contain the documentation. see the @prefix@/lib/monodoc/monodoc.xml file for a list of PATH values (the //node/@name values).
see also: http://www.mono-project.com/docs/tools+libraries/tools/monodoc/generating-documentation/
- Create your documentation β see also the
monodocer(1)man page, e.g.
monodocer -assembly:foo.dll -path:foo/en
- Assemble the documentation
mdassembler --ecma foo/en PREFIX
make sure that you use the same PREFIX here as you did above. π
- Install the documentation by using the command
cp PREFIX.source PREFIX.tree PREFIX.zip \
`pkg-config monodoc --variable=sourcesdir`
(note the backticks used in the pkg-config command!) this copies the .source, .tree, and .zip files into the monodoc sources directory, which will allow monodoc to display the documentation. π
β¨ SEE ALSO β¨
mdcs2ecma(1), mdnormalizer(1), mdoc(1), mdoc-assemble(1), mdvalidator(1), monodocer(1), monodocs2html(1)
β¨ MAILING LISTS β¨
visit http://lists.ximian.com/mailman/listinfo/mono-docs-list for details. π«Ά
β¨ WEB SITE β¨
see also: http://www.mono-project.com and http://www.mono-project.com/docs/tools+libraries/tools/mdassembler/ π
and that's the whole page, bestie!! π this one's filed under mdassembler(1) in the General Commands Manual, section 1 β no cap, you read all of it, and i'm so proud of you. go forth and assemble those docs. mwah πβ¨
π¦ where this page comes from
- alpine 3.24: mono-doc 6.14.1-r1 Β· MIT
- arch rolling: mono 6.12.0.206-1 Β· GPL AND LGPL2.1 AND MPL
- debian bookworm: monodoc-base 6.8.0.105+dfsg-3.3+deb12u1 Β· MIT
- debian trixie: monodoc-base 6.12.0.199+dfsg-6 Β· MIT
- epel 10: monodoc 6.14.1-1.el10_2 Β· MIT
- epel 9: monodoc 6.12.0-5.el9 Β· MIT
- fedora 43: monodoc 6.12.0-21.fc43 Β· MIT
- fedora 44: monodoc 6.14.1-3.fc44 Β· MIT
- fedora 44: monodoc 6.14.1-4.fc44 Β· MIT
- nixos 26.05: mono 6.14.1
- nixpkgs unstable: mono 6.14.1
- opensuse-leap 16.0: monodoc-core 6.12.0-bp160.1.1 Β· LGPL-2.1-only
- opensuse-leap 16.0: monodoc-core 6.12.0-bp160.1.1 Β· LGPL-2.1-only
- opensuse-leap 16.0: monodoc-core 6.12.0-bp160.1.1 Β· LGPL-2.1-only
- opensuse-leap 16.0: monodoc-core 6.12.0-bp160.1.1 Β· LGPL-2.1-only
- ubuntu jammy: monodoc-base 6.8.0.105+dfsg-3.2 Β· MIT
- ubuntu noble: monodoc-base 6.8.0.105+dfsg-3.6ubuntu2 Β· MIT
- ubuntu questing: monodoc-base 6.12.0.199+dfsg-6
- ubuntu resolute: mono-devel 6.14.1+ds2-2 Β· MIT
- ubuntu stonking: mono-devel 6.14.1+ds2-3 Β· MIT
- (C) 2006 Jonathan Pryor
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms