Sphinx

# Sphinx Web Support

Added in version 1.1.

Sphinx provides a Python API to easily integrate Sphinx documentation into your web application. To learn more read the Web Support Quick Start.

Note

Historical context: Web Support originated from the Pocoo community, the original creators of Sphinx, Jinja, Flask, Pygments, and more. Web Support was part of a plan to create a forum application that tied together Jinja, Flask, Sphinx, etc. The core goal behind Web Support was to enable a user editing and suggestion layer on top of documentation. While the concept has merit, the feature has seen limited adoption and development over the years. As of 2025, there are few real-world examples of its use. See sphinx-websupport-app for one such example.

- Web Support Quick Start
  - Building documentation data
  - Integrating Sphinx documents into your web-app
    - Authentication
  - Performing searches
  - Comments & proposals
  - Comment moderation
- The WebSupport class
  - `WebSupport`
  - Methods
    - `WebSupport.build()`
    - `WebSupport.get_document()`
    - `WebSupport.get_data()`
    - `WebSupport.add_comment()`
    - `WebSupport.process_vote()`
    - `WebSupport.get_search_results()`
- Search adapters
  - `BaseSearch`
  - Methods
    - `BaseSearch.init_indexing()`
    - `BaseSearch.finish_indexing()`
    - `BaseSearch.feed()`
    - `BaseSearch.add_document()`
    - `BaseSearch.query()`
    - `BaseSearch.handle_query()`
    - `BaseSearch.extract_context()`
- Storage backends
  - `StorageBackend`
  - Methods
    - `StorageBackend.pre_build()`
    - `StorageBackend.add_node()`
    - `StorageBackend.post_build()`
    - `StorageBackend.add_comment()`
    - `StorageBackend.delete_comment()`
    - `StorageBackend.get_data()`
    - `StorageBackend.process_vote()`
    - `StorageBackend.update_username()`
    - `StorageBackend.accept_comment()`