developer oriented presentation engine introduction

13
Developer Oriented Presentation Engine Introduction Pasi Niemi( ©2013 Nitor Creations ) version: 1.0

Upload: pasi-niemi

Post on 22-Jan-2018

489 views

Category:

Technology


1 download

TRANSCRIPT

DeveloperOrientedPresentationEngineIntroduction

PasiNiemi(©2013NitorCreations)

version:1.0

ContentsGettingstartedCreatingslidesSlidenotesEmbeddingmediaInlinesourcecodeOutputsPresentingThankyou

Gettingstarted(1/2)MavendrivesthepresentationbuildYoucancreateamavenprojectskeletonwiththedope-archetype:mvnarchetype:generate-DarchetypeArtifactId=dope-archetype\-DarchetypeGroupId=com.nitorcreations-DgroupId=foo.bar\-DdeveloperName="PasiNiemi"-DorganizationName="NitorCreations"\-DinceptionYear=2013-Dname="BazBarAwesomeness"\-Dtheme=light-DartifactId=baz-prez-DinteractiveMode=falseParametersexplainedhere:https://github.com/NitorCreations/dope-archetype

Gettingstarted(2/2)Addyourslidesinsrc/main/resources/markdownJavaFXneedstobeonyourJDKclasspath

Youmayneedtorunmvncom.zenjava:javafx-maven-plugin:2.0:fix-classpathOnetimeonlyoperationperJDKJava8hasthissorted

TheprojectcontainsalloftheruntimejavacodeYoucanchangeallruntimebehaviourlike:

controllershttpserveranimations

Creatingslides(1/2)SlidesshowninalphabeticalorderExceptthetitleslideisalwaysfirstNameyourslidefilestogetcorrectordere.g.:

01_agenda.md10_introduction.md12_introduction_cont.md

Creatingslides(2/2)SlidesaremarkdowninterpretedwithpegdownSomeextensionsareenabled:AUTOLINKS URLswillbeturnedintoalinktothatURLTABLES simplemultimarkdown-styletablesFENCEDCODEBLOCKS codeblockswillbesyntaxhighlightedwithpygments

SlidenotesSlidenotesaremarkdownfilesnamed{slidename}.md.notesTheyappearinthehttpinterfaceforrunningthepresentation

Needtohave{slidename}.mdforthenotestobeaddednexttotheslideSlidesareservedasiframes,butnotesarejustembeddedintheindexhtml

EmbeddingmediaYoucanembedimageswithasimplemarkdownelement

![Myface](pasi_niemi_2013.jpg)Orembedhtmlifyouneedmorecontrolwithe.g.classesandidsforcssForvideosyouneedtoembedhtml

<videowidth="auto"controls><sourcesrc="oracle_event_final.mp4"type="video/mp4"/><imgwidth="auto"src="oracle_event_final.jpeg"/></video>

VideohandlingThebuildsystemfindsvideoelementsatcompiletime

RecordsthelocationandsizeoftheplaceholderimageAtruntimeduringpresentationinitializationtheengineextractsthevideointoatemporaryfileAsyoutraversepasttheslidewiththevideo,thepresentationzoomsinontheplaceholderandstartsanexternalplayer

videoplayer{video}onmyRaspberryPithisis/usr/bin/videoplayer

#!/bin/bash

exec/usr/bin/omxplayer"$@"

Inlinesourcecodepygmentssupportslotsoflanguages-herearesomesamplesPythonprinthighlight(code,PythonLexer(),HtmlFormatter())Haskelllet(a:b:c:[])="xyz"inaDimportstd.stdio;

voidmain(){ulonglines=0;andlotsmoreathttp://pygments.org/languages/

OutputsMavenbuildoutputsthepresentationinseveralformats

HTMLisusedasthesourceforpngandpdfrenderingPNGimagesofeachslideinFullHDandsmallsizesPDFforeasysharing(naturallywithoutvideos)JavaFXjarthatcanberunonanycomputerwithJavaFXinstalled

HTML,PNGandPDFformatsaredownloadablefromthehttpinterfaceHTMLandPNGasZipfileswithrelevantfilesinside(includingvideos)PDFasasinglefile

PresentingYoucanrunthepresentationwithanyjavathathasJavaFXinstalled:java-Dhttpport=9999-Dhttprunpasswords=.passwords-Dnocache=true\-jarmy-presentation-1.0-SNAPSHOT-jfx.jarThepresentationcanthenbecontrolledwithakeyboard,awiimoteorabrowserAdvancedusageexplainedhere:https://github.com/NitorCreations/javaone-shanghai-2013-javafx-presentationVideodetailingpresentationusehere:http://www.youtube.com/watch?v=1sdZpecv9a8

ThankYou!Hopeyouhavefunwithit

Ifyoudocomeupwithextensionsyouarewillingtorelease,pleaseletmeknowThispresentationsourceavailablehere:https://github.com/NitorCreations/dope-intro

[email protected]