hieroglyph 2.1.0
Generate HTML presentations from plain text sources with all the power of Sphinx.
License: BSD

============
 Hieroglyph
============

.. image:: https://api.travis-ci.org/nyergler/hieroglyph.png?branch=master
   :target: https://travis-ci.org/nyergler/hieroglyph

.. image:: https://coveralls.io/repos/nyergler/hieroglyph/badge.png?branch=master
   :target: https://coveralls.io/r/nyergler/hieroglyph?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.

.. _`hieroglyph-users`: http://groups.google.com/d/forum/hieroglyph-users
.. _`Gmane archive`: http://dir.gmane.org/gmane.comp.python.hieroglyph.user

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.

.. _`Sphinx`: http://sphinx.pocoo.org/
.. _`HTML 5 Slides`: http://code.google.com/p/html5slides/
.. _`io-2012-slides`: https://code.google.com/p/io-2012-slides/
.. _`Read the documentation`: http://docs.hieroglyph.io/
.. _`Versioneer`: https://github.com/warner/python-versioneer
.. _`Twine`: https://twine.readthedocs.io/en/latest/
.. _`NEWS.txt`: ./NEWS.txt

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
  <https://pypi.python.org/pypi/sphinxcontrib-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