The XEP-tool is the answer for developers who wonder how to maintain an actual list of supported XEPs. It's a fast and easy way to automatically produce documentation from raw, beam files. This is a quick guide on how to enjoy the usage of the XEP-tool.
Sign your module file first
The architecture of MongooseIM determines that almost every XEP or feature implementation resides in its own file.
It is not strictly enforced but usually the file is named with a
mod_privacy file implements XEP-0016: Privacy Lists.
In order to let the XEP-tool know about your module, we add a special attribute
xep at the beginning of the
Now we know that this module implements to XEP-0016: Privacy Lists with version 1.6.
It gives the tool enough information to generate a URL to the XEP homepage.
There are also some variations of the
xep attribute like:
You ought to remember to specify
version attributes every time.
You can also put several
xep attributes in one module.
mod_mam_muc implements attributes of XEP-0313: Message Archive Management and also XEP-0045: Multi-User Chat.
Just list them one after another:
And the XEP-tool will do the work!
Compile and run
You've just finished marking your modules.
The only thing left is to
make compile MongooseIM in order to generate the .beam files.
To run the XEP tool, you must issue an additional subcommand.
There are two choices:
markdown: to produce a markdown list of supported XEPs. This option also needs an output file as an argument.
list: to print out supported XEPs to the console.
For example, to run our XEP-tool with a
markdown command, type:
Or do it manually:
In our case, from MongooseIM root directory:
The Markdown list with unique XEP names and URLs is saved to file
You can copy-paste the content of this file to your main README file.