I have managed Sphinx documentation in several companies, covering more than 100 different services in total. The Sphinx documentation site has been my desk reference for years, and TechWriters.ru also ran on this engine until August 2026. toctree, include, roles, domains, themes, build warnings, and localization are familiar from production projects rather than a five-page demo.

That experience explains the subject, not the score. The public portal and repository were reviewed as a documentation product: onboarding, structure, reference depth, examples, reuse, builds, search, versions, interface, and translation. Sphinx remains easy to love. Its own documentation also shows where a powerful engine is presented through pages from an earlier web era.

What the study examined

Snapshot: August 17, 2026. The review covers the public master site and the official repository’s doc/ tree at commit e44a40e from August 7, 2026. Deterministic counts were taken from source; editorial findings come from the rendered pages.

155

.rst files including release history

106

.rst files outside changes/

≈112k

words and tokens from wc -w, excluding release history

10

built-in extensions enabled in conf.py

21

builder types documented in the reference

A compact source project covers a very large product

The source set is smaller than many product portals, yet it spans onboarding, user guidance, extension development, Sphinx’s own API, command reference, configuration, output formats, the FAQ, and the complete release history.

NeedSectionWhat the reader gets
StartGetting started plus a full first-project tutorialA short orientation and a guided project with narrative and generated API documentation. [S2]
Use SphinxreStructuredText, Markdown, links, configuration, builders, domains, extensionsThe operating manual from markup through themes and internationalization. [S3]
Extend itTutorials, how-tos, and extension APIsRoles, directives, events, domains, parsers, themes, and testing. [G3]
Maintain the projectCommunity guide, contributing, release process, FAQProject governance and accumulated support answers, including material that now needs editorial cleanup. [S11]
Look up exact behaviorCommands, conf.py, extensions, roles, directives, glossary, changelogReference depth that exceeds most documentation sites of comparable source size. [S1]

The maintainers use Sphinx as a test bench for Sphinx

The project goes far beyond prose and a `toctree`. Configuration and source demonstrate almost the full characteristic toolset.

Structure

[G3]

35 toctree occurrences connect individual documents. The home page divides the portal into Get started, User guide, Community, and Reference.

Reuse

[S4]

The corpus contains normal include directives and 31 literalinclude uses. Tutorials pull from real Python files instead of copying examples into prose.

API from code

[G2]

autodoc and autosummary are enabled. The source contains 13 automodule, 75 autoclass, and 18 autofunction directives.

Cross-project links

[S9]

intersphinx connects Sphinx to Python, Requests, and Read the Docs while semantic roles validate targets.

Diagrams

[G2]

graphviz and inheritance_diagram document build phases, event flow, and class relationships.

Feature history

[S12]

The source contains 612 versionadded, 252 versionchanged, and 18 deprecated markers beside the affected API.

Multiple outputs

[S6]

The reference lists 21 builders. Project configuration prepares HTML, RTD PDF, ePub, five man pages, and Texinfo.

Strict builds

[G2]

nitpicky = True, warning types, coverage statistics, and link-check settings make the documentation build a validation system.

Reuse is one reason to love reStructuredText

A shared section can appear in several guides, be bounded by markers, and vary for HTML, PDF, or a reference build. Sphinx can also pull code from source files and add project-wide material through rst_prolog and rst_epilog.

1

include

Insert one shared .rst fragment into several documents; start-after and end-before can select a marked section.

2

literalinclude

Read code from a real file and select lines or markers, reducing drift between examples and the repository.

3

only

Keep one source corpus while varying content by builder or project tag.

4

rst_prolog and rst_epilog

Add shared definitions, substitutions, and inclusions to every document.

One section, two guides

.. include:: _shared/security-note.rst
   :start-after: .. security-start
   :end-before: .. security-end

The _shared/security-note.rst file remains the sole source. Both pages receive the same warning, and an editor fixes it once.

[S4]

Editorial score: 78 out of 100

Sphinx earns full marks for reference, reuse, and documentation engineering. Interface design and the real state of translation reduce the result far more than the content does.

Onboarding
8/10
Information architecture
8/10
Examples
8/10
Reference
10/10
Reuse
10/10
Docs engineering
10/10
Findability
7/10
Interface
5/10
Versions
9/10
Localization
3/10

78/100

The reader journey is sensible, but it starts twice

The home page separates onboarding, user guidance, community material, and reference well. New users still face both a short Getting started path and a longer Build your first project path. Both are useful, but their boundary is explained less clearly than their steps.

ObservationEvidenceEditorial judgment
Strong home-page mapFour groups identify content type and expected expertise immediately.The architecture is legible without knowing the source tree. [S1]
Practical tutorialReaders build a fictional library, write narrative documentation, and generate API pages.A sustained example beats disconnected commands. [S2]
Two beginner entrancesGetting started and Build your first project repeat part of the same foundation.Label them explicitly as the fast route and full tutorial. [S1]
An unfinished endingThe published quickstart ends with More topics to be covered and a short topic list.Draft residue weakens a page intended to model documentation practice. [S1]
Uneven editingThe home page contains Add documentation translations multiple languages.The missing preposition is conspicuous on a documentation tool’s showcase page. [S1]
Ageing FAQThe FAQ still points to Epydoc, SCons, legacy PyPI documentation hosting, and an old _gaq Google Analytics snippet.Historical answers should be separated from current troubleshooting. [S11]

The interface displays the project’s age honestly

Persistent navigation, built-in search, the index, page source, and version selection work. The custom sphinx13 theme remains dense, long reference pages have limited visual hierarchy, and the dark Read the Docs flyout feels like a separate application layered over the site.

The Read the Docs language and master-version menu on a Sphinx documentation page
Figure 2. The switcher offers Russian, German, and French, yet none of the three inspected routes provides a complete translation. Russian and German leave almost all body text in English; French mixes translated sections with English paragraphs. [R1] [R2] [R3]

Works

Persistent section tree, heading anchors, general index, search, source link, and version access.

Feels old

Dense typography, small utility links, a crowded sidebar, and a separate RTD flyout.

Misleads

The language menu presents many locales as peers. Russian, German, and French were tested: none is complete. Russian and German retain almost all English body text, while French alternates translated material with English paragraphs and links.

Fix first

Show translation completeness beside each language, remove incomplete locales from the ordinary switcher, and modernize the theme without losing deep navigation or View source.

Practices worth taking into another documentation project

PracticeWhat to adopt
Semantic linksReference functions, classes, terms, and sections by identifiers rather than fragile URLs.
Shared fragmentsKeep repeated warnings, requirements, and definitions in separate .rst files and include them.
Live examplesUse literalinclude from tested files instead of copying code into prose.
Version notes beside APIPlace versionadded, versionchanged, and deprecated where readers make decisions.
Strict buildsTreat warnings as defects and run nitpicky, link checking, and cross-reference validation in CI.
Multiple outputsSeparate semantic source from the HTML theme and build PDF, man pages, or ePub when audiences need them.
Honest localizationDo not present a language as complete while the selected version retains an English document body.

Research sources

Verdict: excellent engineering inside an ageing storefront

Sphinx documents itself almost ideally at source level. A compact corpus demonstrates hierarchy, reuse, semantic cross-references, generated API material, diagrams, version annotations, link validation, and multi-channel builds. Few projects use so much of their own engine.

The main weakness is not reStructuredText or reference depth. Readers meet an old-generation interface, two competing beginner entrances, unfinished residue in quickstart, and a FAQ carrying historical technologies. The language switcher implies complete editions, although the inspected Russian, German, and French routes all remain incomplete.

The affection survives the audit. Sphinx still gives technical writers an unusual combination of exact structure, reuse, and build discipline. Its maintainers now need to apply the same engineering standard to interface renewal, editorial cleanup, and honest translation status.

Sphinx remains one of the strongest generators for complex technical documentation. Its own portal proves the system’s power while showing how engineering quality can outrun the reading experience.