Skip to main content

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

Project description

https://api.travis-ci.org/nyergler/hieroglyph.png?branch=master https://coveralls.io/repos/nyergler/hieroglyph/badge.png?branch=master

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

Installing

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+https://github.com/nyergler/hieroglyph#egg=hieroglyph

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 = [
    'hieroglyph',
]

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

Connect

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

Developing

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 setup.py:

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

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

License

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.

News

2.1

Release date: 4 July 2020

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

2.0

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

1.0

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)

0.7.1

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)

0.7

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

0.6.5

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).

0.6

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!

0.5.5

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

0.5

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

0.4

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

0.3.2

Release date: 5 June 2012

  • Correctly generate relative links between HTML & Slides

0.3.1

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.

0.3

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.

0.2

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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 2 Python 3

File details

Details for the file hieroglyph-2.1.0.tar.gz.

File metadata

  • Download URL: hieroglyph-2.1.0.tar.gz
  • Upload date:
  • Size: 1.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.4

File hashes

Hashes for hieroglyph-2.1.0.tar.gz
Algorithm Hash digest
SHA256 b4b5db13a9d387438e610c2ca1d81386ccd206944d9a9dd273f21874486cddaf
MD5 38e833d976bc73a56cde3ef641ad694c
BLAKE2b-256 9d46d217c1c3e09fdf5d3ac20e295fa58a572908c13b10f56c5f74a892e71404

See more details on using hashes here.

File details

Details for the file hieroglyph-2.1.0-py2.py3-none-any.whl.

File metadata

  • Download URL: hieroglyph-2.1.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.4

File hashes

Hashes for hieroglyph-2.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 4df61f8df6f18e53d4b1e34b4b832cdc75eb09334d4ba2e723b19b3069eb07f1
MD5 1397422688a4ce5b0e628a5216551a82
BLAKE2b-256 aa7ef14e6e87d13e729b8b17b065316076f2f3b17111e32dc95646dc5c6a3ab1

See more details on using hashes here.

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