I’m working on a project to implement Arduino functionality (and then some) on a custom board. Is there a way to add an item to the “Help” menu in the Arduino IDE to link to our website/reference pages?
Under the Help menu I see “Galileo Help” and “Edison Help” and both have links to Troubleshooting and Getting Started. I’m looking to add something like this.
I know you can add in a “help” link to the board’s JSON file, but this link is only seen in the Boards Manager, which isn’t very convenient. I know how to use the boards.txt file to add in custom menu options under the “Tools” menu, but I don’t think it would be the appropriate place, and I can’t tell how to add an external link there anyway.
The only way you can do this is by modifying the Arduino IDE. There is no system built in to the Arduino IDE for a custom board package to do this. You'll notice the Edison and Galileo help menu sections are there even if you don't have the Intel i586/i686 Boards packages installed.
It would be a nice feature to have. I've often thought it would be great if 3rd party libraries could provide their own documentation files that would be accessible via the Help > Find in Reference menu (or the right click context menu), but I had not thought of extending that to documentation for 3rd party boards.
and I can't tell how to add an external link there anyway.
You can't. The closest thing you could do is to bundle a dummy library with your boards package. This library would have example sketches that either contain the documentation content in the sketch or provide a link the user can click to get to the documentation. A bit of a hack, but several 3rd party boards packages do already bundle dummy libraries with example sketches that demonstrate features of their core library (e.g., the ESP8266 "library"), so users are already somewhat accustomed to looking under the File > Examples menu for documentation of sorts.
Thank you for the detailed and definitive answer! That's everything I'm looking for.
I agree that implementing allowing 3rd party boards to use the "Find in Reference" feature to quickly link to their own documentation from the IDE would be a great idea.