Skip to main content

Generate HTML presentations from plain text sources with all the power of Sphinx.

Project description

Hieroglyph is an extension for Sphinx which builds HTML presentations from ReStructured Text documents.


You can install Hieroglyph using easy_install or pip:

$ pip install hieroglyph

You can also install the latest development version, which may contain new features:

$ pip install git+

Hieroglyph supports Sphinx 2.4 and later, and Python 3.7 and later.

Using Hieroglyph

You can start a new Hieroglyph presentation using the included quickstart script:

$ hieroglyph-quickstart

This will generate the Sphinx configuration, along with an optional Makefile and batch file, with Hieroglyph enabled.

If you’re on something UNIX-like (Linux, Mac OS X, etc), you can then generate your slides by running make:

$ make slides

You can also add Hieroglyph as a Sphinx extension to your existing configuration:

extensions = [

Read the documentation for all the details about using, configuring, and extending Hieroglyph.


You can connect with other Hieroglyph users and the developers via the hieroglyph-users email list (Google Groups). A Gmane archive is also available.


Making a Release

Hieroglyph uses Versioneer for managing verison numbers. Versioneer is able to derive a reasonable version number using git tags as the source of truth.

To create a release, do the following:

  • Update the change log (NEWS.txt)

  • Tag the release commit as hieroglyph-x.y.z

  • Build the distributions using

    $ python sdist bdist_wheel
  • Push the changes to Github & upload to PyPI using Twine:

    $ git push origin head
    $ twine upload dist/<built filenames>


Hieroglyph is made available under a BSD license; see LICENSE for details.

Included slide CSS and JavaScript originally based on HTML 5 Slides and io-2012-slides projects licensed under the Apache Public License.



Release date: 4 July 2020

  • Improved support with other Sphinx extensions; fixes #148, #168; merges #155


Release date: 27 June 2020

  • Drop support for Python 2.x

  • Drop support for Sphinx < 2.0

  • Fix compatibility with Sphinx 2 and 3

  • Enabled parallel reading of source files


Release date: 7 September 2017

  • Add singlefile-slides builder

  • Fix compatibility with Sphinx >= 1.5

  • Moving to semantic versioning; major version bump indicates backward incompatible changes (dropping Sphinx 1.2, 1.3 support)


Release date: 28 March 2015

  • Add title-image slide class

  • Bug fix: slides2 theme includes extra slides (#92)

  • Bug fix: entry point invocation relies on new setuptools (#94)

  • Bug fix: RST quotes raise exceptions (#93)


Release date: 16 March 2015

  • Themes now use a template fragment for rendering individual slides. (Issue #49)

  • Bug fix: files in html_static_dir will now override theme files. (Issue #54)

  • Added slide_title configuration setting. (Issue #56)

  • Added slides2 theme, based on updated Google HTML 5 slide templates. (Issue #48)

  • Added more flexible incremental slides using build-item-* classes.

  • Theme creation documentation (#53)

  • Section slide CSS updated for printing. (Issue #37)

  • Handle titles with embedded markup w/ nextslide directive. (#85)

  • Improved quickstart script


Release date: 1 March 2014

  • Revert “Javascript loading is now deferred until the end of the document.” This caused issues with content in ifnotslides blocks. (Issue #33)

  • Fixed an issue with path mangling for generated images (ie, from blockdiag).

  • Added support for slide_footer (Issue #44)

  • Converted slide condition directive processing to use Docutils transforms. This allows section headings to appear in tables of contents correctly. (Issue #25)

  • Added nextslide directive for splitting sections. (Issue #46)

  • Section classes are now added to the generated slides (Issue #50).


Release date: 8 August 2013

  • The note directive in a slide now shows up as notes in the presenter console. Thanks, Doug Hellmann!

  • Javascript loading is now deferred until the end of the document.

  • Allow projects to specify custom Javascript to be included with slides.

  • slides.js now fires an event when the slides are resized.

  • Support setting default classes on slides in a document.

  • Added appear and fade-in slide classes for alternate transitions.

  • Added hieroglyph-quickstart script.

  • Added testing framework, initial tests for directives

  • Fixed bug where content was not removed with autoslides was disabled

  • Slides created with the slide directive may omit have only a title, or only content (Issue #30)

  • Slide numbering was often incorrect when dealing with multiple slide levels; this has been correct (Issue #26)

  • Better page break handling when printing slides (PR #31). Thanks, tjadevries!


Release date: 19 March 2013

  • Rewrote, updated, and expanded documentation, including the addition of the Getting Started guide.

  • Added inline-contents option to the slide directive.

  • Fixed bug with image path calculation for documents in nested trees. This primarily impacted images generated by other extensions, such as blockdiag.

  • Added support for marking a section as a slide when autoslides are disabled.

  • All slide-related nodes are now left intact when pruning the tree.

  • Fixed bug related to changing themes between documents that resulted in Sphinx reporting Template Not Found.

  • Fixed level calculation for slides created with the slide directive.

  • Simplified processing of slideconf nodes: previously an attempt was made to remove them when not building slides. This was fragile, and led to breakage in the latex and texinfo builders. They’re now skipped properly for all builtin Sphinx builders.

  • Updated Javascript for incremental slides to work with recent builds of Chrome


Release date: 24 December 2012

  • Added support for slide directive

  • Added autoslides config parameter to allow disabling automatic generation of slides from document text.

  • Added inline slide builder.

  • Renamed slides and notslides directives to ifslides and ifnotslides, respectively. The old names will continue to work for a while, the rename just makes them more expressive.

  • Changed key for toggling slide table view to t (was ESC).

  • Fixed problems with styling nested lists

  • Fixed incompatibility with latex-pdf builder


Release date: 27 September 2012

  • Print-specific styling for printing slides

  • Template and javascript clean-up/reorganization

  • More accurate display of scaled slides on Slide Table

  • Initial implementation of Presenter Console

  • Themes and docs include font files locally

  • Changed interlink configuration keys to be more consistent.

  • Support for file-specific theme configuration

  • Support for slide numbering


Release date: 5 June 2012

  • Correctly generate relative links between HTML & Slides


Release date: 5 June 2012

  • Added content, code missing from the 0.3 release.

  • Updated README to reflect changes in 0.3.

  • Changed docs configuration to build HTML + Slides.


Release date: 4 June 2012

  • Provide directory and standalone based builders.

  • Added slides and notslides directives.

  • Fix up absolute image paths from things like blockdiag

  • Preliminary support for linking between HTML to Slides

  • Preliminary slide table support

Backward Incompatible Changes:

  • Builders have been renamed to slides and dirslides. If your Makefile refers to html5slides or dirhtml5slides, you will need to update it.


Release date: 10 March 2012

  • Initial implementation of Sphinx builder.

  • Two themes: slides and single-level

  • Basic documentation

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hieroglyph-2.1.0.tar.gz (1.5 MB view hashes)

Uploaded Source

Built Distribution

hieroglyph-2.1.0-py2.py3-none-any.whl (1.5 MB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page