jimporter / mike

Manage multiple versions of your MkDocs-powered documentation via Git
BSD 3-Clause "New" or "Revised" License
534 stars 47 forks source link

Make commits/branch optional, similarly to `--push` #89

Closed rsayn closed 2 years ago

rsayn commented 2 years ago

Hi, first of all I'd like to thank you for the great work on this plugin!

Now for the feature request: I'd like to have configurable flags to opt-out of using Git when running deploy/set-default.

The use case is integrating Mike with a CI that already has a standard way to push stuff to gh-pages.

In this scenario, a user would only need the multiversion-wrapping logic that Mike offers, to build the new documentation folders and the versions.json/index.html.

Pushing on the gh-pages would then be delegated to a different plugin/CI step/whatever, without the need to actually commit stuff on the repository during the previous documentation build step.

jimporter commented 2 years ago

If you don't want to add commits to your gh-pages branch, then you really don't need mike; all it is is a way to manage your gh-pages branch. For managing documentation in other ways, I recommend using a different tool (or writing your own if no existing tool meets your needs).

As you mention, aside from branch management, the only other things you get from mike is keeping versions.json up to date (and arguably index.html and setting up a version selector for some themes, but these are one-time chores), and that's easy to manage without mike. For example, see https://github.com/jimporter/mike/issues/88#issuecomment-1027396945.