GithubHelp home page GithubHelp logo

regebro / hovercraft Goto Github PK

View Code? Open in Web Editor NEW
1.5K 1.5K 209.0 1 MB

Make dynamic impressive presentations from text files!

Home Page: https://hovercraft.readthedocs.org

License: MIT License

Python 21.71% CSS 2.79% JavaScript 70.50% XSLT 4.95% Makefile 0.04%

hovercraft's People

Contributors

00willo avatar arabidopsis avatar bitwalker avatar bmispelon avatar carljm avatar ccamara avatar cjw296 avatar danjacka avatar fahhem avatar ggtools avatar hbldh avatar mariobodemann avatar maximeweyl avatar maxwell-k avatar mgaitan avatar mkohler avatar murraybd avatar postpollux avatar ramiro avatar reblochonmasque avatar regebro avatar rgommers avatar spollard avatar tonysyu avatar yeyeto2788 avatar yunake avatar zupo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hovercraft's Issues

impress.js parameters should be sticky

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.

installation problems on raspberry pi

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

A simpler template

There should be a simpler template for web-publishing that doesn't include the console.

Feature Requests

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

Positioning relative to other slide.

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?

data-rotate for all slide

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 should be named

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.

doesn't work on mac

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

Big images

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?

readthedocs examples don't work out of the box

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?

Transitions without moving

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?

Section hierarchy not respected between slides

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 ?

emphasize Python3 in README and doc

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)

Getting syntax error

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

ImportError when launching

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

configparser dependency missing for python 2.7

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

Image not centered when resized

I resize my original image (just width) in order to make it fit on my slide, but unfortunately, even with center tag, the image is not centered on the page.
capture d ecran 2015-02-04 a 15 11 09

deck2pdf to export presenter notes to pdf

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!

Broken handling of classes

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

ValueError: can only parse strings

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!

Making hovercraft work as a web based presentation system

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 ownership for .rst and .css files as www-data so that codiad can edit them
  • set the build directory as owned by hovercraft user

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

Support for Markdown

Hi,

Can we have support for Markdown in hovercraft? Maybe as a configurable option?

Radha.

A field setting for css file(s)

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.

Typo in examples/positions.txt

positions.txt, step 2, informs that you don't have to gove both x & y coords, which should presumably be give both coordinates.

Including SVG images

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/

[improvement] Include videos as images

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.

Support Reveal.js

Lennart, could hovercraft support Reveal.js-based presentations as well as Impress.js-based ones?

Doesn't work for me

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?

Hovercraft dependency error

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

Template for jmpress.js

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.

html links not rendering in presentation

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_ 

Absolute positioning of elements

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?

Support of embed mode

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

Class and id for images

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

Hovercraft distribution not found

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

-t doesn't work

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'

Relative positioning with data-z

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.

Vertical svg paths

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?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.