The function-based documentation of packages using ? at the REPL is, shall we say, inconsistently helpful. Most decent packages do have web documentation that ranges from good to indispensable. Very few, however, include direct links to it within the terminal-printed doc strings.
I find that I am constantly Cmd-Tabbing to the browser, hitting Cmd-L, and then typing until I match the bookmark I have made to the documentation home (possibly requiring some down-arrows to reach). This morning I finally conceded that this is the kind of annoying, repetitive task that I should automate.
It’s not hard to imagine doing so. I might be happy with the equivalent of (in a Mac-centric form):
Then help(:Pkg) gets me where I want to be. There are ways to tart that up, of course. But I wonder if other users have a simple process already that I’ve overlooked. Have I just been trapped at the wrong local minimum?
Links can and should be written specifically indicating the minor version of the installed package, though. “Latest” and “stable” can change over time and you probably don’t want the package to have to update that string.
As a new Julia user I have struggled with the lack of discoverability of information. Even when a package is installed you cannot use help unless it has been using-ed.
It would be nice if we could have local documentation for all our installed modules and packages that could be searched without loading first.
I’ve created a small package PkgOnlineHelp to try and help with this issue. From the README file:
A small package to help users navigate to Julia package home repositories. The two (identical) functions exported by this package are pkg_site and package_site.
Attempt to find the URL of a package’s home repository, by searching through the registries in DEPOT_PATH. If autoopen is true (default), then open the URL using the default browser.
Update: I’ve added a lot more functionality, including a convenient @docs macro that can be called like
julia> @docs StaticArrays
Also added the ability for user to specify particular web sites to be opened when a package name or other keyword is passed to the @docs macro. These sites are stored in a permanent database so they are available in all future Julia sessions. See the updated README.md file for more details.
I will announce the package in another post once the registration period is complete.