Next Perpendicular Moonlanding

    moxygen

    0.8.0 • Public • Published

    Moxygen

    Moxygen is a Doxygen XML to Markdown converter for C++ developers who want a minimal and beautiful solution for documentating their projects.

    Moxygen is currently used in conjunction with GitBook to generate the API documentation for LibSourcey.

    Features

    • Multi page output: Output single or multiple files
    • Internal linking: Anchors in comments and function definitions are supported
    • Markdown comments: Markdown in Doxygen comments are rendered
    • Doxygen groups: Doxygen grouping is supported for more organised documentation
    • Custom templates: Modify the core Markdown templates to add your own flavour
    • Optional index: Optionally render a top level index

    Usage

    1. Add GENERATE_XML=YES to your Doxyfile first.
    2. Run doxygen to generate the XML documentation.
    3. Install moxygen like so: npm install moxygen -g.
    4. Run moxygen providing the folder location of the XML documentation as the first argument ie. {OUTPUT_DIRECTORY}/xml.
    Usage: moxygen [options] <doxygen directory>
    
    Options:
    
      -h, --help             output usage information
      -V, --version          output the version number
      -o, --output <file>    output file (must contain %s when using groups)
      -g, --groups           output doxygen groups into separate files
      -c, --classes          output doxygen classes into separate files
      -n, --noindex          disable generation of the index (no effect with `groups` option
      -a, --anchors          add anchors to internal links
      -l, --language <lang>  programming language
      -t, --templates <dir>  custom templates directory
      -q, --quiet            quiet mode
    

    Multi-page Output

    Moxygen supports the doxygen groups syntax for generating multi page documentation. Every \defgroup in your source code will be parsed and output into a separate markdown file, with internal reference updated accordingly.

    Example:

    moxygen --anchors --groups --output api-%s.md /path/to/doxygen/xml
    

    Example

    To get a feel for how Moxygen works you can play with the example which is located in the example folder. The example contains:

    • Documented C++ example code
    • A Doxyfile file (for doxygen 1.8.13)
    • Pre-generated XML output in example/xml
    • Pre-generated output Markdown files in example/doc

    The rebuild the example XML you can run doxygen from within the example folder.

    Now you can build the example documentation with the following command from within the example folder:

    moxygen --anchors --groups --output=example/doc/api-%s.md example/xml
    

    Install

    npm i moxygen

    DownloadsWeekly Downloads

    331

    Version

    0.8.0

    License

    MIT

    Unpacked Size

    261 kB

    Total Files

    47

    Last publish

    Collaborators

    • auscaster