It's that time again! 5 years to the day since I first started working on Pepperminty Wiki (!)
🌜New automatic dark mode in the default theme! Uses
🌈Added theme gallery! Read more here
- ⛵ Vastly improved search engine performance, with new advanced query syntax (with even more syntax along the way)
🚁Accessibility improvements - if you're a screen-reader or accessibility tool user, I want to hear from you if you think anything (big or small!) could be improved! 🎈Server-side diagramming support! Allows you to call external programs like nomnoml and render fenced code blocks as an image.
Personally, I'm most proud of the optimisations to the search engine. I've successfully tested it on wikis with ~5.9M words - and while search times vary depending on your input (the new
-exclude syntax will actually speed up queries), a single work query for ~5.0M word wikis takes ~50ms O.o
Unfortunately, this does mean that the search index will need to be rebuilt under the new format - and will be slightly larger than before. To get a progress bar for this operation, go to the master settings and click the rebuild button.
Another notable change is the new 'mega-menu' style more menu:
That menu has been bothering me for a while, and thanks to the kind people on Reddit, I've now got a solution.
Note that you'll need to delete
nav_links_extra from your
peppermint.json in order for it to take effect.
Please test the theme gallery in particular. It's quite complicated under-the-hood, so I'd appreciate some extra eyes on that.
Special thanks to @SeanFromIT for reporting a number of bugs which have been squashed.
If you use Pepperminty Wiki, tweet me @SBRLabs! I'd love to hear about how you're using it.
Lastly, don't forget to take a backup of your wiki before updating. While I've made every effort to squash bugs, you can never be too careful :P
See the instructions here..
- Add optional "say hi" button to first-run setup wizard
- You don't have to click it, but it would be cool if you did :-)
- Added automatic dark mode to default theme using
- [Module API] Added new
minify_cssmodule API function by refactoring the page renderer
- [Module API] Change
page_renderer::is_css_url()to require an argument
- Added theme gallery, which can be accessed through a link in the master settings (if the new
feature-theme-gallerymodule is present)
- Theme gallery URLs can be added to the
- A graphical interface can be used to switch between available themes from the galleries
- No external HTTP requests will be made without consent
- Themes from galleries auto-update every week by default (adjustable/disable-able with the
- Theme gallery URLs can be added to the
- Added mega-menu support to the
nav_links_extrasetting - the default value for the
nav_links_extrasetting has now changed (delete/rename it in your
peppermint.jsonfile to get the new version)
- An object can now be used to define groups of items in the more menu
- Hopefully it now looks less cluttered :P
- Headings now have an automatic id if you don't specify one (part of #141)
- Server-side diagramming support! See the
parser_ext_rendererssetting for more information on how to configure it
- Fixed a bug in the search query performance metrics
- Fill out the statistics help text
- Added table of contents to help page
- Squashed the large blank space that appears at the bottom of the page editor page when editing long pages
- Accessibility improvements - thanks, Firefox developer tools :D (if you're a screen reader / accessibility tool user and have feedback or any better ideas, please get in touch)
- Marked the user avatar on the top navigation bar as hidden for screen readers
- Added aria label to user preferences button
- Hide site logo from screen readers
- Lists of pages that have a specific tag will now be sorted alphabetically (Unicode characters should be handled correctly too)
- Support Unicode characters when sorting. If it's a list of something, then it's now sorted correctly (e.g. includes pages, tags, etc).
- Squashed a bunch of warnings about a non-static method in the page renderer
- Fixed a warning message in the
- Fixed footnote rendering (thanks again, @SeanFromIT!)
build.shbuild script more robust, especially when generating the documentation.
- Vastly improved search engine performance
- A new SQLite-based index format is now used, so search indexes will need to be rebuilt (migrating would probably take longer than a rebuild :-/)
- New search query syntax
- When making remote requests, Pepperminty Wiki will now correctly set the user agent string
- The server's
expose_phpsetting is respected - if it's disabled, then the PHP version will not be exposed.
- Pepperminty Wiki shouldn't make remote requests without you asking it to - see above and the theme gallery
- The server's
- Improved peppermint.json.compromised error message - if it's still unclear, please let me know
- Fiddled with the extra data extractor, as it seems that some people were experiencing strange issues with
- [Module API] Refactored the
errorimage()function into core, added automatic image size calculation, and multi-line support
- Fixed page revision id incrementing if you don't have a page called
historyon your wiki (thanks @SeanFromIT!)
- Improve error messages in the extra data unpacker
- Change the extra data unpacker to us
tmpfile(), since some people appeared to be having issues with the other approach
- Squash a deprecation warning caused by a typo (thanks, @SeanFromIT!)
- Patched another crazy bug in the extra data system in the downloader
- Patched the downloader which was throwing warnings when packing downloads