During the last week of 2012 I pushed out a new release of
Hieroglyph. I realized later that I haven’t really been talking about
it here, so I wanted to mention some of the new features and
functionality I’ve been working on. When I published the 0.3 release,
I said I was planning to work on hooking analytics into the slide
viewing so that creators could get a better sense of how their slide
decks were being used. I have done some work to that end, but would up
getting side tracking.
The 0.4 release consisted primarily of internal cleanups in
preparation for adding analytics support. There were some places where
the Javascript or styles were duplicated, so I put some effort into
cleaning that up. I also split up the Javascript to separate slide
control from user interaction. This was done to support both analytics
and the initial implementation of the Presenter’s Console: a separate
window that displays the previous, current, and next slides, and
allows the presenter to control the primary display window. With
Hieroglyph 0.4 and later you can open by pressing c within a
slide document.
Hieroglyph 0.4 also added support for slide numbering and for applying
a theme to individual documents inside of a project using the
slideconf direction. For example:
.. slideconf::
:theme: single-level
In December I put together some training for other engineers at
Eventbrite around Python byte and unicode strings, and how to safely
work with them both in our codebase. While I was putting that
together, I realized that there was a lot of text and code samples in
the documentation that I wanted to go through interactively, and not
include in slides. I wound up going without slides, and found that
presenting from the Python interactive interpreter was very effective
for this sort of hands on training. That said, it would have been nice
to have had a few key slides: an introduction, a summary of key
points, and maybe where to go next. That’s the sort of content I’d
like to keep with the main document so it doesn’t drift too far out of
sync, but Hieroglyph didn’t really support that approach: it assumed
that you wanted to generate a slide per section, unless you explicitly
marked things as notslides.
Hieroglyph 0.5 adds a couple of features to support these different
work modes. First, it adds an autoslides configuration parameter,
that allows you to disable automatic slide generation of a project or
document level. If autoslides is True (the default), you’ll
see the previous Hieroglyph behavior, one slide per section. If it’s
set to False, you’ll need to write slides using the second new
feature, the slide directive.
The slide directive describes a single slide, including the title,
level (which may be used for styling), and content. An example from
the Hieroglyph smoketest document:
.. slide:: The ``slide`` Directive
:level: 2
In addition to headings, you can use the ``..slide::`` directive to
define a slide.
Because the conditional slides directive differed by only one
letter, Hieroglyph 0.5 also renamed the conditional directives to
ifslides and ifnotslides. The previous names will continue to
work (at least for a couple releases), but I’m using the new names
myself to make it easier to understand what’s going on.
Thanks to bug reports filed in the Hieroglyph github project, the
0.5 release also includes fixes for styling nested lists and
compatibility with the latex-pdf builder.
At this point Hieroglyph seems to be working pretty well for me and
others. There are a few things I’d like to add yet, but for the next
couple of months my focus is going to be more on using it rather than
developing it. I’m working on more training for new engineers at
Eventbrite, and I’ll be giving a tutorial of Effective Django at PyCon
this year. I think both of those are going to be good opportunities
use Hieroglyph in different contexts and hopefully get some more data
on what’s working or not. If you’re using it (or just trying it out)
and have comments or feedback, filing a bug is something I find
really helpful.
author: | Nathan Yergler |
category: | hieroglyph |
tags: | hieroglpyh, sphinx, rst, slides |
comments: | |