{% macro section(title, level='=') -%} {{ title }} {% for _ in title %}{{ level }}{% endfor %} {%- endmacro -%} :title: {{ cookiecutter.project_name }} :author: {{ cookiecutter.full_name }} <{{ cookiecutter.email }}> :description: Copyright (c) {{ cookiecutter.year }} :keywords: slides, impress.js :auto-console: false :skip-help: true :css: css/custom.css
class: | bullet-hand |
---|
{{ section(cookiecutter.project_name) }}
{{ cookiecutter.full_name }} <{{ cookiecutter.email }}>
- What is Hovercraft!?
- Why use Hovercraft!?
- Show example Hovercraft! slides
- Present built-in styling options
class: | bullet-checkmark |
---|
- Write your slides in reStructuredText
- Get a HTML5 / CSS3 presentation created from markup
- Prezi-style effects by using
impress.js
(including 3D effects)
- Convert to PDF to get a single-file document
- Easy to create using a template for new presentation projects
- You need Python3, a modern browser, and Linux / Mac OSX
- Not so Windows-friendly, but might work
- some amount of manual setup
- less convenience (e.g. no live reload watchdog)
class: | bullet-checkmark |
---|
Disclaimer: YMMV
- HTML slides work everywhere, re-use CSS know-how
- But write in text markup (reStructuredText)
- Text is way more malleable than typical presentation software slides
- Refactor your slides as you do with code
- Text is SCM-friendly, get a proper change history
- Easy to update embedded code snippets (even automatically)
- Re-purpose your slides easily (blog posts, docs, …)
- Embedded presenter console (notes + timer + slide previews)
- Live-reload preview during authoring
class: | bullet-star |
---|
- Bullet points cause PowerPoint Poisoning
- … but we use them anyway
- Styling top-level bullets
- use
:class: bullet-STYLE
on the slide bullet-checkmark
,bullet-arrow
,bullet-hand
, orbullet-star
- use
To add spacing between bullets, add a reStructuredText comment:
.. break
class: | centered huge bold red white-outline |
---|
Text Style: centered huge bold red white-outline
Use them in combination with background images
- Emphasis:
bold
- Size:
big
,bigger
,large
,huge
- Color:
red
,green
,blue
,black
,white
- Outline:
black-outline
,grey-outline
,white-outline
- Leave out the title for image-only slides
- Add
:class: centered
for centering - Add
:class: background
to put it below other content
- Eye-candy can sweeten bullet points
- Use
:class: float-right
on an image - The image floats to the right of any content following it
@task(help={
'browse': "Open slides in a new browser tab",
})
def html(ctx, browse=False):
"""Build HTML tree."""
index_file = '_html/index.html'
ctx.run("hovercraft -t simple --skip-notes index.rst {}"
.format(os.path.dirname(index_file)))
# Open in browser?
if browse:
webbrowser.open_new_tab(index_file)
class: | bullet-checkmark compact-items column-2 |
---|
The Zen of Python (PEP-20)
- Beautiful is better than ugly.
- Explicit is better than implicit.
- Simple is better than complex.
- Complex is better than complicated.
- Flat is better than nested.
- Sparse is better than dense.
- Readability counts.
- Special cases aren't special enough to break the rules.
- Although practicality beats purity.
- Errors should never pass silently.
- Unless explicitly silenced.
- Now is better than never.
- Although never is often better than right now.
- In the face of ambiguity, refuse the temptation to guess.
- There should be one – and preferably only one – obvious way to do it.
- Although that way may not be obvious at first unless you're Dutch.
- If the implementation is hard to explain, it's a bad idea.
- If the implementation is easy to explain, it may be a good idea.
- Namespaces are one honking great idea – let's do more of those!
class: | bullet-arrow |
---|
- Powered by Hovercraft!
- Powered by Cookiecutter
- Hovercraft! logo – https://github.com/regebro/hovercraft/
- Python logo – https://www.python.org/community/logos/
[Licensing conditions of the original projects apply]