craftworkgames / MonoGame.Extended

Extensions to make MonoGame more awesome
http://www.monogameextended.net/
Other
1.43k stars 324 forks source link

Website's documentation needs versioning to avoid hiding information #926

Closed clairross closed 2 weeks ago

clairross commented 2 months ago

[!NOTE]
I am making this issue here because issues are turned off on the website's repo.

Really enjoying the changes to 4.X of Monogame but the updates to the incomplete docs have been going on for 2 weeks which, while understandable for a solo dev, is still a long time to have the majority of documentation hidden on the website.

I cloned an instance of the Monogame Extended website's repo to check out how it works and found Docusaurus' versioning guide quite helpful.

While their guide suggests avoiding versioning saying:

Most of the time, you don't need versioning as it will just increase your build time, and introduce complexity to your codebase. Versioning is best suited for websites with high-traffic and rapid changes to documentation between versions. If your documentation rarely changes, don't add versioning to your documentation.

I believe there is a use case for when...

  1. A repo does not have public contributions,
  2. the documentation updates slowly, and
  3. the most recent public documentation is incomplete.

I got versioning working quickly by using the commit https://github.com/craftworkgames/craftworkgames.github.io/commit/dbd81d087974dbee5ec0e0b6ddf813d57295092c as the 3.X version. I attached a short video as an example of that to show how I think it could be helpful - but I'd point out there are other options like having a dropdown of versions available.

https://github.com/user-attachments/assets/3372c350-b218-43cf-a39d-b608666f0087

Please consider adding versioning to Monogame Extended docs. 🙏🏻

kaltinril commented 2 weeks ago

FYI @AristurtleDev

AristurtleDev commented 2 weeks ago

@clairross First, thank you for the suggestion on versioning.

The 3.x to 4.x didn't change a ton of the API. A lot of the work was put into resolving some specific bugs, and merging the projects into a single project instead of multiple individual projects. Given that there was little API change, I don't thing at the moment implementing versioning is something that would be needed.

The previous documentation was archived because I felt in terms of actual documentation, it was a little sparse and needed to be updated to provide a better user experience when reading and more complete examples. I had originally planned to release 4.x only when the code was ready AND all documentation was updated, but given the amount of time it takes to update documentation, it was determined that releasing the update instead of delaying it was more important.

Taking into consideration your request, all of the archived documentation has been unarchived to make it more easily accessible, and all documentation will now state if it is currently up to date for the current version of MGE

image

image

Once all documentation is updated for 4.x, going forward after that point, we can revisit using the docusarus versioning system and if it's needed between SemVer Major only or also SemVer Minor releases.