Closed kamilkrzyskow closed 1 year ago
I looked over the PRs before, but I missed https://github.com/ultrabug/mkdocs-static-i18n/pull/148 🤔 Seems like it won't be an easy fix 😞 Kind of sad that the material plugin has become such a monopoly with it's Insiders features that it's diverging from MkDocs so much it breaks backwards compatibility.
Some progress
changing the order of plugins in the
mkdocs.yml
did the trick. The search
plugin had to be after i18n
.
I managed to get the expected behavior working. It turned out that the if search_plugin:
check wasn't passing because the new plugin is stored under a different name, also it has a slightly different API, after getting everything in order it works, even when the search
plugin is before i18n
.
So after cleaning up my solution it's almost exactly the same as https://github.com/ultrabug/mkdocs-static-i18n/pull/148 which wasn't continued 🤔 and I don't know if you don't want to support both search plugins or if that user just didn't follow up with a solution that passed the tests 😅
My solution should work for both search plugins, and the tests available in the repository pass. ✋ So let me know if the issue is still open to discuss.
Kind of sad that the material plugin has become such a monopoly with it's Insiders features that it's diverging from MkDocs so much it breaks backwards compatibility.
We try to keep compatibility wherever possible. For the new search plugin, however, some breaking changes were necessary. Sometimes you need to break stuff to move things forward. The result is a much faster and more powerful search than the one that comes with MkDocs.
If somebody wants to upstream the new search into MkDocs – it is freely available now! Material for MkDocs is licensed under MIT so anybody who wants to, can copy my work and integrate it into the MkDocs search plugin 😊
@kamilkrzyskow thanks for your report and help. I'll eventually come to this issue and apply a proper "fix" somehow but I have other issues / fixes to release here first I'm afraid.
Please bear with me
@kamilkrzyskow thanks for your report and help. I'll eventually come to this issue and apply a proper "fix" somehow but I have other issues / fixes to release here first I'm afraid.
Please bear with me
Sure, I'm in no rush. I will be happy to see what a proper fix is once it releases, so thanks for your time. For now I'm using my fix posted in the comments.
🤔 Then again my solution passed all tests last time I checked, so it kind of works with pure MkDocs and default themes, assuming of course the tests properly checked the search feature. I'm using it with the Material with MkDocs theme both on Windows and Linux (GitHub Actions). So could you hint at what is missing @ultrabug?
Ok, I see there are more parts of the code that influence the base search plugin in different ways 🥶
Doing a Ctrl + F in the project files the other parts are related to the lang
section of the plugin and adding LangOptions, as far as I know this part is still compatible in the new material plugin. Everything that is missing there is handling the other namespaces plugin name.
Edit: I've got to the solution after some time https://github.com/ultrabug/mkdocs-static-i18n/issues/182#issuecomment-1401984264
Minimal example repository: https://github.com/kamilkrzyskow/gmc/tree/minimal-example
Search for
Text
andTekst
, only the first will show up as it's the English en default language.Issue is probably related to the new
mkdocs-material
version 9, as it has changed the search plugin. Only tested with plugin version 0.53, tested all of 9.0.0, 9.0.1 ... 9.0.6 of mkdocs-material. Works with mkdocs-material version 8.5.11I've also tried to run the built-in tests of the plugin, all of the
test_search.py
cases passed with mkdocs-material 9.Expected behavior:![image](https://user-images.githubusercontent.com/34622465/214208204-c754673b-1a3b-4197-a120-b404bcfac5eb.png)
Actual behavior:![image](https://user-images.githubusercontent.com/34622465/214208241-3bbd6f47-cbae-4937-a88e-fa04c8616441.png)