crystal-presents

Version, currently 2016.09-rubyconfbr1 version
  • 2016.09-rubyconfbrlatestSep 24, 2016

github.com/crystal-lang/crystal-presents

Playground for creating crystal presentations with live coding

42 stars
0 dependents
License: CC BY-SA 4.0

Installation

# Add this to your shard.yml
dependencies:
  crystal-presents:
    github: crystal-lang/crystal-presents
    version: ~> 2016.09-rubyconfbr

Then run:

shards install

shard.yml

Crystal
no constraint declared
License
CC BY-SA 4.0
Author
Brian J. Cardiff <bcardiff@manas.com.ar>

Dependencies

This version declares no dependencies.

Documentation

Read the API documentation

Generated from the source of the current release. The first visit to a release that has never been documented starts its build.

README

[![Creative Commons License](https://i.creativecommons.org/l/by-sa/4.0/88x31.png)](http://creativecommons.org/licenses/by-sa/4.0/)

# Crystal Presentations

This is a crystal playground that uses [Reveal.js](//lab.hakim.se/reveal-js) to build awesome presentations capable of running crystal code.

The slides are splitted across multiple files.

## Writing slides

Fork/clone and write your own slides in `./slides`.
Use the normal git branching so you can update the slide engine in the future.
This will also promote sharing the slides (if you wish).

Create `.html` and `.md` files for each slide in `./slides` folder.
Slides will appear in alphabetical order.

Numbering them as:

1. `010-`
2. `020-`

will allow you to easy put slides in between ;-). Use `./bin/add [Slide title]` to create this files automatically.

In a `.md` file you can use ````playground` to include a interactive playground snippet.

## Compile slides

```
$ ./bin/build-slides
```

```
$ crystal play
```

Open [http://localhost:8080/workbook/playground/slides](http://localhost:8080/workbook/playground/slides).

## Live reload

Start a crystal playground in a terminal and run `./bin/watch`. It will look for changes in `./slides` compile them and reload the current chrome tab.

```
$ crystal play
$ ./bin/watch
```

### ./bin/watch Requirements

* [entr](http://entrproject.org/)
* [chrome-cli](https://github.com/prasmussen/chrome-cli)

## PDF Export

Compile the slides with `./bin/build-slides --no-playground`. This will embed the playground snippets as plain source code, better for printing.

Open [http://localhost:8080/workbook/playground/slides?print-pdf](http://localhost:8080/workbook/playground/slides?print-pdf). Read more in [Reveal.js - PDF Export section](https://github.com/hakimel/reveal.js#pdf-export).