libctru icon indicating copy to clipboard operation
libctru copied to clipboard

Enable offline documentation by providing docsets

Open dimaguy opened this issue 2 years ago • 2 comments

Hello, I've gotten very frustrated at doxygen's search feature not showing me the suitable functions for my objectives right away (be it because the name of the function doesn't start exactly by the search string or by being slow at doing it's job, it's laggy).
So I've found an article in hackernews promoting the wonders of offline documentation and showed docsets as a simple but effective option at doing so(while they were created for apple computers, with the right apps, like zeal which is free and cross platform, one can make full use of them in any computer). I did some research and came up with the knowledge needed to make doxygen generate the raw docsets and a way to index them and make them proper usable This PR request sets the workflow to provide the docsets in artifacts, but they could probably be moved somehow to releases.

dimaguy avatar Sep 20 '22 22:09 dimaguy

I don't see the point in uploading the docs as CI artifacts (which expires after at most 90 days), you are probably better off just downloading a zip of the gh-pages branch.

What is docset? The docsetutil repo you are using says it is a re-upload of the docsetutil binary from Xcode, which afaict was marked as deprecated in 8.3 (and removed in 9.3): https://developer.apple.com/library/archive/releasenotes/DeveloperTools/RN-Xcode/Chapters/Introduction.html#//apple_ref/doc/uid/TP40001051

oreo639 avatar Sep 21 '22 20:09 oreo639

I don't see the point in uploading the docs as CI artifacts (which expires after at most 90 days), you are probably better off just downloading a zip of the gh-pages branch.

What is docset? The docsetutil repo you are using says it is a re-upload of the docsetutil binary from Xcode, which afaict was marked as deprecated in 8.3 (and removed in 9.3): https://developer.apple.com/library/archive/releasenotes/DeveloperTools/RN-Xcode/Chapters/Introduction.html#//apple_ref/doc/uid/TP40001051

You're kinda correct in both affirmations, I wanted to leave to you however you want to distribute the docset so I made it a minimal artifact thing, but I can easily make it create a release with the docset.

In regards to the docset, while docsetutil is deprecated the format itself is used by several offline documentation utilities(Zeal, Dash and others), the format bundles the html files with a sqlite database for indexing(improved search) and the utility merely makes it easier to get the job done. When used to it's full potential, the format allows for feeds, which auto updates documentation when a new release comes up.

dimaguy avatar Sep 21 '22 20:09 dimaguy