Hi, Matthew!
I agree that a workshop would benefit all: beginners like me, seasoned developers who want to dive deeper like you, and core developers like Komiya Takeshi. For the core developers, this is a great chance to hear the feedback about the product they're working directly from the people using it.
It would be perfect to have a coding session for each interested party:
- Basics. Learn the basics of Sphinx extension development, create a simple extension: custom directive, custom index, etc. A practical example that comes to mind is develop the tags extension that would allow tagging pages and searching by tag.
- Advanced. Learn deeper concepts and real-life problems. Create a more complex extension involving event handling and custom doctree composition. A practical example that comes to mind here is a develop a custom domain or write a converter from Apiblueprint, Swagger, or Apidoc.
- Core. Learn the internals of Sphinx and how to contribute to the core. Since I'm not a seasoned Sphinx developer by a wide margin, I have no idea what the practical example could be :-)
I don't think it's fair to make a single person do all the sessions, so we need at least three volunteers that would take on a session each.
I don't know how long a single session should be, so if you have any experience with similar stuff, please do share your thoughts.
Thanks!