Skip to content

Instantly share code, notes, and snippets.

@dojutsu-user
Last active August 19, 2020 05:44
Show Gist options
  • Save dojutsu-user/16e429173de35a5aced04b1f44f07321 to your computer and use it in GitHub Desktop.
Save dojutsu-user/16e429173de35a5aced04b1f44f07321 to your computer and use it in GitHub Desktop.
Google Summer of Code 2019 Final Report

GSoC'19 with Read the Docs

Student:

Mentors:

Overview

This summer, I worked with Read the Docs with the aim of improving its search functionality.

The main objectives of my projects were:

  • To make an Sphinx extension to provide "search as you type" experience to the users.

    • I worked on creating readthedocs-sphinx-search. It adds a clean and minimal full page search UI to the docs hosted by Read the Docs. Search results are shown to the user as he/she starts typing.

    readthedocs-sphinx-search demo
    Fig. 1: readthedocs-sphinx-search demo

  • To add support for multiple hits per search result.

    • Search results now contains results from sections of the documentation, which means that users don't have to scroll down all the way to the desired section.

    before
    Fig. 2: Before

    after
    Fig. 3: After

  • To improve the UI/UX around code search.

    • Search results now also includes sphinx domains. Earlier, these results were hidden because there were still some problems with its UI/UX.

    code search demo
    Fig. 4: Code Search Demo

  • To add support for search analytics.

    • This includes saving the search queries in the database and provide analytics to the users with some aggregation queries. This feature is currently in beta state and available under a feature flag.

    search analytics demo
    Fig. 5: Search Analytics Demo

Code Contributions

All of my work related to the search can be seen in In-Doc Search UI GitHub Project Board. Most of the PRs are merged into master. There are still some open PRs/issues related to improvements, all of which can be seen in the project board mentioned above.

Future Plans

The number of features that can be implemented are infinite. Some of the features related to search which are planned to be implemented in future are:

As I love being a contributor of Read The Docs, I am hoping to work on the above mentioned features in next couple of months.

Related Blog Posts

Thanks

I would like to thank my mentors Eric Holscher (ericholscher) and David Fischer (davidfischer) for their awesome guidance and support. And of course, many thanks to the members of core team - Anthony Johnson (agjohnson), Manuel Kaufmann (humitos) and Santos Gallegos (stsewd) who reviewed my work and provided feedback. It's been a great learning experience. The summers were awesome. 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment