RISC-OS: StrongHelp is more than just Help
Under the RISC-OS operating system, there is a third-party help program which essentially became the official Help program on the operating system. This program is StrongHelp. It is a very useful tool at first glance to only developers, as most of the help manuals for it are mostly of interest to developers. It is also however a great resource to learn more about the operating system itself, and some of it's history. A lot of manuals to speak of some of the history of RISC-OS. However, there is yet another interesting use-case for it.
StrongHelp as a Note Keeping Program
Yes, you read that headline correctly. After reading through the SH-RefMan, which is the reference manual for creating StrongHelp manuals, it is actually fairly easy to understand and write entire notes in. StrongHelp works similar to any other hypertext-based help system, at least in terms of using it and browsing it's various pages. You click links to go from one page to another. However, the underlying syntax is more akin to say Markdown than HTML or anything truly complicated to write. Here is a short example of a page you could write in StrongHelp:
Page Title
#fH1:This is a heading!
#Line
This is just some normal text, and styling can be used
such as *bold*, \Italic\, and _Underline_.
Simple Links are supported to <OtherPage> too!
Or, you can have a more <Complicated=>complpage> link too.
Links can also link to other registered <help manuals=>Computers:[v-x].Winchester>,
not all manuals link as easily as <BASIC=>Basic:CHAIN> though, but if you only link to
your own, then you can make whatever layout you want.
Other fancy features are also supported, such as <typing info=>#TYPE Hello StrongHelp!>
for example. You can also run *-commands, like <Version=>*FX0>.
You don't even need a special program to write these pages, all you need is just your text editor and something to write notes about. To create a new manual for your personal notes, middle-click on the StrongHelp icon in your icon bar after it's running, and select Create, then in the Save As submenu, choose a name, then drag out the icon somewhere to save it. Next, all you need to do to get started is to Shift-Double-Click onto the newly created manual file. It will then show you the contents, which if it's a new manual, should be a completely empty Filer window, which looks like every other folder you've seen, except this one is a bit different.
You see RISC-OS has a fairly advanced feature with image filing systems. Think of this as a DMG on macOS, a WIM on Windows, or merely just a loopback file system on Linux. The main difference, is that some RISC-OS software uses this in a rather unique way. Each of the StrongHelp manuals you see is actually a virtual file system, and when StrongHelp starts it, it registers a new image filing system with the operating system, and this in turn has RISC-OS perform filing system API calls, which can then access the directories and files from inside it, but nothing is actually mounted, this is all transparent to the Filer, Applications, and most importantly, the User. In most cases the user won't even know they are using an imaging file system unless they do some research. It is also transparent to most Applications, in that you can just save most files directly into one of these imaging file systems. This is how StrongHelp works, and how you can edit pages as files.
Inside this manual, you can create directories and files, of any type too! That means, your manual can actually contain images and other useful resources for your pages to link to. Although, be warned about the saving images directly into these manuals, as I've noticed some issues with that, for when I dragged a draw export into one, it crashed the filing system. To add such assets, it is best to say save them into a RAMDisk, and then copy it into the place it should be within the manual after. This means that you can embed some assets into pages themselves, such as Drawfiles, and of course Sprites. With the latter, it will use the Wimp Sprite Pool by default, and what this means is that you can actually reference any sprite in the system in your pages, unless you tell it to use your own sprite file. So, if you wanted to say place the exact look and feel of a specific icon directly on a page for documentation, that is 100% possible and extremely easy too. With this feature, you can easily link to various document types and even show an icon for them as well, in the currently selected icon theme.
One of the main files you'll be wanting to create first is !Root, as this will be the page which will show up upon opening the manual as you would any other file. If you follow the proper format, you can easily create this page, and a lot of pages linked from it to use it much like anyother hyperlink-based help program. If you place this into your StrongHelp manuals root folder, it will then also be completely searchable as well using the main StrongHelp search facilities, making searching for a specific note a breeze.
I highly recommend checking out the StrongHelp manual, SH-RefMan.
What's Next?
So, we've come to the end of another post, much shorter than a lot of the other ones, but there isn't a lot more to say, as it really is a very easy to use note taking application.
I am actually now planning on releasing some new StrongHelp manual pages on various topics I've been learning. There currently is not manual specific to the BBC Micro and I'd like to rectify that, while it does share some similarities with RISC-OS, it does have many differences. I am going to be linking to the related topics which already exist, but make mention of what is not supported on the BBC Micro. For example, most of the star-commands on the BBC Micro also exist in RISC-OS and some even follow the exact same syntax, so why write an entirely new page, when I can easily link to an existing page with the exact same information. So, do look out for this new manual in the near future.
Happy RISCing!