Comments (7)
@kamilkrzyskow mike's loading of the config is totally separate from the mkdocs build
action that happens later (mike can't really control MkDoc's internal plugin lifecycle anyway). This way avoids any possible strangeness with nested startup
events, and gives plugins a chance to clean themselves up during the mike "pre-build" phase.
from mike.
OK, if the
mkdocs build
happens later then it's all good, and sorry for jumping the gun. I'm still unsure whether or not running theon_config
event for all plugins is really necessary during load, as it seems to me you only need to run themike
's pluginon_config
event to get what you need. 🤔
Plugins can do arbitrary things to transform the config during on_config
, so we probably want to do that. For example, someone could write a plugin that automatically fills in values for remote_branch
and remote_name
(or even fill in some special values for the mike
plugin).
from mike.
For continuity, since squidfunk/mkdocs-material@55fe1cc the Group plugin in mkdocs-material won't crash mike. However, running on_config
without first running on_startup
should still be addressed here.
Lines 30 to 33 in 533e996
from mike.
Thanks for your continued dedication to the project!
from mike.
But why are both startup
and shutdown
being run during load of the config @jimporter?
I feel like this will completely break the lifecycle of plugins that open a resource in startup
then use it later in post_build
and close the resource in shutdown
.
I think any event triggers should be outside of the load_config
utils function and should be exported into the driver itself to mimic the proper event lifecycle, but I'm just guessing.
from mike.
Unless this is a patch just for the load function, and later on it runs the full lifecycle again. I didn't check how the driver works in it's entirety.
from mike.
OK, if the mkdocs build
happens later then it's all good, and sorry for jumping the gun.
I'm still unsure whether or not running the on_config
event for all plugins is really necessary during load, as it seems to me you only need to run the mike
's plugin on_config
event to get what you need. 🤔
from mike.
Related Issues (20)
- PyPI release HOT 1
- versioning doesn't appear on setup (serve locally) HOT 1
- Add support for "hidden" versions to the built-in theme extensions HOT 2
- The `latest` folder with redirects deleted by mike 2.0.0 HOT 20
- "Nice to have" FR: a way to do the equivalent of `git show --stat` *if* a commit is created HOT 3
- 'mike deploy'does not honor the mkdocs extra HOT 3
- Help/clarification on replacing `--rebase` in `mike v2.0` HOT 7
- Can't mike deploy when using !relative in mkdocs config HOT 11
- Improve usability on non-Github forges HOT 2
- Mike fails to deploy HOT 6
- Is it possible to use mkdocs --no-directory-urls option from mike? HOT 2
- Versioning of sub-folders
- Recommendations on removing versions from a GHA published site
- Deploying docs fails with `error: File is not a zip file` HOT 3
- config load issue after update to 2.1.0 HOT 6
- `mike deploy --push version` also updates latest HOT 3
- Redirecting from non-version URL to latest URL HOT 2
- GitHub Pages Build and Deployment Action Triggered Twice, but One Fails. HOT 1
- Deprecation warning "Path 'js\version-select.js' uses OS-specific separator '\'" on Windows 10 HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mike.