GMLDocMaker
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.
Tags | Description | Used for |
---|---|---|
@function, @func | Non-constructor functions. | Functions |
@struct, @constructor | Constructor functions (named structs). | Structs |
@augments, @extends | Document parent struct. | Structs |
@method | Document named struct methods. | Structs |
@description, @desc | Description of the relevant tag.
| Structs, Methods, Functions, Parameters, Return Values |
@param, @parameter, @arg, @argument | Document struct constructor, function and method parameters. | Structs (for constructor), Methods, Functions |
@return, @returns | Document the return value of a function, method or struct | Structs, Methods, Functions |
GMLDocMaker is free as in "gratis".
Usage
- Download and unzip to a folder of your choice.
- Execute GMLDocMaker.exe.
- Select the folder where your GML scripts reside.
- GMLDocMaker will list all GML files inside this folder and all subfolders.
- Check/uncheck which specific GML files you want analyzed.
- Select the folder where you want your beautiful HTML documentation generated.
- NOTE: if you already have stuff with the same filenames in the destination folder, it WILL be replaced without warning!
- Type a project name (it can be the utility/library/project name, your name, etc.).
- Optionally type the project version and select an image.
- Click "Generate HTML5 Documentation".
- Wait microseconds for it to finish. View/copy process log if needed.
- 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
Install instructions
Unzip to a folder of your choice and start GMLDocMaker.exe.
Development log
- Small update (0.3.1)Oct 28, 2022
- New version (0.3) released!Oct 28, 2022
Leave a comment
Log in with itch.io to leave a comment.