diff --git a/app/Decker.hs b/app/Decker.hs index 6c16d771fba5a2e73d732ce9140334a6faea4501..57b8630474de6416560b6b899b2cd5a97cb6ae92 100644 --- a/app/Decker.hs +++ b/app/Decker.hs @@ -50,7 +50,6 @@ main = do then run else case head args of "example" -> writeExampleProject startDir - "tutorial" -> writeTutorialProject startDir "clean" -> runClean _ -> run @@ -125,6 +124,14 @@ run = do -- want ["decks"] -- + + phony "tutorial" $ do + putNormal "# To find information on how to use decker please check the documentation in the wiki: https://go.uniwue.de/decker-wiki" + putNormal "# To create a new project please use the command \"decker example\"" + -- + phony "help" $ + putNormal "# To find information on how to use decker please check the documentation in the wiki: https://go.uniwue.de/decker-wiki" + -- phony "version" $ do putNormal $ "decker version " ++ diff --git a/makefile b/makefile index 69ba965842e65e3ef40bdd82557026a7298bcd4f..869e6f2b777b04ea67fb8ff2f3d1e76f1a8779a3 100644 --- a/makefile +++ b/makefile @@ -21,7 +21,7 @@ less: resource-zip: rm -f resource/decker-resources.zip - (cd resource; zip -qr decker-resources.zip example support template tutorial) + (cd resource; zip -qr decker-resources.zip example support template) install: clean-build mkdir -p $(local-bin-path) diff --git a/readme.md b/readme.md index 06dfc46a6bbaa904e56007ddb3f7c30bd5616376..e5b32912e08cbe4ec9731d2730cc2cf1ec09e155 100644 --- a/readme.md +++ b/readme.md @@ -173,11 +173,6 @@ a HTML document, or a PDF document, depending on the file name. source code for a slide deck that explains most of the available features for creating slide decks. -- `decker tutorial` - - Like `example` but copies extended example/tutorial slide decks to the - current directory. - - `decker clean` Recursively removes all generated files from the current directory (i.e. the diff --git a/resource/tutorial/01-overview-deck.md b/resource/tutorial/01-overview-deck.md deleted file mode 100644 index e18f9a0e055da8adf5fd44e41b53a944717ee88b..0000000000000000000000000000000000000000 --- a/resource/tutorial/01-overview-deck.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -title: Decker Tutorial Overview ---- - -# Overview - -## [Command line deck](./02-command-line-deck.html) - -How to use `decker` on the command line. - -## [Header deck](./03-header-deck.html) - -An overview of the possible configuration options that can be included in the -header of the `*-deck.md` markdown files. - -## [Example deck](./04-example-deck.html) - -An extensive overview of the possibilities of designing slide decks offered by -`decker`. - -# - -## [Quiz deck](./05-quiz-deck.html) - -How to create simple quizzes with different question types for a self-learning -scenario. - -## [Chart deck](./06-chart-deck.html) - -How to include charts using the reveal.js chart plugin. - -# General Information - -# Folder Structure - -- When running, decker creates a `public` folder in the current directory. -- This folder contains the template and support files needed during - presentation time as well as the generated `html` and `pdf` files. - -# Technologies - -Decker is built using: - -- [Haskell](https://www.haskell.org/), [Pandoc](https://pandoc.org/), - [Shake](https://shakebuild.com/) -- [reveal.js](https://revealjs.com/#/) -- [LaTeX]() -- [Chrome/Chromium]() (for pdf generation) diff --git a/resource/tutorial/02-command-line-deck.md b/resource/tutorial/02-command-line-deck.md deleted file mode 100644 index 57c901c733849ce71eb86c96076debb1797a3bd5..0000000000000000000000000000000000000000 --- a/resource/tutorial/02-command-line-deck.md +++ /dev/null @@ -1,66 +0,0 @@ ---- -title: Decker on the command line ---- - -# Introduction - -This slide deck provides an overview over the possible command line arguments supported by decker. - -# Workflow - -The general recommended workflow of decker on the command line is: - -- `decker example` to create a new project, `cd` into the generated project -- If you have an existing project, navigate to that directory on the command line -- `decker server` to create html versions and open a local server -- Navigate to `localhost:8888` in a browser -- Create and edit `*-deck.md` files and see changes in the browser window on file save -- If finished, shut down the server by pressing `^C/Ctrl C` on the command line - -# `decker help` - -Prints a help document to stdout in Markdown format. - -# `decker info` - -Prints information about the current project's directories, the targets (files which will be generated) and the meta data options which are found in the top level `decker.yaml` file. - -# `decker example` and `decker tutorial` - -- `decker example` copies an example project to the current directory -- `decker tutorial` copies extended examples and tutorial decks to the current directory - -# `decker watch` and `decker server` - -- `decker watch` Builds HTML versions of all documents and then watches for document changes. Each change to a watched document triggers a rebuild. Watching can be terminated with `^C/Ctrl C`. - -- `decker server`: Like `decker watch`. Additionally a local web server at the address `localhost:8888` is started that serves the generated HTML files. Changed files are reloaded in the browser. - -# `decker html` and `decker decks` - -- `decker html` creates all HTML files without opening a server -- `decker decks`creates only HTML slide decks - -# `decker clean` - -- Recursively removes all generated files from the current directory i.e. only the `public` folder. -- Also clears cached resource folders with version number older than the currently used decker version. - -# `decker pdf` and `decker pdf-decks` - -- `decker pdf` creates pdf versions of all files -- `decker pdf-decks` creates pdf versions only of the html slide decks - -# - -To use `decker pdf` or `decker pdf-decks`, Google Chrome has to be installed. -- **Windows:** Currently `decker pdf` does not work on Windows. Please add `print: true` or `menu: true` to your slide deck and use the print button on the title slide or in the menu. -- **MacOS:** Follow the Google Chrome installer instructions. **Google Chrome.app** has to be located in either `/Applications/Google Chrome.app` or `/Users/username/Applications/Google Chrome.app` -Alternatively you can add `chrome` to `$PATH`. -- **Linux:** `chrome` has to be on `$PATH`. - - -# `decker publish` - -- Publish the generated files to a remote location using `rsync` if the location is specified in the meta data. -- The keys `rsync-destination.host` and `rsync-destination.path` specify the publishing destination. diff --git a/resource/tutorial/03-header-deck.md b/resource/tutorial/03-header-deck.md deleted file mode 100644 index 8c119a836caa73b7d088ab328944573f2d53c03c..0000000000000000000000000000000000000000 --- a/resource/tutorial/03-header-deck.md +++ /dev/null @@ -1,91 +0,0 @@ ---- -title: YAML-Header options ---- - -# Introduction - -This deck shows the available options which can be included in the `YAML` meta configuration. - -For further options which might not be included here see: [https://github.com/hakimel/reveal.js/#configuration](https://github.com/hakimel/reveal.js/#configuration) - - -# Meta files - -- The meta configuration options shown here can also be included in the `decker.yaml` file located in the top level of the project directory. These options are then active per default for every slide deck but can be overwritten in a specific slide deck. - -- For example: The `date` and `menu: true` are added to the `decker.yaml` file. If the header of a specific presentation deck includes `menu: false` the menu is not shown in this presentation. - - -# Example Header - -This header is located directly at the top of the `*.md` file. - -```yaml ---- -title: Decker Slide Tool Reference Guide -menu: true -bibliography: example.bib -csl: chicago-author-date.csl -controls: true -chalkboard: example-deck.json ---- -``` - -# Important - -The meta option `provisioning` determines whether the `support` folder in the `public` directory is a symbolic link folder or a copy. -On Windows, only `Copy` should be used as symlinks on Windows work differently from MacOS/Linux. -The default setting (without having `provisioning` included in the meta) is `Copy`on Windows and `SymLink` on MacOS/Linux. - -To be able to move the `public` folder to other devices (e.g. hold a presentation from a different computer) `provisioning: Copy` is necessary. -`provisioning` should be included in the `decker.yaml` file. - -# - -| Parameter | Options | Effect | -|---------------|----------------------------------|--------------------------------| -| `provisioning`| `Copy` or `SymLink` | `support` folder is copied or symlinked inside `public` folder| - -# YAML-Header (Part 1) - -| Parameter | Options | Effect | -|---------------|----------------------------------|--------------------------------| -| `author` | String | Displayed on first slide | -| `date` | String | Displayed on first slide (if "today" shows current date as YYYY-MM-DD) | -| `title` | String | Displayed on first slide | -| `subtitle` | String | Displayed on first slide | - -# YAML-Header (Part 2) - -| Parameter | Options | Effect | -|---------------|----------------------------------|--------------------------------| -| `width`, `height` | numeric | Define aspect ratio | -| `menu` | `true` or `false` | Include menu showing table of contents | -| `print` | `true` or `false` | Show a print button on the title slide | - -# YAML-Header (Part 3) - -| Parameter | Options | Effect | -|---------------|----------------------------------|--------------------------------| -| `progress` | `true` or `false` | Turn progress bar on/off | -| `slideNumber` | `true` or `false` | Turn slide numbers on/off | -| `history` | `true` or `false` | Show slides in browser history | -| `controls` | `true` or `false` | Turn arrow controls on/off | - -# YAML-Header (Part 4) - -| Parameter | Options | Effect | -|---------------|----------------------------------|--------------------------------| -| `csl` | Filepath to .csl file | Include a citation style (.csl)| -| `bibliography`| Filepath to .bib file | Include bibliography | -| `chalkboard` | `true` or `false` | Include reveal.js chalkboard plugin | -| `chart` | `true` or `false` | Include reveal.js chart plugin | - -# YAML-Header (Part 5) - - -| Parameter | Options | Effect | -|---------------|----------------------------------|--------------------------------| -| `lang` | Any ISO Language Code (eg. `de`) | HTML content language | -| `css` | | Additional CSS resources | -| `dir` | `RTL` or `LTR` | Text content direction | diff --git a/resource/tutorial/04-example-deck.md b/resource/tutorial/04-example-deck.md deleted file mode 100644 index ffff163631f00d39dea4fc2b71d359261bdc12c7..0000000000000000000000000000000000000000 --- a/resource/tutorial/04-example-deck.md +++ /dev/null @@ -1,776 +0,0 @@ ---- -bibliography: example.bib -chalkboard: 'example-deck.json' -controls: true -csl: 'chicago-author-date.csl' -menu: true -title: Decker Slide Tool Reference Guide ---- - -# Navigation - -Navigate this presentation with the controls in the bottom-right corner, -your arrow keys or the space bar. - -Some explanations have examples on a separate slide. These will be -arranged below the respective slide and will be indicated by a down -arrow in the controls. Use the down arrow key to see them. If you use -the space bar to go through the presentation, the examples will -automatically follow their explanation. - -The ``{=html}``{=html} icon in the -bottom-left corner opens a menu showing a table of contents of all -slides. - -# Markdown Syntax {#syntax} - -The Decker Slide Tool assists you in creating media-rich presentations -with a few easy to use Markdown commands. This user guide will highlight -some of the main styling features of Decker and provide examples on how -to use each feature. - -Visit for additional information on Pandoc-Markdown -text formatting. - -# New Slides {#slides} - -Heading 1 (h1) headers create new slides. - -## {.split} - -``` {.markdown} -# Heading 1 (h1) new slide -## Heading 2 (h2) -### Heading 3 (h3) -#### Heading 4 (h4) -``` - -## - -## Heading 2 (h2) - -### Heading 3 (h3) - -#### Heading 4 (h4) - -# Multicolumn Slides {#multicolumn} - -``` {.markdown} -# Würzburg Sehenswürdigkeiten {layout="columns"} - -## Die Residenz {.left} -Die Würzburger Residenz ist das Hauptwerk des ... - -## Alte Mainbrücke {.center} -Diese erste Steinbrücke Deutschlands soll bereits um ... - -## Dom St. Kilian {.right} -Ein Hauptwerk der deutschen Baukunst zur Zeit der ... -``` - -# Multicolumn example {#example-multicolumn .sub layout="columns"} - -## Die Residenz {.left} - -Die Würzburger Residenz ist das Hauptwerk des süddeutschen Barock. - -## Alte Mainbrücke {.center} - -Die erste Steinbrücke Deutschlands soll bereits um 1120 errichtet worden -sein. - -## Dom St. Kilian {.right} - -Ein Hauptwerk der deutschen Baukunst und viertgrößte romanische Kirche -Deutschlands. - -# Top and Bottom {#topBottom} - -Additionally use the `.top` and `.bottom` tags can be used. - -``` {.markdown} -# Top and Bottom Example {layout="columns"} - -## Top Colum {.top} -First/top column spans across the following columns. - -## Left Column {.left} - -## Right Column {.right} - -## Third Column {.bottom} -Third/bottom column spans across the columns above. -``` - -# Top and Bottom Example {#example-topBottom .sub layout="columns"} - -## Top Colum {.top} - -First/top column spans across the following columns. - -## Left Column {.left} - -## Right Column {.right} - -## Third Column {.bottom} - -Third/bottom column spans across the columns above. - -# Vertical Slides {#verticalSlides} - -Add the {.sub} tag to any slide to place it below the previous slide. - - # Vertical Slide Example {.sub} - - This slide will appear below the previous slide. - -# Vertical Slide Example {.sub} - -This slide will appear below the previous slide. - -# Text Emphasis {#textEmphasis} - -Format text by surrounding it in appropriate symbols: - -## {.split} - -``` {.markdown} -**This is bold text** -__This is bold text__ -*This is italic text* -_This is italic text_ -~~Strikethrough~~ -underline -~subscript~ -^superscript^ -``` - -## - -**This is bold text**\ -**This is bold text**\ -*This is italic text*\ -*This is italic text*\ -~~Strikethrough~~\ -``{=html}underline``{=html}\ -H~2~O is a liquid.\ -2^3^ equals 8. - -# Inverse Colors {#inverse .inverse background-color="black"} - -## Color Scheme for Dark Images - -- Add `.inverse` tag to slide header (h1) -- Add `background-color="black"` to slide header (h1) - -## Definition Box {.fragment .definition} - -Even colored boxes look ok. - -# Highlight Blocks {#blocks} - -## {.split style="font-size:small"} - -``` {.markdown} -## Alert Block {.alert} - -- Alert Text -``` - -## {style="font-size:small"} - -``` {.markdown} -## Question Block {.question} - -- Question text -``` - -## {style="font-size:small"} - -``` {.markdown} -## Answer Block {.answer} - -- Answer text -``` - -## {style="font-size:small"} - -``` {.markdown} -## Definition Block {.definition} - -- Definition text -``` - -## {style="font-size:small"} - -``` {.markdown} -## Observation Block {.observation} - -- Observation text -``` - -## {style="font-size:small"} - -``` {.markdown} -## Example Block {.example} - -- Example text -``` - -## {style="font-size:small"} - -``` {.markdown} -## Equation Block {.equation} - -- Equation text -``` - -## {style="font-size:small"} - -``` {.markdown} -## Note Block {.note} - -- Note text -``` - -# Highlight Blocks example {#example-blocks .sub} - -## Alert Block {.alert .split} - -- Alert Text - -## Question Block {.question} - -- Question text - -## Answer Block {.answer} - -- Answer text - -## Definition Block {.definition} - -- Definition text - -## Observation Block {.observation} - -- Observation text - -## Example Block {.example} - -- Example text - -## Equation Block {.equation} - -- Equation text - -## Note Block {.note} - -- Note text - -# Lists {#lists} - -## Ordered Lists {.split} - -``` {.markdown} -1. bread -2. milk -3. sugar -4. flour -``` - -## {.example} - -1. bread -2. milk -3. sugar -4. flour - -## Enumerated Lists - -``` {.markdown} -- Take out trash -- Vaccuum - - Bedrooms -- Wash dishes -``` - -## {.example} - -- Take out trash -- Vaccuum - - Bedrooms -- Wash dishes - -# Sequential Lists {#seqlists} - -Use the (@) symbol to automatically number items in a list.\ -Numbered examples do not need to be in a single list. - -## {style="font-size:small;"} - -``` {.markdown} -(@) Salman Rushdie, *The Ground beneath Her Feet* (New York: Henry Holt, 1999), 25. - -(@) Bob Stewart, "Wag of the Tail: Reflecting on Pet Ownership," in *Enriching Our - Lives with Animals*, ed. John Jaimeson, Tony Bannerman and Selena Wong - (Toronto, ON: Petlove Press, 2007),100. - -Additional sources: - -(@) Elliot Antokoletz, *Musical Symbolism in the Operas of Debussy and Bartok* - (New York: Oxford University Press, 2008), - doi:10.1093/acprof:oso/9780195365825.001.0001. -``` - -# Sequential Lists example {#example-seqlists .sub} - -(1) Salman Rushdie, *The Ground beneath Her Feet* (New York: Henry Holt, - 1999), 25. - -(2) Bob Stewart, "Wag of the Tail: Reflecting on Pet Ownership," in - *Enriching Our Lives with Animals*, ed. John Jaimeson, Tony - Bannerman and Selena Wong (Toronto, ON: Petlove Press, 2007),100. - -Additional sources: - -(3) Elliot Antokoletz, *Musical Symbolism in the Operas of Debussy and - Bartok* (New York: Oxford University Press, 2008), - doi:10.1093/acprof:oso/9780195365825.001.0001. - -# Links {#links} - -Enter the text to be displayed followed by the URL or slide ID. - -``` {.markdown} -[text-to-be-displayed](https://url-of-website) -[text-to-be-displayed](#slide-id) -``` - -*Note:* Slide IDs are entered on the slide header (h1) as follows: - -``` {.markdown} -# Slide Title {#slide-id} -``` - -# Links example {#example-links .sub} - -## {style="font-size:small;"} - - Visit [http://pandoc.org](http://pandoc.org) for additional information. - - Read more about building [lists](#lists) in Decker. - -## - -## {.example} - -Visit for additional information.\ -Read more about building [lists](#lists) in Decker. - -# Images {#images} - -Include images in presentations: - -``` {.markdown} -![Image Caption](image-file-location){css-formatting} -``` - -# Images example {#example-images .sub} - -## - -``` {.markdown} -![Haskell](img/haskell.png){width="30%"} -``` - -## - -![Haskell](img/haskell.png){width="30%"} - -# Videos {#video} - -Include videos in presentations: - -``` {.markdown} -![title](video-file-location){css-formatting} -``` - -# Videos example {#example-movies_1 .sub} - -``` {.markdown} -Video with controls: -![](movies/jmu-hci-intro.mp4){controls=1} - -Video with autoplay: -![](movies/jmu-hci-intro.mp4){data-autoplay=true} - -Start video at timestamp: -![](movies/jmu-hci-intro.mp4){data-autoplay=true start="10"} -``` - -## {.split} - -Video with controls: ![](movies/jmu-hci-intro.mp4){controls="1"} - -## - -Video with autoplay: ![](movies/jmu-hci-intro.mp4){data-autoplay="true"} - -# External Videos {#ext-vid} - -Include YouTube and Vimeo videos or Twitch channels in presentations: - -``` {.markdown} -![](service:video-id){css-formatting} -``` - -*Note 1:* Replace `service` with `youtube`, `vimeo` or `twitch` and add -video id or twitch channel name (replaces `video-id`). - -*Note 2:* The video ID is usually found in the URL. - -**YouTube example URL:** -https://www.youtube.com/watch?v=``{=html}qEcmwHRG2Mo``{=html}\ -**YouTube video ID:** qEcmwHRG2Mo - -# External Videos example {#example-movies_2 .sub} - -``` {.markdown} -![](youtube:qEcmwHRG2Mo){width="65%" start="10"} -``` - -![](youtube:qEcmwHRG2Mo){width="65%" start="10"} - -# Fullscreen Videos {#fullscreen} - -Fullscreen videos are identified in the slide header: - -``` {.markdown} -# ![](movies/jmu-hci-intro.mp4){controls=1} -``` - -*Note:* Do not include a slide title. - -# ![](movies/jmu-hci-intro.mp4) {#example-movies_3 .sub data-menu-title="Fullscreen Videos Example" controls="1"} - -# Audio {#audio} - -Include audio clips in presentations: - -``` {.markdown} -![title](audio-file-location){css-formatting} -``` - -# Audio example {#example-audio .sub} - -## {style="font-size:small;"} - -``` {.markdown} -Audio with controls: -![](audio/wildbach.mp3){controls=1} - -Audio with controls and autoplay: -![](audio/wildbach.mp3){controls=1 data-autoplay=true} -``` - -## - -## {.split .example} - -Audio with controls: ![Wildbach](audio/wildbach.mp3){controls="1"} - -## {.example} - -Audio with controls and autoplay: -![Wildbach](audio/wildbach.mp3){controls="1" data-autoplay="true"} - -# Tables {#tables} - -Tables are created with pipes (\|) and hyphens (-). Align text with -colons (:) on the left, right, or on both sides of the hyphens in the -header row. - -``` {.markdown} -| Right Align | Left Align | Center Align | Default | -| ---: | :--- | :---: | ------- | -| data | data | data | data | -| data | data | data | data | -``` - -# Tables example {#example-tables .sub} - -## {style="font-size:small;"} - -``` {.markdown} -Table: Assignment List - -| Week | Topic | Reading | Book | -| ---: | :--- | :---: | ---- | -| 1 | Course Introduction | Chapt. 1 | Physics | -| 2 | Inertia, Equilibrium, Kinematics | Chapt. 2-3| Physics | -| 3 | Vectors, Momentum, Energy | Chapt. 4-7 | Physics | -``` - -## - -## {.example} - -| Week| Topic | Reading | Book | -|-----:|:---------------------------------|:--------------:|---------| -| 1| Course Introduction | Chapt. 1 | Physics | -| 2| Inertia, Equilibrium, Kinematics | Chapt. 2, 3, 4 | Physics | -| 3| Vectors, Momentum, Energy | Chapt. 5-8 | Physics | - -: Assignment List - -# Verbatim Code Blocks {#code} - -To treat text as verbatim, either: - -- surround text with three tildes ( \~ ) or backticks ( \` )\ -- or indent each line by four spaces. - -# Verbatim Code Block example {#example-code .sub} - -## {style="font-size:small;"} - -``` {.markdown} -~~~java -if (a > 3) { - moveShip(5 * gravity, DOWN); -} -~~~ -``` - -## - -``` {.java} -if (a > 3) { - moveShip(5 * gravity, DOWN); -} -``` - -# Block Quotes {#blockQuote} - -To quote a block of text, preceed each line with a (\>) character: - -``` {.markdown} -> This is a block quote. -> -> > A block quote within a block quote. -``` - -> This is a block quote. -> -> > A block quote within a block quote. - -# Mathematics {#math layout="columns"} - -## {.top} - -- Single \$ encloses inline math -- Double \$\$ encloses a display math block - -## {.left} - -## {style="font-size:small;"} - -``` {.latex} -To $\infty$ and beyond! -``` - -## {style="font-size:small;"} - -``` {.latex} -$$ e = mc ^ 2 $$ -``` - -## {style="font-size:small;"} - -``` {.latex} -\lim_{x \to \infty} \exp(-x) = 0 -``` - -## {.right} - -## {.example} - -To $\infty$ and beyond! - -## {.example} - -$$ e = mc ^ 2 $$ - -## {.example} - -$$ \lim_{x \to \infty} \exp(-x) = 0 $$ - -# Java Syntax Highlighting {#java} - -Apply Java syntax highlighting with the `.Java` tag. - -``` {.markdown} -~~~java -String s = "Java highlighting syntax"; -System.out.println (s); -~~~ -``` - -## - -``` {.java} -String s = "Java highlighting syntax"; -System.out.println (s); -``` - -# Javascript Syntax Highlighting {#javascript} - -Apply Javascript syntax highlighting with the `.Javascript` tag. - -``` {.markdown} -~~~javascript -var s = "JavaScript syntax highlighting"; -alert (s); -~~~ -``` - -## - -``` {.javascript} -var s = "JavaScript syntax highlighting"; -alert (s); -``` - -# Embed External Websites {#externalWebite} - -- Paste the following iframe on a blank slide\ -- Change "https://www.uni-wuerzburg.de/" to your website - -## - -``` {.html} - -``` - -# {#example-externalWebsite .sub data-menu-title="External Website Example"} - -```{=html} - -``` -# Embed PDF documents {#embedPDF style="font-size:small;"} - -``` {.markdown} -![](http://pandoc.org/MANUAL.pdf){width="100%" height="500px"} -``` - -![](http://pandoc.org/MANUAL.pdf){width="100%" height="500px"} - -```{=html} - -``` -# Chalkboard {#chalkboard} - -Dynamically make notes on presentations: - -- Make notes on slides: click - ``{=html}``{=html} or type 'c' -- Draw on chalkboard: click - ``{=html}``{=html} or type 't' -- Left mouse to draw, right to erase, center for laser pointer -- Click icon again or type 'c' or 't' to close -- 'Del' key clears chalkboard -- Drawings are saved - type 'd' to download - -# Speaker Notes {#speakerNotes} - -Slides with headers with the `.notes` tag are not included in a -presentation. They only appear in the handout and in the speaker view -(press `s` on this slide to access the speaker view). - -## - -``` {.markdown} -# Why Gamify? {.notes} - -- Games are among the most powerful motivational tools. -- Make the non-game experience more rewarding. -- Motivation has limits. A large leaderboard divide may - cause the player to abandon the game. -``` - -# Why Gamify? {.notes} - -- Games are among the most powerful motivational tools. - -- Make the non-game experience more rewarding - -- Motivation has limits. A large leaderboard divide may cause the - player to abandon the game. - - - [Blockquotes](#block-quotes) - - [Line Blocks](#line-blocks) - - [Tags](#tags) - -# Citations {#citations} - -Add citations to your slide deck. Be sure to include a `csl` and a `bib` -file in your [YAML header](#yaml). - -## {style="font-size:small;"} - -``` {.markdown} -## Space Tentacles - -Have you heard about Space Tentacles [@zimmerer2018space]. -According to @zimmerer2018space it is a nice idea. -``` - -## Space Tentacles - -Have you heard about Space Tentacles [@zimmerer2018space]. According to -@zimmerer2018space it is a nice idea. - -# Header Options {#yaml} - -Add optional settings in the top of each markdown file. - -## {style="font-size:small;"} - -``` {.yaml} -center: 0 - Align slide content to the top -center: 1 - Align slide content vertically (default) - -controls: 0 - Display navigational arrows (default) -controls: 1 - Hide navigational arrows - -transition: fade -Options include: none, fade, slide, convex, concave, zoom - -css: example.css - Enter the name of a custom css file - -slideNumber: true - Display slide numbers -slideNumber: false - Hide slide numbers (default) - -menu: true - Display the slide menu icon -menu: false - Hide the slide menu icon (default) - -history: true - Add visited slides to browser history -history: false - Hide visited slides from browser history - -csl: chicago-author-date.csl - citation style -bibliography: example.bib -chalkboard: example-deck.json - pre-defined chalkboard -``` - -# References diff --git a/resource/tutorial/05-quiz-deck.md b/resource/tutorial/05-quiz-deck.md deleted file mode 100644 index 1905cd9ab3e75197a226166ab4f32fa5ac6d1a6b..0000000000000000000000000000000000000000 --- a/resource/tutorial/05-quiz-deck.md +++ /dev/null @@ -1,335 +0,0 @@ ---- -title: Decker Quiz Overview ---- - -# Introduction - -- This slide deck shows how to create simple quizzes with different question types for a self-learning scenario. -- Currently supported: - - "Fill-in-the-blank" questions/Cloze tests - - Matching/pairing questions - - Multiple choice questions - - Freetext questions - - -# Quiz Syntax - -## Class definition - -For each question type you can use either of the three tags to create quizzes - -``` -.quiz-match-items, .quiz-mi, .qmi - -.quiz-multiple-choice, .quiz-mc, .qmc - -.quiz-insert-choices, .quiz-ic, .qic - -.quiz-free-text, .quiz-ft, .qft -``` - -# Basic syntax - -Questions are defined by level 2 headers. That means creating a question **needs** - -``` -## Question title {.qmc} -``` - -(where `.qmc` can be replaced by any of the other quiz classes) - - -The quiz syntax (apart from matching questions) is based on the markdown task list syntax. A markdown task list looks like this - -``` -- [ ] This box is not checked -- [X] This box is checked -- [ ] Another unchecked box -``` - -You can add tooltips by creating a nested list e.g. - -``` -- [ ] A - - tooltip A -- [X] B - - tooltip B -``` - -# Fenced Divs Syntax - -Alternatively, quizzes can be defined using the **fenced divs** syntax: - -``` -::: qmc -- [ ] A - - tooltip A -- [X] B - - tooltip B -::: -``` - -# Quiz Meta - -Add a `YAML` code block below a question to provide meta information on the specific question. - -- This is work in progress. Currently apart from `lang: de` or `lang: en` it does not do anything. (21. Jul 2020) -- If you put `lang: de` in the header of your slide deck, the static quiz content (e.g. buttons) will appear with german text. -- If you put `lang: de` only in the yaml block of a single question, only this question will be localized. - -```` -``` {.yaml} -lang: de -score: 5 -category: FP -lectureId: fp1 -topic: Functional Programming Introduction -``` -```` - -# Quiz Styling - -The default style of Decker quizzes includes drag and drop interactions and decorative coloring. To switch to a plain style, specify the following in the YAML code block, or use the `.plain` tag. - -```{.yaml} -quiz: - style: plain -```` - -or on a per-question basis: - -```{.markdown} -## {.qmc .plain} -``` - -# Matching Questions - -These questions generate quizzes where a user can drag and drop items to sort them into "buckets". - -This uses the Pandoc [definition list syntax](https://pandoc.org/MANUAL.html#definition-lists). - -You can provide distractor items (items not belonging to any bucket) or empty buckets (no item belonging in those empty buckets) by using the exclamation mark "!". - -# Matching Questions {.sub} - -``` -## Matching Question {.qmi} - -Question text - -BucketA -: A1 -: A2 - -BucketB -: B1 - -! -: Distractor - -Empty Bucket -: ! -``` - -# Matching Questions Example - -## Matching Question {.qmi} - -Question text - -BucketA -: A1 -: A2 - -BucketB -: B1 - -! -: Distractor - -Empty Bucket -: ! - -# Matching Questions Example - Plain - -## Matching Question {.qmi .plain} - -Question text - -BucketA -: A1 -: A2 - -BucketB -: B1 - -! -: Distractor - -Empty Bucket -: ! - -# Multiple Choice Questions - -Classic multiple choice questions - -``` -## Multiple Choice Question {.qmc} - -Which of these letters is the second in the alphabet? - -- [ ] A - - nope -- [X] B - - yes -``` - -# Multiple Choice Questions Example {.sub} - -## Multiple Choice Question {.qmc} - -Question text - -- [ ] A - - nope -- [X] B - - yes - -# Multiple Choice Questions Example - Plain {.sub} - -## Multiple Choice Question {.qmc .plain} - -Question text - -- [ ] A - - nope -- [X] B - - yes - -# Multiple Choice Questions Example - Plain Inline {.sub} - -## Multiple Choice Question {.qmc .plain .inline} - -Question text - -- [ ] A - - nope -- [X] B - - yes - -# InsertChoices Questions - -This will create a sort of blank text questions. -If multiple items are provided in the task list, they will be rendered as a drop down menu where the user can click answers. - - -``` -## Insert Choices Question {.qic} - -- [X] A - - of course -- [ ] B - - uhm ... - -is the first letter in the ABC. The second one is - -- [X] B - - yep -- [ ] C - -``` - -# InsertChoices Questions Example {.sub} - -## Insert Choices Question {.qic} - -- [X] A - - of course -- [ ] B - - uhm ... - -is the first letter in the ABC. The second one is - -- [X] B - - yep -- [ ] C - -# InsertChoices Questions Example Plain {.sub} - -## Insert Choices Question {.qic .plain} - -- [X] A - - of course -- [ ] B - - uhm ... - -is the first letter in the ABC. The second one is - -- [X] B - - yep -- [ ] C - -# FreeText questions - -This will create a simple input field/text box where the user can write their answer. - -If there are wrong answers that are to be expected you can add those by not checking the task box. They will then show as wrong when clicking "Show Solution". - -``` -## FreeText Question {.qft} - -What's the first letter in the alphabet? - -- [X] A - - yep -- [ ] B - - nope - -## {.qft} - -What's the fourth letter? - -- [ ] C - - info -- [X] D - -``` - -# FreeText Question Example {.sub} - -## FreeText Question {.qft} - -What's the first letter in the alphabet? - -- [X] A - - yep -- [ ] B - - nope - -## {.qft} - -What's the fourth letter? - -- [ ] C - - info -- [X] D - -# FreeText Question Example - Plain {.sub} - -## FreeText Question {.qft .plain} - -What's the first letter in the alphabet? - -- [X] A - - yep -- [ ] B - - nope - -## {.qft .plain} - -What's the fourth letter? - -- [ ] C - - info -- [X] D - diff --git a/resource/tutorial/06-chart-deck.md b/resource/tutorial/06-chart-deck.md deleted file mode 100644 index 6218597588f20cea73dbe61f23587450a41e3c99..0000000000000000000000000000000000000000 --- a/resource/tutorial/06-chart-deck.md +++ /dev/null @@ -1,189 +0,0 @@ ---- -title: Chart Deck -subtitle: Usage of the Chart Plugin -chart: true ---- - - -# Charts from JSON Strings - -A chart can be included in a slide by adding a canvas element to the `*-deck.md` file with the data-chart attribute set to the desired chart type. - -The chart can be configured within the canvas body by a JSON string embedded into an HTML comment. - -For further information see: [https://github.com/rajgoel/reveal.js-plugins/tree/master/chart](https://github.com/rajgoel/reveal.js-plugins/tree/master/chart) - - -# Bar Chart - -``` bar-chart -January, February, March, April, May, June, July, August, September, October, November, December -James Smith, 65.0, 59.0, 80.0, 81.0, 56.0, 55.0, 40.0, 45.0, 49.0, 58.0, 68.0, 70.0 -Derek Jones, 28.0, 48.0, 40.0, 19.0, 86.0, 27.0, 90.0, 65.0, 60.0, 45.0, 40.0, 35.0 -``` - - -# Bar Chart with Error Bars - -``` bar-chart -January, February, March, April, May, June, July, August, September, October, November, December -James Smith, 65.0, 59.0, 80.0, 81.0, 56.0, 55.0, 40.0, 45.0, 49.0, 58.0, 68.0, 70.0 -Derek Jones, 28.0, 48.0, 40.0, 19.0, 86.0, 27.0, 90.0, 65.0, 60.0, 45.0, 40.0, 35.0 - -``` - - -# Specify Color Schemes - -``` bar-chart -January, February, March, April, May, June, July, August, September, October, November, December -James Smith, 65.0, 59.0, 80.0, 81.0, 56.0, 55.0, 40.0, 45.0, 49.0, 58.0, 68.0, 70.0 -Derek Jones, 28.0, 48.0, 40.0, 19.0, 86.0, 27.0, 90.0, 65.0, 60.0, 45.0, 40.0, 35.0 - -``` - - -# Specify Individual Colors - -``` bar-chart -January, February, March, April, May, June, July, August, September, October, November, December -James Smith, 65.0, 59.0, 80.0, 81.0, 56.0, 55.0, 40.0, 45.0, 49.0, 58.0, 68.0, 70.0 -Derek Jones, 28.0, 48.0, 40.0, 19.0, 86.0, 27.0, 90.0, 65.0, 60.0, 45.0, 40.0, 35.0 - -``` - - -# Stacked Bar Chart - -``` bar-chart -January, February, March, April, May, June, July, August, September, October, November, December -James Smith, 65.0, 59.0, 80.0, 81.0, 56.0, 55.0, 40.0, 45.0, 49.0, 58.0, 68.0, 70.0 -Derek Jones, 28.0, 48.0, 40.0, 19.0, 86.0, 27.0, 90.0, 65.0, 60.0, 45.0, 40.0, 35.0 - -``` - - -# Horizontal Bar Chart - -``` horizontalBar-chart -January, February, March, April, May, June, July, August, September, October, November, December -James Smith, 65.0, 59.0, 80.0, 81.0, 56.0, 55.0, 40.0, 45.0, 49.0, 58.0, 68.0, 70.0 -Derek Jones, 28.0, 48.0, 40.0, 19.0, 86.0, 27.0, 90.0, 65.0, 60.0, 45.0, 40.0, 35.0 -``` - - -# Filled Line Chart - -``` line-chart -January, February, March, April, May, June, July, August, September, October, November, December -Derek Jones, 28.0, 48.0, 40.0, 19.0, 86.0, 27.0, 90.0, 65.0, 60.0, 45.0, 40.0, 35.0 -``` - - -# Empty Line Chart - -``` line-chart -January, February, March, April, May, June, July, August, September, October, November, December -James Smith, -52.0,59.0,-61.0,-80.0,56.0,-75.0,-40.0,45.0,-49.0,58.0,-68.0,70.0 -Derek Jones, 98.0,-38.0,82.0,-54.0,-34.0,27.0,90.0,-36.0,60.0,-45.0,40.0,35.0 - -``` - - -# Radar Chart - -``` radar-chart -January, February, March, April, May, June, July, August, September, October, November, December -James Smith, 65.0, 59.0, 80.0, 81.0, 56.0, 55.0, 40.0, 45.0, 49.0, 58.0, 68.0, 70.0 -Derek Jones, 28.0, 48.0, 40.0, 19.0, 86.0, 27.0, 90.0, 65.0, 60.0, 45.0, 40.0, 35.0 -``` - - -# Doughnut Chart - -``` doughnut-chart -January, February, March, April, May, June -James Smith, 65.0, 59.0, 80.0, 81.0, 56.0, 55.0 -Derek Jones, 28.0, 48.0, 40.0, 19.0, 86.0, 27.0 -``` - - -# Pie Chart - -``` pie-chart -January, February, March, April, May -James Smith, 25.0, 9.0, 18.0, 20.0, 27.0 -Derek Jones, 15.0, 33.0, 8.0, 34.0, 10.0 -``` - - -# Polar Area Chart - -``` polarArea-chart -January, February, March, April, May -James Smith, 25.0, 9.0, 18.0, 20.0, 27.0 -``` diff --git a/resource/tutorial/audio/wildbach.mp3 b/resource/tutorial/audio/wildbach.mp3 deleted file mode 100644 index 1175232b5d26876af4f68a822ee4fb16c3bc4069..0000000000000000000000000000000000000000 Binary files a/resource/tutorial/audio/wildbach.mp3 and /dev/null differ diff --git a/resource/tutorial/chart-meta.yaml b/resource/tutorial/chart-meta.yaml deleted file mode 100644 index 6d9fb5dad1ae84316a95c08ff6458de8352f7696..0000000000000000000000000000000000000000 --- a/resource/tutorial/chart-meta.yaml +++ /dev/null @@ -1,15 +0,0 @@ -chartName: Metadata Chart Example -chartId: "Metadata Chart Example" -data-chart: line -width: -height: -labels: ["January","February","March","April","May","June","July", "August", "September", "October", "November", "December"] -datasets: -- data: [65,59,80,81,56,55,40,45,49,58,68,70] - label: James Smith -- data: [28,48,40,19,86,27,90,65,60,45,40,35] - label: Derek Jones -options: - legend: - position: bottom - responsive: true \ No newline at end of file diff --git a/resource/tutorial/chicago-author-date.csl b/resource/tutorial/chicago-author-date.csl deleted file mode 100644 index 33972a8ad74853a5e99d8a50b9a125b3522f16ad..0000000000000000000000000000000000000000 --- a/resource/tutorial/chicago-author-date.csl +++ /dev/null @@ -1,650 +0,0 @@ - - diff --git a/resource/tutorial/decker.yaml b/resource/tutorial/decker.yaml deleted file mode 100644 index 776d7d2d7274509b00e005b78baf5e486cc7141a..0000000000000000000000000000000000000000 --- a/resource/tutorial/decker.yaml +++ /dev/null @@ -1,21 +0,0 @@ -date: 2019-10-28 -# Sane defaults for reveal.js -provisioning: Copy -menu: true -controls: true -keyboard: true -progress: true -hash: true -overview: true -touch: true -fragments: true -fragmentInURL: true -help: true -hideInactiveCursor: true -hideCursorTime: 2000 -transition: "none" -backgroundTransition: "none" -# publishing to a remote location (example) -rsync-destination: - host: git@gitlab2.informatik.uni-wuerzburg.de - path: /some/path diff --git a/resource/tutorial/example-page.md b/resource/tutorial/example-page.md deleted file mode 100644 index 6994bd837204c0f79798f5bd7f986a2561a64443..0000000000000000000000000000000000000000 --- a/resource/tutorial/example-page.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: Example ---- - -# Introduction - -[\#include](include/relative.md) - -This is just a simple run-of-the-mill document. Use it for exercises and -everything else. This document also has access to the meta data in surrounding -YAML files. - -The date is {{date}}. - -All structured data entries are: - -{{\#structured}} - {{.}} {{/structured}} - -{{sometext}} - -This page is published via `rsync` to: - - {{rsync-destination.host}}:{{rsync-destination.path}} - -Syntax highlighting should be supported, even with the new bootstrap based -styling. - -``` {.haskell} --- | Monadic version of list concatenation. -(<++>) :: Monad m => m [a] -> m [a] -> m [a] -(<++>) = liftM2 (++) -``` diff --git a/resource/tutorial/example.bib b/resource/tutorial/example.bib deleted file mode 100644 index 5ffcca4cdcc53814c1ee82f992b9f7dcddc38017..0000000000000000000000000000000000000000 --- a/resource/tutorial/example.bib +++ /dev/null @@ -1,7 +0,0 @@ -@inproceedings{zimmerer2018space, - title = {Space Tentacles - Integrating Multimodal Input into a VR Adventure Game}, - author = {Zimmerer, Chris and Fischbach, Martin and Latoschik, Marc Erich}, - booktitle = {Proceedings of the 25th IEEE Virtual Reality (VR) conference}, - year = {2018}, - publisher = {IEEE} -} diff --git a/resource/tutorial/img/haskell.png b/resource/tutorial/img/haskell.png deleted file mode 100644 index 59b5df9748843032bdc0b9c2a8e657198f24c5c2..0000000000000000000000000000000000000000 Binary files a/resource/tutorial/img/haskell.png and /dev/null differ diff --git a/resource/tutorial/movies/jmu-hci-intro.mp4 b/resource/tutorial/movies/jmu-hci-intro.mp4 deleted file mode 100644 index 2f9c038bafb1989b877f901ee094a426ed7eb4a0..0000000000000000000000000000000000000000 Binary files a/resource/tutorial/movies/jmu-hci-intro.mp4 and /dev/null differ diff --git a/src/Text/Decker/Resource/Resource.hs b/src/Text/Decker/Resource/Resource.hs index ce7bd30a7826cb5194347133f5b9f981478e64c6..858c35c671a744f25bb20136511abc81c10239af 100644 --- a/src/Text/Decker/Resource/Resource.hs +++ b/src/Text/Decker/Resource/Resource.hs @@ -6,7 +6,6 @@ -- module Text.Decker.Resource.Resource ( writeExampleProject - , writeTutorialProject , urlToFilePathIfLocal ) where @@ -24,13 +23,6 @@ writeExampleProject dir = do putStrLn $ "# Extracting example project to " ++ dir ++ "." extractResourceEntries "example" dir --- | Write the tutorial project to the current folder -writeTutorialProject :: FilePath -> IO () -writeTutorialProject dir = do - warnVersion - putStrLn $ "# Extracting tutorial project to " ++ dir ++ "." - extractResourceEntries "tutorial" dir - urlToFilePathIfLocal :: FilePath -> FilePath -> Action FilePath urlToFilePathIfLocal base uri = case URI.parseRelativeReference uri of