regebro / hovercraft Goto Github PK
View Code? Open in Web Editor NEWMake dynamic impressive presentations from text files!
Home Page: https://hovercraft.readthedocs.org
License: MIT License
Make dynamic impressive presentations from text files!
Home Page: https://hovercraft.readthedocs.org
License: MIT License
All the positioning parameters except data-x and data-y should be sticky, if set explicitly, so that you can set the rotation on a step, and all following steps keep the same rotation.
If I have a list, how can I emphasize the first item, then the second, etc. I wouldn't mind if they stayed emphasized as I move to the next. Can I do this with an ID or class?
Hi,
this might be a bit off-toppic as it doesn't seem to have anything to do with the usage of this promising piece of software. It concerns the installation procedure necessary to run this tool on a minimalistic linux computer (don't have a fully grown ubuntu machine).
After installing libxml2-dev, pip3, python3 (in parallel to python2) and some other packages, the installation procedure still does not run through successfully, regardless of how I try to start installation. Using pip or installing using the setup.py way...
e.g. sudo pip3 install hovercraft gives the following output (sorry for its length. Hopefully you see some hints):
pi@RaspberryPi-02 ~ $ sudo pip3 install hovercraft > prot__pip3_install_hovercraft.txt
Requirement already satisfied (use --upgrade to upgrade): hovercraft in /usr/local/lib/python3.2/dist-packages/hovercraft-2
.0b2.dev0-py3.2.egg
Collecting docutils>=0.9 (from hovercraft)
Using cached docutils-0.12.tar.gz
Collecting lxml>=3.1.0 (from hovercraft)
Using cached lxml-3.4.2.tar.gz
Building lxml version 3.4.2.
Building without Cython.
Using build configuration of libxslt 1.1.26
Building against libxml2/libxslt in the following directory: /usr/lib
/usr/lib/python3.2/distutils/dist.py:257: UserWarning: Unknown distribution option: 'bugtrack_url'
warnings.warn(msg)
Requirement already satisfied (use --upgrade to upgrade): svg.path in /usr/local/lib/python3.2/dist-packages (from hovercra
ft)
Requirement already satisfied (use --upgrade to upgrade): pygments in /usr/local/lib/python3.2/dist-packages/Pygments-2.0.2
-py3.2.egg (from hovercraft)
Requirement already satisfied (use --upgrade to upgrade): watchdog in /usr/local/lib/python3.2/dist-packages/watchdog-0.8.3
-py3.2.egg (from hovercraft)
Requirement already satisfied (use --upgrade to upgrade): setuptools in /usr/lib/python3/dist-packages (from svg.path->hove
rcraft)
Requirement already satisfied (use --upgrade to upgrade): PyYAML>=3.10 in /usr/local/lib/python3.2/dist-packages (from watc
hdog->hovercraft)
Requirement already satisfied (use --upgrade to upgrade): argh>=0.24.1 in /usr/local/lib/python3.2/dist-packages (from watc
hdog->hovercraft)
Requirement already satisfied (use --upgrade to upgrade): pathtools>=0.1.1 in /usr/local/lib/python3.2/dist-packages (from
watchdog->hovercraft)
Installing collected packages: lxml, docutils
Running setup.py install for lxml
Building lxml version 3.4.2.
Building without Cython.
Using build configuration of libxslt 1.1.26
Building against libxml2/libxslt in the following directory: /usr/lib
building 'lxml.etree' extension
gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -D_FORTIFY_SOURCE=2 -g -fstack-protector --param=ssp-buf
fer-size=4 -Wformat -Werror=format-security -fPIC -I/usr/include/libxml2 -I/tmp/pip-build-b2k10l/lxml/src/lxml/includes -I/
usr/include/python3.2mu -c src/lxml/lxml.etree.c -o build/temp.linux-armv6l-3.2/src/lxml/lxml.etree.o -w
src/lxml/lxml.etree.c:16:20: fatal error: Python.h: Datei oder Verzeichnis nicht gefunden
compilation terminated.
/usr/lib/python3.2/distutils/dist.py:257: UserWarning: Unknown distribution option: 'bugtrack_url'
warnings.warn(msg)
error: command 'gcc' failed with exit status 1
Complete output from command /usr/bin/python3 -c "import setuptools, tokenize;__file__='/tmp/pip-build-b2k10l/lxml/setu
p.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --re
cord /tmp/pip-4sw_kx-record/install-record.txt --single-version-externally-managed --compile:
Building lxml version 3.4.2.
Building without Cython.
Using build configuration of libxslt 1.1.26
Building against libxml2/libxslt in the following directory: /usr/lib
running install
running build
running build_py
creating build
creating build/lib.linux-armv6l-3.2
creating build/lib.linux-armv6l-3.2/lxml
copying src/lxml/_elementpath.py -> build/lib.linux-armv6l-3.2/lxml
copying src/lxml/__init__.py -> build/lib.linux-armv6l-3.2/lxml
copying src/lxml/builder.py -> build/lib.linux-armv6l-3.2/lxml
copying src/lxml/usedoctest.py -> build/lib.linux-armv6l-3.2/lxml
copying src/lxml/doctestcompare.py -> build/lib.linux-armv6l-3.2/lxml
copying src/lxml/ElementInclude.py -> build/lib.linux-armv6l-3.2/lxml
copying src/lxml/pyclasslookup.py -> build/lib.linux-armv6l-3.2/lxml
copying src/lxml/sax.py -> build/lib.linux-armv6l-3.2/lxml
copying src/lxml/cssselect.py -> build/lib.linux-armv6l-3.2/lxml
creating build/lib.linux-armv6l-3.2/lxml/includes
copying src/lxml/includes/__init__.py -> build/lib.linux-armv6l-3.2/lxml/includes
creating build/lib.linux-armv6l-3.2/lxml/html
copying src/lxml/html/html5parser.py -> build/lib.linux-armv6l-3.2/lxml/html
copying src/lxml/html/__init__.py -> build/lib.linux-armv6l-3.2/lxml/html
copying src/lxml/html/builder.py -> build/lib.linux-armv6l-3.2/lxml/html
copying src/lxml/html/_setmixin.py -> build/lib.linux-armv6l-3.2/lxml/html
copying src/lxml/html/ElementSoup.py -> build/lib.linux-armv6l-3.2/lxml/html
copying src/lxml/html/usedoctest.py -> build/lib.linux-armv6l-3.2/lxml/html
copying src/lxml/html/_diffcommand.py -> build/lib.linux-armv6l-3.2/lxml/html
copying src/lxml/html/formfill.py -> build/lib.linux-armv6l-3.2/lxml/html
copying src/lxml/html/clean.py -> build/lib.linux-armv6l-3.2/lxml/html
copying src/lxml/html/_html5builder.py -> build/lib.linux-armv6l-3.2/lxml/html
copying src/lxml/html/defs.py -> build/lib.linux-armv6l-3.2/lxml/html
copying src/lxml/html/soupparser.py -> build/lib.linux-armv6l-3.2/lxml/html
copying src/lxml/html/diff.py -> build/lib.linux-armv6l-3.2/lxml/html
creating build/lib.linux-armv6l-3.2/lxml/isoschematron
copying src/lxml/isoschematron/__init__.py -> build/lib.linux-armv6l-3.2/lxml/isoschematron
copying src/lxml/lxml.etree.h -> build/lib.linux-armv6l-3.2/lxml
copying src/lxml/lxml.etree_api.h -> build/lib.linux-armv6l-3.2/lxml
copying src/lxml/includes/xinclude.pxd -> build/lib.linux-armv6l-3.2/lxml/includes
copying src/lxml/includes/xslt.pxd -> build/lib.linux-armv6l-3.2/lxml/includes
copying src/lxml/includes/xmlschema.pxd -> build/lib.linux-armv6l-3.2/lxml/includes
copying src/lxml/includes/etreepublic.pxd -> build/lib.linux-armv6l-3.2/lxml/includes
copying src/lxml/includes/config.pxd -> build/lib.linux-armv6l-3.2/lxml/includes
copying src/lxml/includes/dtdvalid.pxd -> build/lib.linux-armv6l-3.2/lxml/includes
copying src/lxml/includes/schematron.pxd -> build/lib.linux-armv6l-3.2/lxml/includes
copying src/lxml/includes/xmlparser.pxd -> build/lib.linux-armv6l-3.2/lxml/includes
copying src/lxml/includes/uri.pxd -> build/lib.linux-armv6l-3.2/lxml/includes
copying src/lxml/includes/xpath.pxd -> build/lib.linux-armv6l-3.2/lxml/includes
copying src/lxml/includes/xmlerror.pxd -> build/lib.linux-armv6l-3.2/lxml/includes
copying src/lxml/includes/relaxng.pxd -> build/lib.linux-armv6l-3.2/lxml/includes
copying src/lxml/includes/tree.pxd -> build/lib.linux-armv6l-3.2/lxml/includes
copying src/lxml/includes/c14n.pxd -> build/lib.linux-armv6l-3.2/lxml/includes
copying src/lxml/includes/htmlparser.pxd -> build/lib.linux-armv6l-3.2/lxml/includes
copying src/lxml/includes/lxml-version.h -> build/lib.linux-armv6l-3.2/lxml/includes
copying src/lxml/includes/etree_defs.h -> build/lib.linux-armv6l-3.2/lxml/includes
creating build/lib.linux-armv6l-3.2/lxml/isoschematron/resources
creating build/lib.linux-armv6l-3.2/lxml/isoschematron/resources/rng
copying src/lxml/isoschematron/resources/rng/iso-schematron.rng -> build/lib.linux-armv6l-3.2/lxml/isoschematron/resour
ces/rng
creating build/lib.linux-armv6l-3.2/lxml/isoschematron/resources/xsl
copying src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl -> build/lib.linux-armv6l-3.2/lxml/isoschematron/resources/
xsl
copying src/lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl -> build/lib.linux-armv6l-3.2/lxml/isoschematron/resources/
xsl
creating build/lib.linux-armv6l-3.2/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_svrl_for_xslt1.xsl -> build/lib.linux-armv6l-3.2/
lxml/isoschematron/resources/xsl/iso-schematron-xslt1
copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_skeleton_for_xslt1.xsl -> build/lib.li
nux-armv6l-3.2/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_dsdl_include.xsl -> build/lib.linux-armv6l-3.2/lx
ml/isoschematron/resources/xsl/iso-schematron-xslt1
copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_abstract_expand.xsl -> build/lib.linux-armv6l-3.2
/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_message.xsl -> build/lib.linux-armv6l-
3.2/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/readme.txt -> build/lib.linux-armv6l-3.2/lxml/isosche
matron/resources/xsl/iso-schematron-xslt1
running build_ext
building 'lxml.etree' extension
creating build/temp.linux-armv6l-3.2
creating build/temp.linux-armv6l-3.2/src
creating build/temp.linux-armv6l-3.2/src/lxml
gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -D_FORTIFY_SOURCE=2 -g -fstack-protector --param=ssp-buf
fer-size=4 -Wformat -Werror=format-security -fPIC -I/usr/include/libxml2 -I/tmp/pip-build-b2k10l/lxml/src/lxml/includes -I/
usr/include/python3.2mu -c src/lxml/lxml.etree.c -o build/temp.linux-armv6l-3.2/src/lxml/lxml.etree.o -w
src/lxml/lxml.etree.c:16:20: fatal error: Python.h: Datei oder Verzeichnis nicht gefunden
compilation terminated.
/usr/lib/python3.2/distutils/dist.py:257: UserWarning: Unknown distribution option: 'bugtrack_url'
warnings.warn(msg)
error: command 'gcc' failed with exit status 1
----------------------------------------
Command "/usr/bin/python3 -c "import setuptools, tokenize;__file__='/tmp/pip-build-b2k10l/lxml/setup.py';exec(compile(g
etattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-4sw_kx
-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-b2k10l
/lxml
Is there some help available?
Thanks.
nnako
There should be a simpler template for web-publishing that doesn't include the console.
I'm new to hovercraft, so forgive me if these already exists..
On another popular prenation tool there is a feature to blank the screen (in white or black). I find this very helpful when giving a presentation. I think b and w do this.
it would also be nice to have a background or outline for each slide.
if I could skip ahead +2 slides by typing + or -. Also if I could go to a specific slide perhaps : that would also be very helpful.
One last thing.. if I could set a timeout so that the presentation could run itself and perhaps in a loop. And in such a way that a user could click a button to skip ahead (think of a second person story click X to eat the fruit, click Y to run away...)
As is this software will be very useful in my next presentation, thank you
Thanks for a nice tool!
Is there an example on how to print a hovercraft presentation? If not, could one be added?
Sometimes it's useful to return back to some slide and then for example change direction of the movement. As an example you can look how reveal.js does that.
So it would be nice to specify position relative to some other slide:
:id: central_slide
----
...
----
:data-x: central_slide+1234
What do you think?
Hi,
When we use data-x for one slide, next slide will have the same effect. However, with data-rotate-x, next slide have default effect instead of data-rotate-x. It is intended ? Moreover, when we put thing before the first "------", all the slide are affected, exept for data-rotate-x.
Of course it's the same question for y and z axis.
Thoses issues are not major, since we can add the « :data-rotate-x: 100 » on each side if needed, but it can be an improvement to have a consistent logic in effects.
Of course thanks a lot for your work. Hovercraft was the exact tools I needed since a long time.
Steps need naming, either explicitly or after their heading. This is so you can have custom css on certain steps easily, no matter what step-number the step has.
Hi,
I am trying to build one of the example documents on mac but its fails and says:
Traceback (most recent call last):
File "/usr/local/bin/hovercraft", line 9, in
load_entry_point('hovercraft==1.1', 'console_scripts', 'hovercraft')()
File "/Library/Python/2.7/site-packages/hovercraft/init.py", line 18, in main
from hovercraft.generate import rst2html, copy_resource
File "/Library/Python/2.7/site-packages/hovercraft/generate.py", line 6, in
from .parse import rst2xml, SlideMaker
File "/Library/Python/2.7/site-packages/hovercraft/parse.py", line 2, in
from docutils.core import publish_string
File "/Library/Python/2.7/site-packages/docutils/core.py", line 20, in
from docutils import frontend, io, utils, readers, writers
File "/Library/Python/2.7/site-packages/docutils/frontend.py", line 41, in
import docutils.utils
File "/Library/Python/2.7/site-packages/docutils/utils/init.py", line 20, in
import docutils.io
File "/Library/Python/2.7/site-packages/docutils/io.py", line 18, in
from docutils.utils.error_reporting import locale_encoding, ErrorString, ErrorOutput
File "/Library/Python/2.7/site-packages/docutils/utils/error_reporting.py", line 47, in
locale_encoding = locale.getlocale()[1] or locale.getdefaultlocale()[1]
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/locale.py", line 511, in getdefaultlocale
return _parse_localename(localename)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/locale.py", line 443, in _parse_localename
raise ValueError, 'unknown locale: %s' % localename
ValueError: unknown locale: UTF-8
Hi Lennart, Hovercraft for me (plain-text-fileaholic..!) is a dream come true. However in order to prezifi my presentation I'd like to use a big image as background but it seems that at first attempt (without tweaking on positioning) it is put not in the center of the slide but a bit right, with a white margin on the left, why?
Examples from readthedocs.org do not work out of the box because of some missing CSS files:
$ hovercraft -a hovercraft.txt Hovercraft
[...]
IOError: [Errno 2] No such file or directory: '/path/where/I/was/hovercraft.css'
The error is coming from hoverecraft.txt
line:
:css: hovercraft.css
hovercraft is installed (via pip) with a couple of hovercraft.css
, but it's not clear which one is supposed to be used.
For the example tutorial.txt
requiring tutorial.css
, this CSS is not included in hovercraft distribution.
Could the examples in readthedocs
state exactly what is supposed to be the compilation process?
Could you include a LICENSE or COPYING file in the repo and tarball you ship to PyPI?
A copy of this file would probably do it:
http://creativecommons.org/publicdomain/zero/1.0/legalcode.txt
Hi,
I just finished a long presentation with hovercraft and realize that it is annoying if all transitions are moves. Is it possible to add some boring transition like dissolving or blending?
Hi there
I have a small problem that is shown in this example:
----
Section
=======
subtitle
--------
Yay
----
other subtitle
--------------
Re-yay
I expect "subtitle" and "other subtitle" to have the same style, but the first one is h2 while the second one is h1. It seems the separator resets the sections adornment hierarchy.
It makes it complicated to have titles on each slides that are smaller than the big title on the first slide.
Am I understanding it wrong, or is this a bug here ?
Add instructions for how to make your own templates, with information on how to deal with the XSLT, specifically mention the resource:reST.xml include.
I've just realized that Hovercraft is "Python 3 only" after a comment on #29 .
That's mentioned in the trove classifiers list of the setup.py
(showed in PyPi page) but not in the README nor in the doc. Moreover, there is any installation instructions in the documentation, so the common way $ pip install hovercraft
fails (like or not, most people is still using python2.7)
Even though setup.py fails under python 2, pip seems to be able to install it. I need to find a way to stop that.
I installed hovercraft in Debian Wheezy, using the procedure below, but whenever I try to compile the example hovercraft presentation, I get a syntax error.
I'm a bit stuck on how to fix this.
Error:
/hovercraft/docs/examples$ hovercraft hovercraft.rst output
Traceback (most recent call last):
File "/opt/hover/.virtualenvs/env/bin/hovercraft", line 9, in <module>
load_entry_point('hovercraft==2.0b1', 'console_scripts', 'hovercraft')()
File "/opt/hover/.virtualenvs/env/lib/python3.2/site-packages/hovercraft/__init__.py", line 125, in main
generate(args)
File "/opt/hover/.virtualenvs/env/lib/python3.2/site-packages/hovercraft/generate.py", line 110, in generate
args.skip_notes)
File "/opt/hover/.virtualenvs/env/lib/python3.2/site-packages/hovercraft/generate.py", line 28, in rst2html
xml = rst2xml(rststring)
File "/opt/hover/.virtualenvs/env/lib/python3.2/site-packages/hovercraft/parse.py", line 76, in rst2xml
settings_overrides={'syntax_highlight': 'short'})
File "/opt/hover/.virtualenvs/env/lib/python3.2/site-packages/docutils/core.py", line 414, in publish_string
enable_exit_status=enable_exit_status)
File "/opt/hover/.virtualenvs/env/lib/python3.2/site-packages/docutils/core.py", line 657, in publish_programmatically
pub.set_components(reader_name, parser_name, writer_name)
File "/opt/hover/.virtualenvs/env/lib/python3.2/site-packages/docutils/core.py", line 96, in set_components
self.reader.set_parser(parser_name)
File "/opt/hover/.virtualenvs/env/lib/python3.2/site-packages/docutils/readers/__init__.py", line 63, in set_parser
parser_class = parsers.get_parser_class(parser_name)
File "/opt/hover/.virtualenvs/env/lib/python3.2/site-packages/docutils/parsers/__init__.py", line 50, in get_parser_class
module = __import__(parser_name, globals(), locals(), level=1)
File "/opt/hover/.virtualenvs/env/lib/python3.2/site-packages/docutils/parsers/rst/__init__.py", line 75, in <module>
from docutils.parsers.rst import states
File "/opt/hover/.virtualenvs/env/lib/python3.2/site-packages/docutils/parsers/rst/states.py", line 116, in <module>
from docutils.parsers.rst import directives, languages, tableparser, roles
File "/opt/hover/.virtualenvs/env/lib/python3.2/site-packages/docutils/parsers/rst/roles.py", line 78, in <module>
from docutils.utils.code_analyzer import Lexer, LexerError
File "/opt/hover/.virtualenvs/env/lib/python3.2/site-packages/docutils/utils/code_analyzer.py", line 12, in <module>
import pygments
File "/opt/hover/.virtualenvs/env/lib/python3.2/site-packages/pygments/__init__.py", line 37, in <module>
from pygments.util import StringIO, BytesIO
File "/opt/hover/.virtualenvs/env/lib/python3.2/site-packages/pygments/util.py", line 226
return u'[%s-%s]' % (unichr(a), unichr(b))
^
SyntaxError: invalid syntax
Install Procedure
sudo apt-get install python3 python3-pip python-dev python3-dev virtualenvwrapper python3-virtualenv # installs python 3.2
adduser hover
usermod --home /opt/hover -m hover #-m moves files too
su hover
cd ~
mkvirtualenv -p /usr/bin/python3.2 env
pip install hovercraft
Specifically give hints on XSLT usage and mention the resource:reST.xml include.
Awesome project, unfortunately I'm unable to use it ! ;-)
This is probably a problem with my python3 env, just in case it isn't, below
is the stack trace I get when I launch hovecraft.
the virtualenv was created with :
virtualenv -p /usr/bin/python3.3 py3env
(py3env)max@max-ubuntu:~/mprez/open-data$ hovercraft
Traceback (most recent call last):
File "/home/max/mprez/open-data/py3env/bin/hovercraft", line 9, in
load_entry_point('hovercraft==1.1', 'console_scripts', 'hovercraft')()
File "/home/max/mprez/open-data/py3env/lib/python3.3/site-packages/hovercraft/init.py", line 16, in main
from lxml import html
File "/usr/lib/python2.7/dist-packages/lxml/html/init.py", line 42, in
from lxml import etree
ImportError: /usr/lib/python2.7/dist-packages/lxml/etree.so: undefined symbol: _Py_ZeroStruct
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/apport_python_hook.py", line 64, in apport_excepthook
from apport.fileutils import likely_packaged, get_recent_crashes
File "/usr/lib/python2.7/dist-packages/apport/init.py", line 5, in
from apport.report import Report
File "/usr/lib/python2.7/dist-packages/apport/report.py", line 30, in
import apport.fileutils
File "/usr/lib/python2.7/dist-packages/apport/fileutils.py", line 23, in
from apport.packaging_impl import impl as packaging
File "/usr/lib/python2.7/dist-packages/apport/packaging_impl.py", line 20, in
import apt
File "/usr/lib/python2.7/dist-packages/apt/init.py", line 21, in
import apt_pkg
ImportError: /usr/lib/python2.7/dist-packages/apt_pkg.so: undefined symbol: _Py_ZeroStruct
Original exception was:
Traceback (most recent call last):
File "/home/max/mprez/open-data/py3env/bin/hovercraft", line 9, in
load_entry_point('hovercraft==1.1', 'console_scripts', 'hovercraft')()
File "/home/max/mprez/open-data/py3env/lib/python3.3/site-packages/hovercraft/init.py", line 16, in main
from lxml import html
File "/usr/lib/python2.7/dist-packages/lxml/html/init.py", line 42, in
from lxml import etree
ImportError: /usr/lib/python2.7/dist-packages/lxml/etree.so: undefined symbol: _Py_ZeroStruct
When you want to publish your slides online, you typically do not want people to see all your messy and embarrasing notes. It should be possible to run hovercraft without including the notes in the output.
The help popup can possibly be annoying, a parameter to not show it for people who know Hovercrafts keys would be useful.
align:top
scale: 50%
don't work! :)
I did a clean install in a virtualenv.
Starting hovercraft I got:
Traceback (most recent call last):
File "bin/hovercraft", line 9, in
load_entry_point('hovercraft==1.0b2', 'console_scripts', 'hovercraft')()
File "/tmp/hover/local/lib/python2.7/site-packages/hovercraft/init.py", line 10, in main
from hovercraft.generate import rst2html, copy_files, copy_resource
File "/tmp/hover/local/lib/python2.7/site-packages/hovercraft/generate.py", line 8, in
from .template import template_info_node
File "/tmp/hover/local/lib/python2.7/site-packages/hovercraft/template.py", line 2, in
import configparser
ImportError: No module named configparser
Could be easily fixed using:
bin/pip install configparser
Hey!
deck2pdf works pretty well to export the presentation to pdf.
Is there a way to use this (or another) tool to export the presenter notes to pdf?
Thank you in advance!
The following, per the unit tests, works fine:
------------
:class: something-else
This is some text
While the following:
------------
:class: something-else
This is some text
------------
:class: something-else
This is some text
Produces this error:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/home/gdw/book/app/hovercraft/hovercraft/__init__.py", line 125, in main
generate(args)
File "/home/gdw/book/app/hovercraft/hovercraft/generate.py", line 110, in generate
args.skip_notes)
File "/home/gdw/book/app/hovercraft/hovercraft/generate.py", line 32, in rst2html
tree = SlideMaker(tree, skip_notes=skip_notes).walk()
File "/home/gdw/book/app/hovercraft/hovercraft/parse.py", line 122, in walk
method(node)
File "/home/gdw/book/app/hovercraft/hovercraft/parse.py", line 154, in start_transition
int(curnode.attrib['class'].split('-')[-1]) >= level):
ValueError: invalid literal for int() with base 10: 'else'
Related to?: #19
yeukhon@yeukhon-P5E-VM-DO:/tmp/hovercraft/docs/examples$ hovercraft /tmp/hovercraft/docs/examples/hovercraft.rst html
Traceback (most recent call last):
File "/usr/local/bin/hovercraft", line 9, in <module>
load_entry_point('hovercraft==1.1.dev0', 'console_scripts', 'hovercraft')()
File "/tmp/hovercraft/hovercraft/__init__.py", line 74, in main
htmldata = rst2html(args.presentation, template_info, args.auto_console, args.skip_help, args.skip_notes)
File "/tmp/hovercraft/hovercraft/generate.py", line 27, in rst2html
tree = etree.fromstring(xml)
File "lxml.etree.pyx", line 2992, in lxml.etree.fromstring (src/lxml/lxml.etree.c:62311)
File "parser.pxi", line 1591, in lxml.etree._parseMemoryDocument (src/lxml/lxml.etree.c:91676)
ValueError: can only parse strings
New to this plugins. What's going on here? Please help. Thanks!
Just thought I'd share my experience with setting up an automated build for hovercraft with a web editor.
It works well as a full web-based presentation system.
Firstly, I set up hovercraft on my server
Secondly, I installed codiad on the same server
It's a web-based editor for code that allows editing the hovercraft .rst and .css in a browser
http://codiad.com/
Make sure your permissions are good
Set up a cron job to autobuild every minute
as hover user:
crontab -e
SHELL=/bin/bash
* * * * * source /opt/hover/.virtualenvs/env/bin/activate && cd /var/www/codiad/workspace/hovercraft/presentation && hovercraft presentation.rst output > /dev/null
Then you can edit your presentation using a web interface and have it built automatically as you go.
It would probably be good to script this a bit further and check for file changes so that there is no build process if the .rst has not changed
The default distance (currently a DEFAULT_MOVEMENT constant) between steps is 1600px, which seems to work fine. A parameter or a presentation-level field setting to change this might be useful.
The help should show when the H-key is pressed.
Hi,
Can we have support for Markdown in hovercraft? Maybe as a configurable option?
Radha.
Maybe there could be a field in the presentation to add css dependencies. For example:
:hovercraft-css: css/presentation.css
Then there could be more than one --extra-css file, and also no need to type it on the command line.
positions.txt, step 2, informs that you don't have to gove both x & y coords, which should presumably be give both coordinates.
Is it possible to include SVG images in the presentations?
This would be really useful, especially if it also allowed SVG animations to be embedded.
This is possible in sozi, for instance
http://sozi.baierouge.fr/
I have no ideas if it is complicated to add videos support. I thing that the syntax for the images can be used. Something like the following exemple can be great.
.. video:: path/to/videos.webm
:height: 600px
:width: 800px
For the moment, I use gif as a workaround, but native support of videos can be better.
When trying to preset "slideshow.rst" I got:
IOError: [Errno 2] No such file or directory: '/tmp/hover/examples/images/_dead_10.jpg'
Lennart, could hovercraft support Reveal.js-based presentations as well as Impress.js-based ones?
While the impress.js website works nicely in my browser (firefox on ubuntu 12.04), using hovercraft from a simple two-slide ReST file only produces a "dead" presentation. All of the suggested Keystrokes are ignored. How can i further debug this?
See https://bitbucket.org/pypa/pypi/issue/215/hovercraft-dependency-error
After # pip install hovercraft
$ hovercraft show
Traceback (most recent call last):
File "/usr/bin/hovercraft", line 9, in <module>
load_entry_point('hovercraft==1.1', 'console_scripts', 'hovercraft')()
File "/usr/lib/python2.7/site-packages/hovercraft/__init__.py", line 18, in main
from hovercraft.generate import rst2html, copy_resource
File "/usr/lib/python2.7/site-packages/hovercraft/generate.py", line 8, in <module>
from .template import CSS_RESOURCE
File "/usr/lib/python2.7/site-packages/hovercraft/template.py", line 2, in <module>
import configparser
ImportError: No module named configparser
# pip install configparser
fixed that
Any chance for a jmpress.js template? It's meant to be compatible with impress.js markup, only it has some nice extras, like animated substeps governed by the data-jmpress attribute.
I have checked how a switch to jmpress.js would affect the presentation, and apparently, it broke the console and the help screen, but the rest of the presentation worked fine.
I have tried including html links in my slide but they are not rendered:
e.g.
Test Slide
==========
test html links
.. _pygments: http://pygments.org/
When hovercraft creates the presentation, the link is missing from the presentation, i.e.
<div class="step step-level-1" step="2" data-rotate-x="0" data-rotate-y="0" data-rotate-z="0" data-scale="1" data-x="3200" data-y="0" data-z="0"><h1 id="test-slide">Test Slide</h1><p>test html links</p></div></div>
I have also tried rendering the tutorial.rst (which has a hyperlink) and it does not get included either,
there are no errors on compiling the presentation
found that the following does produce proper links, is this just a syntax issue on my part or an actual problem?
Python_ is `my favourite
programming language`__.
.. _Python: http://www.python.org/
__ Python_
I would like to make a slide with few pictures and text scattered around, so can I give a id to a specific element (text, image, ...) to set it up in the css file?
Using : id : set the id for the whole frame and so it easily allows to setup ONE element (eg, #scatteredframe img {...} ), but how to pinpoint the css to a single element?
Hi,
First of all thanks a lot for hovercraft, it's a really great tool!
I was using landslide before and I want to move on hovercraft. For some special reason I need to have the support of embed mode like in landslide in order to produce a only one html page with everythink inside (css, html, image...).
I would like to know If you will be interested to integrate this option If we do a PR ?
We can use the same args as landslide :
-i, --embed Embed stylesheet and javascript contents,
base64-encoded images in presentation to make a
standalone document
What do you think?
Thanks a lot for hovercraft I really enjoy it ;)
I was trying to set a class for an image, but I couldn't get it to work. I'm new to RST, so this is the code I figured out from the docs:
.. image:: img/img.jpg
:class: myclass
The output creates the image, but the class attribute is missing. What am I doing wrong? I could successfully set the class attribute on a paragraph, but not on an image...
Getting this error:
Traceback (most recent call last):
File "//anaconda/bin/hovercraft", line 6, in
from pkg_resources import load_entry_point
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site- packages/pkg_resources.py", line 2697, in
working_set.require(requires)
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site- packages/pkg_resources.py", line 669, in require
needed = self.resolve(parse_requirements(requirements))
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site- packages/pkg_resources.py", line 572, in resolve
raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: hovercraft==1.1
I'm trying to create a custom template. I've copied the "default folder" to a folder name "my-theme". Calling overcraft with -t and pointing it at either the folder, or the template.cfg file results in the following error. Even pointing hovercraft at the shipped default template results in the same error.
$ hovercraft -t ../hovercraft/hovercraft/templates/default 36-things.md generated/
Traceback (most recent call last):
File "/usr/local/bin/hovercraft", line 9, in
load_entry_point('hovercraft==1.2.dev0', 'console_scripts', 'hovercraft')()
File "/usr/local/lib/python2.7/dist-packages/hovercraft-1.2.dev0-py2.7.egg/hovercraft/init.py", line 66, in main
template_info = Template(args.template)
File "/usr/local/lib/python2.7/dist-packages/hovercraft-1.2.dev0-py2.7.egg/hovercraft/template.py", line 55, in init
self._load_template_config()
File "/usr/local/lib/python2.7/dist-packages/hovercraft-1.2.dev0-py2.7.egg/hovercraft/template.py", line 78, in _load_template_config
self.config = config['hovercraft']
File "/usr/lib/python2.7/dist-packages/configparser.py", line 983, in getitem
raise KeyError(key)
KeyError: 'hovercraft'
I often rotate with data-rotate-y and therefore use data-z. As far as I can tell it doesn't accept relative positioning. Is this expected behaviour? Just wondering if there's a reason why data-z differs fom data-x and data-y.
I'm not sure if it's really an "issue" or my lack of understanding of how svg paths work.
I used a "horizontal" svg path - a line whose main direction is more or less "to the right". hovercraft did what I expected.
Then I used a "vertical" svg path, or actually several different ones: straight line down, or with several segments but more or less down, or a free-hand line going down. But every time, starting at that slide, the slide turned 90° and the direction was "mainly to the right" again.
Is this to be expected?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.