[generate_html] Is the new package documentation for Octave Forge Packages available anywhere?


I sent an e-mail to the Octave mailing list about two weeks ago concerning this, but since there was no follow-up I wanted to try it here hoping it could get more attention. Apologies in advance if this is discouraged. The e-mail was as follows (following the thread “New Package Documentation”):

I want to document a local octave package I created. The package works fine to use pkg install, pkg load etc, and I can also use generate_html to generate a website with the documentation.

However, the generated documentation seems to use the old template from octave forge (I think dated to 2017 ish, based on a snapshot I found of the Octave Forge via the Internet Archive website). Is it possible to generate the documentation in the more modern interface Octave forge has? Looking at the source code of generate_html in the current version 0.3.2, I assume this is likely due to the code still referring to the old images:


Thank you.

The short answer is: No. generate_html 0.3.2 is the latest release and produces the “old” Octave Forge layout.

The longer answer: The current Octave Forge website (repo) and the generate_html package live a luckily undocumented :sweat_smile: complicated and fragile co-existence.

The Octave Forge website is a construct of Apache .htaccess-rules, JavaScript, and php-scripts. The package documentation you see online, for example:

is under the hood pkg_index.php-generated HTML from the Octave generate_html-generated <package name>/description.json file and internally redirected via 12 cryptic .htaccess-rules to:

which is of course by another .htaccess-rule forbidden to be accessed externally directly :exploding_head:

On the other hand, if you access the function reference, e.g.,

There you really see the generate_html-generated HTML website, which is patched by some JavaScript pages to fix the URL locations, etc.

Summing up, getting the “new” Octave Forge layout for the package overview, requires to run a php server. This is why this updated layout will not likely get into the generate_html package.

1 Like

Thank you for clarifying Kai! :slightly_smiling_face: