I’m sure there might be one or two of you that program in multiple disciplines… So I offer this to those that may have an interest… If you do, great… If you don’t, then thats fine too … While this is a tool for use with Swift, it is written completely in Xojo for macOS. It is a front end to Jazzy, a Markdown processor for Xcode. Jazzy reads the source code for you project and extracts the Markdown (and bits of code) and creates an HTML document similar to what Apple produces. A side effect is that Xcode itself recognizes the markdown, and uses it to show context oriented popups in the Xcode IDE.
The biggest problem (my opinion) is that Jazzy is a CLI, and the command lines can get rather long. So this GUI app reduces most of that to just a few mouse clicks. This does require you to install Jazzy (by Realm) https://github.com/realm/jazzy
The GUI does not implement EVERYTHING that Jazzy can do… But as I get more familiar with the way it does some of its more advance things, I will most likely update the GUI app as well
Another thing I am going to figure out, is how to come up with a way to apply this to Xojo projects… I have some ideas, but the biggest problem is that Jazzy actually uses some components of Xcode to analyze the source code. So I would have to design a pre-processor that would “fool” Jazzy… but I think it can be done
After playing around with Jazzy for a few days, I have discovered either I don’t understand their instructions (possible but not likely), or Jazzy has bugs (likely). I have found instances where it decides to ignore information that is included, doesn’t put items in the order specified, or fails to format according to the rules described in the less than verbose documents.
Sooo… I have decided to embark on creating a total replacement version, which will be written 100% in Xojo… I have already created a proof of concept, and have shown that I can extract the markdown, and Swift code objects required to create the document… There is still a ton of design work and coding, but the good news is that this approach will allow me to create a similar program for Xojo Projects… (yes I’ve seen that others have already done similar, but I don’t think anyone has followed the same guidelines…
Also, when complete the version for Xojo projects, should be able to work on all platforms (well desktop platforms) that Xojo runs on