A downloadable GMLDocMaker for Windows

Version 0.3.1 just released - huge changes!


WHAT IS IT?

GMLDocMaker is a free Windows utility to generate beautiful HTML documentation out of your GML code structs and functions. This is very handy so you can keep your libraries, snippets, function libraries and other stuff nicely documented for you and your users!

GMLDocMaker analyzes each GML file and looks for properly documented (extended JSDoc) markup, then converts it to valid HTML in batch, using Fomantic UI for styling and interactivity.

FEATURES

GMLDocMaker processes all selected files in batch and generates single HTML files per each GML file with at least one properly documented function or struct. It sports the following features:

  • Generate W3-valid, beautiful, modern HTML documentation from your GML with one* click!
  • Support for functions and struct documentation!
  • Support for data types according to the Gamemaker/JSDoc specification
  • Support for optional parameters
  • Groups all your generated documentation in an interlinked HTML project!
  • Basic Markdown support for descriptions!
  • Multiline descriptions
  • Beta command-line support to easily update your project when making changes (without having to open the GUI)
  • Rewrote parsing script in self-contained Python to speed it up

Supported Tags

The current version (0.3) of GMLDocMaker is based on the official Gamemaker JSDoc Documentation, but adds some extended tags similar to the general JSDoc Specification  mainly to support (constructor) structs.

TagsDescriptionUsed for
@function, @funcNon-constructor functions.Functions
@struct, @constructorConstructor functions (named structs).Structs
@augments, @extendsDocument parent struct.Structs
@methodDocument named struct methods.Structs
@description, @descDescription of the relevant tag.



  • Supports multiline descriptions in GML that are either concatenated into a single line (default) or put into separate lines (if a <br> tag is found within the description).
  • Supports some basic Markdown tags:
    bold, italic, bold+italic, URL and code - see this link for reference
Structs, Methods,  Functions, Parameters, Return Values
@param, @parameter, @arg, @argumentDocument struct constructor, function and method parameters.Structs (for constructor), Methods,  Functions
@return, @returnsDocument the return value of a function, method or structStructs, Methods, Functions


GMLDocMaker is free as in "gratis".

Usage

  1. Download and unzip to a folder of your choice.
  2. Execute GMLDocMaker.exe.
  3. Select the folder where your GML scripts reside.
    1. GMLDocMaker will list all GML files inside this folder and all subfolders.
    2. Check/uncheck which specific GML files you want analyzed.
  4. Select the folder where you want your beautiful HTML documentation generated.
  5. NOTE: if you already have stuff with the same filenames in the destination folder, it WILL be replaced without warning!
  6. Type a project name (it can be the utility/library/project name, your name, etc.).
  7. Optionally type the project version and select an image.
  8. Click "Generate HTML5 Documentation".
  9. Wait microseconds for it to finish. View/copy process log if needed.
  10. Navigate to your output directory and view your resulting HTML files with your browser (you need to start up your local webserver or upload to your public web host, before doing this).

Example

Check out this example GML script I wrote for the Gamemaker Helpful Dev Jam (as part of my Random Number Generation in Gamemaker series) and the corresponding generated HTML documentation output by GMLDocMaker 0.3.


Changelog

  • v0.3 - Added struct support, Markdown support, multiline descriptions, reworked/improved the resulting documentation UI/UX and rewrote parser in Python (2022-10-28)
  • v0.1 (alpha) - Initial release (2021-10-15)

License

  • CC0 no attribution (credits appreciated but not required).

Known Bugs

None at the moment, but surely they'll pop up as the current version is an alpha version. Let me know via the comments or Discord if you find any.

FAQ

  • Q: Can I use @function/@func to document struct methods?
  • A: No. You must use @method.
  • Q: Does it support block-type comments (/** */) instead of triple slashes (///)?
  • A: Not at the moment. Please use triple slashes. Experimental block code support has just been released in version 0.3.1.
  • Q: Does GMLDocMaker have external dependencies?
  • A: The generated HTML files use Fomantic UI by default (which in turn includes jQuery). The HTML header fetches these libraries from JSDeliver's CDN. If you need a completely offline version, you can download those libraries and change the corresponding <script> or <link> tags in the top.inc file in the include/ directory. Note that a Python script is also included (from version 0.3 onwards), but it's nicely packed into an executable, so you don't actually need Python installed.

Download

Download
GMLDocMaker 0.3.1.zip 7 MB
Download
GMLDocMaker 0.3.zip 7 MB
Download
GMLDocMaker v0.1 alpha.zip 157 kB

Install instructions

Unzip to a folder of your choice and start GMLDocMaker.exe.

Development log

Leave a comment

Log in with itch.io to leave a comment.