Improving Search functionality for Documenter.jl
Final Work Report for the Google Summer of Code 2025 under Julia
Abstract
In this project I had to improve the search functionality of documenter so I did the following things :
- The first thing I did is to create some benchmarks to test that upcoming improvements.
- Then I created a test manual and tested it on the benchmarks.
- Then I created a custom tokenizer so that you can now search symbols along with text and the search result now come based on a priority list which is based on user's preference.
- Next I investigated how can I make the search index better so me along with my mentors finalized to remove the page category from the search index and make everything a section to reduce the search index size and make the search much more intuitive.
- Also now documenter gives you warning when your search index size exceeds a specific threshold.
- I also created a developer doc for explaining how search functionality works in Documenter.
- One of my mentor suggested that we should add navigation functionality using keyboard in the search modal so people can navigate using up and down keys so I did that
Pull Requests
- Adding the complete architecture for search benchmarking
- Create a test manual and test it on the benchmarks
- Improving the tokenizer
- Warn when the search index size is too big
- Now the page category is removed and everything is concatenated into sections
- Navigate search modal using up and down keys
Contributor Info
- Name - Mohd Rahban Ghani
- Organization - Documenter.jl
- Email - rahban.ghani2001@gmail.com
- GitHub - Rahban1
- Linkedin - Rahban Ghani
- Twitter - RahbanGhani
Mentor's Info
GSoC Project Page
GSoC Project Proposal
This site is a collection of notes, progress reports for the 2025 Google Summer of Code (GSoC) project by @Rahban1, mentored by @mortenpi and @Hetarth02.
I thought it would be a good idea to document my journey using Documenter itself, also I was inspired by my mentor Morten who did the same :)