|
ArticyXImporter
ArticyXImporter for Unreal Engine
|
This guide describes key aspects of how to write documentation for the Articy X Importer Unreal plugin.
Basically, all you need to write documentation for this project is a text editor. All files that go into the documentation besides the source code are situated in the docs directory. index.md is the home page of the documentation. Further contents:
The documentation is best opened in a text editor like VS Codium or an IDE of your choice. It should have support for Markdown files at least. We're using Doxygen to generate the documentation website. It uses a modified version of Markdown so it supports it own markup language as well. The intricacies are fairly well documented on Doxygen's documentation.
In order to quickly check the correctness of the written documentation visually, it is advised to install Doxygen on your development machine. Make the Doxygen executable available on your PATH.
After applying changes to the documentation, use your favourite terminal to navigate to the project's directory, where the Doxyfile is located (root directory of the project). Run the Doxygen executable. After a few seconds, you will find a docsBuild directory in the project's directory. Open its index.html file to inspect the freshly built documentation.
Pages may be organised in a tree structure. To do so, use Doxygen's \page and \subpage commands. For example, consider:
Excerpt from docs/articles/index.md
Excerpt from docs/articles/basic_object_handling.md
The \page line will be interpreted as the pages heading (e.g. "Articles") and will also be used in the menu. The lower-case "articles" or "basicObjectHandling" is an identifier that can be used with links or subpages. This can be observed in the \subpage commands that use the ID of the particular articles and creates a link to them. Also in the menu, those pages will be put under the current page's menu item, in this case "Articles".
This project's documentation uses Doxygen Awesome CSS' tabs feature (in a customised way, see below) to allow the user to switch between C++ and Blueprint examples. Authoring such tabs is arguably inconvenient, but it serves the purpose.
In order to ease the official syntax we've introduced aliases using Doxygen's ALIAS feature. Consider the following example:
Contents have been trimmed for readability
There are a few little customisations that we've built for the documentation. Most of them are visual, e.g. changed icons or colours. Those changes are primarily reflected in the stylesheets situated in the docs/css directory.
docs/js/doxygen-awesome-tabs-customized.js is an extended version of Doxygen Awesome CSS' tabs feature. It enables setting a group on a tab, which will be saved in the user browser's local storage. The last chosen group will be activated by default when loading a page of the documentation. This way we allow the user to switch between C++ and Blueprint examples tailored to their needs.
Also when selecting a tab that is assigned to a group, it will trigger all other tabs on the same page that have the same group.
Changes to the documentation are deployed according to the action defined in .github/workflows/generate-docs.yml.