Update home authored by Eric Hauke's avatar Eric Hauke
For a "Quick Start Guide" to `decker` see [this page](Quick-Start). In this Wiki you will find documentation and instructional material for Decker.
For an FAQ see [this page](FAQ). # Welcome to Decker
Decker is an e-authoring tool for the creation of web-based educational content.
# Documentation
[[_TOC_]]
## Keyboard Shortcuts
- <kbd>N</kbd>, <kbd>SPACE</kbd>: Next slide
- <kbd>P</kbd>: Previous slide # Setup
- <kbd></kbd>, <kbd>H</kbd>: Navigate left
- <kbd></kbd>, <kbd>L</kbd>: Navigate right Decker software is under active development. Use our [feedback and bug tracker](https://gitlab2.informatik.uni-wuerzburg.de/decker/feedback) if you run into problems or want to share your ideas with us. Just open a new issue!
- <kbd></kbd>, <kbd>K</kbd>: Navigate up
- <kbd></kbd>, <kbd>J</kbd>: Navigate down
- <kbd>Home</kbd>: First slide ## Windows
- <kbd>End</kbd>: Last slide
- <kbd>B</kbd>, <kbd>.</kbd>: Pause (Blackout) Download: [Windows Installer](http://store.hci.informatik.uni-wuerzburg.de/decker/Decker-nightly.msi)
- <kbd>F</kbd>: Fullscreen
- <kbd>ESC</kbd>, <kbd>O</kbd>: Slide overview / Escape from full-screen - Click the link and download the Microsoft Installer file, `Decker-nightly.msi`.
- <kbd>S</kbd>: Speaker notes view - Find the file in your `Downloads` folder and install Decker by double clicking it and following the installer instructions.
- <kbd>?</kbd>: Show keyboard shortcuts - If you have installed Decker previously you might need to manually uninstall the previous version. The Windows installer does not yet support automatic reinstallation.
- <kbd>alt</kbd> + click: Zoom in. Repeat to zoom back out.
Inherited from [reveal.js](https://github.com/hakimel/reveal.js/wiki/Keyboard-Shortcuts). ## MacOS
Download: [MacOS Installer](http://store.hci.informatik.uni-wuerzburg.de/decker/Decker-nightly.pkg)
## YAML-Header
- Click the link and download the MacOS package `Decker-nightly.pkg`.
| Parameter | Options | Effect | - Find the file in your `Downloads` folder. Right-click to open the file and follow the installer instructions.
|---------------|----------------------------------|--------------------------------|
| `author` | String | Displayed on first slide |
| `date` | String | Displayed on first slide | ## Linux
| `title` | String | Displayed on first slide |
| `subtitle` | String | Displayed on first slide | A linux executable is available here: [decker-linux-nightly](http://store.hci.informatik.uni-wuerzburg.de/decker/decker-linux-nightly)
| `controls` | `0` or `1` | Turn arrow controls on/off |
| `progress` | `0` or `1` | Turn progress bar on/off | - Rename the file to `decker`.
| `slideNumber` | `true` or `false` | Turn slide numbers on/off | - Enter `chmod +x decker` on the command line to make the file executable.
| `lang` | Any ISO Language Code (eg. `de`) | HTML content language | - Move the executable to a directory that is on `$PATH` to be able to use `decker` anywhere.
| `dir` | `RTL` or `LTR` | Text content direction |
| `author-meta` | | HTML document header meta data | # First Steps
| `date-meta` | | HTML document header meta data | After downloading the correct Decker version for your operating system from the [Setup](home#setup), follow this guide to learn the basics of Decker.
| `keywords` | | HTML document header meta data |
| `theme` | | | ## Windows
| `css` | | Additional CSS resources |
| `history` | `true` or `false` | Show slides in browser history | - Use the Windows file explorer to navigate to a folder suitable for saving presentations. We suggest creating a new folder e.g. `C:\Users\<username>\Documents\presentations`.
- Open a *Console* by typing `powershell` in the address bar of the file explorer.
A complete list of all meta data options can be found in the Pandoc HTML template(`resource/template/deck.html`). - Continue with subsection [*Opening a presentation*](Home#opening-a-presentation).
## Columns ## MacOS
A column slide can be defined by `{layout="columns"}` in the slide header and by defining the orientation and scope each column in subheaders with `{.left}`, `{.center}` (optional), or `{.right}` tags. - Use Finder to navigate to a folder suitable for saving presentations. We suggest creating a new folder e.g. `/Users/<username>/Documents/presentations`.
- Open a *Console* by right clicking the folder symbol and choosing `Services > New Terminal at Folder`.
| Tag | Target | Effect | Example | - Continue with subsection [*Opening a presentation*](Home#opening-a-presentation).
|----------------------|-------------------------------------------------|------------------------------------------------------------------------------------------------------------|--------------------------------------------------------|
| `{layout="columns"}` | Slide headers (`#`) | Use columns of this slide | `# Slide header {layout="columns"}` | ## Opening a presentation
| `{.left}` | Secondary headers (`##`) | Define start of left column | `## {.left}` or `## Text {.left}` |
| `{.center}` | Secondary headers (`##`) | Define start of central column (optional) | | - Type `decker example` in the *Console*. This will generate a new folder named `example`.
| `{.right}` | Secondary headers (`##`) | Define start of right column | | - Navigate to this new folder by typing `cd example` in the *Console*. If you close the *Console* the presentation might not be loaded correctly, therefore we recommend to only close the *Console* after concluding the presentation.
| `{.top}` | Secondary headers (`##`) | Define start of top row | | - Type `decker server` in the *Console*. This command will open a local web server.
| `{.bottom}` | Secondary headers (`##`) | Define start of bottom row | | - Open a web browser (we recommend Google Chrome). If you don't have another instance of this server running open, type [http://localhost:8888/](http://localhost:8888/) in the address bar.
| `{.mid}` | Slide headers (`#`) or secondary headers (`##`) | Vertically centers columns. Can be assigned to the slider header for all columns or to individual columns. | `# Text {layout="columns" .mid}` or `## {.right .mid}` | - You should now see a Decker presentation designed to provide an overview of some of the features that Decker offers.
- To close the server created by Decker, either close the *Console* or terminate the process by using the keyboard shortcut.
### Example:
Many of our users simply use `decker example` and rename/modify the `example-deck` to create their own presentation.
# Creating your first presentation
Now we will get into creating your own presentations with Decker:
- Keep `decker server` and your browser window on `localhost:8888` running in the background.
- Create and open a file called e.g. `minimal-deck.md` in the `example` folder.
- Your presentation files **must** have the ending `-deck.md`.
- Copy the following text or write your own. We recommend text editors such as [**Notepad++**](https://notepad-plus-plus.org/) or [**Visual Studio Code**](https://code.visualstudio.com/).
``` ```
# Slide header {layout="columns"} # This is a new slide!
Lorem ipsum
## This is a sub-heading
## Optional column title with vertically centered content {.left .mid} dolor sit
## Subheader in the left column # This is slide number two!
amet
```
- Save the file and take a look at your browser window. On the `Generated Index` page under `Slide decks` there should be a new presentation called `minimal-deck.html`
- The presentation running in your browser window will update itself with any changes made to the `-deck.md` file after saving it.
## Optional center column {.center} # Contents of a Decker project folder
## {.right} In the simplest case, a new Decker presentation consists of the following files:
# Slide with central columns {layout="columns" .mid} - `decker.yaml`: A file containing configuration option. If you have never used Decker before you should copy the one that is located in the `example` folder generated by Decker.
- At least one file called `*-deck.md`. This is a text file in the popular `Markdown` format.
After running e.g. `decker server`, Decker will have generated additional files and folders:
- `public`: This folder contains your generated `html` presentation and files that are needed by the `html` files to look nice and function during a presentation. Everything in `public` is generated or copied automatically and will be so again if the folder is deleted.
- `.decker`: A hidden folder (depending on your system settings you might not even see it) where some auto-generated files are located. This folder is unimportant for you as a user.
## File paths
Paths to local file resources that are referenced by slide sets need to be provided in several contexts. For example:
- as a URL in an image tag to locate local media files like images or videos (learn more about including media files on the page [Media](Media))
``` {.markdown}
## A very important image
![](image.png)
``` ```
- as the value of meta data variables, for example to provide the location of the bibliography database and the citation style definition
## Dense Slide Layouts ``` {.yaml}
bibliography: /bib/bibliography.tex
csl: /bib/chicago-author-data.csl
```
In any case, path values for local file resources are interpreted either as relative to the defining file, if specified as a *relative path*, or as relative to the project root directory, if specified as an *absolute path*.
Slides can be vertically compressed to decrease the height of the content by assigning `{.dense}`, `{.x-dense}`, or `{.xx-dense}` to slide headers. Consider the following project layout and file contents:
| Tag | Target | Effect | Example | ``` {.txt}
|---------------|---------------------|----------------------------------|------------------------| project
| `{.dense}` | Slide headers (`#`) | Decrease height of content | `# Header {.dense}` | ├── images
| `{.x-dense}` | Slide headers (`#`) | Additionally, decrease font size | `# Header {.x-dense}` | │ └── image.png
| `{.xx-dense}` | Slide headers (`#`) | Further decrease font size | `# Header {.xx-dense}` | └── slides
└── slide-deck.md
```
`slides/slide-deck.md` contains:
``` {.markdown}
# First slide
![Project relative path](/images/image.png)
![Document relative path](../images/image.png)
```
Both image paths reference the same image file.
\ No newline at end of file