Making hooks optional #125
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR aims to remove the hooks folder from Manual core, so that our updates no longer require a lot of effort from hook users. It does this by loading the hooks dynamically instead of by named import. (Thanks to @silasary for making this work with zip archives!)
Since our existing hook method "documentation" was in the form of code comments in the hook files themselves -- which are deleted from Manual core as part of this change -- this PR will also need to add documentation for all currently available hook methods. So this is a Draft until I've added that documentation. 😃
Once it's no longer a Draft, I'll add reviewers.
This PR also establishes a place for Manual classes to live. Eventual long-term goal is to move large portions of the world init into classes that specifically handle some portion(s) of it. This long-term goal would also help to solve the problem of hook users having to use bespoke solutions instead of conveniences on the Manual side. 😃