2025-03-02 –, Main Hall (LH 111)
Sphinx is a powerful documentation generator widely used for creating and maintaining high-quality documents. While traditionally used for documentation purposes, it also provides an interface that allows developers to extend its functionality, including adding custom builders, directives, and roles. In this session, I will explore how Sphinx can be extended to generate presentations seamlessly, using sphinx-revealjs as a case study.
Through this talk, I will demonstrate how I extended the Sphinx document builder to create presentations by leveraging the flexibility of Sphinx’s internal structure. I'll show how key Sphinx components, such as the builder and the document tree (doctree), can be adapted to output interactive presentations. Participants will gain insights into the underlying architecture of Sphinx extensions and be inspired to explore how they can enhance Sphinx for their own needs.
This session will explore how Sphinx, traditionally used for documentation generation, can be extended to create presentations. By customizing the document builder, specifically the HTML builder, developers can adapt Sphinx’s core functionality to generate presentation slides.
Through a case study of sphinx-revealjs
, a Sphinx extension that generates presentations from documentation, participants will learn how Sphinx's flexible extension system can be leveraged to build presentation tools. Key points will include:
- How Sphinx extensions are structured and how they fit into the Sphinx ecosystem.
- The process of customizing Sphinx's document builder to generate presentations.
- Practical knowledge on creating custom extensions that can be adapted to other use cases.
This session will provide practical knowledge on extending Sphinx, but the approach is not limited to Sphinx itself. Participants will realize that the perspectives and methods learned through customizing Sphinx can be applied to other libraries or tools as well. For example, by understanding how to customize Sphinx's builder to create presentations, participants will understand how similar approaches can be used to extend other libraries or tools with their desired functionality. This realization will help participants discover new possibilities for customization that extend beyond the limitations of any single tool.
Intermediate
Category:Open Source
Software engineer working at NIJIBOX Co., Ltd. in Japan.
I am writing and publishing various Sphinx extensions and more glue libraries as "OSS Writer".
I speak at some events for software/devops engineers in Japan.
- PyCon JP(2019-2022)
- PyCon APAC 2023
- July Tech Festa (2020-2021)