Preapologia: This is probably Documented Somewhere, but I haven’t found it, and it seemed easier to ask here than to sort through the source code.
What: What are the steps taken by Inform7 to install a new extension to the user’s extensions collection? Obviously the i7x file gets copied into a subdirectory based on the x-author’s name, but apparently html documentation is generated in some fashion and … anything else?
Why: I’m working with Linux ports of the I7 IDE, and in the hoary tradition of unix utilities, it occasionally would be useful to have an external tool that simply installs one or more desired, or even lusted after, extensions and nothing else.
I’m not sure about the Linux version, but in Windows, click “File” and then “Install Extension.” Choose the i7x file you want to install. After that, you have to put a line of code at the top of your program, such as:
The HTML documentation is generated for all extensions by the front-end running the “ni” compiler with a special “-census” flag. This happens when an extension is installed and also when the front-end is started up, in case the user manually copied any extensions. That’s all there is to the process
Documentation is also regenerated sometimes at compile time, for example if you edit an extension that’s already installed and then recompile a game that uses it. But there are some fussy elements to this process (for example, if the documentation is currently open in the documentation tab, it won’t reload). I still can’t always predict when it will update.